我有三個表學生,部門和大學數據庫中的課程... 學生有一個UID作爲主鍵 - >這是學生的唯一ID DEPARTMENT Dept_id作爲主鍵 - >這是部門編號 課程的C_id作爲主鍵 - >哪個是課程/科目Id檢查一個實體的數據的完整性
我需要通過將學生的主鍵,部門和每門課程中的每個學生的課程。
UID Dept_id C_id marks
1 CS CS01 98
1 CS CS02 96
1 ME ME01 88
1 ME ME02 90
的問題是,如果我創建一個表像這樣的標誌的話,我覺得數據操作可能會插入例如一個學生的主鍵的錯誤組合
UID Dept_id C_id marks
1 CS CS01 98
1 CS CS02 96
1 ME CS01 88 //wrong C_id (course id) inputted by the DBA
1 ME ME02 90
在這種情況下,我怎麼能阻止他這樣做? 還有沒有其他方式來存儲每個學生的商標?我的意思是這樣的:
UID Dept_id CS01 CS02
1 CS 98 96
3 CS 95 92
除了業務層應該確保數據操作員無法選擇該部門的無效課程。 你不妨映射數據庫中的這種關係。 – BenW 2010-07-13 13:45:36
謝謝你的建議。我想我會使用你的想法並將其修改爲在課程表中包含Dept_id。 – 2010-07-14 05:00:40