(完整版)数据库原理与应用习题参考答案.pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《(完整版)数据库原理与应用习题参考答案.pdf》由会员分享,可在线阅读,更多相关《(完整版)数据库原理与应用习题参考答案.pdf(18页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第 1 章 数据库概述 1与文件管理相比,数据库管理有哪些优点?答:(1)相互关联的数据集合;(2)较少的数据冗余;(3)程序与数据相互独立;(4)保证数据的安全可靠;(5)最大限度地保证数据的正确性;(6)数据可以共享并能保证数据的一致性。2比较文件管理和数据库管理数据的主要区别。答:文件系统不能提供数据的独立性,也不能提供数据共享、安全性等功能,这些需要客户端编程实现。而数据库管理系统可以很方便地提供这些功能。3在数据库管理方式中,应用程序是否需要关心数据的存储位置和结构?为什么?答:不需要。因为这些都由数据库管理系统来维护。4在数据库系统中,数据库的作用是什么?答:数据库是存储数据的仓库
2、,其作用是存储数据。5在数据库系统中,应用程序可以不通过数据库管理系统而直接访问数据库文件吗?答:不可以。6数据独立性指的是什么?它能带来哪些好处?答:数据独立性包括逻辑独立性和物理独立性两部分。物理独立性是指当数据的存储结构发生变化时,不影响应用程序的特性;逻辑独立性是指当表达现实世界的信息内容发生变化时,不影响应用程序的特性。这两个独立性使用户只需关心逻辑层即可,同时增强了应用程序的可维护性。7数据库系统由哪几部分组成,每一部分在数据库系统中的作用大致是什么?答:数据库系统一般包括 3 个主要部分:数据库、数据库管理系统和应用程序。数据库是数据的汇集,它以一定的组织形式保存在存储介质上;数
3、据库管理系统是管理数据库的系统软件,它可以实现数据库系统的各种功能;应用程序专指以数据库数据为基础的程序 8在文件服务器结构和客户/服务器结构中,对数据的处理有什么区别?答:在文件服务器结构中,数据的处理是在客户端完成的,而在客户/服务器结构中,对数据的处理是在服务器端完成的,服务器返回给客户端的是处理后的结果。第 2 章 数据模型与数据库系统结构 1解释数据模型的概念,为什么要将数据模型分成两个层次?答:数据模型实际上是模型化数据和信息的工具,在数据库中,数据模型要满足三个要求:第一,要能够比较真实地模拟现实世界;第二,要容易被人们理解;第三,要能够很方便地在计算机上实现。用一种模型来同时满
4、足这三方面的要求比较困难,因此在在数据库系统中针对不同的使用对象和应用目的,采用了两种不同的数据模型来实现,一个是概念层数据模型,用来满足第一和第二个要求;另一个是组织层数据模型,用来满足第三个要求。2概念层数据模型和组织层数据模型分别是针对什么进行的抽象?1 答:概念层数据模型主要针对用户的业务进行抽象,组织层数据库模型主要针对具体的数据库管理系统采用的数据组织方式进行抽象。3实体之间的联系有几种?分别是哪些?请为每一种联系举出一个例子。答:有三种:1:1;1:n;m:n。1:1 示例:系和系主任。1:n 示例:班和学生;m:n 示例:教师和学生。4说明实体-联系模型中的实体、属性和联系的概
5、念。答:实体是具有公共性质的并可相互区分的现实世界对象的集合。属性是实体所具有的特征或性质。联系是实体之间的关联关系。5指明下列实体间联系的种类:(1)教研室和教师(假设一个教师只属于一个教研室,一个教研室可有多名教师)。答:一对多。(2)商店和顾客。答:多对多。(3)国家和首都。答:一对一。6解释关系模型中的主键、外键的概念,并说明主键、外键的作用。答:主键是用于唯一确定表中一个元组的一个属性或最小的属性组。外键用于实现数据之间的关联关系(参照完整性)。7指出下列关系模式的主键:教师授课表(教师号,课程号,学年,授课时数)。假设一个教师可以在同一个学年讲授多门课程,一门课程也可以在同一个学年
6、由多名教师讲授,但一个教师在一个学年对一门课程只讲授一次,每一次讲授有一个唯一的授课时数。答:(教师号,课程号,学年)8设有如下两个关系模式,试指出每个关系模式的主键、外键,并说明外键的引用关系。产品表(产品号,产品名称,产品价格,生产日期),其中产品名称有重复。销售表(产品号,销售时间,销售数量),假设可同时销售多种产品,但同一产品在同一时间只销售一次。答:产品的主键:产品号,无外键。销售的主键:(产品号,销售时间),其中产品号为引用产品表的外键。9关系模型的数据完整性包含哪些内容?分别说明每一种完整性的作用。答:包含:实体完整性、参照完整性和用户定义的完整性。实体完整性:作用是保证表中的不
7、存储相同的数据,也不存储无意义的数据。参照完整性:用于描述实体之间的联系。用户定义的完整性:用于限定属性的取值范围,目的是保证数据库中存储的值与现实世界相符。10数据库系统包含哪三级模式?试分别说明每一级模式的作用?答:外模式、模式和内模式。外模式是对现实系统中用户感兴趣的整体数据结构的局部描述,用于满足不同用户对数据的需求。模式:是数据库中全体数据的逻辑结构和特征的描述,它满足所有用户对数据的需求。内模式:是对整个数据库的底层表示,它描述了数据的存储位置和存储方式。11数据库系统的两级映像的功能是什么?它带来了哪些好处?答:两级映像是外模式/模式映像和模式/内模式映像。外模式/模式映像保证了
8、当模式发生变化时可以保证外模式不变,从而是用户的应用程序不需要修改。模式/内模式映像保证了当内模式发生变化,比如存储位置或存储文件名改变,可以保持模式不变,从而使用户不需要知道这些变化。12数据库三级模式划分的优点是什么?它能带来哪些数据独立性?答:数据库三级模式的划分使用户可以在逻辑层处理数据,而不需要关心具体的物理细节,同时当内模式或模式发生变化时,可以通过模式之间的映像关系,保持外模式不变,从而避免了修改应用程序。三级模式以及三级模式之间的两级映像带来了数据的逻辑独立性和物理独立性。第 3 章 SQL 语言基础及数据定义功能 1T-SQL 支持哪几种数据类型?答:字符串型、数值型、日期时
9、间型和货币类型。2Tinyint 数据类型定义的数据的取值范围是多少?答:0255。3日期时间类型中的日期和时间的输入格式是什么?答:在输入日期部分时可采用英文数字格式、数字加分隔符格式和纯数字格式。采用英文数字格式时,月份可用英文全名或缩写形式。在输入时间部分时可以采用 12 小时格式或 24 小时格式。使用 12 小时制时要加上 AM 或 PM 说明是上午还是下午。在时与分之间可以使用冒号(:)作为分隔符 4SmallDatatime 类型精确到哪个时间单位?答:分钟。5定点小数类型 numeric 中的 p 和 q 的含义分别是什么?答:p 代表数字位长度,即整数部分和小数部分的数字位之
10、和。q 代表小数位数。6货币数据类型精确到小数点几位?答:精确到小数点后 4 位。7Char(10)、nchar(10)的区别是什么?它们各能存放多少个字符?占用多少空间?答:char(10)是普通编码,固定占 10 个字节,最多能存放 10 个字母或数字字符,5 个汉字。Nchar(10)是统一字符编码,固定占 20 个字节,最多能存放 10 个字符(包括字母和汉字)。8Char(n)和 varchar(n)的区别是什么?其中 n 的含义是什么?各占用多少空间?答:Char(n)是定长字符类型,varchar(n)是可变长字符类型。Char(n)中的 n 代表固定占 n 个字节的空间;var
11、char(n)中的 n 代表最多占 n 个字节的空间。9数据完整性的作用是什么?答:数据的完整性作用是防止数据库中存在不符合语义的数据。10 在对数据进行什么操作时,系统检查 DEFAULT 约束?在进行什么操作时,检查 CHECK3 约束?答:插入操作且省略了某些列的值时检查 DEFAULT 约束。插入和修改操作检查 CHECK 约束。11UNIQUE 约束的作用是什么?答:限制列的取值不重复。12写出创建如下三张表的 SQL 语句,要求在定义表的同时定义数据的完整性约束。答:Create table 图书表(书号 nchar(6)primary key,书名 nvarchar(30)not
12、 null,第一作者 char(10)not null,出版日期 smalldatetime,价格:numeric(4,1)Create table 书店表(书店编号 nchar(6)primary key,店名 nvarchar(30)not null,电话 char(8)check(电话 like 0-90-90-90-90-90-90-9 0-9),地址 varchar(40),邮政编码 char(6)Create table 图书销售表(书号 nchar(6)not null,书店编号 nchar(6)not null,销售日期 smalldatetime no tnull;销售数量
13、smalldatetime check(销售数量=1);)13为第 12 题的“图书表”添加“印刷数量”列,类型为整数,同时添加约束,要求此列的取值要大于等于 1000。答:alter table 图书表 Add 印刷数量 int check(印刷数量=1000)14删除第 12 题的“书店表”中的“邮政编码”列。答:alter table 书店表 Drop column 邮政编码 15将第 12 题的“图书销售表”中的“销售数量”列的数据类型改为整型。答:alter table 图书销售表 Alter column 销售数量 int 第 4 章 数据操作 1查询 SC 表中的全部数据。Sel
14、ect*from sc 2查询计算机系学生的姓名和年龄。Select sname,sage from student where sdept=计算机系 3查询成绩在 7080 分的学生的学号、课程号和成绩。Select sno,cno,grade from sc where grade between 70 and 80 4查询计算机系年龄在 1820 岁的男学生的姓名和年龄。Select sname,sage from student where sdept=计算机系 and sage between 18 and 20 5查询“C001”号课程的最高分。Select max(grade)f
15、rom sc where cno=C001 6查询计算机系学生的最大年龄和最小年龄。Select max(sage)最大年龄,min(sage)最小年龄 from student Where sdept=计算机系 7统计每个系的学生人数。Select sdept,count(*)人数 from student Group by sdept 8统计每门课程的选课人数和考试最高分。Select cno,count(*)选课人数,max(grade)最高分 from sc Group by cno 9统计每个学生的选课门数和考试总成绩,并按选课门数升序显示结果。Select sno,count(*)
16、选课门数,sum(grade)from sc Group by sno order by count(*)asc 10查询选修“C002”号课程的学生的姓名和所在系。Select sname,sdept from student s join sc on s.sno=sc.sno Where cno=C002 11查询计算机系年龄最大的前 2 位学生,列出姓名和年龄。Select top 2 sname,sage from student Where sdept=计算机系 Order by sage desc 12查询学分最高的前 3 门课程(包括并列的情况),列出课程名、学分和开课学期。Se
17、lect top 3 with ties cname,credit,semester From course Order by credit desc 13查询成绩 80 分以上的学生的姓名、课程号和成绩,并按成绩降序排列结果。Select sname,cno,grade From student s join sc on s.sno=sc.sno Where grade 80 Order by grade desc 14查询哪些课程没有学生选修,要求列出课程号和课程名。Select o,cname from course c left join sc on o=o Where o is nu
18、ll 5 15查询计算机系哪些学生没有选课,列出学生姓名。Select sname from student s left join sc on s.sno=sc.sno Where sdept=计算机系 and sc.sno is null 16用子查询实现如下查询:(1)查询选修了“C001”号课程的学生的姓名和所在系。Select sname,sdept from student Where sno in(select sno from sc where cno=C001)(2)查询通信工程系成绩 80 分以上的学生的学号和姓名。Select sno,sname from student
19、 Where sdept=通信工程系 and sno in(Select sno from sc where grade 80)(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.sno Where sdept=计算机系)(4)查询年龄最大的男学生的姓名和年龄。Select sname,sage from student Where sage
20、=(select max(sage)from student where ssex=男)and ssex=男(5)查询“C001”号课程的考试成绩高于该课程平均成绩的学生的学号和成绩。Select sno,grade from sc Where cno=C001 and grade(Select avg(grade)from sc where cno=C001)17创建一个新表,表名为 test_t,其结构为(COL1,COL 2,COL 3),其中,COL1:整型,允许空值。COL2:字符型,长度为 10,不允许空值。COL3:字符型,长度为 10,允许空值。试写出按行插入如下数据的语句(空
21、白处表示空值)。COL1 COL2 COL3 B1 1 B2 C2 2 B3 Create table test_t(COL1 int,COL2 char(10)not null,COL3 char(10)Insert into test_t(COL2)values(B1)Insert into test_t(COL1,COL2)values(1,B2)Insert into test_t values(2,B3,NULL)18删除成绩小于 50 分的学生的选课记录。Delete from sc where grade 50 19删除计算机系 VB 考试成绩不及格学生的 VB 选课记录。Del
22、ete from sc From sc join student s on s.sno=sc.sno Join course c on o=o where cname=VB and grade、=、和=60 Group by sno 13利用第 12 题建立的视图,完成如下查询:(1)查询考试成绩大于等于 90 分的学生的姓名、课程名和成绩。Select sname,cname,grade From v2 where grade=90 (2)查询选课门数超过 3 门的学生的学号和选课门数。Select*from v3 where total=3 (3)查询计算机系选课门数超过 3 门的学生的姓
23、名和选课门数。Select sname,total from v3 join student s on s.sno=v3.sno Where sdept=计算机系 and total=3 (4)查询修课总学分超过 10 分的学生的学号、姓名、所在系和修课总学分。Select v4.sno,sname,sdept,total_credit From v4 join student s on s.sno=v4.sno Where total_credit=10 (5)查询年龄大于等于 20 岁的学生中,修课总学分超过 10 分的学生的姓名、年龄、所在系和修课总学分。Select sname,sag
24、e,sdept,total_credit From v4 join student s on s.sno=v4.sno Where sage=20 and total_credit=10 14修改 12 题(4)定义的视图,使其查询每个学生的学号、总学分以及总的选课门数。Alter view v4 As Select sno,sum(credit)as total_credit,count(*)as total_cno From sc join course c on o=o Group by sno 第 6 章 关系数据库规范化理论 1 关系规范化中的操作异常有哪些?它是由什么引起的?解决的
25、办法是什么?答:主要有插入异常、删除异常和修改异常,这些都是由数据冗余引起的,解决的办法是进行模式分解,消除数据冗余。2.第一范式、第二范式和第三范式的关系的定义分别是什么?答:第一范式:不包含重复组的关系(即不包含非原子项的属性)是第一范式的关系。第二范式:如果 R(U,F)1NF,并且 R 中的每个非主属性都完全函数依赖于主键,则 R(U,F)2NF。9 第三范式:如果 R(U,F)2NF,并且所有的非主属性都不传递依赖于主键,则R(U,F)3NF。3.什么是部分函数依赖?什么是传递函数依赖?请举例说明。答:部分函数依赖:如果 XY,并且对于 X 的一个任意真子集 X有 XY 成立,则称Y
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完整版 数据库 原理 应用 习题 参考答案
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内