数据库原理 及应用课后习题参考答案.pdf

上传人:春哥&#****71; 文档编号:16980270 上传时间:2022-05-20 格式:PDF 页数:27 大小:686.67KB
返回 下载 相关 举报
数据库原理 及应用课后习题参考答案.pdf_第1页
第1页 / 共27页
数据库原理 及应用课后习题参考答案.pdf_第2页
第2页 / 共27页
点击查看更多>>
资源描述

《数据库原理 及应用课后习题参考答案.pdf》由会员分享,可在线阅读,更多相关《数据库原理 及应用课后习题参考答案.pdf(27页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、数据库原理 及应用课后习题参考答案请勿盗版 尊重作者 数据库原理及应用课后习题参考答案数据库原理及应用课后习题参考答案第第1 1章章 1名词解释:信息、数据、数据库、数据库管理系统、数据模型。【答】信息是数据加工处理后得到的结果;数据是描述事物的符号记录。描述事物的符号可以是数字,也可以是文字、图形、图像、声音、语言等。数据库是存放数据的仓库,数据库是长期存储在计算机中的有组织的、可共享的大量数据的集合。数据库管理系统(Database Management System,DBMS)是一个专门用于实现对数据进行管理和维护的系统软件,它位于用户应用程序与操作系统软件之间。数据模型是把现实世界中的

2、具体事物转换成计算机能够处理的对象。在数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。2简述由现实世界到机器世界建模的过程。【答】首先将现实世界抽象为信息世界,然后再将信息世界转换为机器世界。即,首先把现实世界中的客观对象抽象为某一种描述信息的模型,这种模型并不依赖于具体的计算机系统,而且也不与具体的DBMS有关,而是概念意义上的模型,也就是我们所说的概念层数据模型;然后再把概念层数据模型转换为具体的DBMS支持的数据模型,也就是组织层数据模型。3数据模型分为哪两个层次?【答】一类是概念模型,按照用户的观点对数据和信息进行建模;一类是逻辑模型(简称数据模型),按照计算机系统

3、的观点对数据进行建模。4简述常用的概念层数据模型。【答】 概念模型是现实世界到机器世界的一个中间层次。它是对信息世界的建模,是对现实世 界到信息世界的第一次抽象,是数据库设计人员进行数据库设计的有力工具,也是数据 库设计人员和用户之间进行交流的语言。数据库原理 及应用课后习题参考答案请勿盗版 尊重作者 5什么是组织层数据库模型, 有哪些常用的组织层数据库模型?【答】组织层数据模型是从数据的组织形式的角度来描述信息,目前,在数据库技术的发展过程中用到的组织层数据模型主要有层次模型(Hierarchical Model)、网状模型(Network Model)、关系模型(Relational Mo

4、del)、面向对象模型(Object Oriented Model)和对象关系模型(Object Relational Model)。组织层数据模型是按组织数据的逻辑结构来命名的,如层次模型采用树形结构。6简述数据库的三级模式体系结构。并说明这种结构的优点是什么?【答】数据库的三级模式结构是指数据库的外模式、模式和内模式数据库的三级模式是对数据的三个抽象级别,它把数据的具体组织留给DBMS,使用户能逻辑、抽象地处理数据,而不必关心数据在计算机中的具体表示方式与存储方式。数据库管理系统在三个模式之间提供了两级映像:外模式/模式映像;模式/内模式映像。优点:两级映像功能保证了数据库中的数据能够具有

5、较高的逻辑独立性和物理独立性,使数据库应用程序不随数据库数据的逻辑或存储结构的变动而变动。7什么叫数据与程序的物理独立性?什么叫数据与程序的逻辑独立性?为什么数据库系统具有数据与程序的独立性?【答】数据与程序的逻辑独立性:当模式改变时(例如增加新的关系、新的属性、改变属性的数据类型等),由数据库管理员对各个外模式模式的映像做相应改变,可以使外模式保持不变。应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。数据与程序的物理独立性:当数据库的存储结构改变了,由数据库管理员对模式内模式映像做相应改变,可以使模式保持不变,从而应用程序也不必改变

6、,保证了数据与程序的物理独立性,简称数据的物理独立性。数据库管理系统在三级模式之间提供的两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。8试述数据库系统的组成。【答】数据库系统一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。9定义并解释以下术语:数据库原理 及应用课后习题参考答案请勿盗版 尊重作者 模式,外模式,内模式【答】内模式:是最接近物理存储的,也就是数据的物理存储方式,包括数据存储位置、数据存储方式等。外模式:是最接近用户的,也就是用户所看到的数据视图。模式:是介于内模式和外模式之间的中间层,是数据的逻辑组织方式。10一个企业的数据

7、库需要存储如下信息:职工:职工号,工资,电话;部门:部门号,部门名,人数;职工子女:姓名,年龄。每个职工都在某个部门工作,每个部门由一个职工管理,当父母确定时,其孩子的名字是唯一的,一旦父母离开该企业,孩子的信息也不保存。请根据以上信息画出E-R图。【答】11学校中有若干系,每个系有若干班级和教研室,每个教研室有若干教员,其中有的教授和副教授每人带若干研究生,每个班有若干学生,每个学生选修若干课程,每门课程可由若干学生选修。请用E-R图画出此学校的概念模型。【答】 第第2 2章章. 解释以下名词主键、候选键、关系、关系模式职工部门任职管理子女职工-子女属于学校系下设教员研究生课程指导选修班级教

8、研室设立属于数据库原理 及应用课后习题参考答案请勿盗版 尊重作者 【答】(主键,primary key)是被挑选出来,作表的行的惟一标识的候选关键字。一个表只有一个主关键字。主关键字又可以称为主键。 主键可以由一个字段,也可以由多个字段组成,分别成为单字段主键或多字段主键。不含有多余属性的超键称为候选键。关系模式是静态的,比如我们看到的一张二维表的表头,即有哪些构成,每个列的名称,类型啊长度等等 关系是动态的,就是一张二维表的具体内容,是除了标题以外的数据行,因为表数据经常被修改,插入,删除,所以不同时刻、关系可能不一样、其实,关系就是数学中的集合了,每一行就是集合的一个元素。关系模式是指关系

9、的描述,现实世界随着时间在不断地变化,因而在不同的时刻,关系模式的关系也会有所变化。2. 数据模型的三要素是什么?【答】数据结构、数据操作以及数据的完整性约束3. 关系数据库的三个完整性是什么? 各是什么含义?【答】关系模型中可以有三类完整性约束:实体完整性、参照完整性和用户定义的完整性。实体完整性规则定义了对关系中主属性取值的约束,即对主属性的值域的约束;而参照完整性规则定义了参照关系和被参照关系的外码与主码之间的参照约束,即对参照关系的外码属性值域的约束,规定外码属性的值域只能是空值或是相应被参照关系主码属性的值。用户定义完整性就是针对某一具体的关系数据库的约束条件,反映某一具体应用所涉及

10、的数据必须满足的语义要求,由应用的环境决定。4. 利用表2-至表2-10给出的三个关系,实现如下查询的关系代数表达式。(1)查询“网络工程系”学生的选课情况,列出学号、姓名、课程号和成绩。(2)查询“VB”课程的考试情况,列出学生姓名、所在系和考试成绩。(3)查询考试成绩高于90 分的学生的姓名、课程名和成绩。(4)查询至少选修了0821103学生所选的全部课程的学生姓名和所在系。数据库原理 及应用课后习题参考答案请勿盗版 尊重作者 (5)查询至少选了“001”和“002”两门课程的学生姓名、所在系和所选的课程号。【答】略5.试述等值连接与自然连接的区别和联系。【答】等值连接表示为RA=BS,

11、自然连接表示为RS;自然连接是除去重复属性的等值连接。两者之间的区别和联系如下:1)自然连接一定是等值连接,但等值连接不一定是自然连接。2)等值连接要求相等的分量,不一定是公共属性;而自然连接要求相等的分量必须是公共属性。3)等值连接不把重复的属性除去;而自然连接要把重复的属性除去。6. 设有一个SPJ数据库,包括S、P、J及SPJ4个关系模式: S(SNO,SNAME,STATUS,CITY); P(PNO,PNAME,COLOR,WEIGHT); J(JNO,JNAME,CITY); SPJ(SNO,PNO,JNO,QTY);供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应

12、商状态(STATUS)、供应商所在城市(CITY)组成。零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成。工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY)组成。供应情况表SPJ由供应商代码(JNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成,表示某供应商供应某种零件给某工程的数量为QTY。今有若干数据如下:试用关系代数语言完成如下查询:(1)求供应工程J1零件的供应商号码SNO;(2)求供应工程J1零件P1的供应商号码SNO;(3)求供应工程J1零件为红色的供应商号码SNO;(

13、4)求没有使用天津供应商生产的红色零件的工程号JNO;(5)求至少用了供应商S1所供应的全部零件的工程号JNO。数据库原理 及应用课后习题参考答案请勿盗版 尊重作者 【答】数据库原理 及应用课后习题参考答案请勿盗版 尊重作者 第第3章章1. SQL支持的主要数据类型有数值型、字符串类型、日期时间型数据类型、二进制数据类型2. SQL语言主要分为数据定义、数据查询、数据操纵、数据控制四大功能3.创建student表(注意引号)CREATE TABLE NewTable (sno char(3) NOT NULL ,sname char(8) NOT NULL ,ssex char(2) NOT

14、NULL ,sbirthday datetime NULL ,class char(5) NULL ,PRIMARY KEY (sno);创建课程表CREATE TABLE course (cno char(5) NOT NULL ,cname varchar(10) NOT NULL ,tno char(3) NOT NULL ,PRIMARY KEY (cno);创建成绩表CREATE TABLE score (数据库原理 及应用课后习题参考答案请勿盗版 尊重作者 sno char(3) NOT NULL ,cno char(5) NOT NULL ,degree decimal(4,1)

15、 NULL ,PRIMARY KEY (sno, cno);创建教师表CREATE TABLE teacher (tno char(3) NOT NULL ,tname char(4) NOT NULL ,tsex char(2) NOT NULL ,tbirthday datetime NULL ,prof char(6) NULL ,depart varchar(10) NOT NULL ,PRIMARY KEY (tno);4. 用SQL语句完成以下题目(1)select sname,ssex,class from student(2)select distinct depart fro

16、m teacher(3)select * from student(4)select * from score where degree between 60 and 80(5)select * from score where degree in(85,86,88)(6)select * from student where class=95031 or ssex=女(7)select * from student order by class desc(8)select * from score order by cno,degree desc(9)select class,count(*

17、) as 学生人数 from student group by class having class=95031(10)select sno,cno,degree,(select max(degree) from score) as maxscore from scorewhere degree=(select max(degree) from score)(11)select cno,avg(degree) from score group by cno数据库原理 及应用课后习题参考答案请勿盗版 尊重作者 (12) select avg(degree) from score group by

18、 cno having cno=(select cno from score group by cno having count(*)=5) and cno like 3% (13)select sno from score where degree70 and degree=90 then Awhen degree between 80 and 89 THEN Bwhen degree between 70 and 79 THEN Cwhen degree between 60 and 69 THEN Delse Eend)rankfrom score(19) select sno,cno,

19、degreefrom scorewhere cno=3-105and degree(select degreefrom scorewhere sno=109and cno=3-105)(20) select x.* from score xwhere degree数据库原理 及应用课后习题参考答案请勿盗版 尊重作者 (SELECT degree FROM score WHERE sno=109 AND cno=3-105)(22) select sno,sname,sbirthday from studentwhere datepart(year,sbirthday)= (select dat

20、epart(year,sbirthday) from student where sno=108)(23) select degree from score where cno= (select cno from course join teacher on teacher.tno=course.tno where tname=张旭)(24) select tname from teacher join course on teacher.tno=course.tnowhere cno in (select cno from score group by cno having count(*)

21、5)(25) select * from student where class in(95033,95031);(26) select distinct cno from score where degree85;(27) select cno,sno,degree from score where cno in (select cno from course ,teacher wherecourse.tno=teacher.tno and teacher.depary=计算机系)(28) select tname,prof from teacher a where prof not in

22、(select prof from teacher b where b.depary != a.depary)(29) select * from score where cno=3-105 and degreeany (select degree from score where cno=3-245)order by degree desc(30) select cno,sno,degree from score where cno=3-105 and degreeall(select degree from score where cno=3-245) order by degree de

23、sc(31) select tname,tsex,tbirthday from teacher union select sname,ssex,sbirthday from student(32) select tname,tsex,tbirthday from teacher where tsex=女 union select sname,ssex,sbirthday from student where ssex=女(33) select * from score as s1 wheredegree1(37) SELECT * FROM Student WHERE sno NOT IN (

24、select sno from student WHERE sname LIKE 王%)(38) select sname,datediff(year,Sbirthday,current_timestamp) from student(39) SELECT top 1 sbirthday FROM Student ORDER BY sbirthdaySELECT TOP 1 sbirthday FROM Student ORDER BY sbirthday desc(40) select * from student order by class desc,Sbirthday(41) sele

25、ct tname,tsex,cname from teacher left join course on course.tno=teacher.tno where tsex=男(42) SELECT TOP 1 *FROM score ORDER BY degree DESC(43) SELECT sname FROM Student WHERE Ssex=(SELECT Ssex from Student WHERE sname=李军)(44) select sname from student where ssex=(select ssex from student where sname

26、=李军)and class=(select class from student where sname=李军)and sname not in (李军)(45) SELECT *FROM score WHERE sno IN (SELECT sno FROM Student WHERE Ssex=男) AND cno =(SELECT cno FROM course WHERE cname=计算机导论)第第4 4章章1解释下列名词:函数依赖、部分函数依赖、传递函数依赖、1NF、2NF、3NF数据库原理 及应用课后习题参考答案请勿盗版 尊重作者 【答】函数依赖:某个属性集决定另一个属性集时,称

27、另一属性集依赖于该属性集。函数依赖是由数学派生的术语,它表征一个属性或属性集合的值对另一个属性或属性集合的值的依赖性。部分函数依赖(partial functional dependency)是一个数学用语。在关系模式R(U)中,如果XY,并且存在X的一个真子集X0,使得X0Y,则称Y对X部分函数依赖。 传递函数依赖:设X,Y,Z是关系R中互不相同的属性集合,存在XY(YX),YZ,则称Z传递函数依赖于X。1NF即第一范式,是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。2NF即第二范式,是指每个表必须有且仅有一个数据元素

28、为主关键字(Primary key),其他数据元素与主关键字一一对应。3NF即第三范式,是指表中的所有数据元素不但要能唯一地被主关键字所标识,而且它们之间还必须相互独立,不存在其他的函数关系。2设有关系模式R(A,B,C,D),函数依赖集F AB,BA,ACD,BCD,ADC,BDC,ACD,BCD ,回答下列问题:(1)R的键是什么?(2)R是否为3NF? 为什么?【答】(1)因为AF+=ABCD,BF+=ACD,所以A,B都是关系R的候选键,任一个都可以选出作为关系R的键;(2)因为ACD,所以AC,AD,而F中存在ACD,即存在部分函数依赖,所以不满足2NF,也就不满足3NF,3针对学生

29、选课系统的3个关系模式,完成下列各题:(1)写出每个关系模式的函数依赖,分析是否存在部分依赖、 传递依赖? (2)给出每个关系模式的键、 外键。(3)每个满足什么范式?略4设有关系模式R(A,B,C,D,E),函数依赖集F=AB,BC,CD,DE,若分解关系R为R1(A,B,C)和R2(C,D,E)。回答下列问题:(1)确定R1和R2分别是第几范式?(2)判断此分解的无损连接性。数据库原理 及应用课后习题参考答案请勿盗版 尊重作者 【答】(1)R1(A,B,C)中因函数依赖集F=AB,BC,所以AC,存在传递函数依赖,所以不满足3NF,因不存在部分函数依赖,所以是2NF;R2(C,D,E)中因

30、函数依赖F=CD,DE,所以CE,存在传递函数依赖,所以不满足3NF,因不存在部分函数依赖,所以是2NF;(2)初始表格ABCDER1A1A2A3B14B15R2B21B22A3A4A5修改后的表格ABCDER1A1A2A3A4A5R2B21B22A3A4A5所以此分解是无损连接性5设有关系模式R(A,B,C,D,E,F),函数依赖集F=ED,CB,CEF,BA,回答下列问题:(1)确定R是第几范式?(2)如何将R无损连接并保持函数依赖地分解为3NF。【答】(1)因为CB,BA,所以存在传递函数依赖,不满足3NF,又因所有的依赖都是完全函数依赖,所以R是2NF。(2)将R分解为R1(B,C,D

31、,E),函数依赖集F1=ED,CB,CEF,R2(A,B),函数依赖集F2=BA,这样R无损连接并保持函数依赖地分解为3NF。6对于关系模式R(U)=R(A,B,C,D,E)和函数依赖集F=ABC,CDE,BD,EA,试计算:(1)AF+,BF+;(2)R(U)的候选码。【答】(1)AF+=ABCDE BF+=BD(2)因为AF+=ABCDE,是全集,所以A是候选码数据库原理 及应用课后习题参考答案请勿盗版 尊重作者 因为EF+=ABCDE,是全集,所以E也是候选码 因为CDF+=CDEAB,是全集,所以CD也是候选码7SQL的查询处理分为哪几个阶段,分别完成什么工作?【答】RDBMS查询处理

32、分为以下四个阶段:查询分析、查询检查、查询优化、查询执行。查询分析对查询语句进行扫描, 词法分析(识别出保留字, 变量, 运算符, 发现拼写错误)和语法分析(判断是否符合SQL的语法规则, 出现错误就报告SQL语法错误)查询检查即有效性检查: 对符合语法规则的查询语句进行语义检查, 也就是根据数据字典中有关的模式定义去检查语句中的数据库对象, 比如表名, 属性名是否都在存在和有效. 查询优化是关键部分,主要是进行语法树分析,划分为代数优化(逻辑优化), 物理优化(存取路径, 底层算法).8查询优化分为哪两种类型? 它们的含义分别是什么?【答】代数优化和物理优化,要做优化, 首先理解查询处理过程

33、. 查询处理: 把用户提交给RDBMS的查询语句转换为高效的查询执行计划. 经过的步骤: 查询分析, 查询检查, 查询优化(指的是DBMS完成的)和查询执行.关系代数表达式由关系代数操作组合而成。操作中,以笛卡尔积和联接操作最费时,并生成大量的中间结果。如果直接按表达式书写的顺序执行,必将花费很多时间,并生成大量的中间结果,效率较低。在执行前,由DBMS的查询子系统先对关系代数表达式进行优化,尽可能先执行选择和投影操作,以便减少中间结果,并节省时间。物理优化(存取路径, 底层算法). 优化的依据: 基于规则, 基于代价, 基于语义 优化器得出一个执行策略, 并生成相应的查询计划.9试举例说明启

34、发式优化过程。【答】见教材例子4.1810简述物理优化的主要因素。【答】物理优化(存取路径, 底层算法). 优化的依据: 基于规则, 基于代价, 基于语义 优化器得出一个执行策略, 并生成相应的查询计划.1)选择运算应尽可能先做。2)把投影运算和选择运算同时进行3)把投影同其前或后的双目运算结合起来。数据库原理 及应用课后习题参考答案请勿盗版 尊重作者 4)把某些选择同在它前面执行的笛卡尔积结合起来成为一个连续运算。等值连接比笛卡尔积省时间的多。5)找出公共子表达式第第5 5章章1解释下列名词:数据字典、数据流图、聚集【答】数据字典是指对数据的数据项、数据结构、数据流、数据存储、处理逻辑等进行

35、定义和描述,其目的是对数据流程图中的各个元素做出详细的说明,使用数据字典为简单的建模项目。简而言之,数据字典是描述数据的信息集合,是对系统中使用的所有数据元素的定义的集合。数据流图(Data Flow Diagram):简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,数据流图DFD是描述系统中数据流程的一种图形工具,它标志了一个系统的逻辑输入和逻辑输出,以及把逻辑输入转换逻辑输出所需的加工处理。聚集(Aggregation)是一种特殊形式的关联。聚集表示类之间的关系是整体与部分的关系。2数据库的设计过程一般包括几个阶段? 每个阶段的主

36、要任务是什么?【答】数据库设计(Database Design)是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。数据库设计的设计内容包括:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库的实施和数据库的运行和维护。需求分析:调查和分析用户的业务活动和数据的使用情况,弄清所用数据的种类、范围、数量以及它们在业务活动中交流的情况,确定用户对数据库系统的使用要求和各种约束条件等,形成用户需求规约。概念设计:对用户要求描述的现实世界(可能是一个工厂、一个商场或者一个学校等),通过对其中诸处的分类、

37、聚集和概括,建立抽象的概念数据模型。逻辑设计:主要工作是将现实世界的概念数据模型设计成数据库的一种逻辑模式。物理设计:根据特定数据库管理系统所提供的多种存储结构和存取方法等依赖于具体计算机结构的各项物理设计措施,对具体的应用任务选定最合适的物理存储结构(包括文件类型、索引结构和数据的存放次序与位逻辑等)、存取方法和存取路径等。数据库原理 及应用课后习题参考答案请勿盗版 尊重作者 验证设计:在上述设计的基础上,收集数据并具体建立一个数据库,运行一些典型的应用任务来验证数据库设计的正确性和合理性。运行与维护设计:在数据库系统正式投入运行的过程中,必须不断地对其进行调整与修改。3简述E-R图转化为关

38、系模型的转化规则。【答】(1)实体类型的转换将每个实体类型转换成一个关系模式,实体的属性即为关系的属性,实体标识符即为关系的键。(2)联系类型的转换1)实体间的联系是1:1可以在两个实体类型转换成两个关系模式中的任意一个关系模式的属性中加入另一个关系模式的键和联系类型的属性。2)如实体间的联系是1:N则在N端实体类型转换成的关系模式中加入1端实体类型转换成的关系模式的键和联系类型的属性。3)如实体间的联系是M:N则将联系类型也转换成关系模式,其属性为两端实体类型的键加上联系类型的属性,而键为两端实体键的组合。(3) 三元联系转换 1:1:1可以在三个实体类型转换成的三个关系模式中任意一个关系模

39、式的属性中加入另两个关系模式的键(作为外键)和联系类型的属性 1:1:N在N端实体类型转换成的关系模式中加入两个1端实体类型的键(作为外键)和联系类型的属性 1:M:N将联系类型也转换成关系模式,其属性为M端和N端实体类型的键(作为外键)加上联系类型的属性,而键为M端和N端实体键的组合数据库原理 及应用课后习题参考答案请勿盗版 尊重作者 M:N:P将联系类型也转换成关系模式,其属性为三端实体类型的键(作为外键)加上联系类型的属性,而键为三端实体键的组合4学校有若干个系,每个系有若干班级和教研室,每个教研室有若干教师,每个教师教若干门课程。每个班有若干个学生,每个学生选修若干门课程,每门课程有若

40、干个学生选修。(1)根据以上描述,绘制出E-R图。(2)将E-R图转化为关系模型,只需要给出每个关系模式的名称。【答】(2)关系模式有:学校、系、班级、教研室、教师、课程、学生、选修5假如银行储蓄系统的功能是:将储户填写的存款单或取款单输入系统。如果是存款,系统记录存款人姓名、住址、存款类型、存款日期和利率等信息,并打印出存款单给储户;如果是取款单,系统计算清单给用户。(1)画出该系统的数据流图。(2)画出该系统的模块结构图。略6根据下列描述,画出相应的ER图,并将ER图转换为满足3NF的关系模式,指明每个关系模式的主键和外键。现要实现一个顾客购物系统,需求描述如下:一个顾客可去多个商店购物,

41、一个商店可有多名顾客购物;每个顾客一次可购买多种商品,但对同一种商品不能同时购买多次,但在不同时间可购买多次;每种商品可销售给不同的顾客。对顾客的每次购物都需要记录其购物的商店、购买商品的数量和购买日期。需要记录的 “ 商店” 学校系下设教师课程学生讲授选修班级教研室设立属于属于属于数据库原理 及应用课后习题参考答案请勿盗版 尊重作者 信息包括:商店编号、商店名、地址、联系电话;需要记录的顾客信息包括:顾客号、姓名、住址、身份证号、性别。需要记录的商品信息包括:商品号、商品名、进货价格、进货日期、销售价格。略7某工厂生产若干产品,每种产品由不同的零件组成,有的零件可用在不同的产品上。这些零件由

42、不同的原材料制成,不同零件所用的材料可以相同。这些零件按所属的不同产品分别放在仓库中,原材料按照类别放在若干仓库中。请用E-R图画出此工厂产品、零件、材料、仓库的概念模型。第第6 6章章 1. 什么是数据的安全性控制?【答】数据库的安全性控制是指保护数据库,以防止不合法的使用造成的数据泄密、更改或破坏。2. 数据库安全问题主要体现在哪些方面?【答】:数据库的不安全因素体现在非授权的用户对数据库的恶意存取和破坏、数据库中重要或敏感的数据被泄露以及安全环境的脆弱性。数据库管理系统需通过一套可信计算机及信息安全技术标准以及数据库安全控制技术来提供安全保障。3. 数据库安全性级别有哪几种?【答】:为了

43、保护数据库,防止故意的破坏,可以在从低到高的5个级别上设置各种安全措施:(1)环境级 计算机系统的机房和设备应加以保护,防止有人进行物理破坏。(2)用户级 工作人员应清正廉洁,正确授予用户访问数据库的权限。(3)操作系统级 应防止未经授权的用户从操作系统处着手访问数据库。工厂产品零件材料仓库生产制成组成存放数据库原理 及应用课后习题参考答案请勿盗版 尊重作者 (4)网络级 由于大多数数据库系统都允许用户通过网络进行远程访问,网络软件内部的安全性是很重要的。(5)数据库系统级 数据库系统的职责是检查用户的身份是否合法及使用数据库的权限是否正确。4. 试述实现数据库安全性控制的常用方法和技术。【答

44、】:数据库安全控制的方法主要有用户标识与鉴别、存取控制、视图机制、审计、数据加密等。用户标识与鉴别是系统提供的最外层安全保护措施,通常结合用户标识和口令鉴别用户。数据库安全最重要的一点就是确保只授权给合法的用户访问数据库,同时令所有未被授权的人员无法接近数据,这主要通过数据库系统的存取控制机制实现。当前的DBMS一般支持两种类型的存取控制机制:自主存取控制和强制存取控制。视图机制把要保密的数据对无权存取的用户隐藏起来,从而自动地对数据提供一定程度的安全保护。审计是把用户对数据库的所有操作自动记录下来放入审计日志中,DBA就可以及时发现非法的或未授权的操作,并作出相应的处理。数据加密是防止数据库

45、中数据在存储和传输中失密的有效手段。加密方法主要有两种:对称密钥加密法和非对称密钥加密法。5. MySQL的安全性机制中用户与权限如何进行有效管理?【答】:为了保证数据库的安全性和完整性,MySQL提供了一整套安全管理机制。MySQL的安全性机制主要包括用户管理与权限管理。用户管理机制包括登录和退出MySQL服务器,创建用户,删除用户,修改用户密码和为用户赋权限等操作。SQL提供了非常灵活的授权机制,用户对自己建立的基本表和视图拥有全部的操作权限,并且可以用GRANT语句把其中某些权限授予其他用户或角色,被授权的用户如果有“继续授权”的许可,还可以把获得的权限再授予其他用户,DBA拥有对数据库

46、中所有对象的所有权限,并可以根据应用的需要将不同的权限授予不同的用户,而所有授予出去的权力在必要时又都可以用 REVOKE语句收回。6. 安全数据库有哪些研究方向?【答】:数据库的高安全性研究主要包含以下几个方向:(1)自定义数据类型的数据库加密算法的开发。(2)加密数据使用的性能优化。(3)基于逻辑图的秘钥管理技术。(4)基于混沌理论的伪随机技术。(5)基于容错学习和属性加密的全同态加密体制。数据库原理 及应用课后习题参考答案请勿盗版 尊重作者 第第7 7章章 习题习题1.什么是数据的完整性控制?【答】:数据的完整性控制指的是为保证数据的完整性而采取恰当的操作。2.什么是数据库的完整性约束条

47、件?可分为哪几类?【答】:为维护数据库的完整性,避免数据库中存在不符合语义、不正确的数据,进行语义约束。那么这些加在数据库数据之上的语义约束条件称为“数据库完整性约束条件”。在关系模型中有四类完整性约束:实体完整性、参照完整性、域完整性、和用户定义的完整性,其中实体完整性和参照完整性约束条件为最重要的完整性约束,称为关系的两个不变性。3.DBMS的完整性控制应具有哪些功能?【答】:DBMS的完整性控制机制应具有三个方面的功能: (1)定义功能,即提供定义完整性约束条件的机制。 (2)检查功能,即检查用户发出的操作请求是否违背了完整性约束条件。 (3)违约处理,即监视数据操作的整个过程,如果发现

48、有违背了完整约束条件的情况,则采取恰当的操作来保证数据的完整性。例如拒绝操作、报告违反情况、改正错误等方法来保证数据的完整性。4.RDBMS在实现参照完整性时需要考虑哪些方面?【答】:(1)外码能否接受空值的问题。在实现参照完整性时,除了应该定义外码以外,还应该根据应用环境确定外码列是否允许取空值。(2)在被参照关系中删除元组的问题。要保持关系的参照完整性,就需要对参照表的相应元组进行处理,其处理策略:级联删除受限删除置空值删除。(3)在参照关系中插入元组时的问题。其处理策略:受限插入递归插入。(4)修改关系中主码的问题。其处理策略:不允许修改主码允许修改主码。(5)修改表是被参照关系元组的问

49、题。其处理策略:级联修改拒绝修改 置空值修改。5.试述实体完整性的定义以及其属性约束包含哪些?【答】:实体完整性为元组级完整性,规定表的每一个元组都应该有一个唯一的标识符,一般通过在表中定义的主键约束来体现,且其值不能为空。如果一数据库原理 及应用课后习题参考答案请勿盗版 尊重作者 个关系的主码是由多个属性构成的,那么每个属性都不能取空值。其属性约束包含PRIMARY KEY、NOT NULL、索引、UNIQUE、IDENTITY等。6.用户自定义完整性指的是什么?如何进行完整性检查和违约处理。、【答】:用户定义的完整性是针对某个特定关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足

50、的语义要求,通过CKECK、DEFAULT,NOT NULL,UNIQUE,IDENTITY属性约束。用户自定义完整性的检查和违约处理策略是当插入元组或修改属性的值时,DBMS检查属性上的约束条件是否被满足,如果不满足则操作被拒绝执行。第第8 8章章 习题习题1. 什么是事务?事务的基本性质是什么?【答】:事务是用户定义的一个的数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的逻辑单元。事务的基本性质包含原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。事务的原子性是指事务中包含的所有操作要么全做,要么一个

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁