ImageVerifierCode 换一换
格式:DOCX , 页数:35 ,大小:34.75KB ,
资源ID:27712042      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/27712042.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(习题参考答案.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

习题参考答案.docx

1、习题参考答案习题参考答案第1章 数据库概述1 文件管理方式在管理数据方面有哪些缺陷答:编写应用程序不方便,数据冗余不可避免,应用程序依赖性,不支持对文件的并发访问,数据间联系弱,难以按不同用户的愿望表示数据和无安全控制功能。2与2 文件管理相比,数据库管理有哪些优点答:将相互关联的数据集成在一起,具有较少的数据冗余,程序与数据相互独立,保证数据的安全可靠,最大限度地保证数据的正确性,数据可以共享并能保证数据的一致性。3比较文件管理和数据库管理数据的主要区别。答:数据库系统与文件系统相比实际上是在应用程序和存储数据的数据库之间增加了一个系统软件,即数据库管理系统,使得以前在应用程序中由开发人员实

2、现的很多繁琐的操作和功能,都可以由这个系统软件完成,这样应用程序不再需要关心数据的存储方式,而且数据的存储方式的变化也不再影响应用程序。而在文件系统中,应用程序和数据的存储是紧密相关的,数据的存储方式的任何变化都会影响到应用程序,因此不利于应用程序的维护。4数据库管理方式中,应用程序是否需要关心数据的存储位置和结构为什么答:不需要。因为在数据库系统中,数据的存储位置以及存储结构保存在数据库管理系统中,从数据到物理存储位置的转换是由数据库管理系统自动完成的。5在数据库系统中,数据库的作用是什么答:在数据库系统中,数据库是存放数据的场所。6在数据库系统中,应用程序可以不通过数据库管理系统而直接访问

3、数据库文件吗答:不能。7数据独立性指的是什么它能带来哪些好处答:数据独立性指的是数据的逻辑独立性和物理独立性。逻辑独立性带来的好处是当表达现实世界信息的逻辑结构发生变化时,可以不影响应用程序;物理独立性带来的好处是当数据的存储结构发生变化时,可以不影响数据的逻辑组织结构,从而也不影响应用程序。8数据库系统由哪几部分组成,每一部分在数据库系统中的作用大致是什么1 答:数据库系统由三个主要部分组成,即数据库、数据库管理系统和应用程序。数据库是数据的汇集,它以一定的组织形式存于存储介质上;数据库管理系统是管理数据库的系统软件,它可以实现数据库系统的各种功能;应用程序指以数据库数据为核心的应用程序。9

4、在文件服务器结构和客户/服务器结构中,对数据的处理有什么区别答:在文件服务器结构中,对数据的处理主要是在客户端完成的。而在客户/服务器结构中,对数据的处理主要是在服务器端完成的。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 Tinyint数据类型定义的数据的取值范围是多少答:0255。3 日

11、期时间类型中的日期和时间的输入格式是什么答:一般来说年、月、日中间用“/”或“-”分隔符分隔,时间中的时、分、秒用“:” 分隔,毫秒与秒之间用“.”分隔。日期和时间中间用空格分隔,且日期和时间均括在单引号中。4 SmallDatatime类型精确到哪个时间单位答:分钟。5 定点小数类型numeric中的p和q的含义分别是什么答:p是数字位个数(包括小数位数和整数位数),q是小数位数。6 货币数据类型精确到小数点几位 答:4位。7 Char(10)、nchar(10)的区别是什么它们各能存放多少个字符占用多少空间答:两者使用的编码方式不同,char类型是单字节编码方式,而且不同的字符使用的编码方

12、不同;而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)“图书表”结构如下: 书号:统一字符编码定长类型,长度为6,主键; 书名:统一字符编码可变长类型,长度为30,非空; 第一作

14、者:普通编码定长字符类型,长度为10,非空; 出版日期:小日期时间型; 价格:定点小数,小数部分1位,整数部分3位。(2)“书店表”结构如下: 书店编号:统一字符编码定长类型,长度为6,主键; 店名:统一字符编码可变长类型,长度为30,非空; 电话:普通编码定长字符类型,8位长,每一位的取值均是09的数字; 地址:普通编码可变长字符类型,40位长。 邮政编码:普通编码定长字符类型,6位长。(3)“图书销售表”结构如下: 书号:统一字符编码定长类型,长度为6,非空; 书店编号:统一字符编码定长类型,长度为6,非空; 销售日期:小日期时间型,非空; 销售数量:小整型,大于等于1。 主键为(书号,书

15、店编号,销售日期); 其中“书号”为引用“图书表”的“书号”的外键;“书店编号”为引用“书店表”的“书店编号”的外键。答: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 null, 电话 char(8) check (电话 like 0-90-90-90-9

16、0-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(书店编号) references 书店表(书店编号)13为第12题的图书表添加“印刷数量”列,类型为整数,同时添加

17、约束,要求此列的取值要大于等于1000。答:ALTER TABLE 图书表 ADD 印刷数量 int check (印刷数量=1000)14删除第12题的“书店表”中的“邮政编码”列。答:ALTER TABLE 书店表 DROP COLUMN 邮政编码15将第12题的“图书销售表”中的“销售数量”列的数据类型改为整型。答:ALTER TABLE 图书销售表 ALTER COLUMN 销售数量 int16索引的作用是什么分为哪几种类型答:索引的作用是为了加快数据的查询速度。索引分为聚集索引和非聚集索引两种。17在一个表上可以创建几个聚集索引可以创建多个非聚集索引吗答:在一个表上只能创建一个聚集索

18、引。可以创建多个非聚集索引。18聚集索引一定是唯一索引,对吗反之呢答:不对。唯一索引可以是聚集的也可以是非聚集的。19在建立聚集索引时,系统是真正将数据按聚集索引列进行物理排序,对吗在建立非聚集索引时呢情况又如何答:对。但在建立非聚集索引时,系统并不物理地调整数据的排列顺序。20在第12题的图书表的“第一作者”列上建立一个非聚集索引。答:CREATE INDEX indAuthor ON 图书表 (第一作者)21在第12题的书店表的“电话”列上建立一个聚集的唯一索引。答:CREATE UNIQUE CLUSTERED INDEX indPhone ON 书店表(电话)22在第12题的图书销售表

19、的“书号”和“销售日期”两个列上建立一个非聚集索引。答: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 between 70 and 804查询计算机系年龄在1820岁的男学生的姓名和年龄。答:select sna

20、me,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统计每个系的学生人数。答:select sdept,count(*) from student group by sd

21、ept8统计每门课程的选课人数和考试最高分。答: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 by sno having sum(grade) 20011查询选修C002课程的学生的姓名和所在系。

22、答:select sname,sdept from student s join sc on = where cno = C00212查询成绩80分以上的学生的姓名、课程号和成绩,并按成绩降序排列结果。答:select sname,cno,grade from student s join sc on = where grade 80 order by grade desc13查询哪些课程没有学生选修,要求列出课程号和课程名。答:select ,cname from course c left join sc on = where is null14查询计算机系哪些学生没有选课,列出学生姓名。

23、答:select sname from student s left join sc on = Where sdept = 计算机系 and is null15用子查询实现如下查询:(1)查询选修C001课程的学生的姓名和所在系。答:select sname,sdept from student where sno in( select sno from sc where cno = C001)(2)查询通信工程系成绩80分以上的学生的学号和姓名。答:select sno,sname from student where sno in( select sno from sc where gra

24、de 80) and sdept = 通信工程系 (3)查询计算机系考试成绩最高的学生的姓名。答:select sname from student s join sc on = where sdept = 计算机系 and grade = (select max(grade) from sc join student s on = where sdept = 计算机系)(4)查询年龄最大的男学生的姓名和年龄。答:select sname,sage from student Where sage = (select max(sage) from student and ssex = 男) an

25、d 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, COL 2, COL 3),其中,COL1:整型,允许空值。COL2:字符型,长度为10,不允许空值。COL3:字符型,长度为10,允许空值。试写出按行插入如下数据的语句(空白处表示空值)。COL1COL2COL3B11B2C22B3答:create

26、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) 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 FROM V3 JOIN Student S on = WHERE total 3 and Sdept = 计算机系(4)查询修课总学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1