Foreign-Key
我應該在我的數據庫中為同一個人/實體創建多個 ID 嗎?
在我的模型中,我必須儲存一些孩子的老師的名字和老師工作的教室,比如說。學校的數百名教師都有 1 間且只有 1 間教室,除了 2 名教師有 2 間教室,我們無法移除一間教室(我們必須保留 2 間教室)……你知道有什麼方法可以處理這個異常?知道將來可能會發生在其他老師身上。
到目前為止,我發現的唯一解決方案如下:
兒童桌
兒童身份證 (PK)
教師編號
教師表
教師證 (PK)
老師的名字
教室編號
並為擁有超過 1 個教室的極少數教師提供 2 個教師 ID(或更多)。我確實需要教師表中的教師姓名才能根據教師生成統計資訊(無論與任何給定教師相關的教師 ID 的數量)。
這個模型有意義嗎?有更好的方法嗎?
適當規範化後,它將有 3 個表,如下所示:
孩子
kid_id (pk) classroom_id (fk to Classroom)
老師
teacher_id (pk) name
課堂
classroom_id (pk) teacher_id (fk to teacher)
這樣您就沒有重複和更新異常。