《习题参考答案(21页).doc》由会员分享,可在线阅读,更多相关《习题参考答案(21页).doc(21页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-习题参考答案-第 20 页习题参考答案第1章 数据库概述1 文件管理方式在管理数据方面有哪些缺陷?答:编写应用程序不方便,数据冗余不可避免,应用程序依赖性,不支持对文件的并发访问,数据间联系弱,难以按不同用户的愿望表示数据和无安全控制功能。2与2 文件管理相比,数据库管理有哪些优点?答:将相互关联的数据集成在一起,具有较少的数据冗余,程序与数据相互独立,保证数据的安全可靠,最大限度地保证数据的正确性,数据可以共享并能保证数据的一致性。3比较文件管理和数据库管理数据的主要区别。答:数据库系统与文件系统相比实际上是在应用程序和存储数据的数据库之间增加了一个系统软件,即数据库管理系统,使得以前在应
2、用程序中由开发人员实现的很多繁琐的操作和功能,都可以由这个系统软件完成,这样应用程序不再需要关心数据的存储方式,而且数据的存储方式的变化也不再影响应用程序。而在文件系统中,应用程序和数据的存储是紧密相关的,数据的存储方式的任何变化都会影响到应用程序,因此不利于应用程序的维护。4数据库管理方式中,应用程序是否需要关心数据的存储位置和结构?为什么?答:不需要。因为在数据库系统中,数据的存储位置以及存储结构保存在数据库管理系统中,从数据到物理存储位置的转换是由数据库管理系统自动完成的。5在数据库系统中,数据库的作用是什么?答:在数据库系统中,数据库是存放数据的场所。6在数据库系统中,应用程序可以不通
3、过数据库管理系统而直接访问数据库文件吗?答:不能。7数据独立性指的是什么?它能带来哪些好处?答:数据独立性指的是数据的逻辑独立性和物理独立性。逻辑独立性带来的好处是当表达现实世界信息的逻辑结构发生变化时,可以不影响应用程序;物理独立性带来的好处是当数据的存储结构发生变化时,可以不影响数据的逻辑组织结构,从而也不影响应用程序。8数据库系统由哪几部分组成,每一部分在数据库系统中的作用大致是什么?答:数据库系统由三个主要部分组成,即数据库、数据库管理系统和应用程序。数据库是数据的汇集,它以一定的组织形式存于存储介质上;数据库管理系统是管理数据库的系统软件,它可以实现数据库系统的各种功能;应用程序指以
4、数据库数据为核心的应用程序。9在文件服务器结构和客户/服务器结构中,对数据的处理有什么区别?答:在文件服务器结构中,对数据的处理主要是在客户端完成的。而在客户/服务器结构中,对数据的处理主要是在服务器端完成的。10应用在客户/服务器结构上的数据库管理系统是否也同样可以应用在互联网应用结构中?答:可以。第 2 章 数据库系统结构1 解释数据模型的概念,为什么要将数据模型分成两个层次?答:数据模型是对现实世界数据特征的抽象。数据模型一般要满足三个条件:第一是数据模型要能够比较真实地模拟现实世界;第二是数据模型要容易被人们理解;第三是数据模型要能够很方便地在计算机上实现。由于用一种模型同时很好地满足
5、这三方面的要求在目前是比较困难的,因此在数据库系统中就可以针对不同的使用对象和应用目的,采用不同的数据模型。根据模型应用的不同目的,将这些模型分为概念层数据模型和组织层数据模型两大类,以方便对信息的描述。2 概念层数据模型和组织层数据模型分别是针对什么进行的抽象?答:概念层数据模型是对现实世界的抽象,形成信息世界模型,组织层数据模型是对信息世界进行抽象和转换,形成具体的DBMS支持的数据组织模型。3 实体之间的联系有哪几种?请为每一种联系举出一个例子。答:实体之间的联系有一对一、一对多和多对多三种。例如:系和正系主任是一对一联系(假设一个系只有一名正系主任),系和教师是一对多联系(假设一名教师
6、只在一个系工作),教师和课程是多对多联系(假设一名教师可以讲授多门课程,一门课程可由多名教师讲授)。4 说明实体联系模型中的实体、属性和联系的概念。答:实体是具有公共性质的并可相互区分的现实世界对象的集合,属性是人们感兴趣的实体或者联系的性质或特征,联系是数据和数据之间的关联关系。5 指明下列实体间联系的种类:(1)教研室和教师(假设一个教师只属于一个教研室,一个教研室可有多名教师)。(2)商店和顾客。(3)国家和首都。答:(1)一对多。(2)多对多。(3)一对一。6 解释关系模型中的主键、外键的概念,并说明主键、外键的作用。答:主键是关系表中用于惟一地确定一个元组的属性或最小属性组,其作用是
7、使表中的每一行数据彼此不重复且有意义。外键是引用另一个表的主键(也可以是候选键)的表中的一个列,其作用是表示两个或多个实体之间的关联关系。7 指出关系的主键:教师授课表(教师号,课程号,学年,授课时数)。假设一个教师可以在同一个学年讲授多门课程,一门课程也可以在同一个学年由多名教师讲授,但一个教师在一个学年对一门课程只讲授一次,每一次讲授有一个唯一的授课时数。答:主键:(教师号,课程号,学年)8 设有如下两个关系模式,试指出每个关系模式的主键、外键,并说明外键的引用关系。产品表(产品号,产品名称,产品价格,生产日期),其中产品名称有重复。销售表(产品号,销售时间,销售数量),假设可同时销售多种
8、产品,但同一产品在同一时间只销售一次。答:产品表主键:产品号。销售表主键为:(产品号,销售时间)。销售表的“产品号”为引用产品表的外键。9关系模型的数据完整性包含哪些内容?分别说明每一种完整性的作用。答:数据完整性约束主要包括三大类,即实体完整性、参照完整性和用户定义的完整性。实体完整性是保证关系数据库中所有的表都必须有主键,且主键不允许为空。参照完整性用于描述实体之间的关联关系。用户定义的完整性实际上是约束关系中属性的取值范围,即保证数据库中的数据符合现实语义。10数据库系统包含哪三级模式?试分别说明每一级模式的作用?答:数据库系统包含的三级模式为:内模式、模式和外模式。外模式是对现实系统中
9、用户感兴趣的整体数据结构的局部描述,用于满足不同数据库用户需求的数据视图,是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是对数据库整体数据结构的子集或局部重构。模式是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。内模式是对整个数据库的底层表示,它描述了数据的存储结构。11数据库系统的两级映象的功能是什么?它带来了哪些功能?答:数据库系统的两级映象是模式与内描述间的映象和外模式与模式间的映象。模式内模式的映象定义了概念视图和存储的数据库的对应关系,它说明了概念层的记录和字段在内部层次怎样表示。如果数据库的存储结构改变了,那么,必须对模式内模式的映象进行必要的调整
10、,使模式能够保持不变。外模式概念模式间的映象定义了特定的外部视图和概念视图之间的对应关系,当概念模式的结构可发生改变时,也可以通过调整外模式/模式间的映象关系,使外模式可以保持不变。12数据库三级模式划分的优点是什么?它能带来哪些数据独立性?答:数据库的三级模式的划分实际上将用户、逻辑数据库与物理数据库进行了划分,使彼此之间的相互干扰减到最少。这三个模式的划分实际上带来了两个数据独立性,即物理独立性和逻辑独立性。这使得底层的修改和变化尽量不影响到上层。第 3 章 SQL语言基础及数据定义功能1 T-SQL支持哪几种数据类型?答:支持数值型、字符型、日期时间型和货币类型四种类型。2 Tinyin
11、t数据类型定义的数据的取值范围是多少?答:0255。3 日期时间类型中的日期和时间的输入格式是什么?答:一般来说年、月、日中间用“/”或“-”分隔符分隔,时间中的时、分、秒用“:” 分隔,毫秒与秒之间用“.”分隔。日期和时间中间用空格分隔,且日期和时间均括在单引号中。4 SmallDatatime类型精确到哪个时间单位?答:分钟。5 定点小数类型numeric中的p和q的含义分别是什么?答:p是数字位个数(包括小数位数和整数位数),q是小数位数。6 货币数据类型精确到小数点几位? 答:4位。7 Char(10)、nchar(10)的区别是什么?它们各能存放多少个字符?占用多少空间?答:两者使用
12、的编码方式不同,char类型是单字节编码方式,而且不同的字符使用的编码方不同;而nchar是双字节编码方式。Char(10)可以存放10个字符,占10个字节;nchar(10)也是可以存放10个字符,但它占20个字节空间。8 Char(n)和varchar(n)的区别是什么?其中n的含义是什么?各占用多少空间?答:Char(n)是定长存储的字符串类型,varchar(n)是可变长的字符串类型,它按数据的实际长度来分配空间。其中n的含义都是能够存储的字符的个数,对于char(n)类型其所占的空间固定为n个字节;对于varchar(n)其所占空间最多为n个字节。9 数据完整性的含义是什么?答:数据
13、的完整性是为了防止数据库中存在不符合应用语义的数据,为了维护数据的完整性,数据库管理系统提供了一种机制来检查数据库中的数据,看其是否满足语义规定的条件。这些加在数据库数据之上的语义约束条件就是数据完整性约束条件。10 在对数据进行什么操作时,系统检查DEFAULT约束?在进行什么操作时,检查CHECK约束?答:在进行插入操作时检查DEFAULT约束。在进行插入和更新操作时检查CHECK约束。11 UNIQUE约束的作用是什么?答:UNIQUE约束的作用是保证数据的取值不重复。12写出创建如下三张表的SQL语句,要求在定义表的同时定义数据的完整性约束:(1)“图书表”结构如下: 书号:统一字符编
14、码定长类型,长度为6,主键; 书名:统一字符编码可变长类型,长度为30,非空; 第一作者:普通编码定长字符类型,长度为10,非空; 出版日期:小日期时间型; 价格:定点小数,小数部分1位,整数部分3位。(2)“书店表”结构如下: 书店编号:统一字符编码定长类型,长度为6,主键; 店名:统一字符编码可变长类型,长度为30,非空; 电话:普通编码定长字符类型,8位长,每一位的取值均是09的数字; 地址:普通编码可变长字符类型,40位长。 邮政编码:普通编码定长字符类型,6位长。(3)“图书销售表”结构如下: 书号:统一字符编码定长类型,长度为6,非空; 书店编号:统一字符编码定长类型,长度为6,非
15、空; 销售日期:小日期时间型,非空; 销售数量:小整型,大于等于1。 主键为(书号,书店编号,销售日期); 其中“书号”为引用“图书表”的“书号”的外键;“书店编号”为引用“书店表”的“书店编号”的外键。答:CREATE TABLE 图书表 ( 书号 nchar(6) primary key, 书名 nvarchar(30) not null, 第一作者 char(10) not null, 出版日期 smalldatetime, 价格 numeric(4,1)CREATE TABLE 书店表 ( 书店编号 nchar(6) primary key, 店名 nvarchar(30) not n
16、ull, 电话 char(8) check (电话 like 0-90-90-90-90-90-90-90-9), 地址 varchar(40), 邮政编码 char(6)CREATE TABLE 图书销售表 ( 书号 nchar(6) not null, 书店编号 nchar(6) not null, 销售日期 smalldatetime not null, 销售数量 smallint check(销售数量=1), primary key(书号,书店编号,销售日期), foreign key(书号) references 图书表(书号), foreign key(书店编号) referenc
17、es 书店表(书店编号)13为第12题的图书表添加“印刷数量”列,类型为整数,同时添加约束,要求此列的取值要大于等于1000。答:ALTER TABLE 图书表 ADD 印刷数量 int check (印刷数量=1000)14删除第12题的“书店表”中的“邮政编码”列。答:ALTER TABLE 书店表 DROP COLUMN 邮政编码15将第12题的“图书销售表”中的“销售数量”列的数据类型改为整型。答:ALTER TABLE 图书销售表 ALTER COLUMN 销售数量 int16索引的作用是什么?分为哪几种类型?答:索引的作用是为了加快数据的查询速度。索引分为聚集索引和非聚集索引两种。
18、17在一个表上可以创建几个聚集索引?可以创建多个非聚集索引吗?答:在一个表上只能创建一个聚集索引。可以创建多个非聚集索引。18聚集索引一定是唯一索引,对吗?反之呢?答:不对。唯一索引可以是聚集的也可以是非聚集的。19在建立聚集索引时,系统是真正将数据按聚集索引列进行物理排序,对吗?在建立非聚集索引时呢?情况又如何?答:对。但在建立非聚集索引时,系统并不物理地调整数据的排列顺序。20在第12题的图书表的“第一作者”列上建立一个非聚集索引。答:CREATE INDEX indAuthor ON 图书表 (第一作者)21在第12题的书店表的“电话”列上建立一个聚集的唯一索引。答:CREATE UNI
19、QUE CLUSTERED INDEX indPhone ON 书店表(电话)22在第12题的图书销售表的“书号”和“销售日期”两个列上建立一个非聚集索引。答:CREATE INDEX indSale ON 图书销售表 (书号, 销售日期)第4章 数据操作1查询SC表中的全部数据。答:select * from SC2查询计算机系学生的姓名和年龄。答:select sname,sage from student where sdept = 计算机系3查询成绩在7080分的学生的学号、课程号和成绩。答:select sno,cno,grade from sc on where grade bet
20、ween 70 and 804查询计算机系年龄在1820岁的男学生的姓名和年龄。答:select sname,sage from student where sdept = 计算机系 and sage between 18 and 20 and ssex = 男5查询C001课程的最高分。答:select max(grade) from sc where cno = C0016查询计算机系学生的最大年龄和最小年龄。答:select max(sage) as max_age, min(sage) as min_age from student where sdept = 计算机系7统计每个系的学
21、生人数。答:select sdept,count(*) from student group by sdept8统计每门课程的选课人数和考试最高分。答:select cno,count(*),max(grade) from sc group by cno9统计每个学生的选课门数和考试总成绩,并按选课门数升序显示结果。答:select sno,count(*), sum(grade) from sc group by sno order by count(*) asc10查询总成绩超过200分的学生,要求列出学号和总成绩。答:select sno,sum(grade) from sc group
22、 by sno having sum(grade) 20011查询选修C002课程的学生的姓名和所在系。答:select sname,sdept from student s join sc on s.sno = sc.sno where cno = C00212查询成绩80分以上的学生的姓名、课程号和成绩,并按成绩降序排列结果。答:select sname,cno,grade from student s join sc on s.sno = sc.sno where grade 80 order by grade desc13查询哪些课程没有学生选修,要求列出课程号和课程名。答:selec
23、t o,cname from course c left join sc on o = owhere o is null14查询计算机系哪些学生没有选课,列出学生姓名。答:select sname from student s left join sc on s.sno = sc.sno Where sdept = 计算机系 and sc.sno is null15用子查询实现如下查询:(1)查询选修C001课程的学生的姓名和所在系。答:select sname,sdept from student where sno in( select sno from sc where cno = C0
24、01)(2)查询通信工程系成绩80分以上的学生的学号和姓名。答:select sno,sname from student where sno in( select sno from sc where grade 80) and sdept = 通信工程系(3)查询计算机系考试成绩最高的学生的姓名。答:select sname from student s join sc on s.sno = sc.sno where sdept = 计算机系 and grade = (select max(grade) from sc join student s on s.sno = sc.snowher
25、e sdept = 计算机系)(4)查询年龄最大的男学生的姓名和年龄。答:select sname,sage from student Where sage = (select max(sage) from student and ssex = 男) and ssex = 男(5)查询C001课程的考试成绩高于该课程平均成绩的学生的学号和成绩。答:select sno,grade from sc where cno = C001 And grade (select avg(grade) from sc where cno = C001) 16创建一个新表,表名为test_t,其结构为(COL1
26、, COL 2, COL 3),其中,COL1:整型,允许空值。COL2:字符型,长度为10,不允许空值。COL3:字符型,长度为10,允许空值。试写出按行插入如下数据的语句(空白处表示空值)。COL1COL2COL3B11B2C22B3答:create table test_t ( COL1 int, COL2 char(10) not null, COL3 char(10) )insert into test_t values(NULL, B1, NULL)insert into test_t values(1, B2, C2)insert into test_t(COL1, COL2)
27、values(2, B3)17删除修课成绩小于50分的学生的选课记录。答:delete from sc where grade = 60GROUP BY Sno23利用第22题建立的视图,完成如下查询:(1)查询考试成绩大于等于90分的学生的姓名、课程名和成绩。答:SELECT Sname, Cname, Grade FROM V2 WHERE Grade = 90(2)查询选课门数超过3门的学生的学号和选课门数。答:SELECT Sno, total FROM V3 WHERE total 3(3)查询计算机系选课门数超过3门的学生的姓名和选课门数。答:SELECT Sname, total
28、 FROM V3 JOIN Student S on S.Sno = V3.SnoWHERE total 3 and Sdept = 计算机系(4)查询修课总学分超过10分的学生的学号、姓名、所在系和修课总学分。答:SELECT S.Sno, Sname, Sdept, sum_credit FROM Student S JOIN V4 ON S.Sno = V4.SnoWHERE sum_credit 10(5)查询年龄大于等于20岁的学生中,修课总学分超过10分的学生的姓名、年龄、所在系和修课总学分。答:SELECT Sname, Sage, Sdept, sum_credit FROM
29、Student S JOIN V4 ON S.Sno = V4.SnoWHERE sum_credit 10 and Sage = 2024修改22题(4)定义的视图,使其查询每个学生的学号、姓名、所在系、所选全部课程的总学分以及总的选课门数。答:CREATE VIEW V4_1AS SELECT Sno, SUM(Ccredit) sum_credit, COUNT(*) Total FROM SC JOIN Course C ON C.Cno = SC.CnoGROUP BY SnoALTER VIEW V4 AS SELECT S.Sno, Sname, Sdept, sum_credi
30、t, Total FROM Student S JOIN V4_1 ON S.Sno = V4_1.Sno第 5 章 关系数据库规范化理论1关系规范化中的操作异常有哪些?它是由什么引起的?解决的办法是什么? 答:关系规范化中的操作异常有插入异常、更新异常和删除异常,这些异常是由于关系中存在不好的函数依赖关系引起的。消除不良函数依赖的办法是进行模式分解,即将一个关系模式分解为多个关系模式。2第一范式、第二范式和第三范式的关系的定义是什么?答:不包含非原子项属性的关系就是第一范式的关系;对于第一范式的关系,如果此关系中的每个非主属性都完全函数依赖于主键,则此关系属于第二范式;对于第二范式的关系,如
31、果所有的非主属性都不传递依赖于主键,则此关系就是第三范式的。3什么是部分依赖?什么是传递依赖?请举例说明。答:部分依赖关系是指某个属性只由构成主键的部分列决定,而和另一些列无关。例如对关系:学生选课(学号,姓名,课程号,成绩),此关系的主键是(学号,课程号),而“姓名”列只由“学号”决定,与“课程号”无关,这就是部分依赖关系。 传递依赖指的是某个非主键属性是由另一个非主键属性决定的,而这个非主键属性再由主键决定。例如对关系:学生(学号、姓名、所在系,系主任),此关系的主键为(学号),而“系主任”由“所在系”决定,“所在系”又由“学号”决定,因此“系主任”对“学号”是传递依赖关系。4第三范式的表
32、是否一定不包含部分依赖关系?答:是的。5对于主键只由一个属性组成的关系,如果它是第一范式关系,则它是否一定也是第二范式关系?答:是的。因为如果一个关系的主键只由一个属性组成,则此关系中一定不会存在部分依赖关系。6设有关系模式:学生修课管理(学号,姓名,所在系,性别,课程号,课程名,学分,成绩)。设一名学生可以选修多门课程,一门课程可以被多名学生选修。一名学生有唯一的所在系,每门课程有唯一的课程名和学分。请指出此关系模式的候选键,判断此关系模式是第几范式的;若不是第三范式的,请将其规范化为第三范式关系模式,并指出分解后的每个关系模式的主键和外键。答:候选键为:(学号,课程号),它也是此关系模式的
33、主键。由于存在函数依赖:学号 姓名,课程号 课程名因此,存在非主属性对主键的部分函数依赖关系,因此它不是第二范式的表。分解如下:学生表(学号,姓名,所在系,性别),主键为“学号”,已属于第三范式。课程表(课程号,课程名,学分),主键为“课程号”,已属于第三范式。选课表(学号,课程号,成绩),主键为(学号,课程号),已属于第三范式7设有关系模式:学生表(学号,姓名,所在系,班号,班主任,系主任),其语义为:一名学生只在一个系的一个班学习,一个系只有一名系主任,一个班只有一名班主任,一个系可以有多个班。请指出此关系模式的候选键,判断此关系模式是第几范式的;若不是第三范式的,请将其规范化为第三范式关
34、系模式,并指出分解后的每个关系模式的主键和外键。答:候选键为:学号,它也是此关系模式的主键。由于不存在非主键属性对主键的部分依赖关系,因此,此关系模式属于第二范式的,但由于存在如下函数依赖:学号 班号, 班号 班主任, 因此,存在非主键属性对码的传递依赖关系,同样以及学号 所在系,所在系 系主任,因此,此关系模式不是第三范式的。对其分解后的结果为: 学生基本表(学号,姓名,所在系,班号),主键为“学号”,“班号”为引用班级表表的“班号”的外键,“所在系” 为引用系表表的“系名”的外键。班级表(班号,班主任),主键为“班号”。 系表(系名,系主任),主键为“系名”。8设有关系模式:授课表(课程号
35、,课程名,学分,授课教师号,教师名,授课时数),其语义为:一门课程(由课程号决定)有确定的课程名和学分,每名教师(由教师号决定)有确定的教师名,每门课程可以由多名教师讲授,每名教师也可以讲授多门课程,每名教师对每门课程有确定的授课时数。指出此关系模式的候选键,判断此关系模式属于第几范式;若不属于第三范式,请将其规范化为第三范式关系模式,并指出分解后的每个关系模式的主键和外键。答:此关系模式的候选键为(课程号,授课教师号),它们也是主键。由于存在函数依赖:课程号 课程名,授课教师号 教师名因此,存在非主属性对主键的部分函数依赖关系,因此它不是第二范式的表。分解如下:课程表(课程号,课程名,学分)
36、,主键为“课程号”,已属于第三范式。教师表(教师号,教师名),主键为“教师号”,已属于第三范式。授课表(课程号,授课教师号,授课时数),主键为(课程号,教师号),已属于第三范式。第6章 数据库设计1试说明数据库设计的特点。答:数据库设计是和用户的业务需求紧密相关的,因此它具有如下特点:l 综合性。数据库设计涉及的面很广,它需要包含计算机专业知识及业务系统专业知识;同时它还要解决技术及非技术两方面的问题。(1) 静态结构设计与动态行为设计是分离的。静态结构设计是指数据库的模式结构设计,包括概念结构、逻辑结构和存储结构;动态行为设计是指应用程序设计,包括功能组织、流程控制等。数据库设计的主要精力首
37、先是放在数据结构的设计上。2简述数据库的设计过程。答:数据库设计一般包含6个阶段: 需求分析,概念结构设计,逻辑结构设计,物理设计,数据库实施以及数据库运行和维护。3数据库结构设计包含哪几个过程?答:数据库结构设计包括设计数据库的概念结构、逻辑结构和存储结构。4需求分析中发现事实的方法有哪些?答:常用的发现事实的方法有检查文档、面谈、观察业务的运转、研究和问卷调查等。5概念结构应该具有哪些特点?答:概念结构应具备如下特点:l 有丰富的语义表达能力。l 易于交流和理解。l 易于更改。l 易于向各种数据模型转换,易于导出与DBMS有关的逻辑模型。6概念结构设计的策略是什么?答:概念结构设计的策略主
38、要有:自底向上、自顶向下、由里向外、混合策略。7什么是数据库的逻辑结构设计?简述其设计步骤。答:逻辑结构设计的任务是把概念结构设计阶段设计好的基本E-R模型转换为具体的数据库管理系统支持的数据模型,也就是导出特定的DBMS可以处理的数据库逻辑结构。它一般包含两个步骤:第一是:将概念模型转换为某种组织层数据模型;第二是:对数据模型进行优化。8把E-R模型转换为关系模式的转换规则有哪些?答:一般规则为:(1)一个11联系可以转换为一个独立的关系模式,也可以与任意一端所对应的关系模式合并。如果可以转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为此关系模式的属性,每个实体
39、的码均是该关系模式的候选键。如果是与联系的任意一端实体所对应的关系模式合并,则需要在该关系模式的属性中加入另一个实体的码和联系本身的属性。(2)一个1n联系可以转换为一个独立的关系模式,也可以与n端所对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为此关系模式的属性,且关系模式的码为n端实体的码。如果与n端对应的关系模式合并,则需要在该关系模式中加入1端实体的码以及联系本身的属性。(3)一个mn联系必须转换为一个独立的关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为此关系模式的属性,且关系模式的主键包含各实体的码。(4)三个或三个
40、以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为此关系模式的属性,而此关系模式的主键包含各实体的码。(5)具有相同主键的关系模式可以合并。9数据模型的优化包含哪些方法?答:数据模型的优化的方法为:(1) 确定各属性间的数据依赖。(2) 对各个关系模式之间的数据依赖进行极小化处理,消除冗余的联系。(3) 判断每个关系模式的范式,根据实际需要确定最合适的范式。(4) 根据需求分析阶段得到的处理要求,分析这些模式对于这样的应用环境是否合适,确定是否要对某些模式进行分解或合并。10设有如图6-15所示的两个E-R模型,分别将它们转换为关系模式,并指
41、出每个关系模式的主键和外键。答:对图6-15(a):图书表(书号,书名,出版日期,作者),主键为“书号”读者表(读者编号,读者姓名,联系电话,单位),主键为“读者编号”。借阅表(书号,读者编号,借阅日期),主键为(书号,读者编号,借书日期),“书号”为引用图书表的“书号”的外键,“读者编号”为引用读者表的“读者编号”的外键。对图6-15(b):顾客表(顾客号,顾客名,联系电话),主键为“顾客号”。销售人员表(职工编号,职工名称,所在部门),主键为“职工编号”。商品表(商品编号,商品名称,商品分类,库存量),主键为“商品编号”。订购表(职工编号,顾客号,商品编号,订购日期,订购数量),主键为(职工编号,顾客号,商品编号),“职工编号”为引用销售人员表的“职工编号”的外键,“顾客号”为引用顾客表的“顾客号”的外键,“商品编号”为引用商品表的“商品编号”的外键。第7章 数据库保护1试说明事务的概念及四个特征。答:事务是用户定义的数据操作系列,这些操作是一个完整的工作单元,一个事务内的所有语句可以作为一个整体,要么全部执行,