Форум → Программирование → PHP для идиотов → Структура БД
Структура БД
-
Есть таблица 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) -
-
24 июля 2008 г. 5:34, спустя 5 минут 1 секунду
Короче, мне нужно заносить в базу следующее:
id — идентификатор блока
block_name — имя блока
type — тип блока (3 варианта: TEMPLATE, CATEGORY, PAGE)
type_id — идентификатор типа блока (может быть числом или словом)
content — содержимое блока
При этом, у нескольких блоков (с одинаковым полем block_name) могут быть разные поля type, type_id, content.
Как хранить эту информацию без дублей блоков (получается куча блоков с одинаковым block_name). -
24 июля 2008 г. 5:37, спустя 2 минуты 38 секунд
таблица block_names:
[tt]| id | block_name |[/tt]
таблица blocks:
[tt]| id | block_name_id | type | type_id | content |[/tt]
т.е. в blocks только идентификаторы соотв. имен из block_names -
24 июля 2008 г. 5:39, спустя 2 минуты 10 секунд
Timur, есть ли в этом вообще смысл? Не в том, что ты написал, а вообще в разделении? )) -
24 июля 2008 г. 5:41, спустя 2 минуты 8 секунд
Принцип таков, для каждой страницы, или группы страниц, или целому шаблону (соответсвенно PAGE, CATEGORY, TEMPLATE) для блока block_name может быть свой content. )) -
24 июля 2008 г. 7:58, спустя 2 часа 16 минут 26 секунд
http://ru.wikipedia.org/wiki/Нормальная_форма
по идее, грубо говоря, у тебя вообще вообще не должно быть повторяющихся данных. Все что повторяется - в отдельную таблицу, в остальных - только внешние ключи.
Пожалуйста, авторизуйтесь, чтобы написать комментарий!