部门关系模式存在什么问题?请用100字以内的文字阐述原因。为了解决这个问题可将关系模式分解,分解后的关系模式的关系名依次取部门_A、部门_B、……
(2)假定月工作业绩关系模式为:月工作业绩(职员代码,年月,工作时间),请给出“查询职员代码、职员名、年月、月工资”的SQL语句。
第1题:
郭工程师设计的“部门”关系模式中存在什么问题?请用100字以内的文字简要说明理由。为了解决这个问题可将关系模式分解,请给出分解后的关系模式(分解后的关系模式的关系名可依次取“部门_A”、“部门_B”、……)。
第2题:
对关系“订单信息”,请回答以下问题:
(1)“订单信息”是否为2NF范式,用100字以内文字简要说明会产生什么问题。
(2)把“订单信息”分解为第三范式,分解后的关系名依次为:订单信息1,订单信息2,…。
(3)列出分解后的各关系模式的主键。
第3题:
设有关系模式R(职工号,职工名,项目号,项目名,工资),假设一个职工可参加多个项目,在每个项目中各领一份工资。那么请回答以下问题: (1)请写出这个关系模式的函数依赖和主关键字; (2)这个关系符合第几范式,为什么? (3)请举例说明,这个关系存在哪些问题; (4)请把这个关系模式分解成3NF,并说明理由。
(1)函数依赖包括:职工号→职工名,项目号→项目名,(职工号,项目号)→工资
主键为(职工号,项目号)
(2)这个关系符合第一范式,因为它的每个属性都不可再分。
(3)这个关系没有达到第二范式,可能出现数据冗余和操作异常。
例如,某个职工参与了多个项目的工作,他的职工号、职工名会重复多次存储。同样,如果一个项目有多名职工参加,项目号和项目名也会重复我次存储。另外,如果现在增加了一个新的项目,但暂时还没有安排职工参加,那么由于主键是(职工号,项目号),这个项目的信息可能无法插入。
(4)修改后的各个关系如下:
职工关系=(职工号,职工名)
项目关系=(项目号,项目名)
职工选择项目关系=(职工号,项目号,工资)
(注:此处的工资是指职工参加某个项目得到的劳动报酬)
略
第4题:
对关系“项目研发人员”,请回答以下问题:
(1)针对“项目研发人员”关系,用100字以内文字简要说明会产生什么问题。
(2)把“项目研发人员”分解为第三范式,分解后的关系名依次为:项目研发人员1,项目研发人员2,…
(3)列出修正后的各关系模式的主键。
第5题:
对关系“搭乘航班”,请回答以下的问题:
(1)把非平凡的多值依赖属性(图4-2中没有表示)的例子用满足图4-3的方式表示出来。
(2)关系“搭乘航班”是boyce codd范式而不是第四范式,请用200字以内文字阐述理由。
(3)把“搭乘航班”关系分解成第四范式,并采用图4-1所示的关系模式的形式表示,分解后的关系名依次取搭乘航班1、搭乘航班2、…。