ФорумРазработкаБазы данных → Проектирование БД

Проектирование БД

  • Timur

    Сообщения: 1068 Репутация: N Группа: Джедаи

    Spritz 26 апреля 2008 г. 10:28

    не придумал как иначе назвать тему )

    Бывают ситуации когда нужно где-то хранить отдельные единичные, ни с чем не связанные данные - пароль администратора (если система не многопользовательская), какой-нибудь текст на главной странице, какие-то общие параметры настройки системы. Конфиги не подходят - заставлять юзера качать их по фтп и править в блокноте слишком жестоко :)

    Единственный вариант, который приходит в голову - таблица из двух полей: "параметр"-"значение" (ну тот же конфиг, короче). Получается тогда, что эти самые параметры нужно хранить где-то в виде констант, то же как-то не особо нравится. Кроме того все значения придется хранить как текст, а если большинство параметров числовые - неэкономно как-то. Про XML думал, но никаких преимуществ не увидел.

    Вобщем как это реализуется в нормальных системах?
  • ghost

    Сообщения: 883 Репутация: N Группа: Джедаи

    Spritz 26 апреля 2008 г. 12:41, спустя 2 часа 12 минут 55 секунд

    параметр-значение.. ну для особых случаев можно еще и тип значения указать.. хотя мне как-то не нужно это было.
  • sap

    Сообщения: 2701 Репутация: N Группа: Кто попало

    Spritz 26 апреля 2008 г. 15:32, спустя 2 часа 51 минуту 16 секунд

    таблица из двух полей: "параметр"-"значение" (ну тот же конфиг, короче)

    Я так делал.

    Кроме того все значения придется хранить как текст, а если большинство параметров числовые - неэкономно как-то.

    Сколько занимает VARCHAR(32), а сколько INT?
  • mechanic

    Сообщения: 125 Репутация: N Группа: Кто попало

    Spritz 27 апреля 2008 г. 9:32, спустя 18 часов 5 секунд

    а для случая "какой-нибудь текст на главной странице" varchar(32), увы, не хватит..
    не предложу ничего, ибо у меня не возникало потребности такие смешанные конфиги делать, хз )
  • sap

    Сообщения: 2701 Репутация: N Группа: Кто попало

    Spritz 27 апреля 2008 г. 15:50, спустя 6 часов 17 минут 50 секунд

    а для случая "какой-нибудь текст на главной странице" varchar(32), увы, не хватит..

    А типа инт хватит =)
  • Z-MODe

    Сообщения: 199 Репутация: N Группа: Кто попало

    Spritz 28 апреля 2008 г. 10:31, спустя 18 часов 40 минут 29 секунд

    ИМХО… мне пофих как это реализовывается в нормальных системах, но мне не впадлу создать ещё одну таблицу с одной строчкой…
  • mechanic

    Сообщения: 125 Репутация: N Группа: Кто попало

    Spritz 28 апреля 2008 г. 12:01, спустя 1 час 30 минут 22 секунды


    а для случая "какой-нибудь текст на главной странице" varchar(32), увы, не хватит..

    А типа инт хватит =)

    инт для текста на главной странице? о_О
  • sap

    Сообщения: 2701 Репутация: N Группа: Кто попало

    Spritz 29 апреля 2008 г. 18:32, спустя 1 день 6 часов 31 минуту

    mechanic, речь вроде о конфигах шла =) Так вот для конфига varchar(32) имхо вполне хватит.
  • Timur

    Сообщения: 1068 Репутация: N Группа: Джедаи

    Spritz 29 апреля 2008 г. 22:19, спустя 3 часа 46 минут 37 секунд

    да нет, конфиг вообщем-то я для примера привел
    Речь идет вообще о любой неструктурированной информации.
    Да ладно вообщем-то, всё это - мелочи жизни :)
  • Ёлочник

    Сообщения: 25 Репутация: N Группа: Кто попало

    Spritz 30 апреля 2008 г. 5:15, спустя 6 часов 56 минут 13 секунд

    у меня две таблицы на этот случай

    // для хранения конфига и коротких строк
    config  - conf_key VARCHAR(255), conf_value VARCHAR (255)

    // для хранения больших текстов, иногда туда целые простые страницы сую, если ей не нужны дополнительные свойства
    custom_data - name VARCHAR(255), content TEXT, datakey VARCHAR(255)

    поле datakey - уникальный ключ, по кототорому вытаскиваю инфу, напр 'about_us' - "О компании", 'home_desc' - описание на главной, и т.д.

Пожалуйста, авторизуйтесь, чтобы написать комментарий!