数据库原理与应用第3版答案.docx
- 文档编号:5057921
- 上传时间:2022-12-12
- 格式:DOCX
- 页数:34
- 大小:133.74KB
数据库原理与应用第3版答案.docx
《数据库原理与应用第3版答案.docx》由会员分享,可在线阅读,更多相关《数据库原理与应用第3版答案.docx(34页珍藏版)》请在冰豆网上搜索。
数据库原理与应用第3版答案
《数据库原理与应用》(第三版)习题参考答案
第1章数据库概述
1.试说明数据、数据冷、数据库管理系统和数据库系统的概念。
答:
数据是描述事物的符号记录。
数据库是长期存储在计算机中的有组织的、可共享的人量数据的集合。
数据用管理系统是•个专门用于实现对数据进行管理和维护的系统软件。
数据库系统是指在计算机中引入数据库后的系统,•般由数据库、数据库管理系统(及相关的实用工具)、应用程序、数据库管理员组成。
2.数据管理技术的发展主要经历了哪几个阶段?
答:
文件管理和数据库管理。
3.与文件管理和比,数据库管理有哪些优点?
答:
与文件系统管理数据相比,数据库系统管理数据带来了如下好处:
将和互关联的数据集成在•起,较少的数据冗余,程序与数据相互独立,保证数据的安全可靠,最人限度地保证数据的正确性,数据可以共享并能保证数据的一致性。
4.在数据库管理方式中,应用程序是否需要关心数据的存储位置和存储结构?
为什么?
答:
不需要。
因为数据库管理系统提供了逻辑独立性和物理独立性。
5.在数据库系统中,数据库的作用是什么?
答:
数据库是数据的汇集,它以•定的组织形式保存在存储介质上。
6.在数据丿牟系统中,应用程序可以不通过数据库管理系统而宜接访问数据文件吗?
答:
不能
7.数据独立性指的是什么?
它能带来哪些好处?
答:
数据独立性是指应用程序不会因数据的物理衣示方式和访问技术的改变而改变,即应用程序不依赖于任何特定的物理农示方式和访问技术,它包含两个方面:
逻辑独立性和物理独立性。
物理独立性是指当数据的存储位置或存储结构发生变化时,不影响应用程序的特性;逻辑独立性是指当农达现实世界的信息内容发生变化时,不影响应用程序的特性。
8.数据悴系统由哪几部分组成,每•部分在数据帰系统中的作用大致是什么?
答:
数据库系统•般包括数据库、数据库管理系统(及相应的实用工具)、应用程序和数据库管理员四个部分。
数据库是数据的汇集,它以•定的组织形式保存在存储介质上:
数据库管理系统是管理数据库的系统软件,它可以实现数据库系统的各种功能:
应用程序专指以数据库数据为基础的程序,数据悴管理员负贵整个数据库系统的正常运行。
第2章数据模型与数据库结构
1•解释数据模型的概念,为什么要将数据模型分成两个层次?
答:
答:
数据模型是对现实世界数据特征的抽象。
数据模型一般要满足三个条件:
第一是数据模型要能够比较真实地模拟现实世界:
第二是数据模型要容易被人们理解:
第三是数据模型要能够很方便地在计算机上实现。
由于用一种模型来同时很好地满足这三方而的要求在目前是比较困难的,因此在数据库系统中就可以针对不同的使用对象和应用目的,采用不同的数据模型。
根拯模型应用的不同目的,将这些模型分为两大类:
槪念层数据模型和组织层数据模型,以方便对信息的描述。
2.槪念层数据模型和组织层数据模型分别是针对什么进行的抽象?
答:
概念层数据模型是对现实世界的抽象,形成信息世界模型,组织层数据模型是对信息世界进行抽象和转换,形成具体的DBMS支持的数据组织模型。
3.实体之间的联系有哪几种?
请为每一种联系举出一个例子。
答:
实体之间的联系有一对一、一对多和多对多三种。
例如:
系和正系主任是一对一联系(假设一个系只有一个正系主任),系和教师是一对多联系(假设一个教师只在一个系工作),教师和课程是多对多联系(假设一个教师可以讲授多门课程,一门课程可由多个教师讲授)。
4.说明实体-联系模型中的实体、属性和联系的概念。
5.指明下列实体间联系的种类:
(1)教研室和教师(设一个教师只属于一个教研室,一个教研室可有多名教师)。
(2)商品和顾客。
(3)国家和首都(假设一个国家的首都可以变化)。
(4)飞机和乘客。
(5)银行和账户。
(6)图书和借阅者。
(设一个借阅者可同时借阅多本书,可在不同时间对同一本书借阅多次)
6.数据库系统包含哪三级模式?
试分别说明每一级模式的作用?
答:
数据脖系统包含的三级模式为:
内模式、模式和外模式。
外模式是对现实系统中用户感兴趣的整体数据结构的局部描述,用于满足不同数据丿牟用户需求的数据视图,是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是对数据库整体数据结构的/集或局部重构。
模式是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
内模式是对整个数据库的底层农示,它描述了数据的存储结构。
7.数据库管理系统提供的两级映像的作用是什么?
它带来了哪些功能?
答:
数据库系统的两级映象是模式与内描述间的映象和外模式与模式间的映象。
模式/内模式的映象带来了物理独立性,即如果数据库的存储结构改变了,可通过调整模式/内模式的映象,使模式能够保持不变。
外模式/槪念模式间的映象带来了逻辑独立性,当概念模式的结构可发生改变时,也可通过调整外模式/模式间的映象关系,使外模式可以保持不变。
8.数据库三级模式划分的优点是什么?
它能带来哪些数据独立性?
答:
数据库的三级模式的划分实际上将用户、逻辑数据库与物理数据炸进行•了划分,使彼此之间的相互干扰减到最少。
这三个模式的划分实际上带来了两个数据独立性:
物理独立性和
逻辑独立性。
这使得底层的修改和变化尽量不影响到上层。
第3章关系数据库
1.试述关系模型的三个组成部分。
答:
关系数据结构、关系操作集合和关系完整性约束。
2.解释下列术语的含义:
(1)笛卡尔积:
设Di,D2,…,Dn为任盘集合,定义笛卡尔积Di,D2,…,Dn为:
DiXDzX-XDn={(d),d2,…,d„)IdiGD.,i=l,2,•••,“}
(2)主键:
也称主码为或主关键字,是农中的属性或属性组,用于惟•地确定一个元组。
(3)候选键:
如果•个属性或属性集的值能够惟•标识-个关系的元组而又不包含■多余的属性,则称该属性或属性集为候选键。
(4)外键:
设F是关系R的-个或-组属性,如果F与关系S的主键相对应,则称F是关系R的外键。
(5)关系:
关系就是简单二维农。
(6)关系模式:
二维农的结构称为关系模式。
(7)关系数据库:
对应于•个关系模型的所有关系的集合称为关系数据库。
3.关系数据库的三个完整性约束是什么?
各是什么含义?
答:
实体完整性、参照完整性和用户立义的完整性。
实体完整性是保证关系中的每个元组都是可识别的和惟-的。
参照完整性也称为引用完整性,用于农达现实世界中的实体之间的关联关系。
用户定义的完整性也称为域完整性或语义完整性,用于保证数据库中存储的值与现实世界相符。
4.连接运算有哪些?
等值连接和自然连接的区别是什么?
答:
连接运算中最重要也是最常用的连接有两个,一个是等值连接,一个是自然连接。
自然连接与等值连接的差别为:
•自然连接要求相等的分量必须有共同的属性字I,等值连接则不要求:
•自然连接要求把重复的属性名去掉,等值连接却不这样做。
5.对参与并、交、差运算的两个关系R、S有什么要求?
答:
必须结构相同,且相应的属性值取自同一个值域。
6.对参与除运算的两个关系(R—S〉有什么要求?
除运算的结果关系中包含哪些属性?
答:
R中必须包含S的全部或部分属性,除运算的结果包含的属性是只属于R不属于S的属性。
7.对参与自然连接和等值连接操作的两个关系R、S有什么要求?
答:
有语义相同的属性。
8.投影操作的结果关系中是否有可能存在重复的记录?
为什么?
答:
不可能,因为投影运算会自动去掉投影后重复的记录。
9.利用衣3J0至3・12所示的三个关系,写出实现如下查询要求的关系代数农达式。
(1)查询“信息系”学生的选课情况,列出学号、姓名、课程号和成绩。
nSno,Sname.Cno.Grade(0Sdept='(S息采'(SC[x-Student))
或:
risno.Sname.Cno.Grade(SC0Sdept= (2)查询“VB”课程的考试情况,列出学生姓名、所在系和考试成绩。 FISname.Sdept.Grade(0Cname= 或: Tlsnanie,Sdept.Grade(0Cname= (3)查询考试成绩高于90分的学生的姓名、课程名和成绩。 nsname.Cname.Grade(0Grade>90(Courel>: 'SCtx'Student)) 或: Tlsnanw,Cnanw.Grade(Coure1X1OGrade>90(SC)xStudent) (4)查询至少选修f0512101号学生所选的全部课程的学生的姓名和所在系。 nSname,Sdept(Student1x1(SC4-11Cno(°sno才(SC)))) (5)查询至少选了“C01”和“C02”两门课程的学生的姓名、所在系和所选的课程号。 TISname.Sdept.Cno(StudentX(SC4-Tlsno(。 cno='C01'VCno='C02‘(SC)))) (6)查询没有选修第1学期开设的全部课程的学生的学号、姓名和所选的课程号。 risno,Sname.Cno(StudentSCE(flsno(SC)~Flsno(°seme5ter=l(Course)SC))) (7)查询计算机系和信息系选rVB课程的学生姓名。 nsname(°sdept=\iH机系'Vsdepi二有息小人cname^'vb(Student1X1SC^Course)) 或: Tlsnanw(0sdept=\iw机衬Vsdepi二冷息疯(Student)MSC1x3Ocname=,vb,(Course)) 第4章SQLServer2012基础 1.安装SQLServer2012对破盘及内存的要求分别是什么? 答: SQLServer2012实际駛盘空间需求取决于系统配置和您决定安装的功能,•般应确保系统驱动器中是否有至少6.0GB的可用磯盘空间。 内存: Express版本: 最少512MB: 其他版本: 最少1GB。 2.SQLServer实例的含义是什么? 实例名的作用是什么? 答: •个实例代农•个独立的数据库管理系统。 实例名是实例的标识,用户通过“计算机名/实例名”的方式可访问指定的命令实例。 3.SQLServer2012的核心引擎是什么? 答: SQLServer(MSSQLSERVER) 5.在SQLServer2012中,每个数据库至少包含几个文件? 答: 2个文件,•个数据文件,一个日志文件 6.SQLServer2012数据脖文件分为几类? 每个文件有哪些属性? 答: 主耍数据文件和次要数据文件,属性有: 物理文件名及其位置、逻辑文件名、初始人小、增长方式、最大大小。 第5章数据类型及关系表创建 1.Tinyint数据类型定义的数据的取值范围是多少? 答: 0-255 2.SmallDatatime类型精确到哪个时间单位? 答: 分钟 3.定点小数类型numeric中的p和q的含义分别是什么? 答: p代衣整数位数+小数位数的和值,q代衣小数位数。 4.Char(n)、nchar(n)的区别是什么? 它们各能存放多少个字符? 答: Char(n)中的n代农能存放n个字节的字符,如果是字母可以存放n个,如果是汉字可存放n/2个。 Nchar(n)中的n代农能存放的字符个数。 5.Char(n)和varchar(n)的区别是什么? 答: Char(n)是定长存储,淀占n个字节的空间。 Varchar(n)代衣最多占n个字节的空间。 6.数据完整性约束的作用对象有哪些? 答: 农和列 7.CHECK约束的作用是什么? 答: 限制列的取值范围。 8.UNIQUE约束的作用是什么? 答: 限制列取值不重。 9.DEFAULT约束的作用是什么? 答: 提供列的默认值。 上机练习 I.在第4章创建的Students数据库中,写出创建如下三张衣的SQL语句,要求在定义衣的同时定义数据的完整性约束: (1)“图书”农结构如下: 书号: 统-字符编码定长类型,长度为6,主键; 书名: 统•字符编码可变长类型,长度为30,非空; 第•作者: 普通编码定长字符类型,长度为10,非空: 出版日期: 小日期时间型: 价格: 定点小数,小数部分1位,整数部分3位。 createtable图书( 书号nchar6primarykey, 书需nvarchar30notnull, 第一作者char10notnull, 出版日期smalldate, 价格numeric41 ) (2)“书店”衣结构如下: 书店编号: 统-字符编码定长类型,长度为6,主键: 店名: 统…字符编码可变长类型,长度为30,非空: 电话: 普通编码定长字符类型,8位长,每•位的取值均是0〜9的数字: 地址: 普通编码可变长字符类型,40位长。 邮政编码: 普通编码定长字符类型,6位长。 createtable书店( 书店编号nchar6primarykey, 店需nvarchar30notnull 电话char(8)check(电话like*[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]*),地址varchar40, 邮政编码char6 ) (3)“图书销售”农结构如下: 书号: 统-字符编码定长类型,长度为6,非空; 书店编号: 统•字符编码定长类型,长度为6,非空: 销售日期: 小日期时间型,非空: 销售数量: 小整型,大于等于1。 主键为(书号,书店编号,销售日期〉: 其中“书号”为引用“图书衣”的“书号”的外键; “书店编号”为引用“书店衣”的“书店编号”的外键。 createtable图书销售( 书号nchar6notnull, 书店编号nchar6notnull, 销售日期samlldate, 销售数量smallintcheck;销售数量>=1), primarykey: 书号,书店编号,销售日期), foreignkey: 书号〕references图书「书号), foreignkey(书店编号)references书店(书店编号) ) 2.为图书农添加“印刷数量”列,类型为整数,同时添加取值大于等于1000的约束。 Altertable图书add印刷数虽intcheck(印刷数虽=1000 3.删除书店农中的“邮政编码”列。 Altertable书店dropcolunin邮政编码 4.将图书销售农中的“销售数量”列的数据类型改为整型。 Altertable图书altercolumn销售数虽int 第6章数据操作语句 1.简单说明SELECT语句中,FROM、WHERE、GROUPBY.HAVING/句的作用。 答: FROMJ‘•句指定数据来自的衣,WHEREf句指定行数据的筛选条件,GROUPBY/句指定用于分组的列,HAVING子句用于对分组后的统计值进行筛选。 2.简单说明COUNT(*)与COUNT(列名)的区别。 答: COUNTS)用于统计行的个数,并且不忽略NULL: COUNT(列名)用于统计该列中非空值个数,这个函数会去掉NULL。 3.在聚合函数中,不忽略空值的函数是哪个? 答: COUNT(*) 4.哪些数据类型的列可以使用SUM(列名)和AVG(列名)函数? 答: 数值类型的列 5.外连接和内连接的区别是什么? 答: 外连接结果会包含连接中•个衣的全部数据,内连接结果是只包含两个农中满足连接条件的数据。 6.TOP子句的作用是什么? 答: 限定取査询结果中的前若干行数据。 7.DISTINCT了句的作用是去掉衣中的重复行数据,这个说法对吗? 答: 应该是去掉査询结果中的重复行数据。 8.简单说明嵌套子査询的执行顺序。 答: 碳套了査询是先执行了査询,然后在根据/査询结果执行外层查询。 上机练习 1.查询学生选课农中的全部数据。 答: select*fromSC 2.查询计算机系的学生姓名、年龄。 答: selectsnamezsagefromstudentwhereadept='计算机系 3.查询成绩在70〜80分之间的学生学号、课程号和成绩。 答: selectsnozeno,gradefromsc wheregradebetween70and80 4.查询计算机系年龄在18〜20且性别为“男”的学生姓名、年龄。 答: selectsnamezsagefromstudent wheresdept='计算机系' andsagebetv/een18and20andssex=■男■ 5.查询“cOl”课程最高分。 答: selectmax(grade)fromscwhereeno=*C011 6.查询计算机系学生的最大年龄和最小年龄。 答: selectmax(sage)asmax__age,min(sage)asmintage fromstudent whereadept='计算机系' 7.统计每个系的学生人数。 答: selectadept,count(*)‘7生人数fromstudent groupbyadept 8.统计每个学生的选课门数和考试总成绩,并按选课门数升序显示结果(不包扌舌没选课的学生)。 答: selectsno,count(*)选课门数,sum(grade)考试总成绩 fromsc groupbysno orderbycount(*)asc 9.查询总成绩超过200分的学生,列出学号、总成绩。 答: selectsno,sum(grade)总成纟贞fromsc groupbysno havingsum(grade)>200 10.査询选了“c02”课程的学生姓名和所在系。 答: selectsnamezadept fromstudentsjoinscons・sno=so.sno whereeno=1C021 11.査询成绩80分以上的学生姓名、课程号和成绩,并按成绩降序押: 列结果。 答: selectsname,eno,grade fromstudentsjoinscons・sno=so.sno wheregrade>80orderbygradedesc 12.査询哪些学生没有选课,要求列出学号、姓名和所在系。 答: selects・sno,sname,adept fromstudentsleftjoinscons・sno=so.sno Whereso.snoisnull 13.统计每门课程的选课人数,列出课程号和选课人数。 (包括没人选的课程)答: selectc・cnozcount(sc・ono)选课人数 fromcoursecleftjoinscono・ono=so.ono Groupbyo・ono 14.査询与VB在同•学期开设的课程的课程名和开课学期。 答: select・cnamezc2.SEmmstE工 fromcoursecljoincoursec2onol・semester=o2・semester Whereol・oname=1VB*andol・oname! =*VB* 15.査询与李勇年龄相同的学生的姓名、所在系和年龄。 答: selectS2・SnamezS2・Sdept,S2・sage fromstudentsijoinstudents2onsl・sage=s2・sage Wheresl・sname='李勇'ands2・sname! ='李冉' 16.査询计算机系年龄最小的2名学生的姓名和年龄。 答: selecttop2withtiessname,sage fromstudent Whereadept='计算机系' Orderbysageasc 17.査询VB成绩最高的前2名学生的姓名、所在系和VB成绩,包括并列的情况。 答: selecttop2withtiessname,sdeptzgrade fromstudentsjoinscons・sno=so.sno Joincoursecono.ono=so.eno Wherecname=*VB* Orderbygradmdesc 18.査询选课门数最多的前2名学生的学号和选课门数,包括并列的情况。 答: selecttop2withtiessno,count(*)选课「J数 fromsc Groupbysno Orderbycount(*)desc 19.査询学生人数最多的系,列出系名和人数。 答: selecttop1withtiesadept,count(*)人数 fromstudent Groupbysdept Orderbycount(*)desc 20.用子查询实现如下査询: (1)查询选修了“cOl”号课程的学生姓名和所在系。 答: selectsnamezsdeptfromstudentwheresnoin( selectsnofromscwhereeno='C011) (2)查询数学系成绩80分以上的学生学号.姓名、课程号和成绩。 答: selectsno,sname,cnorgrade fromstudentsjoinscons.sno=sc.sno wheres・snoin( selectsnofromscwheregrade>80) andadept='数学系・ (3)查询汁算机系考试成绩最髙的学生姓爼。 答: selectsnamefromstudent wheresnoin( selecttop1snofromscjoinstudentsons・sno=so.snowhereadept=,计算机系, Orderbygradedesc) (4)查询数据结构考试成绩最髙的学生姓划、所在系、性別和成绩。 答: selectsname,sdeptzssex,grade fromstudentsjoinscons.sno=sc.sno wheres・snoin( Selecttop1snofromscjoincourseconc・eno=sc.enoWherecname='数据结构' Orderbygradedesc) 21.査询没选VB课程的学生姓需和所在系。 答: selectsname,sdeptfromstudent Wheresno
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 原理 应用 答案