222wan

导航

数据库课后题

数据库系统原理课后习题

第一章:

  1. 数据是描述事物的符号记录数据库是长期存储在计算机中的有组织的、可共享的大量数据的集合。数据库管理系统是一个专门用于实现对数据进行管理和维护的系统软件。
    数据库系统是指在计算机中引入数据库后的系统,一般由数据库、数据库管理系统(及相关的实用工具)、应用程序、数据库管理员组成。

 

  1. 与文件系统管理数据相比,数据库系统管理数据带来了如下好处:将相互关联的数据集成在一起,较少的数据冗余,程序与数据相互独立,保证数据的安全可靠,最大限度地保证数据的正确性,数据可以共享并能保证数据的一致性。

 

  1. 将相互关联的数据集成在一起,具有较少的数据冗余,程序与数据相互独立,保证数据的安全可靠,最大限度的保证数据的正确性,数据可以共享并能保证数据的一致性。
  2. 数据的逻辑结构与物理结构相互相互度独立,DB的数据结构,结构改变是,不影响因应程序,数据库与存储设备之前相互独立。

第二章:

  1. 概念层数据模型是对现实世界的抽象,形成信息世界模型,组织层数据模型是对信息世界进行抽象和转换,形成具体的DBMS支持的数据组织模型。

 

  1. 实体。实体是具有公共性质、并可相互区分的现实世界对象的集合,或者说是具有相同结构的对象的集合。
    (2)属性。每个实体都具有一定的特征或性质,这样我们才能根据实体的特征来区分一个个实例。
    (3)联系。在现实世界中,事物内部以及事物之间是有联系的,这些联系在信息世界反映为实体内部的联系和实体之间的联系。

 

5.1)教研室和教师(设一个教师只属于一个教研室,一个教研室可有多名教师)。
2)商品和顾客。
3)国家和首都(假设一个国家的首都可以变化)。
4)飞机和乘客。
5)银行和账户。
6)图书和借阅者。(设一个借阅者可同时借阅多本书,可在不同时间对同一本书借阅多次)

6.数据库系统包含的三级模式为:内模式、模式和外模式。外模式是对现实系统中用户感兴趣的整体数据结构的局部描述,用于满足不同数据库用户需求的数据视图,是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是对数据库整体数据结构的子集或局部重构。模式是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。内模式是对整个数据库的底层表示,。

 

9.所谓数据库完整性,是衡量数据库数据质量好坏的一种标志,是确保数据库中数据的一致,正确性以及符合企业规则的一种思想,是使无序数据条理化,确保正确的数据被存放在正确位置的一种手段。数据库的完整性是指数据的正确性和相容性。

10..数据库系统包含的三级模式为:内模式、模式和外模式。外模式是对现实系统中用户感兴趣的整体数据结构的局部描述,用于满足不同数据库用户需求的数据视图,是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是对数据库整体数据结构的子集或局部重构。模式是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。内模式是对整个数据库的底层表示,。

 

 

11.外模式和模式映像模式和内模式映像

 

12.数据库的三级模式的划分实际上将用户、逻辑数据库与物理数据库进行了划分,使彼此之间的相互干扰减到最少。这三个模式的划分实际上带来了两个数据独立性:物理独立性和逻辑独立性。这使得底层的修改和变化尽量不影响到上层。

第三章:

是撒10.create table book

(

Buid  varchar(6) primary key,

Name  varchar(30) not null,

Althor   char(10)  not null,

Come_day   small datetime ,

Price   numeric(4,1)

)

create  table sale

(

Uid  nchar(6) primary key,

Name  nvarchar(30) not null,

Phone  char(8) ,

Address  Varchar(40),

Bianma   char(6)

)

Create table bsale

(

Bnum  nchar(6)  not null,

Suid  nvarchar(6)  not null,

Sdate  small datetime,

Snum  small int

 

)

11.alter table book add printnum int

12.alter table sale

Drop column Bianma

  1. alter table bsale

Alter column snum int

 

第四章:

13.SELECT Student.Sno, Student.Sname, Student.Sdept FROM Student
LEFT JOIN SC ON SC.Sno = Student.Sno
WHERE SC.Cno IS NULL14.

14.SELECT Cname, Semester FROM Course
WHERE Semester IN (
SELECT Semester FROM Course WHERE Cname = 'Java')
AND Cname != 'Java'

 

16.(1)SELECT DISTINCT Student.Sname, Student.Sdept FROM Student
JOIN SC ON SC.Sno = Student.Sno
WHERE SC.Sno IN(
SELECT Sno FROM SC WHERE Cno = 'c001')

21. DELETE FROM Course WHERE Cno NOT IN (SELECT Cno FROM SC)

SELECT * FROM Course

第五章:

是撒1.利用视图可以简化客户端的数据查询语句,使用户能从多角度看待同一数据,可以提高数据的安全性,视图对应数据库三级模式中的外模式,因此提供了一定程度的逻辑独立性。

3.1)查询学生的学号、姓名、所在系、课程号、课程名、课程学分。

答:Create view v1 As

Select s.sno,sname,sdept,c.cno,cname,credit

From student s join sc on s.sno = sc.sno

Join course c on c.cno = sc.cno

 

2)查询学生的学号、姓名、选修的课程名和考试成绩。

答:Create view v2 As

Select s.sno,sname,cname,grade

From student s join sc on s.sno = sc.sno

Join course c on c.cno = sc.cno

 

3)统计每个学生的选课门数,要求列出学生学号和选课门数。

答:Create view v3 As

Select sno,count(*) as total

From sc group by sno

 

4)统计每个学生的修课总学分,要求列出学生学号和总学分(说明:考试成绩大于等于60才可获得此门课程的学分)。

答:Create view v4 As

Select sno,sum(credit) as total_credit

From sno join course c on c.cno = sc.cno

Where grade >= 60

Group by sno

4.1)查询考试成绩大于等于90分的学生的姓名、课程名和成绩。

答:Select sname,cname,grade From v2 where grade >= 90

 

2)查询选课门数超过3门的学生的学号和选课门数。

答:Select * from v3 where total >= 3

 

3)查询计算机系选课门数超过3门的学生的姓名和选课门数。

答: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,sage,sdept,total_credit

From v4 join student s on s.sno = v4.sno

Where sage >= 20 and total_credit >= 10

5. Alter view v4 As
Select sno,avg(grade) as avg_grade,count(*) as total_cno
Group by sno

第六章:

  1. .第一范式:每个列都是原子项。第二范式:第一范式且不含部分函数依赖。第三范式:第二范式且不含传递函数依赖。
  2. 如果XY,并且对于X的一个任意真子集X/ 都有X/ /Y,则称Y完全函数依赖于X,记作X Y;如果X/ Y成立,则称Y部分函数依赖于X,记作X Y。示例:学生修课(学号,姓名,性别,选的课程号,课程名,考试成绩)
    主键:(学号,课程号)
    因为学号>姓名,因此(学号,课程号) 姓名

6.1)候选码:(学号,课程号)

2)学号→姓名,学号→所在系,学号→性别,课程号→课程名,课程号→学分,

(学号,课程号)→成绩

3)属于第二范式,因为存在部分函数依赖:学号→姓名。

4)第三范式关系模式:

学生(学号,姓名,所在系,性别)

课程(课程号,课程名,学分)

考试(学号,课程号,成绩),学号为引用学生的外码,课程号为引用课程的外码。

7.1)候选码:学号

2)学号→姓名,学号→所在系,学号→班号,班号→班主任,所在系→系主任

3)第二范式,因为有:学号→班号,班号→班主任,因此存在传递函数依赖:

学号 班主任

4)第三范式关系模式:

学生(学号,姓名,所在系,班号),班号为引用班的外码,所在系为引用系的外码。

班(班号,班主任)

系(系名,系主任)

8.1)候选码:(课程号,授课教师号)

2)课程号→课程名,课程号→学分,授课教师号→教师名,(课程号,授课教师号)→授课时数

3)属于第一范式。因为有:课程号→课程名,因此存在部分函数依赖关系:

(课程号,授课教师号) 课程名

4)第三范式关系模式:

课程(课程号,课程名,学分)

教师(教师号,教师名)

授课(课程号,教师号,授课时数),课程号为引用课程的外码,教师号为引用教师的外码。

第七章:

  1. 原子性、隔离性、一致性、持久性。

3.加锁

4.

T1àT2àT3A = 9
T1àT3àT2A = 8
T2àT1àT3A = 7
T2àT3àT1A = 9
T3àT1àT2A = 8
T3àT2àT1A = 6

5.S

7.一级封锁协议对读和写分别加什么锁?加锁范围分别是什么?能避免哪些干扰?写全程加X锁,读不加锁。能避免丢失修改。

 

二级封锁协议对读和写分别加什么锁?加锁范围分别是什么?能避免哪些干扰?写全程加X锁,读前加S锁,读完释放S锁。能避免丢失修改和不读脏数据。

 

三级封锁协议对读和写分别加什么锁?加锁范围分别是什么?能避免哪些干扰?写全程加X锁,读全程加S锁。能避免丢失修改、不读脏数据和不可重复读。

8.多个事务的并发执行是正确的,当且仅当其结果与按某一顺序的串行执行的结果相同,称这种调度为可串行化的调度。
如果并发调度的执行结果和某个串行调度结果一样,这个并发调度就是正确的调度。

9.两段锁协议是指每个事务的执行可以分为两个阶段:生长阶段(加锁阶段)和衰退阶段(解锁阶段)

10.主要有事务内部的故障、系统故障、介质故障以及计算机病毒故障

 

第八章:

2.包括概念结构设计、逻辑结构设计和物理结构设计。

4. 有丰富的语义表达能力。能表达用户的各种需求,包括描述现实世界中各种事物和事物与事物之间的联系,能满足用户对数据的处理需求。

• 易于交流和理解。概念结构是数据库设计人员和用户之间的主要交流工具,因此必须能通过概念模型和不熟悉计算机的用户交换意见,用户的积极参与是数据库成功的关键。

• 易于更改。当应用环境和应用要求发生变化时,能方便地对概念结构进行修改,以反映这些变化。

• 易于向各种数据模型转换,易于导出与DBMS有关的逻辑模型。

5.逻辑结构设计的任务是把在概念结构设计中设计的基本E-R模型转换为具体的数据库管理系统支持的组织层数据模型,也就是导出特定的DBMS可以处理的数据库逻辑结构(数据库的模式和外模式),这些模式在功能、性能、完整性和一致性约束方面满足应用要求。

逻辑结构设计一般包含两个步骤:

l 将概念结构转换为某种组织层数据模型。

l 对组织层数据模型进行优化。

6.一个实体转换为一个关系模式。实体的属性就是关系的属性,实体的码就是关系的主键(主码)。

对于实体间的联系有以下不同的情况:

111联系可以与任意一端实体所对应的关系模式合并,合并时只需在被合并的关系模式的属性中加入另一个实体的码和联系本身的属性。

21n联系可以与n端所对应的关系模式合并,合并时只需在n端的关系模式中加入1端实体的码以及联系本身的属性。

3mn联系应该转换为一个独立的关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为联系所对应关系模式的属性,且该关系模式的主键包含各实体的码。

4)三个或三个以上实体间的一个多元联系应该转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为联系所对应的关系模式的属性,而此关系模式的主键包含各实体的码。

5)具有相同主键的关系模式可以合并。

 

7.1)确定各属性间的函数依赖关系。根据需求分析阶段得出的语义,分别写出每个关系模式的各属性之间的函数依赖以及不同关系模式中各属性之间的数据依赖关系。

2)对各个关系模式之间的数据依赖进行极小化处理,消除冗余的联系。

3)判断每个关系模式的范式,根据实际需要确定最合适的范式。

4)根据需求分析阶段得到的处理要求,分析这些模式对于这样的应用环境是否合适,确定是否要对某些模式进行分解或合并。

10.1)图8-27所示为描述图书、读者以及读者借阅图书的E-R图。

 

8-27 图书借阅E-R

答:

图书(书号,书名,出版日期,作者名)

读者(读者号,读者名,联系电话,所在单位)

借阅(书号,读者号,借书日期,还书日期),书号为引用图书关系模式的外码,读者号为引用读者关系模式的外码。

2)图8-28所示为描述商店从生产厂家订购商品的E-R图。

 

8-28 商品订购E-R

答:

商店(商店编号,商店名,联系电话)3NF

商品(商品编号,商品名称,库存量,商品分类)3NF

厂家(厂家编号,联系地址,联系电话)3NF

订购(商店编号,厂家编号,商品编号,订购日期,订购数量),商店编号为引用商店关系模式的外码,厂家编号为引用厂家关系模式的外码,商品编号为引用商品关系模式的外码。

3)图8-29为描述学生参加学校社团的E-R图。

 

8-29 学生参加社团E-R

答:下列各关系模式中用下划线标识主码。

社团(社团号,社团名,电话,性质)3NF

学生(学号,姓名,性别,专业,社团号,参加日期),社团号为引用社团的外码。3NF

 

 

 

posted on 2023-05-25 12:09  角落的蘑菇  阅读(22)  评论(0编辑  收藏  举报