2016-05-11 4 views
-1

Мне нужна помощь в нормализации следующей таблицы, показанной ниже. Я постоянно получаю повторяющиеся значения при попытке назначить персонал службе.SQL: Мне нужна помощь, нормализующая

original orders and services table UN-normalized

Ниже приведены таблицы, после того, как я нормализованы.

Tables after normalisation

Я разделил столбец сотрудников из таблицы. Я также удалил serviceId и serviceName колонки и сделал новую таблицу под названием Services

+0

Вам нужно использовать лучшую грамматику, к которой нужно относиться серьезно. Ваше название кричит «проголосуйте за меня», потому что у вас есть две и, возможно, три грамматические проблемы всего за пять слов. Это ваш первый пост и посещение сайта, поэтому я только что отредактировал грамматику для вас, а не для голосования ... См. Это для справки http://meta.stackoverflow.com/questions/322657/how-to-treat -bad-english-sentence-syntax-and-typo-hell? cb = 1 –

+0

Большое спасибо, я учту это –

+1

Нормализация не вводит новые имена столбцов (например, ids). – philipxy

ответ

0

Предполагая, что все ваши SOMETHING_ID являются PK

Services_Table содержит:

  • ServiceId PK
  • ServiceName

Staff_Table содержит:

  • StaffID PK
  • StaffName

Orders_Table:

  • OrderId PK
  • ....

Order_Service может быть:

  • OrderId (FK-Orders_Table)
  • ServiceID

С Заказ и обслуживание является отношение один ко многим

Order_Staff может быть:

  • OrderID (FK-Order_Table)
  • ПерсоналОпределение

Так как персонал службы является отношением «один ко многим»

+0

Я ничего не понимаю здесь. Для Orders_Table, каковы оставшиеся столбцы? Внешний ключ для таблицы Order_Staff представляет собой таблицу (Order_Table)? –

+0

(точка точка точка) означает любые другие поля, которые вы хотите .....Поскольку отношение между OrderID и сервисами является отношением «Много-к-одному», поэтому требуется разделение порядка и служб. Order_Table может иметь данные, связанные с заказом, такие как OrderDateTime, OrderStatus, в основном все, что вы хотите, то есть относящихся к вашему проекту. – 6119

+0

OrderID (FK) в Order_Staff и Order_Service - это OrderID (PK) в Order_Table. – 6119