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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

《数据库原理与应用教程》第4版习题参考答案文档格式.docx

1、9数据独立性指的是什么?它能带来哪些好处?数据独立性包括逻辑独立性和物理独立性两部分。物理独立性是指当数据的存储结构发生变化时,不影响应用程序的特性;逻辑独立性是指当表达现实世界的信息内容发生变化时,不影响应用程序的特性。这两个独立性使用户只需关心逻辑层即可,同时增强了应用程序的可维护性。10数据库系统由哪几部分组成,每一部分在数据库系统中的作用大致是什么?数据库系统一般包括3个主要部分:数据库、数据库管理系统和应用程序。数据库是数据的汇集,它以一定的组织形式保存在存储介质上;数据库管理系统是管理数据库的系统软件,它可以实现数据库系统的各种功能;应用程序专指以数据库数据为基础的程序。第2章 数

2、据库系统结构1解释数据模型的概念,为什么要将数据模型分成两个层次?数据模型实际上是模型化数据和信息的工具,在数据库中,数据模型要满足三个要求:第一,要能够比较真实地模拟现实世界;第二,要容易被人们理解;第三,要能够很方便地在计算机上实现。用一种模型来同时满足这三方面的要求比较困难,因此在在数据库系统中针对不同的使用对象和应用目的,采用了两种不同的数据模型来实现,一个是概念层数据模型,用来满足第一和第二个要求;另一个是组织层数据模型,用来满足第三个要求。2概念层数据模型和组织层数据模型分别是针对什么进行的抽象?概念层数据模型主要针对用户的业务进行抽象,组织层数据库模型主要针对具体的数据库管理系统

3、采用的数据组织方式进行抽象。3实体之间的联系有几种?分别是哪些?请为每一种联系举出一个例子。有三种:1:1;n;m:n。1示例:系和系主任。n示例:班和学生;教师和学生。4说明实体-联系模型中的实体、属性和联系的概念。实体是具有公共性质的并可相互区分的现实世界对象的集合。属性是实体所具有的特征或性质。联系是实体之间的关联关系。5指明下列实体间联系的种类:(1)教研室和教师(假设一个教师只属于一个教研室,一个教研室可有多名教师)。一对多。(2)商店和顾客。多对多。(3)国家和首都。一对一。6解释关系模型中的主码、外码、主属性、非主属性的概念,并说明主码、外码的作用。主码是用于唯一确定表中一个元组

4、的一个属性或最小的属性组。用于实现实体完整性。外码用于实现数据之间的关联关系(参照完整性)。主属性:候选键所包含的属性。非属性:主属性之外的其他属性。7指出下列关系模式的主码:(1)考试情况(课程号,考试性质,考试日期,考试地点)。假设一门课程在不同的日期可以有多次考试,但在同一天只能考一次。多门不同的课程可以同时进行考试。(课程号,考试日期)(2)教师授课(教师号,课程号,授课时数,学年,学期)。假设一名教师在同一个学年和学期可以讲授多门课程,也可以在不同学年和学期多次讲授同一门课程,对每门课程的讲授都有一个授课时数。(教师号,课程号,学年)(3)图书借阅(书号,读者号,借书日期,还书日期)

5、。假设一个读者可以在不同的日期多次借阅同一本书,一个读者可以同时借阅多本不同的图书,一本书可以在不同的时间借给不同的读者。但一个读者不能在同一天对同一本书借阅多次。(书号,读者号,借书日期)8设有如下两个关系模式,试指出每个关系模式的主码、外码,并说明外码的引用关系。产品表(产品号,产品名称,产品价格,生产日期),其中产品名称有重复。销售表(产品号,销售时间,销售数量),假设可同时销售多种产品,但同一产品在同一时间只销售一次。产品的主码:产品号,无外码。 销售的主码:(产品号,销售时间),其中产品号为引用产品表的外码。9关系模型的数据完整性包含哪些内容?分别说明每一种完整性的作用。包含:实体完

6、整性、参照完整性和用户定义的完整性。 实体完整性:作用是保证表中的不存储相同的数据,也不存储无意义的数据。参照完整性:用于描述实体之间的联系。用户定义的完整性:用于限定属性的取值范围,目的是保证数据库中存储的值与现实世界相符。10数据库系统包含哪三级模式?试分别说明每一级模式的作用?外模式、模式和内模式。外模式是对现实系统中用户感兴趣的整体数据结构的局部描述,用于满足不同用户对数据的需求。模式:是数据库中全体数据的逻辑结构和特征的描述,它满足所有用户对数据的需求。内模式:是对整个数据库的底层表示,它描述了数据的存储位置和存储方式。11数据库系统的两级映像的功能是什么?它带来了哪些好处?两级映像

7、是外模式/模式映像和模式/内模式映像。外模式/模式映像保证了当模式发生变化时可以保证外模式不变,从而是用户的应用程序不需要修改。模式/内模式映像保证了当内模式发生变化,比如存储位置或存储文件名改变,可以保持模式不变,从而使用户不需要知道这些变化。12数据库三级模式划分的优点是什么?它能带来哪些数据独立性?数据库三级模式的划分使用户可以在逻辑层处理数据,而不需要关心具体的物理细节,同时当内模式或模式发生变化时,可以通过模式之间的映像关系,保持外模式不变,从而避免了修改应用程序。三级模式以及三级模式之间的两级映像带来了数据的逻辑独立性和物理独立性。13简单说明数据库管理系统包含的功能。数据定义、数

8、据操纵、优化和执行、数据安全性和完整性、数据恢复和并发、尽可能高效的完成各种操作。第3章 SQL语言基础及数据定义功能1Tinyint数据类型定义的数据的取值范围是多少?0255。2日期时间类型中的日期和时间的输入格式是什么?在输入日期部分时可采用英文数字格式、数字加分隔符格式和纯数字格式。采用英文数字格式时,月份可用英文全名或缩写形式。 在输入时间部分时可以采用12小时格式或24小时格式。使用12小时制时要加上AM或PM说明是上午还是下午。在时与分之间可以使用冒号(:)作为分隔符3SmallDatatime类型精确到哪个时间单位?分钟。4定点小数类型numeric中的p和q的含义分别是什么?

9、p代表数字位长度,即整数部分和小数部分的数字位之和。q代表小数位数。5Char(10)、nchar(10)的区别是什么?它们各能存放多少个字符?占用多少空间?char(10)是普通编码,固定占10个字节,最多能存放10个字母或数字字符,5个汉字。Nchar(10)是统一字符编码,固定占20个字节,最多能存放10个字符(包括字母和汉字)。6Char(n)和varchar(n)的区别是什么?其中n的含义是什么?各占用多少空间?Char(n)是定长字符类型,varchar(n)是可变长字符类型。Char(n)中的n代表固定占n个字节的空间;varchar(n) 中的n代表最多占n个字节的空间。7数据

10、完整性的作用是什么?数据的完整性作用是防止数据库中存在不符合语义的数据。8在对数据进行什么操作时,系统检查DEFAULT约束?在进行什么操作时,检查CHECK约束?插入操作且省略了某些列的值时检查DEFAULT约束。插入和修改操作检查CHECK约束。9UNIQUE约束的作用是什么?限制列的取值不重复。10写出创建如下三张表的SQL语句,要求在定义表的同时定义数据的完整性约束。Create table 图书表( 书号 nchar(6) primary key, 书名 nvarchar(30) not null, 第一作者 char(10) not null, 出版日期 smalldatetime

11、, 价格: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; 销售数量 smalldatetime check(销售数量 = 1);11为“

12、图书表”添加“印刷数量”列,类型为整数,同时添加约束,要求此列的取值要大于等于1000。alter table 图书表 Add 印刷数量 int check(印刷数量 = 1000)12删除“书店表”中的“邮政编码”列。alter table 书店表 Drop column 邮政编码13将“图书销售表”中的“销售数量”列的数据类型改为整型。alter table 图书销售表 Alter column 销售数量 int第4章 数据操作1查询SC表中的全部数据。Select * from sc2查询计算机系学生的姓名和年龄。Select sname,sage from student where

13、sdept = 计算机系3查询成绩在7080分的学生的学号、课程号和成绩。Select sno,cno,grade from sc where grade between 70 and 804查询计算机系年龄在1820岁的男学生的姓名和年龄。Select sname,sage from student where sdept = 计算机系 and sage between 18 and 205查询课程号为“c001”的课程的最高的分数。Select max(grade) from sc where cno = C0016查询计算机系学生的最大年龄和最小年龄。Select max(sage) 最

14、大年龄,min(sage) 最小年龄 from student Where sdept = 计算机系7统计每个系的学生人数。Select sdept,count(*) 人数 from student Group by sdept8统计每门课程的选课人数和考试最高分。Select cno,count(*)选课人数,max(grade) 最高分 from sc Group by cno9统计每个学生的选课门数和考试总成绩,并按选课门数升序显示结果。Select sno,count(*) 选课门数, sum(grade) from sc Group by sno order by count(*)

15、asc10查询总成绩超过200分的学生,要求列出学号、总成绩。Select sno,sum(grade) 总成绩 from sc Group by sno having sum(grade) 20011. 查询选修“C002”号课程的学生的姓名和所在系。Select sname,sdept from student s join sc on s.sno=sc.sno Where cno = C00212查询成绩80分以上的学生的姓名、课程号和成绩,并按成绩降序排列结果。Select sname,cno,grade From student s join sc on s.sno = sc.sno

16、 Where grade 80 Order by grade desc13查询哪些课程没有学生选修,要求列出课程号和课程名。Select o,cname from course c left join sc on o = o Where o is null14查询与Java在同一学期开设的课程的课程名和开课学期。Select ame, c1.semester from course c1 join course c2 on c1.semester = c2.semester Where ame = Java and ame != Java15查询与李勇年龄相同的学生的姓名、所在系和年龄。Sel

17、ect s1.sname, s1.sdept,s1.sage from student s1 join student s2 on s1.sage = s2.sage Where s2.sname = 李勇 and s1.sname != 李勇16用子查询实现如下查询:(1)查询选修了“C001”号课程的学生的姓名和所在系。Select sname,sdept from student Where sno in (select sno from sc where cno = C001)(2)查询数学系成绩80分以上的学生的学号、姓名、课程号和成绩。Select sno,sname,cno, g

18、rade from student s Join sc on s.sno = sc.sno 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)

19、查询年龄最大的男学生的姓名和年龄。Select sname,sage from student Where sage = (select max(sage) from student where ssex = 男) and ssex = 男(5)查询数据结构考试成绩最高的学生的姓名、所在系、性别和成绩。Select sname,sdept,ssex,grade from student s Join sc on s.sno = sc.sno Join course c on o = oWhere cname = 数据结构And grade in ( Select max(grade) from

20、 sc join course c on o=o Where cname = 数据结构 )17. 查询没有选修Java课程的学生的姓名和所在系。 Where sno not in ( Select sno from sc join course c on o = o Where cname = Java )18查询计算机系没有选课的学生的姓名和性别。Select sname,ssex from student And sno not in ( Select sno from sc )19创建一个新表,表名为test_t,其结构为(COL1, COL 2, COL 3),其中,COL1:整型,允

21、许空值。COL2:字符型,长度为10,不允许空值。COL3:字符型,长度为10,允许空值。试写出按行插入如下数据的语句(空白处表示空值)。COL1COL2COL3B11B2C22B3Create 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)20删除考试成绩低于50分的学生的选课记录。Delete

22、 from sc where grade 5021删除没人选的课程的基本信息。Delete from course where cno not in( Select cno from course)22删除计算机系Java成绩不及格学生的Java选课记录。Delete from scFrom sc join student s on s.sno = sc.snoJoin course c on o = owhere cname = Java and grade = 2028. 查询计算机系每个学生的JAVA考试情况,列出学号、姓名、成绩和成绩情况,其中成绩情况的显示规则为:如果成绩大于等于90

23、,则成绩情况为“好”;如果成绩在8089,则成绩情况为“较好”;如果成绩在7079,则成绩情况为“一般”;如果成绩在6069,则成绩情况为“较差”;如果成绩小于60,则成绩情况为“差”。Select s.sno,sname,grade,成绩情况 = Case When grade = 90 then 好 When grade between 80 and 89 then 较好 When grade between 70 and 79 then 一般 When grade between 60 and 69 then 较差 Else 差endfrom student s join sc on s

24、.sno = sc.sno Where sdept 29. 统计每个学生的选课门数(包括没有选课的学生),列出学号、选课门数和选课情况,其中选课情况显示规则为:如果选课门数大于等于6门,则选课情况为“多”;如果选课门数超过在35门,则选课情况为“一般”;如果选课门数在12门,则选课情况为“偏少”。如果没有选课,则选课情况为“未选课”。30. 修改全部课程的学分,修改规则如下: 如果是第12学期开设的课程,则学分增加5分; 如果是第34学期开设的课程,则学分增加3分; 如果是第56学期开设的课程,则学分增加1分;对其他学期开设的课程,学分不变。Select s.sno,count(sc.sno)

25、 选课门数, 选课情况 = When count(sc.sno) = 6 then 多 When count(sc.sno) between 3 and 5 then 一般 When count(sc.sno) between 1 and 2 then 偏少 When count(sc.sno) = 0 then 未选课from student s left join sc on s.sno = sc.sno Group by s.sno31查询“李勇”和“王大力”所选的全部课程,列出课程名、开课学期和学分,不包括重复的结果。 Select cname,semester,credit from course c join sc on o = o Join student s on s.sno = sc.sno Where sname = 李勇 unionWhere sname = 王大力32查询在第3学期开设的课程中,“李勇”选了但“王大力”没选的课程,列出课程名和学分。 Select cname,semester,cre

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

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