我有一個使用2個外鍵字段和一個日期字段的表。 有一個表使用3個或更多字段作爲主鍵常見嗎?這樣做有什麼不利嗎?我可以在一張桌子上的組合主鍵中有太多的列
-
我的3張表是員工,培訓和emp_training。 employees表持有員工數據。培訓表包含不同的培訓課程。我正在將emp_training表設計爲EmployeeID(FK),TrainingID(FK),OnDate字段。
員工可以做多個培訓課程,並且可以多次進行相同的培訓課程。但他們不能在同一天多次參加相同的培訓課程。 哪個是更好的實現:
選項A - 讓所有3場主鍵
選項B - 添加一個自動編號PK場,並使用查詢發現任何潛在的重複。
我已經創建了許多表使用2個字段作爲主鍵之前,但從來沒有3,所以我很好奇,如果有任何缺點與選項訴訟中提出的
在那裏,我修改了你的標題。我想這就是你想說的。 – Drew
還有一點(除了下面的答案):你的*但他們不能在同一天超過一次同一訓練課程*是一個反對PK的**理由**:這不是絕對的規則,只是一種商業邏輯。如果出現這種情況,你會怎麼做?每天兩次可以進行同一個課程?那你會怎麼做? – Shnugo