数据库原理-及应用课后习题参考答案.docx
《数据库原理-及应用课后习题参考答案.docx》由会员分享,可在线阅读,更多相关《数据库原理-及应用课后习题参考答案.docx(29页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据库原理及应用课后习题参考答案第1章 1 名词解释:信息、数据、数据库、数据库管理系统、数据模型。【答】信息是数据加工处理后得到的结果;数据是描述事物的符号记录。描述事物的符号可以是数字,也可以是文字、图形、图像、声音、语言等。数据库是存放数据的仓库,数据库是长期存储在计算机中的有组织的、可共享的大量数据的集合。数据库管理系统(Database Management System,DBMS)是一个专门用于实现对数据进行管理和维护的系统软件,它位于用户应用程序与操作系统软件之间。数据模型是把现实世界中的具体事物转换成计算机能够处理的对象。在数据库中用数据模型这个工具来抽象、表示和处理现实世界中
2、的数据和信息。2 简述由现实世界到机器世界建模的过程。【答】首先将现实世界抽象为信息世界,然后再将信息世界转换为机器世界。即,首先把现实世界中的客观对象抽象为某一种描述信息的模型,这种模型并不依赖于具体的计算机系统,而且也不与具体的DBMS有关,而是概念意义上的模型,也就是我们所说的概念层数据模型;然后再把概念层数据模型转换为具体的DBMS支持的数据模型,也就是组织层数据模型。3 数据模型分为哪两个层次?【答】一类是概念模型,按照用户的观点对数据和信息进行建模;一类是逻辑模型(简称数据模型),按照计算机系统的观点对数据进行建模。4 简述常用的概念层数据模型。【答】概念模型是现实世界到机器世界的
3、一个中间层次。它是对信息世界的建模,是对现实世 界到信息世界的第一次抽象,是数据库设计人员进行数据库设计的有力工具,也是数据 库设计人员和用户之间进行交流的语言。5 什么是组织层数据库模型, 有哪些常用的组织层数据库模型?【答】组织层数据模型是从数据的组织形式的角度来描述信息,目前,在数据库技术的发展过程中用到的组织层数据模型主要有层次模型(Hierarchical Model)、网状模型(Network Model)、关系模型(Relational Model)、面向对象模型(Object Oriented Model)和对象关系模型(Object Relational Model)。组织层
4、数据模型是按组织数据的逻辑结构来命名的,如层次模型采用树形结构。6 简述数据库的三级模式体系结构。并说明这种结构的优点是什么?【答】数据库的三级模式结构是指数据库的外模式、模式和内模式数据库的三级模式是对数据的三个抽象级别,它把数据的具体组织留给DBMS,使用户能逻辑、抽象地处理数据,而不必关心数据在计算机中的具体表示方式与存储方式。数据库管理系统在三个模式之间提供了两级映像:外模式/模式映像;模式/内模式映像。优点:两级映像功能保证了数据库中的数据能够具有较高的逻辑独立性和物理独立性,使数据库应用程序不随数据库数据的逻辑或存储结构的变动而变动。7 什么叫数据与程序的物理独立性?什么叫数据与程
5、序的逻辑独立性?为什么数据库系统具有数据与程序的独立性?【答】数据与程序的逻辑独立性:当模式改变时(例如增加新的关系、新的属性、改变属性的数据类型等),由数据库管理员对各个外模式模式的映像做相应改变,可以使外模式保持不变。应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。数据与程序的物理独立性:当数据库的存储结构改变了,由数据库管理员对模式内模式映像做相应改变,可以使模式保持不变,从而应用程序也不必改变,保证了数据与程序的物理独立性,简称数据的物理独立性。数据库管理系统在三级模式之间提供的两层映像保证了数据库系统中的数据能够具有较高的逻
6、辑独立性和物理独立性。8 试述数据库系统的组成。【答】数据库系统一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。9定义并解释以下术语:模式,外模式,内模式【答】内模式:是最接近物理存储的,也就是数据的物理存储方式,包括数据存储位置、数据存储方式等。外模式:是最接近用户的,也就是用户所看到的数据视图。模式:是介于内模式和外模式之间的中间层,是数据的逻辑组织方式。10一个企业的数据库需要存储如下信息:职工:职工号,工资,电话;部门:部门号,部门名,人数;职工子女:姓名,年龄。每个职工都在某个部门工作,每个部门由一个职工管理,当父母确定时,其孩子的名字是唯一的,一旦父
7、母离开该企业,孩子的信息也不保存。部门任职请根据以上信息画出E-R图。职工【答】职工-子女管理子女11学校中有若干系,每个系有若干班级和教研室,每个教研室有若干教员,其中有的教授和副教授每人带若干研究生,每个班有若干学生,每个学生选修若干课程,每门课程可由若干学生选修。请用E-R图画出此学校的概念模型。学校系下设教员研究生课程指导选修班级教研室设立属于【答】 属于第2章. 解释以下名词主键、候选键、关系、关系模式【答】(主键,primary key)是被挑选出来,作表的行的惟一标识的候选关键字。一个表只有一个主关键字。主关键字又可以称为主键。 主键可以由一个字段,也可以由多个字段组成,分别成为
8、单字段主键或多字段主键。不含有多余属性的超键称为候选键。关系模式是静态的,比如我们看到的一张二维表的表头,即有哪些构成,每个列的名称,类型啊长度等等 关系是动态的,就是一张二维表的具体内容,是除了标题以外的数据行,因为表数据经常被修改,插入,删除,所以不同时刻、关系可能不一样、其实,关系就是数学中的集合了,每一行就是集合的一个元素。关系模式是指关系的描述,现实世界随着时间在不断地变化,因而在不同的时刻,关系模式的关系也会有所变化。2. 数据模型的三要素是什么?【答】数据结构、数据操作以及数据的完整性约束3. 关系数据库的三个完整性是什么? 各是什么含义?【答】关系模型中可以有三类完整性约束:实
9、体完整性、参照完整性和用户定义的完整性。实体完整性规则定义了对关系中主属性取值的约束,即对主属性的值域的约束;而参照完整性规则定义了参照关系和被参照关系的外码与主码之间的参照约束,即对参照关系的外码属性值域的约束,规定外码属性的值域只能是空值或是相应被参照关系主码属性的值。用户定义完整性就是针对某一具体的关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求,由应用的环境决定。4. 利用表2-至表2-10给出的三个关系,实现如下查询的关系代数表达式。(1)查询“网络工程系”学生的选课情况,列出学号、姓名、课程号和成绩。(2)查询“VB”课程的考试情况,列出学生姓名、所在系和考试成
10、绩。(3)查询考试成绩高于90 分的学生的姓名、课程名和成绩。(4)查询至少选修了0821103学生所选的全部课程的学生姓名和所在系。(5)查询至少选了“001”和“002”两门课程的学生姓名、所在系和所选的课程号。【答】略5.试述等值连接与自然连接的区别和联系。【答】等值连接表示为RA=BS,自然连接表示为RS;自然连接是除去重复属性的等值连接。两者之间的区别和联系如下:1)自然连接一定是等值连接,但等值连接不一定是自然连接。2)等值连接要求相等的分量,不一定是公共属性;而自然连接要求相等的分量必须是公共属性。3)等值连接不把重复的属性除去;而自然连接要把重复的属性除去。6. 设有一个SPJ
11、数据库,包括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)、供应商状态(STATUS)、供应商所在城市(CITY)组成。零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成。工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY)组成。供应情况表SPJ由供应商代码(JNO)、零件代码(P
12、NO)、工程项目代码(JNO)、供应数量(QTY)组成,表示某供应商供应某种零件给某工程的数量为QTY。今有若干数据如下:试用关系代数语言完成如下查询:(1)求供应工程J1零件的供应商号码SNO;(2)求供应工程J1零件P1的供应商号码SNO;(3)求供应工程J1零件为红色的供应商号码SNO;(4)求没有使用天津供应商生产的红色零件的工程号JNO;(5)求至少用了供应商S1所供应的全部零件的工程号JNO。【答】第3章1. SQL支持的主要数据类型有数值型、字符串类型、日期时间型数据类型、二进制数据类型2. SQL语言主要分为数据定义、数据查询、数据操纵、数据控制四大功能3.创建student表
13、(注意引号)CREATE TABLE NewTable (sno char(3) NOT NULL ,sname char(8) NOT NULL ,ssex char(2) NOT 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
14、 (sno char(3) NOT NULL ,cno char(5) NOT NULL ,degree decimal(4,1) 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)
15、 select sname,ssex,class from student(2) select distinct depart from 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 de
16、sc(8) select * from score order by cno,degree desc(9) select class,count(*) 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
17、by cno(12) select avg(degree) from score group by 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 T
18、HEN Delse Eend)rankfrom score(19) select sno,cno,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,s
19、birthday)= (select datepart(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
20、by cno having count(*)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 teache
21、r a where prof not in (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-2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 原理 应用 课后 习题 参考答案
限制150内