簡體   English   中英

如何設計一個簡單的數據庫

[英]How to design a simple database

我想為學生,老師,班級關系建模。 每個學生都與一位老師相關聯(老師可以有很多學生)。 只有三節課。 我認為這是三個表:

學生表->(student_id,student_name,class_id)

教師表->(student_id,student_name,class_id)

類表->(class_id,class_name)

我不確定如何在表格中顯示學生與老師的關系。 我們如何知道哪個老師被分配給哪個學生?

這比您想要的表多了一些,但是Microsoft創建的幾個.NET示例圍繞着一個相似的關系數據庫。

這是該數據庫的鏈接: https : //msdn.microsoft.com/zh-cn/library/bb399731(v=vs.100).aspx

在此示例中,學生和教師都保留在人員表中,並通過兩個不同的Joining表與課程表相關。 學生年級和課程講師。

在此處輸入圖片說明

這是帶有鏈接的Contoso大學架構: https : //docs.microsoft.com/zh-cn/aspnet/mvc/overview/getting-started/getting-started-with-ef-using-mvc/creating-a-更復雜的數據模型換一個-ASP凈MVC-應用

在此處輸入圖片說明

這可以通過一些簡單的連接來完成。

假設您要查找與某個老師相關聯的所有學生,那么您首先要抓住teacher的行。 然后,您將參加老師教的classes 最后,您將加入那些班級中的students

這被稱為多對多關系,並且是數據庫中的重要概念。

select
    t.student_name, -- I suspect this col might actually be named teacher_name
    s.student_name, 
from
    -- Find the classes that a teacher teaches
    teacher_table t join class_table c on (t.class_id=c.class_id)
    -- Find the students in those classes
    join student_table s on (s.class_id=c.class_id)
where
    t.student_id = ? -- Again, I suspect this should be "teacher_id"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM