【问题3】(3分) 请说明关系模式“会议申请”存在的问题及解决方案。
第1题:
原来的“职员”关系模式存在什么问题?在不增加新关系模式的前提下,请给出修改后的“职员”和“部门”关系模式。
第2题:
分析以上各关系模式,请回答以下问题:
(1)“教学计划”关系是否存在冗余?请简要说明。
(2)根据现有关系模式,能否获得学校每学期的各种教材的需求总量?请简要说明。
(3)考虑到任选课只有部分学生选修,需要增加或修改哪些关系模式,请给出修改结果并简要说明。
第3题:
请列举出雨伞存在的问题并提出相应的解决方案。
第4题:
郭工程师设计的“部门”关系模式中存在什么问题?请用100字以内的文字简要说明理由。为了解决这个问题可将关系模式分解,请给出分解后的关系模式(分解后的关系模式的关系名可依次取“部门_A”、“部门_B”、……)。
第5题:
设有关系模式R(职工号,职工名,项目号,项目名,工资),假设一个职工可参加多个项目,在每个项目中各领一份工资。那么请回答以下问题: (1)请写出这个关系模式的函数依赖和主关键字; (2)这个关系符合第几范式,为什么? (3)请举例说明,这个关系存在哪些问题; (4)请把这个关系模式分解成3NF,并说明理由。
(1)函数依赖包括:职工号→职工名,项目号→项目名,(职工号,项目号)→工资
主键为(职工号,项目号)
(2)这个关系符合第一范式,因为它的每个属性都不可再分。
(3)这个关系没有达到第二范式,可能出现数据冗余和操作异常。
例如,某个职工参与了多个项目的工作,他的职工号、职工名会重复多次存储。同样,如果一个项目有多名职工参加,项目号和项目名也会重复我次存储。另外,如果现在增加了一个新的项目,但暂时还没有安排职工参加,那么由于主键是(职工号,项目号),这个项目的信息可能无法插入。
(4)修改后的各个关系如下:
职工关系=(职工号,职工名)
项目关系=(项目号,项目名)
职工选择项目关系=(职工号,项目号,工资)
(注:此处的工资是指职工参加某个项目得到的劳动报酬)
略