小编rog*_*ith的帖子

学校系统数据库架构设计

我正在尝试创建一个数据库来存储有关学校的信息。

我需要存储学校的每个部门。每个部门都有一个教师名单。每个老师都有一个班级列表,每个班级都有一个学生列表。

部门名称将是唯一的。但是,教师可能跨部门。另一件需要注意的事情是,如果老师A教一门名为“数学”的课程,而老师B也教一门名为“数学”的课程,那么这些在数据库中应该是不同的实体(我认为)。例如,我可能想要获取仅与“老师 A”一起参加“数学”课程的学生列表。

到目前为止,我有这个:

  • 部门(部门标识,部门名称)

  • 教师(教师身份,教师姓名);

  • Department_and_teachers( department_and_teachers_id ,department_id(FK),teacher_id(FK))

  • 学生(学生ID,学生姓名)

  • 教师和学生(部门和教师身份,学生身份);

我认为哪个是好的数据库设计?但是,它不包含有关“类”的任何信息,我不确定更改架构的最佳方法是什么。对于每个部门和教师组合,我需要添加所教授的课程列表。做这样的事情是否合理:

  • 类(class_id, class_name )
  • Department_teachers_and_classes( dtc_id ,department_and_teachers_id(FK),class_id(FK));
  • Department_teachers_classes_and_students( student_id , dtc_id )

编辑- 基于收到的答案的新建议

  • 部门(部门标识,部门名称)
  • 教师(教师ID,教师姓名)
  • 班级(class_id,class_name,teacher_id(PK),department_id(PK))
  • 学生(学生ID,学生姓名);
  • classStudents( student_id (PK) , class_id (PK) )

schema database-design

5
推荐指数
1
解决办法
2万
查看次数

标签 统计

database-design ×1

schema ×1