Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 05.10.2011, 00:56
Аватар для Shoni
Shoni Shoni вне форума
Прохожий
 
Регистрация: 02.09.2011
Адрес: Кострома
Сообщения: 45
Версия Delphi: 7
Репутация: 165
По умолчанию помощь в проектировании ERD

Доброго времени суток!
Помогите, пожалуйста, решить проблемку: есть 3 таблицы: сотрудники, должности и товар, но существует требование, чтобы у каждого товара отображалась информация о сотрудниках, изготовившем этот товар. Допустим, если из отношения Должности-Сотрудники следует:

Должность Сотрудник
A a1
A a2
A a3
Б б1
Б б2
В в1
В в2

То атрибутам таблицы Товар А,B,C нужно поставить в соответствие выбор из набора значений - для А, например, а1, а2, а3, для Б - б1, б2


Думаю, нет смысла выносить каждую должность в отдельную сущность (особенно, если их очень много), напрямую связать атрибут и сущность нельзя, да и товар связывать с должностями или сотрудниками нецелесообразно

помогите, кто чем может, фрагмент диаграммы прилагаю!
Изображения
Тип файла: jpg Безымянный.JPG (43.0 Кбайт, 12 просмотров)
__________________
Memento Mori(арти)
Ответить с цитированием
  #2  
Старый 05.10.2011, 06:15
Zhigalov Zhigalov вне форума
Начинающий
 
Регистрация: 27.05.2009
Сообщения: 100
Репутация: -1277
По умолчанию

Товар - Сотрудник 1:М. Получается один товар могут производит несколько сотрудников. Не так?
Ответить с цитированием
  #3  
Старый 05.10.2011, 06:36
Pyro Pyro вне форума
Так проходящий
 
Регистрация: 18.07.2011
Сообщения: 805
Версия Delphi: 7Lite
Репутация: 6063
По умолчанию

Цитата:
чтобы у каждого товара отображалась информация о сотрудниках, изготовившем этот товар
я бы понял так, что сотрудников разбить на смены, а на каждом товаре маркировка в какую смену он сделан.
Ответить с цитированием
  #4  
Старый 05.10.2011, 16:22
Аватар для Shoni
Shoni Shoni вне форума
Прохожий
 
Регистрация: 02.09.2011
Адрес: Кострома
Сообщения: 45
Версия Delphi: 7
Репутация: 165
По умолчанию

Если делать связь 1:М, тогда получится, что многоженство работников выпускают только 1 товар и больше не участвуют в процессе, так что, наверно, надо M:M...

Работники все в 1 смену работают, причем группируются по-разному
__________________
Memento Mori(арти)

Последний раз редактировалось Shoni, 05.10.2011 в 16:24.
Ответить с цитированием
  #5  
Старый 06.10.2011, 17:01
Аватар для Viajero
Viajero Viajero вне форума
Активный
 
Регистрация: 14.06.2011
Адрес: РБ
Сообщения: 214
Версия Delphi: Delphi 7 FB 2.5
Репутация: 5849
По умолчанию

Цитата:
так что, наверно, надо M:M...
По теории реляционых БД именно так и делается. Для этого нужна ещё одна таблица (таблица связи), где в простейшем случае указываются только id товара - id работника, но могут быть и дополнительные данные (например кту работника, затраченное время и т.п, вполне возможно, что такие данные могут понадобиться позднее, уже при эксплуатации готовой программы)
__________________
- Товарищ прапорщик!!! Остановите поезд!!! - Поезд СТОЙ! РАЗ! ДВА!
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 04:03.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter