Foreign-Key

我應該在我的數據庫中為同一個人/實體創建多個 ID 嗎?

  • July 10, 2015

在我的模型中,我必須儲存一些孩子的老師的名字和老師工作的教室,比如說。學校的數百名教師都有 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)

這樣您就沒有重複和更新異常。

引用自:https://dba.stackexchange.com/questions/106622