刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

简答题

试题四(共25分)

阅读以下关于数据库设计的叙述,在答题纸上回答问题 1 至问题 3。 

【说明】

某市居委会在新冠状病毒疫情期间需分配社区人员到辖区内各个小区协助小区物业人员进行业主出入登记及体温检测工作,居委会为高效完成工作并记录必要的工作信息,设计相应的数据库。其中有一个表用来记录工作人员在各个小区的分布情况。表的结构如下:人员分配(人员编号、人员姓名、小区编号、物业经理姓名、人员职责 )

其中人员编号和小区编号唯一,人员职责用于记录该人员需配合小区完成的工作。假设每个人员在同一个小区只负责一项工作,但是不同小区可以负责不同的工作。

请问:

请根据3NF要求,将人员分配表规范化,并说明解决方案,同时给出各表的主键和外键。

使用微信搜索喵呜刷题,轻松应对考试!

答案:

【参考答案】

人员信息(人员编号,人员姓名),人员编号是主键。

小区信息(小区编号,物业经理姓名),小区编号是主键。

人员分配(人员编号,小区编号,人员职责),主键是人员编号,小区编号。外键为人员编号,小区编号

解析:

第三范式(3NF)要求消除传递依赖,即消除主属性对候选键中其他属性的依赖。在这个场景中,人员分配表中的“人员职责”依赖于“人员编号”和“小区编号”,这构成了传递依赖。为了消除这种依赖,我们将表拆分为三个表:“人员信息表”、“小区信息表”和“分配情况表”。

  • “人员信息表”包含人员的基本信息,以“人员编号”作为主键。
  • “小区信息表”包含小区的基本信息,以“小区编号”作为主键。
  • “分配情况表”记录人员分配情况,以“人员编号”和“小区编号”联合作为主键,同时这两个字段是外键,关联到“人员信息表”和“小区信息表”。这样设计满足了3NF的要求,消除了传递依赖。

通过这样的设计,每个表的主键和外键如下:

  • “人员信息表”:主键为“人员编号”。
  • “小区信息表”:主键为“小区编号”。
  • “分配情况表”:联合主键为“人员编号”和“小区编号”,“人员编号”和“小区编号”同时也是外键。
创作类型:
原创

本文链接:请根据3NF要求,将人员分配表规范化,并说明解决方案,同时给出各表的主键和外键。

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share