ФорумПрограммированиеPHP для идиотов → Структура БД

Структура БД

  • Lirck

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

    Spritz 24 июля 2008 г. 6:16

    Есть таблица blocks с такими полями:
    id, block_name, type, type_id, content

    id — идентификатор блока
    block_name — имя блока
    type — тип блока (3 варианта: TEMPLATE, CATEGORY, PAGE)
    type_id — идентификатор типа блока (может быть числом или словом)
    content — содержимое блока

    Пример простой таблицы с этими полями:
    id | block_name | type         | type_id | content
    0 | test           | TEMPLATE | default  | text
    1 | test           | PAGE        | 2          | text

    Есть ли вариант обойтись одной записью блока test? (сейчас их две xD)

  • Sinkler

    Сообщения: 8022 Репутация: N Группа: в ухо

    Spritz 24 июля 2008 г. 8:29, спустя 2 часа 13 минут 10 секунд

    не понял вопроса…
  • Lirck

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

    Spritz 24 июля 2008 г. 8:34, спустя 5 минут 1 секунду

    Короче, мне нужно заносить в базу следующее:
    id — идентификатор блока
    block_name — имя блока
    type — тип блока (3 варианта: TEMPLATE, CATEGORY, PAGE)
    type_id — идентификатор типа блока (может быть числом или словом)
    content — содержимое блока

    При этом, у нескольких блоков (с одинаковым полем block_name) могут быть разные поля type, type_id, content.
    Как хранить эту информацию без дублей блоков (получается куча блоков с одинаковым block_name).
  • Timur

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

    Spritz 24 июля 2008 г. 8:37, спустя 2 минуты 38 секунд

    таблица block_names:
    [tt]| id | block_name |[/tt]

    таблица blocks:
    [tt]| id  | block_name_id | type | type_id | content |[/tt]

    т.е. в blocks только идентификаторы соотв. имен из block_names
  • Lirck

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

    Spritz 24 июля 2008 г. 8:39, спустя 2 минуты 10 секунд

    Timur, есть ли в этом вообще смысл? Не в том, что ты написал, а вообще в разделении? ))
  • Lirck

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

    Spritz 24 июля 2008 г. 8:41, спустя 2 минуты 8 секунд

    Принцип таков, для каждой страницы, или группы страниц, или целому шаблону (соответсвенно PAGE, CATEGORY, TEMPLATE) для блока block_name может быть свой content. ))
  • Timur

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

    Spritz 24 июля 2008 г. 10:58, спустя 2 часа 16 минут 26 секунд

    http://ru.wikipedia.org/wiki/Нормальная_форма

    по идее, грубо говоря, у тебя вообще вообще не должно быть повторяющихся данных. Все что повторяется - в отдельную таблицу, в остальных - только внешние ключи.

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