正确答案:
题目:关系R(A,B,C,D)和S(B,C,D)进行笛卡儿运算,其结果集为(1)元关系。3个实体及它们之间的多对多联系至少应转换成(2)个关系模式。
解析:关系R为4元关系,关系S为3元关系,因此,其笛卡儿积为7元关系。3个以上实体间的一个多元联系可以转换为一个独立的关系模式,与该联系相连的各实体的码和联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。因此,3个实体及它们之间的多对多联系至少应转换成4个关系模式。
查看原题 查看所有试题
学习资料的答案和解析:
[单选题]给定学生S(学号,姓名,年龄,入学时间,联系方式)和选课SC(学号,课程号,成绩)关系,若要查询选修了1号课程的学生学号、姓名和成绩,则该查询与关系代数表达式()等价。
解析:本题考查数据库中的关系代数。解答本题需要对关系代数中的自然连接有一定了解。自然连接操作会自动以两个关系模式中共有属性值相等作为连接条件,对于连接结果,将自动去除重复的属性。所以在本题中,连接条件为两个表的学号相等,当连接操作完成以后,形成的结果表,有属性“学号,姓名,年龄,入学时间,联系方式,课程号,成绩”,此时要选择1号课程的学生记录,应使用条件6=“1”,其含义是表中的第6个属性值为“1”。所以本题应选B。
[单选题]若对关系R(A,B,C,D)和S(C,D,E)进行关系代数运算,则表达式与()等价。
[单选题]设关系模式R(U,F),其中,R上的属性集U={A,B,C,D,E},R上的函数依赖集F=(A→B,DE→B,CB→E,E→A,B→D}。(1)为关系R的候选关键字。分解(2)是无损联接,并保持函数依赖的。
解析:本题考查如何求解候选关键字和对模式分解知识的掌握。候选关键字使用2.1.6规范化理论中的图示法进行求解,对R关系模式画图如图2-14所示。图中C节点为0度节点,所以它必然被包含在候选关键字中,但仅有C节点并不能遍历全图,所以需要加入其他中间节点。若加入B节点,则BC→E,E→A,B→D,能遍历全图。与此同时,加入A、E都能起到同样的效果。所以关系R有3个候选键:BC、EC,AC。接下来是判断模式分解过程中的无损联接与保持函数依赖的问题。这个问题相对来说比较复杂。如果逐个判断每个选项的无损联接与保持函数依赖,无疑工作量是很大的。所以我们可以先观察这些选项有什么特点,通过观察发现A与B选项都存在单个字段的分解。在进行模式分解时,如果出现单字段,同时该字段未在其他分解的子关系模式中出现,并且函数依赖中有此字段的依赖关系,则说明此分解没有保持函数依赖。原因很简单,关于该字段的那个函数依赖,必然在分解中丢失了。所以A与B选项可以先排除。然后判断C与D是否为无损联接。对选项C构造初始的判定表,如表2-14所示。由于A→B,属性A的第1行和第3行相同,可以将第1行b改为a;又由于B→D,属性B的第1行和第3行相同,所以需要将属性D第1行b和第3行b改为同一符号,即取行号值最小的b。修改后的判定表如表2-15所示。反复检查函数依赖集F,无法修改上表,所以选项C是有损联接的。对选项D构造初始的判定表,如表2-16所示。由于A→B,属性A的第1行和第3行相同,可以将第3行b改为a;E→A,属性E的第2行和第3行相同,可以将属性A第2行b改为a;AC→E,属性E的第2行和第3行相同,可以将属性E第1行b改为a;B→D,属性B的第1行和第3行相同,所以需要将属性D第1行b和第3行b,改为同一符号,即取行号值最小的b。E→D,属性E的第1~3行相同,可以将属性D第1行b和第3行b改为a。修改后的判定表如表2-17所示。由于上表第一行全为a,故分解无损。所以本空应选D。
[单选题]设有职工实体Employee(职工号,姓名,性别,年龄,通信地址,家庭成员),其中通信地址记录了邮编、省、市、街道信息;家庭成员记录了职工的亲属的姓名。职工实体中的通信地址是一个(1)属性;为了将数据库模式设计得更合理,对于家庭成员属性(2)。
解析:简单属性是原子的,不可再分的。复合属性可以细分为更小的部分(即划分为别的属性)。有时用户希望访问整个属性,有时希望访问属性的某个成分,那么在模式设计时可采用复合属性。本题职工实体集Employee的通信地址可以进一步分为邮编、省、市、街道。第(1)空的正确答案为B。我们所举的例子中,定义的属性对于一个待定的实体都只有单独的一个值。例如,对于一个特定的职工,只对应一个职工号、职工姓名,这样的属性称为多值属性。为了将数据库模式设计得更合理,第(2)空的家庭成员属性应该将职工亲属的姓名加上职工号设计成为一个独立的实体。
[单选题]博学公司网上销售管理系统的数据库部分关系模式如下所示。其中,客户号唯一标识一位客户,产品号唯一标识一件产品,订单号唯一标识一份订单。一份订单必须且仅对应一位客户,一份订单可由一到多条订单明细组成,一位客户可以有多份订单。客户(客户号,姓名,性别,地址,邮编)产品(产品号,名称,库存,单价)订单(订单号,时间,金额,客户号)订单明细(订单号,产品号,数量)订单关系模式的主键为(1);订单明细关系模式的主键为(2);其中订单的外键为(3)。
解析:根据试题描述,"单号唯一标识一份订单"所以,订单关系模式的主键为"单号"在订单关系模式中,"一份订单必须且仅对应一位客户",而在客户关系模式中,"户号唯一标识一位客户"也就是说,"户号"客户关系模式的主键,因此,"户号"订单关系模式的外键。因为"份订单可由一到多条订单明细组成"也就是说,在订单明细关系模式中,"单号"可以重复的,因此,需要与"品号"合起来作为主键。又因为"单号"单关系模式的主键,"品号"产品关系模式的主键(因为"号唯一标识一件产品",所以,"单号""品号"是订单明细关系模式的外键。
[单选题]博学公司网上销售管理系统的数据库部分关系模式如下所示。其中,客户号唯一标识一位客户,产品号唯一标识一件产品,订单号唯一标识一份订单。一份订单必须且仅对应一位客户,一份订单可由一到多条订单明细组成,一位客户可以有多份订单。客户(客户号,姓名,性别,地址,邮编)产品(产品号,名称,库存,单价)订单(订单号,时间,金额,客户号)订单明细(订单号,产品号,数量)订单关系模式的主键为(1);订单明细关系模式的主键为(2);其中订单的外键为(3)。
解析:根据试题描述,"单号唯一标识一份订单"所以,订单关系模式的主键为"单号"在订单关系模式中,"一份订单必须且仅对应一位客户",而在客户关系模式中,"户号唯一标识一位客户"也就是说,"户号"客户关系模式的主键,因此,"户号"订单关系模式的外键。因为"份订单可由一到多条订单明细组成"也就是说,在订单明细关系模式中,"单号"可以重复的,因此,需要与"品号"合起来作为主键。又因为"单号"单关系模式的主键,"品号"产品关系模式的主键(因为"号唯一标识一件产品",所以,"单号""品号"是订单明细关系模式的外键。
[单选题]某数据库中有员工关系E(员工号,姓名,部门,职称,月薪);产品关系P(产品号,产品名称,型号,尺寸,颜色);仓库关系W(仓库号,仓库名称,地址,负责人);库存关系I(仓库号,产品号,产品数量)。a.若数据库设计中要求:①仓库关系W中的"负责人"引用员工关系的员工号。②库存关系I中的"仓库号,产品号"唯一标识I中的每一个记录。③员工关系E中的职称为"工程师"的月薪不能低于3500元。则①②③依次要满足的完整性约束是(1)。b.若需得到每种产品的名称和该产品的总库存量,则对应的查询语句为:SELELCT产品名称,SUM(产品数量)FROMP,IWHEREP.产品号=I.产品号(2)
解析:本题考查关系的完整性约束和SQL的基本知识及应用。第(1)空考查数据库完整性约束。首先需要了解实体完整性、参照完整性和用户定义完整性的概念。实体完整性:实体完整性要求主键中的任一属性不能为空,所谓空值是"不知道"或"无意义"的值。之所以要保证实体完整性,主要是因为在关系中,每个元组的区分是依据主键值的不同,若主键值取空值,则不能标明该元组的存在。例如,对于学生关系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元"属于用户自定义完整性。第(2)空要求"得到每种产品的名称和该产品的总库存量",要达到该效果需要对数据表的数据进行分组统计。由于现在是要根据产品名称来统计库存量,所以分组的依据应是产品名称,所以应使用"GROUPBY产品名称"。