| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Базы Данных > посоветуйте структуру БД каталога продукции |
| Автор: slang 25.1.2008, 17:51 |
| Надо сделать простенькую базу для хранения каталога продукции. При этом исходя из принципа "все гениальное просто" id – код продукции или группы продукции (счетчик) id_group – id группы в которую входит эта группа или продукция (число) name – наименование продукции или группы продукции (текст до 200 символов) pic – имя файла с изображением (текст до 100 символов) comment – описание продукции (текст до 65000 символов) но вот подумал, а если продукция будет относиться к нескольким группам, то каким образом изменить поле id_group? |
| Автор: GeneralElectric 25.1.2008, 18:44 |
| тут должно было быть две таблицы. Одна - каталог, а вторая - продукция. |
| Автор: slang 25.1.2008, 18:54 |
| GeneralElectric, это я понимаю Предположим речь идет не о продукции, а о чем-то другом... Например, возьмем кабинет... Если только сделать так: Таблица номенклатура: id – код продукции или группы продукции (счетчик) name – наименование продукции или группы продукции (текст до 200 символов) pic – имя файла с изображением (текст до 100 символов) comment – описание продукции (текст до 65000 символов) Таблица группировки: id - счетчик id_prod - id продукции (группы) (число) id_group - id продукции (группы) к которой относится эта продукция Добавлено через 43 секунды есть у кого идеи лучше? |
| Автор: bars80080 25.1.2008, 19:06 |
| если у тебя идёт дальнейшее ветвление, да ещё с участием пунктов в разных ветках, то лучше сделать в две таблицы просто некоторые пункты каталога (содержание которых - иерархия и id элемента) будут обращаться на один и тот же пункт (содержание - большой объём данных) |
| Автор: vasac 25.1.2008, 19:11 |
| Вы определитесь сначала, вам дерево нужно или "продукция может относиться к нескольким группам". Если дерево, какие проблемы? id, parent_id. Если к нескольким группам — нужна отдельная таблица соответствий объект-предок. |
| Автор: slang 25.1.2008, 19:25 | ||
| vasac, а разве одно исключает другое?! Примерно так... не пойдет?
id_group и id_element связаны с id из таблицы katalog |
| Автор: GeneralElectric 25.1.2008, 19:47 |
| Где у тебя связь между ними? тут ещё третья нужна А в остальном - думаю, ты сам придешь к тому, чтобы не смешивать разделы каталога и его содержимое. Но заставить тебя, разумеется, невозможно. Не хочешь учиться на чужих ошибках - учись на своих. |
| Автор: slang 25.1.2008, 19:58 | ||
| GeneralElectric, ты часто прописываешь связи в MySQL базе? я всегда это делаю в скрипте. Т.е. такая база является не корректной?
здесь Первый элемент - корень (группа, но не обязательно). В него входят второй и третий элементы, а также они являются группой для четвертого элемента, который входит как во второй, так и в третий элемент. |
| Автор: GeneralElectric 25.1.2008, 20:21 |
| Не понял. Что значит - прописывать связи в скрипте? Таблицу я твою не понял. Может, я совсем тупой, а такое решение слишком прогрессивное, но реализацию в одной и той же таблице и дерева, и связи один-ко-многим - я не могу. Постой. У тебя там дерева вобще, что ли, нету? Срабатывает стереотип мышления - еслим каталог, то дерево. понятно. Тогда id во второй таблице - лишнее поле, а в остальном - классическая схема. |
| Автор: slang 25.1.2008, 20:22 | ||
ну это я по привычке |
| Автор: GeneralElectric 25.1.2008, 20:37 |
| Нет, я снова туплю. Дерево, конечно же, есть. Единица является папой двойки, а двойка - четверки. |