设有关系模式S(Sno,Sname,Pno,Pname,Q,A)表示销售员销售商品情况,其中各属性的含义是:Sno为销售员员工号,Sname为销售员姓名,Pno为商品号,Pname为商品名称,Q为销售商品数目,A为销售商品总金额。根据定义有如下函数依赖集:P={Sno→Sname,Sno→Q,Sno→A,Pno→Pname}。关系模式S的关键字是(46),W的规范化程度最高达到(47)。若将关系模式 S分解为3个关系模式S1(Sno,Sname,Q,A),S2(Sno,Pno,Pname),则S1的规范化程度最高达到(48),S2的规范化程度最高达到(49)。 SQL中集合成员资格的比较操作“元组IN(集合)”中的“IN”与(50)操作符等价。
【正确答案】
B
【答案解析】解析:①根据给定的函数依赖集和Armstrong公理,可以推导出: Sno,Pno→Sname,Pname,Q,A 并且(Sno,Pno)中任意一个属性都不能用函数决定其他所有属性,所以,对于关系模式S的关键字是(Sno,Pno)。 ②在关系S中,函数依赖Pno→Pname和Sno→Sname,Q,A 可以得出非主属性Pname、Sname、Q和A均部分依赖于主关键字,违背第二范式的定义,因此关系S最高满足第一范式。 ③对于分解后的两个关系,根据原函数依赖集,S1仅存在函数依赖: Sno→Sname,Q,A 也就是Sno函数决定关系S1中所有属性,所以Sno是关系S1的关键字,因此关系模式S1满足BCNF。 ④根据原关系函数依赖集,S2中存在函数依赖:Pno→Pname 对于关系S2来说,Pno和Sno共同才能函数决定关系中所有属性,因此关系S2的关键字是(Pno,Sno)。而函数依赖Pno→Pname,非主属性Pname部分依赖于主关键字,违背第二范式的定义,因此关系S2最高满足第一范式。 ⑤运算符IN表示元组在集合中,=ANY表示元组等于集合中某一个值,两者的含义是相同的。