单选题
某数据库中有员工关系E(员工号,姓名,部门,职称,月薪);产品关系P(产品号,产品名称,型号,尺寸,颜色);仓库关系W(仓库号,仓库名称,地址,负责人);库存关系I(仓库号,产品号,产品数量)。
单选题
a.若数据库设计中要求:
①仓库关系W中的“负责人”引用员工关系的员工号。
②库存关系I中的“仓库号,产品号”唯一标识I中的每一个记录。
③员工关系E中的职称为“工程师”的月薪不能低于3500元。
则①②③依次要满足的完整性约束是______。
- A.实体完整性、参照完整性、用户定义完整性
- B.参照完整性、实体完整性、用户定义完整性
- C.用户定义完整性、实体完整性、参照完整性
- D.实体完整性、用户定义完整性、参照完整性
【正确答案】
B
【答案解析】[解析] 本题考查关系的完整性约束和SQL的基本知识及应用。
第一空考查数据库完整性约束。首先需要了解实体完整性、参照完整性和用户定义完整性的概念。
实体完整性:实体完整性要求主键中的任一属性不能为空,所谓空值是“不知道”或“无意义”的值。之所以要保证实体完整性,主要是因为在关系中,每个元组的区分是依据主键值的不同,若主键值取空值,则不能标明该元组的存在。例如,对于学生关系S(Sno,Sname,Ssex),其主键为Sno,在插入某个元组时,就必须要求Sno不能为空。更加严格的DBMS,则还要求Sno不能与已经存在的某个元组的Sno相同。
参照完整性:若基本关系R中含有与另一基本关系S的主键PK相对应的属性组FK(FK称为R的外键),则参照完整性要求,对R中的每个元组在FK上的值必须是S中某个元组的PK值,或者为空值。参照完整性的合理性在于,R中的外键只能对S中的主键引用,不能是S中主键没有的值。例如,对于学生关系S(Sno,Sname,Ssex)和选课关系C(Sno,Cno,Grade)两个关系,C中的Sno是外键,它是S的主键,若C中出现了某个S中没有的Sno,即某个学生还没有注册,却已有了选课记录,这显然是不合理的。
用户定义的完整性:实体完整性和参照完整性适用于任何关系型DBMS。除此之外,不同的数据库系统根据其应用环境的不同,往往还需要一些特殊的约束条件。用户定义的完整性就是针对某一具体数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求。
从以上概念说明可以看出“仓库关系W中的“负责人”引用员工关系的员工号”属于参照完整性,“库存关系I中的“仓库号,产品号”唯一标识I中的每一个记录”属于实体完整性,“员工关系E中的职称为“工程师”的月薪不能低于3500元”属于用户自定义完整性。
第二空要求“得到每种产品的名称和该产品的总库存量”,要达到该效果需要对数据表的数据进行分组统计。由于现在是要根据产品名称来统计库存量,所以分组的依据应是产品名称,所以应使用“GROUP BY产品名称”。
单选题
若需得到每种产品的名称和该产品的总库存量,则对应的查询语句为:
SELELCT产品名称,SUM(产品数量)
FROM P,I
WHERE
P.产品号=I.产品号 ______
- A.ORDER BY产品名称
- B.ORDER BY产品数量
- C.GROUP BY产品名称
- D.GROUP BY产品数量
单选题
若对关系R(A,B,C,D)和S(C,D,E)进行关系代数运算,则表达式π
3,4,7(σ
4<5(R×S))与______等价。
- A.πC,D,E(σD<C(R×S))
- B.πR,C,R,D,E(σR.D<S.C(R×S))
- C.πC,D,E(σR.D<S.C(R×S))
- D.πR,C,R,D,E(σD<C(R×S))
【正确答案】
B
【答案解析】[解析] 本题考查关系代数运算方面的基础知识。
题目要求计算关系代数表达式π3,4,7(σ4<5(R×S))的结果集,其中,R×S的属性列名分别为:R.A,R.B,R.C,R.D,S.C,S.D和S.E,σ4<5(R×S)的含义是从R×S结果集中选取第4个分量(R.D)小于第5个分量(S.C)的元组,故σ4<5(R×S)与σR.D<S.C(R×S)等价。π3,4,7(σ4<5(R×S))的含义是从σ4<5(R×S)结果集中选取第3列R.C、第4列R.D和第7列S.E(或E),故π3,4,7(σ4<5(R×S))与πR.C,R.D.E(σR.D<S.C(R×S))等价。需要说明的是第3列R.C不能简写为C,因为关系S的第一列属性名也为C,故必须标上关系名加以区别;同样,第4列R.D也不能简写为D,因为关系S的第二列属性名也为D,故必须标上关系名加以区别。