powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Проектирование базы данных
47 сообщений из 47, показаны все 2 страниц
Проектирование базы данных
    #37447917
D7na
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день. Сразу скажу, разрабатываю приложение на добровольных началах.
Есть идея, создать web приложение на основе asp.net для корпоративного использования.
Фирма - полиграфическая компания, приложение нужно для приема заказов и сопровождение их дизайнерами.
В проектировании баз данных соображаю очень немного. Сделал 1 таблицу в которой содержатся все поля.
Понимаю что это неправильно, но не знаю как сделать правильно. Поэтому обращаюсь к вам.
Поля таблицы:
...
Рейтинг: 0 / 0
Проектирование базы данных
    #37447920
D7na
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Проектирование базы данных
    #37448022
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D7naПонимаю что это неправильно, но не знаю как сделать правильно. Поэтому обращаюсь к вам.

....с просьбой пересказать весь семестр курса "проектирование БД". Ню-ню...
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Проектирование базы данных
    #37448262
D7na
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да я и не прошу пересказать весь семестр курса, просто рекомендации. Если есть советы как можно разнести все по таблицам, с удовольствием бы послушал. Дело в том, что отдельно формируется заказ на книги. У них есть: цвет обложки, внутренности, виды переплетов. Но с другой стороны, у остальных заказов так же имеются некоторые из этих же параметров. Есть ли смысл выводить работу с обложками в другую таблицу?
Или лучше будет сделать так:
Таблица1: Заказчик и все что с ним связано
Таблица2: Атрибуты (такие как переплет, биговка и т.п.)
Таблица3: Виды заказов с привязкой к атрибутам
...
Рейтинг: 0 / 0
Проектирование базы данных
    #37448295
D7na
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот как то так:
...
Рейтинг: 0 / 0
Проектирование базы данных
    #37448304
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D7naЕсли есть советы как можно разнести все по таблицам, с удовольствием бы послушал.

Слушайте:
Воспользуйтесь стандартной моделью
"Сущность-связь"
, приведите структуру к третьей
нормальной форме .
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Проектирование базы данных
    #37448315
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D7na,
Что-то у Вас "каша".

В начале определитесь с сущностями.
Например у Вас будут:
1. Заказчик
2. Дизайнер
3. Заказ
4. Изделие

Потом определите для каждой сущности атрибуты.
Например для Заказчика
1. Имя
2. Адрес
3. Телефон
4. e-mail
(что-то еще по желанию)

и т.д.

Где-то так.
...
Рейтинг: 0 / 0
Проектирование базы данных
    #37457150
D7na
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mad_nazgul,
Как я понимаю "сущность" это отдельная таблица, а "атрибуты" это поля этой таблицы правильно?
...
Рейтинг: 0 / 0
Проектирование базы данных
    #37457275
SignOff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D7na,

Да уж... ПОучить теорию БД столило бы. Желательно не по форумам.
...
Рейтинг: 0 / 0
Проектирование базы данных
    #37457331
D7na
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите так лучше выглядит?
...
Рейтинг: 0 / 0
Проектирование базы данных
    #37457336
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D7naправильно?
Нет. Понятия "сущность" и "атрибут" принадлежат логической модели данных, а "таблица" и
"поле" - физической модели. В некоторых случаях они могут соотноситься, а в некоторых -
нет. Как пример - периодические атрибуты.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Проектирование базы данных
    #37457342
D7na
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,

Спасибо
...
Рейтинг: 0 / 0
Проектирование базы данных
    #37457392
D7na
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Скажите в таблицах могут содержаться константные поля?
Т.е. если у меня в таблице "Вид печати" будут содержаться такие столбцы, такие как Id и Вид печати, в которых например:
Id Вид печати
1 Офсетная
2 Цифровая
3 Флексография
4 Ризограф
и т.д., я могу в другую таблицу подставлять только Id правильно?
...
Рейтинг: 0 / 0
Проектирование базы данных
    #37457482
Cane Cat Fisher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D7na,

Прогресс налицо. За 7 дней мы продвинулись примерно на полторы страницы учебника.

Рекомендую - Мартин Грабер (в другом варианте Грубер), Введение в SQL. Простая и понятная книжка, в ней все ответы на Ваши вопросы.
...
Рейтинг: 0 / 0
Проектирование базы данных
    #37457854
D7na
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Немного переделал. Скажите что изменить, добавить или убрать?
...
Рейтинг: 0 / 0
Проектирование базы данных
    #37457956
D7na
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Появился вопрос. В таблице с типами изделий есть такой тип как "Книга". Если выбран тип "Книга", то поля для заполнения должны содержать в себе помимо всего прочего еще и внутренности и обложку. Соответственно, у внутренностей есть: цветность, количество страниц, тип и размер бумаги и тип печати. А у обложки: Тип печати, цветность, тип и размер бумаги.
Как можно реализовать такое?
...
Рейтинг: 0 / 0
Проектирование базы данных
    #37458377
koJIo6ok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
почему заказчики и дизайнеры разные сущности?
почему у заказчика :
фио одной строкой? ладно если тут будет ОАО "Доброе утро", а если фио физ лица? как получите ф, имя, отч по отдельности?
адрес юридический и почтовый всегда совпадают?
телефон, эл почта 1 на человека\орг?

>Прогресс налицо. За 7 дней мы продвинулись примерно на полторы страницы учебника.
:D
...
Рейтинг: 0 / 0
Проектирование базы данных
    #37458751
D7na
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
почему заказчики и дизайнеры разные сущности? - объединил.
почему у заказчика :
фио одной строкой? ладно если тут будет ОАО "Доброе утро", а если фио физ лица? как получите ф, имя, отч по отдельности? - Сделал в виде "Название". Может быть как название компании, так и фамилия заказчика.
адрес юридический и почтовый всегда совпадают? - Вместо адреса будет e-mail.
телефон, эл почта 1 на человека\орг? - да.
...
Рейтинг: 0 / 0
Проектирование базы данных
    #37458844
Cane Cat Fisher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
koJIo6okпочему заказчики и дизайнеры разные сущности?

Потому что это разные сущности. Заказчик Петров говорит "Хочу большое и красивое", дизайнер Иванов создает "Большое и красивое.JPG".

Или Вы опять к тому, что дизайнер может из хулиганских побуждений заказать проект самому себе, и этим денормализовать базу? :-)

D7na объединил

Разъединить.
...
Рейтинг: 0 / 0
Проектирование базы данных
    #37458871
D7na
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Cane Cat FisherРазъединить. - Разъединил xD
...
Рейтинг: 0 / 0
Проектирование базы данных
    #37458909
D7na
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Cane Cat Fisher, Пожалуйста помоги. В таблице с типами изделий есть такой тип как "Книга". Если выбран тип "Книга", то поля для заполнения должны содержать в себе помимо всего прочего еще и внутренности и обложку. Соответственно, у внутренностей есть: цветность, количество страниц, тип и размер бумаги и тип печати. А у обложки: Тип печати, цветность, тип и размер бумаги.
Как можно реализовать такое?
...
Рейтинг: 0 / 0
Проектирование базы данных
    #37458910
D7na
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
D7naВ таблице с типами изделий - т.е. Вид заказа.
...
Рейтинг: 0 / 0
Проектирование базы данных
    #37458986
koJIo6ok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cane Cat Fisher,
> Потому что это разные сущности. Заказчик Петров говорит "Хочу большое и красивое", дизайнер Иванов создает "Большое и красивое.JPG".
рабочие воплощают проект в жизнь, водители\грузчики осуществляют доставку (забудем - "водитель не грузчик вам с-ка" :D), бухгалтера контролируют расчеты - как-то не ахти )
что там человек что тут, разницы нет, то что один из них сотрудник - это другое ответвление
> Или Вы опять к тому, что дизайнер может из хулиганских побуждений заказать проект самому себе, и этим денормализовать базу? :-)
хотя бы потому что, зачем два справочника делать? лишние формы хп\запросы\проверки писать?
...
Рейтинг: 0 / 0
Проектирование базы данных
    #37459127
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D7namad_nazgul,
Как я понимаю "сущность" это отдельная таблица, а "атрибуты" это поля этой таблицы правильно?

Не совсем.
"Сущность" - это объект.
"Атрибуты" - это поля данных и свойства объекта

Как это будет проецироваться на БД...
Зависит от БД, Ваших предпочтений, выбранной методики проектирования БД.

Просто такой подход позволит абстрагироваться от конкретных "особенностей" БД.
И позволит точнее понять, что какие вообще данные нужны и что с ними надо делать.
...
Рейтинг: 0 / 0
Проектирование базы данных
    #37459135
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D7naCane Cat Fisher, Пожалуйста помоги. В таблице с типами изделий есть такой тип как "Книга". Если выбран тип "Книга", то поля для заполнения должны содержать в себе помимо всего прочего еще и внутренности и обложку. Соответственно, у внутренностей есть: цветность, количество страниц, тип и размер бумаги и тип печати. А у обложки: Тип печати, цветность, тип и размер бумаги.
Как можно реализовать такое?

Не пытаетесь сразу проектировать БД.
Для этого нужен либо большой опыт, либо отличное знание теории.
Да и то придется несколько раз перепроектировать.

В начале выделите объекты, затем опишите их атрибуты, потом укажите связи м/у объектами и их взаимодествие.
Когда получите логическую модель Вашей ИС, только после этого начинайте проектировать БД.

Долго и нудно, зато надежно.
...
Рейтинг: 0 / 0
Проектирование базы данных
    #37459213
D7na
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mad_nazgul, то есть база (без всяких "В таблице с типами изделий есть такой тип как "Книга"") в таком виде, как представлена у меня, если ее сделать с 9 таблицами, и полями которые указаны на рисунке будет не правильно спроектированной?
В таблицах таких как например "Статус" "Бумага" "Печать" "Обработка" и "Вид заказа" я хочу поместить статические данные, что бы пользователь мог выбрать уже имеющееся значение в базе. Все остальное подлежит заполнению. Если это не правильно, скажите пожалуйста. Очень хочется сделать все грамотно, но не хватает знаний. А книг именно по проектированию я в сети не встречал.
...
Рейтинг: 0 / 0
Проектирование базы данных
    #37459232
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D7naОчень хочется сделать все грамотно, но не хватает знаний. А книг именно по проектированию
я в сети не встречал.

Вон там, повыше, я дал ссылку на описание нормальных форм. Грамотно спроектированной
считается база, которая их без нужды не нарушает.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Проектирование базы данных
    #37459282
D7na
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov, ткните носом, что неправильно?
...
Рейтинг: 0 / 0
Проектирование базы данных
    #37459371
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D7na,

На первый взгляд последняя схема отторжения не вызывает.

Опять же повторю.
Не пытайтесь сразу спроектировать всю БД.

Лучше в начале иметь логическую схему.
Причем как можно более подробную.
Затем уже на ее основе проектировать БД.

Тут Вам говорили про нормализацию.
В общем случае это "правильный подход".
Но иногда удобнее работать с не нормализированной БД.

Опять же не имея логической схемы трудно сказать "как удобнее".
...
Рейтинг: 0 / 0
Проектирование базы данных
    #37459468
D7na
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробую реализовать. На личном опыте, быстрее дойдет что именно не так.
...
Рейтинг: 0 / 0
Проектирование базы данных
    #37459561
Cane Cat Fisher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
koJIo6okхотя бы потому что, зачем два справочника делать?

Ну, если минимизировать по этому критерию, то можно вообще дойти до Шекспира: мир есть объект, а остальное - свойства.
...
Рейтинг: 0 / 0
Проектирование базы данных
    #37459569
Cane Cat Fisher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D7naCane Cat Fisher, Пожалуйста помоги. В таблице с типами изделий есть такой тип как "Книга". Если выбран тип "Книга", то поля для заполнения должны содержать в себе помимо всего прочего еще и внутренности и обложку. Соответственно, у внутренностей есть: цветность, количество страниц, тип и размер бумаги и тип печати. А у обложки: Тип печати, цветность, тип и размер бумаги.
Как можно реализовать такое?

Как минимум, двумя способами. Первый - предусмотреть в заказе все эти поля, а заполнять - только заказа для типа "Книга".

Второй - сделать еще одну таблицу, "Атрибуты книги", с этими полями, и связью с заказом 1:1, и добавлять туда запись только для заказов типа "Книга".

Какой из этих способов будет удобнее и правильнее - по имеющейся информации сказать нельзя. Это зависит от того, сколько еще таких особых типов выявится, будут ли они независимы, или наследоваться друг из друга, и какие для них потребуются дополнительные атрибуты, в том числе общие и частные.
...
Рейтинг: 0 / 0
Проектирование базы данных
    #37461376
D7na
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сделал такую вот базу. Посмотрите пожалуйста, кто что увидит неправильного?
...
Рейтинг: 0 / 0
Проектирование базы данных
    #37461830
Cane Cat Fisher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D7na,

По-русски было понятнее :-(
...
Рейтинг: 0 / 0
Проектирование базы данных
    #37461842
Ejhi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
D7na,

Тему не читал, но что-то мне подсказывает, что таблицы Paper и PaperInside можно объединить. Как и TypeOfPaper и TypeOfPaperInside.
...
Рейтинг: 0 / 0
Проектирование базы данных
    #37461890
Cane Cat Fisher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще просьба автору: на таких схемах, рядом со специфическими справочниками, вроде всех этих PaperInside, приводить несколько строк содержимого, чтобы было сразу понятно, о чем речь.
...
Рейтинг: 0 / 0
Проектирование базы данных
    #37461988
D7na
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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 - Тип обработки
...
Рейтинг: 0 / 0
Проектирование базы данных
    #37462375
Ejhi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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, в котором будет признак обложка/внутренность.
...
Рейтинг: 0 / 0
Проектирование базы данных
    #37462775
D7na
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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 типа бумаги внутренностей
...
Рейтинг: 0 / 0
Проектирование базы данных
    #37462794
D7na
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ejhi, просто если выбран тип "Книга", то в заказе присутствует и обложка, и внутренние страницы.
...
Рейтинг: 0 / 0
Проектирование базы данных
    #37462812
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D7naесли выбран тип "Книга", то в заказе присутствует и обложка, и внутренние страницы.

А у книги могут быть несколько разных обложек? Или несколько разных внутренних страниц?
Как обрабатываются книги с суперобложкой? А с вложенным широкоформатным постером?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Проектирование базы данных
    #37462851
D7na
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov, У книги может быть только одна обложка. Внутренности соответственно, по типу бумаги внутри книги не должны отличаться. Про суперобложку и вкладки пишется в комментариях к заказу, если таковые есть. Такие заказы довольно редкие. Не думаю что стоит ради этого что-то менять.
...
Рейтинг: 0 / 0
Проектирование базы данных
    #37463294
Ejhi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
D7naEjhi, ты имеешь ввиду так?:



Нет, вот так:

Paper - Бумага
Sheet Size - Размер Бумаги
Size Products - Размер готового продукта
Thickness - Толщина бумаги
Id Type of paper - Id типа бумаги
Inside - Признак обложка/внутренность
...
Рейтинг: 0 / 0
Проектирование базы данных
    #37463365
Cane Cat Fisher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D7naCane Cat Fisher, проектировать базу с русскими названиями - бред.

Мы не проектируем, мы обсуждаем. А туманный перевод начисто отбивает охоту разбираться. Кстати, Circulations в смысле "тираж" употребляется только в единственном числе, а Due Date - это, скорее, срок какого-то платежа, вроде налогов или процентов.

D7naПро суперобложку и вкладки пишется в комментариях к заказу, если таковые есть. Такие заказы довольно редкие. Не думаю что стоит ради этого что-то менять.

Снабженец, закупающий бумагу для всех заказов на следующий месяц, будет иного мнения. Он захочет запрос "СКАЖИТЕ МНЕ НУЖНОЕ КОЛИЧЕСТВО БУМАГИ, В РАЗРЕЗЕ ПО СОРТАМ БУМАГИ, ПО ВСЕМ ПЛАНИРУЕМЫМ ЗАКАЗАМ", или, проще говоря,

Код: plaintext
select БумагаТип, SUM(БумагаКоличество * Тираж) from Заказы where Невыполнено group by БумагаТип. 

И Вас заставят, вместо SQL-сервера, ежемесячно перечитать глазами все комментарии, и подбить итожек в Экселе. Чтоб в следующий раз проектировали правильно.
...
Рейтинг: 0 / 0
Проектирование базы данных
    #37464738
D7na
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ejhi, а если одновременно в книге присутствуют и обложка, и внутренности?
...
Рейтинг: 0 / 0
Проектирование базы данных
    #37464830
Cane Cat Fisher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще, напрашивается таблица деталей, (один-заказ-много-деталей), и у детали уже будет тип детали, плотность бумаги, и ее количество для одного экземпляра. Отдельной деталью будет обложка из картона, отдельной - внутренние страницы, и, при необходимости, отдельной - плотные цветные вкладыши.
...
Рейтинг: 0 / 0
Проектирование базы данных
    #37479781
AnaceH
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Почему бы не сделать атомарный иерархический справочник, и не запихнуть туда все атомарные значения?(В Вашем случае это типы)
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.
Просто если у Вас в базе не десяток сущностей, а несколько сотен, и в среднем каждая вторая сущность имеет тип\статус, то иметь лишнюю сотню однотипных таблиц как-то не весело. К тому же данный подход позволяет не хардкодить цифирьки или имена, которые могут в любой момент поменяться.
...
Рейтинг: 0 / 0
47 сообщений из 47, показаны все 2 страниц
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Проектирование базы данных
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]