【发布时间】:2011-11-06 17:35:07
【问题描述】:
我想创建一个学校数据库,但我被困在了中间。我有以下表格
- 用户 - id、role_id、用户名、密码
- 角色 - id、角色(教师/学生)
- 教师- id,
- 学生 - id、class_id、
- class - id、standard_id、section
- 标准 - id、名称
现在我想把学科与老师和学生联系起来。这里的问题是
- 有些科目是选修课,有些是必修课
- 5-7 级的英语是强制性的,但 8-10 级的英语是可选的
- 对于第 8 个标准。英语是第 3 科目的一部分 / 9-10 岁的可选组 3 英语可以作为第 1、第 2 或第 3 科目,但只有一次,第 1 科目的英语与第 2 科目的英语不同。
我希望将学生与他的科目联系起来。
同样对于 8std 部分 A 和 B(std + section = class) 英语是 8c 的第三主题,它是固定的德语,但 8D 可以两者兼有。如果这些数据也可以以某种方式与同一张表相关联,那就太好了。这有点像允许的课程科目。
我也想将老师与学科和班级相关联(老师 X 英语为 8c)
【问题讨论】:
-
我发现很难准确理解您的问题是什么。我认为其他人在下面给出了一些很好的答案,但我有一些一般性的建议。在明确定义域中的对象和业务逻辑之前,不要考虑数据库模式。我认为您将数据库行话与业务逻辑混淆,从而使自己感到困惑。首先确定哪些信息对您的应用程序真正重要,以及具体的规则是什么。然后编写将封装该信息及其背后的行为的类。然后最后设计您的数据库架构。