[英]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.