|
|
|
Проектирование базы данных
|
|||
|---|---|---|---|
|
#18+
Добрый день. Сразу скажу, разрабатываю приложение на добровольных началах. Есть идея, создать web приложение на основе asp.net для корпоративного использования. Фирма - полиграфическая компания, приложение нужно для приема заказов и сопровождение их дизайнерами. В проектировании баз данных соображаю очень немного. Сделал 1 таблицу в которой содержатся все поля. Понимаю что это неправильно, но не знаю как сделать правильно. Поэтому обращаюсь к вам. Поля таблицы: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2011, 13:10 |
|
||
|
Проектирование базы данных
|
|||
|---|---|---|---|
|
#18+
D7naПонимаю что это неправильно, но не знаю как сделать правильно. Поэтому обращаюсь к вам. ....с просьбой пересказать весь семестр курса "проектирование БД". Ню-ню... Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2011, 13:59 |
|
||
|
Проектирование базы данных
|
|||
|---|---|---|---|
|
#18+
Да я и не прошу пересказать весь семестр курса, просто рекомендации. Если есть советы как можно разнести все по таблицам, с удовольствием бы послушал. Дело в том, что отдельно формируется заказ на книги. У них есть: цвет обложки, внутренности, виды переплетов. Но с другой стороны, у остальных заказов так же имеются некоторые из этих же параметров. Есть ли смысл выводить работу с обложками в другую таблицу? Или лучше будет сделать так: Таблица1: Заказчик и все что с ним связано Таблица2: Атрибуты (такие как переплет, биговка и т.п.) Таблица3: Виды заказов с привязкой к атрибутам ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2011, 15:28 |
|
||
|
Проектирование базы данных
|
|||
|---|---|---|---|
|
#18+
D7naЕсли есть советы как можно разнести все по таблицам, с удовольствием бы послушал. Слушайте: Воспользуйтесь стандартной моделью "Сущность-связь" , приведите структуру к третьей нормальной форме . Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2011, 15:51 |
|
||
|
Проектирование базы данных
|
|||
|---|---|---|---|
|
#18+
D7na, Что-то у Вас "каша". В начале определитесь с сущностями. Например у Вас будут: 1. Заказчик 2. Дизайнер 3. Заказ 4. Изделие Потом определите для каждой сущности атрибуты. Например для Заказчика 1. Имя 2. Адрес 3. Телефон 4. e-mail (что-то еще по желанию) и т.д. Где-то так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2011, 15:56 |
|
||
|
Проектирование базы данных
|
|||
|---|---|---|---|
|
#18+
mad_nazgul, Как я понимаю "сущность" это отдельная таблица, а "атрибуты" это поля этой таблицы правильно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2011, 13:18 |
|
||
|
Проектирование базы данных
|
|||
|---|---|---|---|
|
#18+
D7na, Да уж... ПОучить теорию БД столило бы. Желательно не по форумам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2011, 14:11 |
|
||
|
Проектирование базы данных
|
|||
|---|---|---|---|
|
#18+
Подскажите так лучше выглядит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2011, 14:30 |
|
||
|
Проектирование базы данных
|
|||
|---|---|---|---|
|
#18+
D7naправильно? Нет. Понятия "сущность" и "атрибут" принадлежат логической модели данных, а "таблица" и "поле" - физической модели. В некоторых случаях они могут соотноситься, а в некоторых - нет. Как пример - периодические атрибуты. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2011, 14:31 |
|
||
|
Проектирование базы данных
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2011, 14:34 |
|
||
|
Проектирование базы данных
|
|||
|---|---|---|---|
|
#18+
Скажите в таблицах могут содержаться константные поля? Т.е. если у меня в таблице "Вид печати" будут содержаться такие столбцы, такие как Id и Вид печати, в которых например: Id Вид печати 1 Офсетная 2 Цифровая 3 Флексография 4 Ризограф и т.д., я могу в другую таблицу подставлять только Id правильно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2011, 15:01 |
|
||
|
Проектирование базы данных
|
|||
|---|---|---|---|
|
#18+
D7na, Прогресс налицо. За 7 дней мы продвинулись примерно на полторы страницы учебника. Рекомендую - Мартин Грабер (в другом варианте Грубер), Введение в SQL. Простая и понятная книжка, в ней все ответы на Ваши вопросы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2011, 15:44 |
|
||
|
Проектирование базы данных
|
|||
|---|---|---|---|
|
#18+
Немного переделал. Скажите что изменить, добавить или убрать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2011, 19:05 |
|
||
|
Проектирование базы данных
|
|||
|---|---|---|---|
|
#18+
Появился вопрос. В таблице с типами изделий есть такой тип как "Книга". Если выбран тип "Книга", то поля для заполнения должны содержать в себе помимо всего прочего еще и внутренности и обложку. Соответственно, у внутренностей есть: цветность, количество страниц, тип и размер бумаги и тип печати. А у обложки: Тип печати, цветность, тип и размер бумаги. Как можно реализовать такое? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2011, 20:34 |
|
||
|
Проектирование базы данных
|
|||
|---|---|---|---|
|
#18+
почему заказчики и дизайнеры разные сущности? почему у заказчика : фио одной строкой? ладно если тут будет ОАО "Доброе утро", а если фио физ лица? как получите ф, имя, отч по отдельности? адрес юридический и почтовый всегда совпадают? телефон, эл почта 1 на человека\орг? >Прогресс налицо. За 7 дней мы продвинулись примерно на полторы страницы учебника. :D ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2011, 09:36 |
|
||
|
Проектирование базы данных
|
|||
|---|---|---|---|
|
#18+
почему заказчики и дизайнеры разные сущности? - объединил. почему у заказчика : фио одной строкой? ладно если тут будет ОАО "Доброе утро", а если фио физ лица? как получите ф, имя, отч по отдельности? - Сделал в виде "Название". Может быть как название компании, так и фамилия заказчика. адрес юридический и почтовый всегда совпадают? - Вместо адреса будет e-mail. телефон, эл почта 1 на человека\орг? - да. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2011, 12:05 |
|
||
|
Проектирование базы данных
|
|||
|---|---|---|---|
|
#18+
koJIo6okпочему заказчики и дизайнеры разные сущности? Потому что это разные сущности. Заказчик Петров говорит "Хочу большое и красивое", дизайнер Иванов создает "Большое и красивое.JPG". Или Вы опять к тому, что дизайнер может из хулиганских побуждений заказать проект самому себе, и этим денормализовать базу? :-) D7na объединил Разъединить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2011, 12:51 |
|
||
|
Проектирование базы данных
|
|||
|---|---|---|---|
|
#18+
Cane Cat FisherРазъединить. - Разъединил xD ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2011, 13:00 |
|
||
|
Проектирование базы данных
|
|||
|---|---|---|---|
|
#18+
Cane Cat Fisher, Пожалуйста помоги. В таблице с типами изделий есть такой тип как "Книга". Если выбран тип "Книга", то поля для заполнения должны содержать в себе помимо всего прочего еще и внутренности и обложку. Соответственно, у внутренностей есть: цветность, количество страниц, тип и размер бумаги и тип печати. А у обложки: Тип печати, цветность, тип и размер бумаги. Как можно реализовать такое? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2011, 13:12 |
|
||
|
Проектирование базы данных
|
|||
|---|---|---|---|
|
#18+
D7naВ таблице с типами изделий - т.е. Вид заказа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2011, 13:15 |
|
||
|
Проектирование базы данных
|
|||
|---|---|---|---|
|
#18+
Cane Cat Fisher, > Потому что это разные сущности. Заказчик Петров говорит "Хочу большое и красивое", дизайнер Иванов создает "Большое и красивое.JPG". рабочие воплощают проект в жизнь, водители\грузчики осуществляют доставку (забудем - "водитель не грузчик вам с-ка" :D), бухгалтера контролируют расчеты - как-то не ахти ) что там человек что тут, разницы нет, то что один из них сотрудник - это другое ответвление > Или Вы опять к тому, что дизайнер может из хулиганских побуждений заказать проект самому себе, и этим денормализовать базу? :-) хотя бы потому что, зачем два справочника делать? лишние формы хп\запросы\проверки писать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2011, 13:55 |
|
||
|
Проектирование базы данных
|
|||
|---|---|---|---|
|
#18+
D7namad_nazgul, Как я понимаю "сущность" это отдельная таблица, а "атрибуты" это поля этой таблицы правильно? Не совсем. "Сущность" - это объект. "Атрибуты" - это поля данных и свойства объекта Как это будет проецироваться на БД... Зависит от БД, Ваших предпочтений, выбранной методики проектирования БД. Просто такой подход позволит абстрагироваться от конкретных "особенностей" БД. И позволит точнее понять, что какие вообще данные нужны и что с ними надо делать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2011, 14:43 |
|
||
|
Проектирование базы данных
|
|||
|---|---|---|---|
|
#18+
D7naCane Cat Fisher, Пожалуйста помоги. В таблице с типами изделий есть такой тип как "Книга". Если выбран тип "Книга", то поля для заполнения должны содержать в себе помимо всего прочего еще и внутренности и обложку. Соответственно, у внутренностей есть: цветность, количество страниц, тип и размер бумаги и тип печати. А у обложки: Тип печати, цветность, тип и размер бумаги. Как можно реализовать такое? Не пытаетесь сразу проектировать БД. Для этого нужен либо большой опыт, либо отличное знание теории. Да и то придется несколько раз перепроектировать. В начале выделите объекты, затем опишите их атрибуты, потом укажите связи м/у объектами и их взаимодествие. Когда получите логическую модель Вашей ИС, только после этого начинайте проектировать БД. Долго и нудно, зато надежно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2011, 14:47 |
|
||
|
Проектирование базы данных
|
|||
|---|---|---|---|
|
#18+
mad_nazgul, то есть база (без всяких "В таблице с типами изделий есть такой тип как "Книга"") в таком виде, как представлена у меня, если ее сделать с 9 таблицами, и полями которые указаны на рисунке будет не правильно спроектированной? В таблицах таких как например "Статус" "Бумага" "Печать" "Обработка" и "Вид заказа" я хочу поместить статические данные, что бы пользователь мог выбрать уже имеющееся значение в базе. Все остальное подлежит заполнению. Если это не правильно, скажите пожалуйста. Очень хочется сделать все грамотно, но не хватает знаний. А книг именно по проектированию я в сети не встречал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2011, 15:04 |
|
||
|
Проектирование базы данных
|
|||
|---|---|---|---|
|
#18+
D7naОчень хочется сделать все грамотно, но не хватает знаний. А книг именно по проектированию я в сети не встречал. Вон там, повыше, я дал ссылку на описание нормальных форм. Грамотно спроектированной считается база, которая их без нужды не нарушает. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2011, 15:11 |
|
||
|
Проектирование базы данных
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, ткните носом, что неправильно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2011, 15:28 |
|
||
|
Проектирование базы данных
|
|||
|---|---|---|---|
|
#18+
D7na, На первый взгляд последняя схема отторжения не вызывает. Опять же повторю. Не пытайтесь сразу спроектировать всю БД. Лучше в начале иметь логическую схему. Причем как можно более подробную. Затем уже на ее основе проектировать БД. Тут Вам говорили про нормализацию. В общем случае это "правильный подход". Но иногда удобнее работать с не нормализированной БД. Опять же не имея логической схемы трудно сказать "как удобнее". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2011, 15:58 |
|
||
|
Проектирование базы данных
|
|||
|---|---|---|---|
|
#18+
Попробую реализовать. На личном опыте, быстрее дойдет что именно не так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2011, 16:27 |
|
||
|
Проектирование базы данных
|
|||
|---|---|---|---|
|
#18+
koJIo6okхотя бы потому что, зачем два справочника делать? Ну, если минимизировать по этому критерию, то можно вообще дойти до Шекспира: мир есть объект, а остальное - свойства. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2011, 16:57 |
|
||
|
Проектирование базы данных
|
|||
|---|---|---|---|
|
#18+
D7naCane Cat Fisher, Пожалуйста помоги. В таблице с типами изделий есть такой тип как "Книга". Если выбран тип "Книга", то поля для заполнения должны содержать в себе помимо всего прочего еще и внутренности и обложку. Соответственно, у внутренностей есть: цветность, количество страниц, тип и размер бумаги и тип печати. А у обложки: Тип печати, цветность, тип и размер бумаги. Как можно реализовать такое? Как минимум, двумя способами. Первый - предусмотреть в заказе все эти поля, а заполнять - только заказа для типа "Книга". Второй - сделать еще одну таблицу, "Атрибуты книги", с этими полями, и связью с заказом 1:1, и добавлять туда запись только для заказов типа "Книга". Какой из этих способов будет удобнее и правильнее - по имеющейся информации сказать нельзя. Это зависит от того, сколько еще таких особых типов выявится, будут ли они независимы, или наследоваться друг из друга, и какие для них потребуются дополнительные атрибуты, в том числе общие и частные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2011, 17:01 |
|
||
|
Проектирование базы данных
|
|||
|---|---|---|---|
|
#18+
Сделал такую вот базу. Посмотрите пожалуйста, кто что увидит неправильного? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2011, 15:37 |
|
||
|
Проектирование базы данных
|
|||
|---|---|---|---|
|
#18+
D7na, По-русски было понятнее :-( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2011, 18:52 |
|
||
|
Проектирование базы данных
|
|||
|---|---|---|---|
|
#18+
D7na, Тему не читал, но что-то мне подсказывает, что таблицы Paper и PaperInside можно объединить. Как и TypeOfPaper и TypeOfPaperInside. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2011, 18:59 |
|
||
|
Проектирование базы данных
|
|||
|---|---|---|---|
|
#18+
Еще просьба автору: на таких схемах, рядом со специфическими справочниками, вроде всех этих PaperInside, приводить несколько строк содержимого, чтобы было сразу понятно, о чем речь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2011, 19:48 |
|
||
|
Проектирование базы данных
|
|||
|---|---|---|---|
|
#18+
Cane Cat Fisher, проектировать базу с русскими названиями - бред. Ejhi - Таблицы Paper и Paper Inside - это бумага обложки и внутренностей соответственно. Так что их объединять никак нельзя. Cane Cat Fisher, привожу список всего что здесь есть с переводами: Order - Заказ Включает в себя: Id order - Id Заказа Id customer - Id Заказчика Order No - Номер заказа Receipt - Дата принятия заказа Deadline - Срок сдачи Due Date - Срок исполнения Id Designer - Id Дизайнера Id Status -Id Статуса Circulations - Тираж Comments - Комментарии Customer - Заказчик Включает в себя: Id Customer - Id Заказчика Name - Имя или название компании E-mail - почта Phone - Телефон Status - Статус Включает в себя: Id Status - Id Статуса Status - Статус Type of order - Тип заказа Включает в себя: Id Type of order - Id Типа заказа Type of order - Тип заказа Designer - Дизайнеры Включает в себя: Id Designer - Id Дизайнеров Designer name - Имя дизайнера Options - Опции Включает в себя: Order No - Номер заказа Paper - Бумага Paper Inside - Внутренности бумага Id print - Id Типа печати Id Print Inside - Id Типа печати внутренностей Id Type of treatment - Id Типа обработки Id Type of Order - Id Типа заказа Chroma - Цветность Chroma Inside - Цветность внутренностей Paper Inside - Внутренности Бумага Включает в себя: Paper Inside - Внутренности Бумага Inside Sheet Size - Размер Бумаги внутренностей Inside Size Products - Размер готового продукта Inside Thickness - Толщина бумаги внутренностей Id Type of paper inside - Id типа бумаги внутренностей Type of Paper Inside - Тип бумаги внутренностей Включает в себя: Id Type of Paper Inside - Id Типа бумаги внутренностей Type of Paper Inside - Тип бумаги внутренностей Print Inside - Тип печати внутренностей Включает в себя: Id Print Inside - Id Типа печати внутренностей Print Inside - Типа печати внутренностей Print - Тип печати Включает в себя: Id Print - Id Типа печати Print - Тип печати Paper - Бумага Включает в себя: Paper - Бумага Sheet Size - Размер Бумаги Size Products - Размер готового продукта Thickness - Толщина бумаги Id Type of paper - Id типа бумаги Type of paper - Тип бумаги Включает в себя: Id Type of Paper - Id Типа бумаги Type of Paper - Тип бумаги Type of treatment - Тип обработки Включает в себя: Id Type of Treatment - Id Типа обработки Type of Treatment - Тип обработки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2011, 21:48 |
|
||
|
Проектирование базы данных
|
|||
|---|---|---|---|
|
#18+
D7naEjhi - Таблицы Paper и Paper Inside - это бумага обложки и внутренностей соответственно. Так что их объединять никак нельзя. Paper Inside - Внутренности Бумага Включает в себя: Paper Inside - Внутренности Бумага Inside Sheet Size - Размер Бумаги внутренностей Inside Size Products - Размер готового продукта Inside Thickness - Толщина бумаги внутренностей Id Type of paper inside - Id типа бумаги внутренностей Paper - Бумага Включает в себя: Paper - Бумага Sheet Size - Размер Бумаги Size Products - Размер готового продукта Thickness - Толщина бумаги Id Type of paper - Id типа бумаги Можно эти две таблицы заменить одной, добавив поле Inside, в котором будет признак обложка/внутренность. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2011, 10:40 |
|
||
|
Проектирование базы данных
|
|||
|---|---|---|---|
|
#18+
Ejhi, ты имеешь ввиду так?: Paper - Бумага Включает в себя: Paper - Бумага Sheet Size - Размер Бумаги Size Products - Размер готового продукта Thickness - Толщина бумаги Id Type of paper - Id типа бумаги Paper Inside - Внутренности Бумага Inside Sheet Size - Размер Бумаги внутренностей Inside Size Products - Размер готового продукта Inside Thickness - Толщина бумаги внутренностей Id Type of paper inside - Id типа бумаги внутренностей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2011, 13:23 |
|
||
|
Проектирование базы данных
|
|||
|---|---|---|---|
|
#18+
Ejhi, просто если выбран тип "Книга", то в заказе присутствует и обложка, и внутренние страницы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2011, 13:32 |
|
||
|
Проектирование базы данных
|
|||
|---|---|---|---|
|
#18+
D7naесли выбран тип "Книга", то в заказе присутствует и обложка, и внутренние страницы. А у книги могут быть несколько разных обложек? Или несколько разных внутренних страниц? Как обрабатываются книги с суперобложкой? А с вложенным широкоформатным постером? Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2011, 13:42 |
|
||
|
Проектирование базы данных
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, У книги может быть только одна обложка. Внутренности соответственно, по типу бумаги внутри книги не должны отличаться. Про суперобложку и вкладки пишется в комментариях к заказу, если таковые есть. Такие заказы довольно редкие. Не думаю что стоит ради этого что-то менять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2011, 14:02 |
|
||
|
Проектирование базы данных
|
|||
|---|---|---|---|
|
#18+
D7naEjhi, ты имеешь ввиду так?: Нет, вот так: Paper - Бумага Sheet Size - Размер Бумаги Size Products - Размер готового продукта Thickness - Толщина бумаги Id Type of paper - Id типа бумаги Inside - Признак обложка/внутренность ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2011, 17:17 |
|
||
|
Проектирование базы данных
|
|||
|---|---|---|---|
|
#18+
D7naCane Cat Fisher, проектировать базу с русскими названиями - бред. Мы не проектируем, мы обсуждаем. А туманный перевод начисто отбивает охоту разбираться. Кстати, Circulations в смысле "тираж" употребляется только в единственном числе, а Due Date - это, скорее, срок какого-то платежа, вроде налогов или процентов. D7naПро суперобложку и вкладки пишется в комментариях к заказу, если таковые есть. Такие заказы довольно редкие. Не думаю что стоит ради этого что-то менять. Снабженец, закупающий бумагу для всех заказов на следующий месяц, будет иного мнения. Он захочет запрос "СКАЖИТЕ МНЕ НУЖНОЕ КОЛИЧЕСТВО БУМАГИ, В РАЗРЕЗЕ ПО СОРТАМ БУМАГИ, ПО ВСЕМ ПЛАНИРУЕМЫМ ЗАКАЗАМ", или, проще говоря, Код: plaintext И Вас заставят, вместо SQL-сервера, ежемесячно перечитать глазами все комментарии, и подбить итожек в Экселе. Чтоб в следующий раз проектировали правильно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2011, 17:58 |
|
||
|
Проектирование базы данных
|
|||
|---|---|---|---|
|
#18+
Ejhi, а если одновременно в книге присутствуют и обложка, и внутренности? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2011, 10:15 |
|
||
|
Проектирование базы данных
|
|||
|---|---|---|---|
|
#18+
Вообще, напрашивается таблица деталей, (один-заказ-много-деталей), и у детали уже будет тип детали, плотность бумаги, и ее количество для одного экземпляра. Отдельной деталью будет обложка из картона, отдельной - внутренние страницы, и, при необходимости, отдельной - плотные цветные вкладыши. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2011, 11:04 |
|
||
|
Проектирование базы данных
|
|||
|---|---|---|---|
|
#18+
Почему бы не сделать атомарный иерархический справочник, и не запихнуть туда все атомарные значения?(В Вашем случае это типы) id idOwner name synonym. 1 null Тип бумаги PAPERTYPE 2 1 Тип бумаги А PAPERTYPE_A 3 1 Тип бумаги В PAPERTYPE_B 4 1 Тип бумаги С PAPERTYPE_C 5 null Тип обработки TREATMENTTYPE 6 5 обработка А TREATMENTTYPE_A итд. Чтобы отобразить нужную ветку на интерфейсе используем процедуру, которая принимает синоним нужного справочника, например PAPERTYPE. В процедуре сначала получаем айдишник записи с синонимом PAPERTYPE (1), а потом выводим записи с idOwner = 1. Просто если у Вас в базе не десяток сущностей, а несколько сотен, и в среднем каждая вторая сущность имеет тип\статус, то иметь лишнюю сотню однотипных таблиц как-то не весело. К тому же данный подход позволяет не хардкодить цифирьки или имена, которые могут в любой момент поменяться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2011, 01:16 |
|
||
|
|

start [/forum/topic.php?all=1&fid=32&tid=1541987]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
37ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
64ms |
get tp. blocked users: |
1ms |
| others: | 212ms |
| total: | 351ms |

| 0 / 0 |
