ChatDiagram
1 template · ERD

學校資料庫 ER 圖範例

學校資料庫 ER 圖是電腦科學教育中最常見、也最具教學價值的資料庫設計練習之一。

Standard Chen 1976 / Everest 1976 (crow's foot)Engine schematex-erdExport SVG · PNG · PDF
How to

How to use an erd template.

  1. 01辨識核心實體

    先找出基本實體:Student、Course、Teacher、Department。它們是多數學校資料庫結構的骨幹。

  2. 02定義關鍵屬性

    為每個實體列出必要欄位:Student(student_id、name、email、date_of_birth)、Course(course_id、title、credits、department_id)。

  3. 03加入 Enrollment 關係

    建立連結 Student 與 Course 的 Enrollment 實體,加入 enrollment_date、semester 和 grade 等屬性。這是關鍵的 M:N 聯結表。

  4. 04擴充成績與班級

    如果結構需要追蹤同一門課的多個班級,或將不同成績紀錄與選課紀錄分開,請加入 Grade 或 Section 實體。

  5. 05確認正規化

    請 AI 檢查結構是否符合 3NF——沒有部分相依或傳遞相依。這是常見的作業要求。

FAQ

Questions about erd templates

基本學校資料庫有哪些實體?

最基本的學校資料庫包含三個實體:Student、Course 和 Enrollment。Enrollment 是聯結表,用來記錄哪些學生選修哪些課程。多數作業還會擴充 Teacher、Department 和 Grade 實體。

如何在 ER 圖中建模學生與課程的關係?

一名學生可以選修多門課程,而一門課程也可以有多名學生,這是多對多關係。請使用 Enrollment 聯結表表示,表中包含 student_id (FK)、course_id (FK),以及成績或學期等選課專屬屬性。

Grade 實體和 grade 屬性有什麼差異?

如果每次選課只需要記錄一個成績,將 grade 屬性放在 Enrollment 表中即可。如果每次選課需要記錄多個成績(小考、考試、作業),請建立獨立的 Grade 實體並與 Enrollment 連結。

如何建模哪些教師教授哪些課程?

如果每門課只有一名教師,請在 Course 表中加入 teacher_id 作為外部鍵。如果教師可以共同授課,或一名教師會教授多個班級,請使用獨立的 TeacherCourse 聯結表建模。

學校資料庫 ER 圖是否符合第一正規化(1NF)?

設計完善的學校 ER 圖至少應符合 3NF。這表示沒有重複群組,所有屬性都依賴完整的主鍵(2NF),且沒有傳遞相依性(3NF)。ChatDiagram 可以檢查並說明任何正規化問題。