看板 Database 關於我們 聯絡資訊
※ 引述《Adonisy (拍手小安)》之銘言: : 1個學生可以擁有一張證照,但該證照只能被一位學生所擁有啊... : 例如,甲同學有 MCSE證照,但這個 MCSE證照只能被甲擁有啊,因為證照上有 : 證照 id是屬唯一性,某乙也會有他自己的 MCSE證照 : 所以我會設計 : Student(SID,......) 學生 : License(SID,LID) 學生所持有證照 : 在 license資料表上,再加上 score代表分數,允許 null,沒有就是沒分數 : 除非還有別的需求 我之所以認為,原 po要把需求寫清楚,目的就是,所有的資料庫設計,沒有所謂的 對與錯 , 重點在你能不能把需求用資料庫呈現出來 如果你要記學生的證照,只是為了日後可以方便列出該位學生有哪些證照,用 2個 table即可,就是 1對多的 student與 license 若如果你會需要在使用者輸入證照時,列出一堆已有的證照讓使用者選,就是把 學生與證照當成多對多看待,所以有三個資料表 所以我也認為,這就是設計資料庫會讓人頭痛的主因 不過話說回來,如果我獨立一個 table,專門記錄有哪些證照種類,而不與原本的 資料表關聯,乍看之下沒有做到正規化,但如果資料量太大時,確實也可以考慮此 種做法.... 所以,如何有效的想像你未來系統會長的如何,也很重要 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 125.230.166.122