第二年CS学生来到这里。
问题:
'结果'表格目前正在创建一个常见的查找表'
如何解决就业 - 学生关系?
数据库问题:
对于每个学生,他们想知道他们所在的学位课程(学生可能有超过一个学位但不能同时学习);他们采取的模块和最终结果。对于他们的就业,他们想知道就业类型(全职或兼职,永久或固定期限,继续教育,采取差距年);他们的职称以及是否被视为“毕业生”角色;雇主的姓名和地址;学生的联系电子邮件,我们是否可以将这些信息用于宣传目的,并简要说明他们的角色。
我目前的数据库设计:
Q1。
我注意到在构建ERD时,Module,Degree和Student之间存在三元关系,并决定通过创建第四个名为results的表来解决这个问题。它具有来自模块,学位和学生的外键,并包含学位模块中学生的结果日期和结果分数。考虑到每个学生需要几个模块,将会有很多条目,结果将是'结果'形成一个共同的查找表?我听说这些在构建数据库时不是最佳实践。这种设计也使得很难查询每个学生所做的学位(每个学生可以不同时学习很多学位)。我考虑为学生 - 模块关系和学生 - 学位关系创建单独的表,但是你不知道在哪个学位下学习了哪个模块。
Q2。
我的讲师给了我这个建议:
就业与学生之间的关系不太清楚,需要一些解释。通常情况下,现实世界中的就业只有1个雇主和1个雇员,而不是每个雇员多个雇员。
Student-Employment Relationship
这是一个合适的解决方案吗?我目前在学生中有一个与他们的工作有关的外键。我仍然可以使用这个或者我认为这种关系都错了吗?
数据库应支持以下查询:
非常感谢所有答案。谢谢你的时间。