单选题 某公司的部门(部门号,部门名,负责人,电话)、商品(商品号,商品名称,单价,库存量)和职工(职工号,姓名,住址)3个实体之间的关系如表1、表2和表3所示。假设每个部门有一位负责人和一部电话,但有若干名员工;每种商品只能由一个部门负责销售。
{{B}}表1 部门表{{/B}}
部门号 部门名 负责人 电话
001 家电部 E002 1001
002 百货部 E026 1002
003 食品部 E030 1003
{{B}}表2 商品表{{/B}}
商品号 商品名称 单价 库存量
30023 微机 4800 26
30024 打印机 1650 7
30101 毛巾 10 106
30102 牙刷 3.8 288
{{B}}表3 职工表{{/B}}
职工号 姓名 住址
E001 王军 南京路
E002 李晓斌 淮海路
E021 杨烨 江西路
E026 田波 西藏路
E028 李晓斌 西藏路
E029 刘丽华 淮海路
E030 李彬彬 唐山路
E031 胡慧芬 昆明路
{{B}}表4 统计结果{{/B}}
职工号 姓名 部门名 月销售额
E001 王军 家电部 528900
E002 李晓斌 家电部 368000
E021 杨烨 百货部 12500
E028 李晓斌 百货部 82500
E031 胡慧芬 食品部 282608
部门关系不属于第三范式的原因是______。如果用户要求得到表4所示的结果,需要______,并增加关系模式______。
单选题
  • A.没有消除非主属性对码的部分函数依赖,如部门名→负责人
  • B.没有消除非主属性对码的部分函数依赖,如负责人→电话
  • C.只消除了非主属性对码的部分函数依赖,而未消除传递函数依赖
  • D.没有消除非主属性对码的部分函数依赖和传递函数依赖
【正确答案】 C
【答案解析】[解析] 在部门(部门号,部门名,负责人,电话)关系模式中,部门号是主码,所以不存在对码的部分依赖问题。根据试题假设,每个部门有一位负责人和一部电话,也就是说,存在“责人→电话”样的函数依赖,即存在对主码的传递函数依赖。 在表4中,有职工号、姓名、部门、月销售额4个属性,其中职工号和姓名可以由表3得出,但是,由表2至表3无法得出职工所在的部门,因此,应该在表3中增加“部门号”属性。同时,要计算出职工的月销售总额,还需要一个表来记录职工销售的数据。该表需要包括的属性有职工号、商品号、日期、数量。
单选题
  • A.修改表1的结构,在表1中增加一个职工号
  • B.修改表2的结构,在表2中增加一个职工号
  • C.修改表2的结构,在表2中增加一个部门号
  • D.修改表3的结构,在表3中增加一个部门号
【正确答案】 D
【答案解析】
单选题
  • A.销售(职工号,商品号,日期,数量)
  • B.销售(职工号,商品名称,商品号,数量)
  • C.销售(职工号,部门号,日期,数量)
  • D.销售(职工号,部门号,商品号,日期)
【正确答案】 A
【答案解析】
单选题 若关系模式中存在非主属性对码的部分依赖,则该关系模式属于______。
  • A.1NF
  • B.2NF
  • C.3NF
  • D.BCNF
【正确答案】 A
【答案解析】[解析] 若关系模式R的每一个分量是不可再分的数据项,则关系模式R属于第一范式(1NF);若关系模式属于1NF,且每一个非主属性完全依赖于码,则关系模式R属于2NF。换句话说,当1NF消除了非主属性对码的部分依赖,则该关系模式属于1NF。