我正在创建一个学校管理系统,并设计了附带的数据库模式。
以下是该系统的工作方式:
- 学校有许多学生和教师。它还有许多授课的课程(科目)。一个年级可以分配多门课程。这些课程反过来将被分配给该特定年级的学生。
- 学生的等级分为年级和班级。学生可以在5年级,但如果5年级学生数量很大,则会分成几个班级。例如:5年级A班,5年级B班。
- 学生放置在唯一的教室中。 教室在整个学校内是唯一的。 2010年5年级A班的教室与2011年5年级A班的教室不同。
- 学生被分配给父母。 一个父母可以有多个孩子在学校里。
- 一个或多个教室可以分配给一个老师。
- 教师每天要对学生进行考勤。
- 将有许多类型的考试。每个学科(课程)存储考试结果。
我是数据库规范化的初学者,如果有人能给我一些提示,让我知道数据库是否正确,我会很高兴。
编辑:
此外,只会有一个登录点。 在上述情况下,在登录期间,用户将必须从下拉列表中选择用户类型。 该下拉选择将用于查询到相应的表以登录到系统。 另一种选择是使用一个通用user
表,它将存储user_id, email, password, last_login_date, last_login_ip
,但将在各自的表中存储其他详细信息,例如
student,parent,teacher
。那么,实现它的首选/正确方法是什么?