2014-01-20 40 views
0

我一直在這裏通過在線瀏覽視頻和示例。有人可以幫助看看,並指出我是否正確或錯誤的部分請。我正試圖將下表改爲2NF。謝謝。將以下表格從1NF更改爲2NF

Clinic  Address  Therapist TherapistTel Appointment   Client ClientTel 
Clinic A 123 High St J Smith 77882233  25/01/2013 11:00 A Jones 32512 
Clinic A 123 High St P Taylor 77235846  25/01/2013 13:00 I Davis 34251 
Clinic B 80 Low St B Morris 77991487  25/01/2013 10:30 H Kelly 53692 
Clinic C 3 Middle St J Smith 77882233  26/01/2013 14:00 Y Rimmer 68595 
Clinic B 80 Low St J Smith 77882233  26/01/2013 09:30 H Kelly 53692 
Clinic A 123 High St B Morris 77991487  25/01/2013 14:00 J Steele 36529 

我2NF表如下:

診所

**Clinic**  Address  **Therapist** 
Clinic A 123 High St J Smith 
Clinic B 80 Low St P Taylor 
Clinic C 3 Middle St B Morris 

治療師

**Therapist** TherapistTel 
J Smith  77882233 
P Taylor 77235846 
B Morris 77991487 

客戶

**Client** ClientTel 
A Jones 32512 
I Davis 34251 
H Kelly 53692 
Y Rimmer 68595 
J Steele 36529 

約會

**Therapist**  **Client** Appointment 
J Smith  A Jones 25/01/2013 11:00 
P Taylor  I Davis 25/01/2013 13:00 
B Morris  H Kelly 25/01/2013 10:30 
J Smith  Y Rimmer 26/01/2013 14:00 
J Smith  H Kelly 26/01/2013 09:30 
B Morris  J Steele 25/01/2013 14:00 
+0

我編輯過,以突出顯示我的主鍵和外鍵。 – kar

+0

您的診所表有許多問題,最值得注意的是P泰勒與診所B無關。您需要一張表來連接診所和治療師。你的約會表也有問題;患者和治療師都不知道你的圖式中要去哪個診所,而原來的確告訴他們該去哪裏。 –

+0

我得到P泰勒被錯誤關聯的錯誤。我能知道診所還有什麼問題嗎?另外對於約會,我認爲診所與診所有關聯,因爲任命和診所都有治療師。 – kar

回答

0

正如評論指出早在2014年1月:

您的診所表有很多問題,最主要的是將P泰勒不與診所B相關聯的所有您需要一張連接診所和治療師的桌子。你的約會表也有問題;患者和治療師都不知道你的圖式中要去哪個診所,而原來的確告訴他們該去哪裏。

一般來說,每個診所有多個治療師。此外,一名特定的治療師在多個診所工作。所以,你需要一個診所名單,一個治療師名單,以及一份列出每對診所+治療師的名單。在任命中,治療師J史密斯可以在三個診所中的任何一個; A Jones如何從約會表中得知與J Smith的約會是在診所A而不是B或C?你錯過了關鍵信息。你需要日期,時間,治療師,客戶和診所都在預約表中。

客戶端和治療師表都很好。診所表只應包括診所和地址欄。您的預約表需要4列:

  • 診所
  • 治療師
  • 客戶
  • 預約(日期和時間)

您可能會或可能不會需要另一個表Therapist_Clinic指定哪個治療師可以在每個診所服務。對於給定的數據,它可能包含:

Therapist_Clinic 

Clinic  Therapist 
-------- --------- 
Clinic A J Smith 
Clinic A P Taylor 
Clinic B B Morris 
Clinic C J Smith 
Clinic B J Smith 
Clinic A B Morris 

在另一方面,如果每個記錄的治療師可以在任何診所的工作,這個表是多餘的。