SQL数据库ER图

时间:2012-03-09 03:31:42

标签: sql database-design erd

因此,对于我的软件工程课程,作为大型项目的一部分,我们需要使用HSQLDB实现数据库。不幸的是,我还没有采用数据库设计,我们小组中有5人已经放弃了这个课程,留下这部分给我做。

截至目前,我已经为我们的项目提出了这个ER图: enter image description here

我们有一个课程列表,每个课程包含许多模块。每个帐户都可以在任何课程中注册,使他们可以访问课程的每个模块,这些模块被评分,并且标记存储在他们的帐户中。

我认为我提出的图表代表了这一点;但是,我今天刚刚开始学习这个,所以我仍然有点摇摇欲坠,所以说。

有什么东西可以说是错误的,还是可以改进的部分?

P.s - 我刚在模块表中注意到,它包含了grade,它实际上应该在module_grade中。

1 个答案:

答案 0 :(得分:0)

在你的模型中,Course_grade表是绝对无用的。您应该将等级信息存储在course_grade和module_grade中,而不是直接存储在模块中。将模块视为主数据(因此您希望为所有学生使用),这意味着您不应将学生特定信息存储在其中。

我还会在您的模型中添加时间戳,至少在具有成绩信息的表格中添加,以便您至少可以检查学生何时获得信息。如果您还有可以获得成绩的信息,您也应该存储该等级。

如果您使用SQL访问模型,请考虑将course_grade和module_grade中的外键列更改为唯一的。这使得查询更具可读性。也许课程成绩将course_id重命名为cg_course_id。