常见的查找表和实体关系问题

时间:2017-11-18 13:36:27

标签: sql database database-design

第二年CS学生来到这里。

问题:

  1. '结果'表格目前正在创建一个常见的查找表'

  2. 如何解决就业 - 学生关系?

  3. 数据库问题:

    对于每个学生,他们想知道他们所在的学位课程(学生可能有超过一个学位但不能同时学习);他们采取的模块和最终结果。对于他们的就业,他们想知道就业类型(全职或兼职,永久或固定期限,继续教育,采取差距年);他们的职称以及是否被视为“毕业生”角色;雇主的姓名和地址;学生的联系电子邮件,我们是否可以将这些信息用于宣传目的,并简要说明他们的角色。

    我目前的数据库设计:

    Current ERD

    Q1。

    我注意到在构建ERD时,Module,Degree和Student之间存在三元关系,并决定通过创建第四个名为results的表来解决这个问题。它具有来自模块,学位和学生的外键,并包含学位模块中学生的结果日期和结果分数。考虑到每个学生需要几个模块,将会有很多条目,结果将是'结果'形成一个共同的查找表?我听说这些在构建数据库时不是最佳实践。这种设计也使得很难查询每个学生所做的学位(每个学生可以不同时学习很多学位)。我考虑为学生 - 模块关系和学生 - 学位关系创建单独的表,但是你不知道在哪个学位下学习了哪个模块。

    Q2。

    我的讲师给了我这个建议:

    就业与学生之间的关系不太清楚,需要一些解释。通常情况下,现实世界中的就业只有1个雇主和1个雇员,而不是每个雇员多个雇员。

    Student-Employment Relationship

    这是一个合适的解决方案吗?我目前在学生中有一个与他们的工作有关的外键。我仍然可以使用这个或者我认为这种关系都错了吗?

    数据库应支持以下查询:

    1. 针对特定学生的就业情况
    2. 他们没有就业记录的学生的详细信息
    3. 毕业后6个月内无意失业的学生的详细信息
    4. 根据学位类别在毕业后一年内就业的百分比
    5. 特定年份和学位课程的研究生角色的百分比
    6. 非常感谢所有答案。谢谢你的时间。

0 个答案:

没有答案