2016-05-11 91 views
-1

我需要幫助正常化下表所示的下表。在嘗試將工作人員分配給服務時,我不斷收到重複的值。SQL:我需要幫助正常化

original orders and services table UN-normalized

以下是我的表後歸。

Tables after normalisation

我從表中拆分工作人員列。我也刪除了serviceIdserviceName列,並提出了新的表名爲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
  • 服務名稱

Staff_Table包含:

  • ,STAFFID PK
  • StaffName

Orders_Table:

  • 的OrderId PK
  • ....

Order_Service可能是:

  • 的OrderId(FK-Orders_Table)
  • 服務ID

由於訂單與服務是一個一對多的關係

Order_Staff可能是:

  • 訂單ID(FK-Order_Table )
  • StaffID

由於訂單人員是一對多關係

+0

我不明白在這裏Orders_Table什麼是剩餘的列? Order_Staff表的外鍵是一個表(Order_Table)? –

+0

(點點)意味着你想要的任何其他領域.....由於訂單ID和服務之間的關係是多對一關係,因此需要將訂單和服務分開...... Order_Table可以具有訂單相關數據,例如OrderDateTime,OrderStatus,基本上任何您想要的,即與您的項目相關。 – 6119

+0

Order_Staff和Order_Service中的OrderID(FK)是Order_Table中的OrderID(PK)。 – 6119