因此,对于我的软件工程课程,作为大型项目的一部分,我们需要使用HSQLDB实现数据库。不幸的是,我还没有进行数据库设计,我们小组中有三分之二的人已经放弃了这门课程,让我做这件事。SQL数据库ER图
截至目前,我已经想出这个ER图表为我们的项目:
我们所拥有的是课程列表,以及每门课程包含多个模块。每个帐户都可以在任何课程中注册,让他们可以访问课程的每个模块,该模块已评分,并且标记存储在其帐户中。
我想图我已经拿出表示此相当好;不过,我今天刚刚开始了解这一点,所以我仍然有点不稳定,可以这么说。
有什么事情跳出来为错误的这一点,或零件可以改进的?
P.S - 我只注意到在模块表中,它包含了档次,这实际上应该在module_grade。
由于这是HW,我会问一些可能有助于指出可能改进的问题。如果学生(AKA账户)未通过必修课程会发生什么情况?他们辍学吗?你如何阻止一个学生参加一个没有注册的课程?你需要跟踪学期或季度? 'course_grade'实体的目的是什么?为什么'grade'应该是一种浮点数据类型与另一种类型?通过在“模块”实体上使用复合主键可以获得什么好处(该问题是否可以通过索引来解决)? – gangreen 2012-03-09 05:08:04
我们正计划在下一次迭代中实施失败,我们只有两个人正在研究应该是一个5人项目。学生通过一个单独的界面通过管理员帐户添加到课程中。访问数据库的界面已经完成,我们已经有了一个存根。学期,宿舍没有。我忘了在course_grade中输入小数。它是module_grades的总和。我不知道为什么分数应该或不应该是一个浮动。我被告知切换到十进制。模块上的PK是我没有意识到的 – Tanner 2012-03-09 06:13:21
只是稍等一会儿......有人会为你解决这个问题。 ;) – 2012-03-14 04:40:30