数据库复习资料

更新时间:2023-11-24 18:12:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

09级信计、应数班《数据库》复习提纲

1、关系数据模型的三个要素。 组成要素:数据结构,数据操作,完整性约束

2、关系代数运算的5种基本运算。 选择,投影,并,差,笛卡尔积

3、SQL语法中涉及空值NULL的操作条件。

//列等于空??select * from [TableName] where [Column] is Null?? select * from [TableName] where [Column] = \

//列不等于空??select * from [TableName] where [Column] is Not Null?? select * from [TableName] where [Column] <> \

4、事务的4个特性。

原子性、一致性、分离性、持久性

5、创建唯一索引和聚簇的关键字。 UNIQUE 约束 PRIMARY KEY

在创建 PRIMARY KEY 约束时,如果不存在该表的聚集索引且未指定唯一非聚集索引,则将自动对一列或多列创建唯一聚集索引。主键列不允许空值。

在创建 UNIQUE 约束时,默认情况下将创建唯一非聚集索引,以便强制 UNIQUE 约束。如果不存在该表的聚集索引,则可以指定唯一聚集索引。

6、笛卡尔积的基数运算,例如:

给定三个域:A={王芳,刘吉},B={高工,助工},C={男,女},求A×B×C笛卡尔积的基数:答案8

7、SQL语句查询结果分析,如:

语句SELECT ID,性别,出生日期,籍贯,职务

FROM 职工表 返回5列。

语句SELECT count(*)

FROM xs 返回1行。

8、索引的作用:为了对表中的各行进行快速访问。

9、常用的意向锁:IS锁、IX锁、SIX锁。

10、假定关系:学生(Sno,Sname,Sex),课程(Cno,Cname,Credit),选课(Sno,Cno,Grade)。

如果查询:“选1号课的学生姓名”,则将涉及的关系是:学生、选课; 若执行SQL语句:Select Sno,Sex From 学生 Where Sname =‘张枫’;则该语句对学生关系进行了投影和选择操作。

1

11、触发器的性质:触发器属于一种特殊的存储过程;触发器与存储过程的区别在于触发器能够自动执行并且不含有参数;既可以对INSERTED、DELETED临时表进行查询,也可以进行修改。

12、关系范式分解规范化程度的判定。 13、“日志”文件可以用于进行数据库恢复,在一次备份操作中,可以指定备份目标设备或文件,这样可以将一个数据库备份到磁盘文件中。

14、一条有用的查询优化策略:尽可能早地执行选择操作。

15、多值依赖的定义及相关应用。 16、物理优化就是要选择高效合理的操作算法或存取路径以求得优化的查询计划。

17、概念结构设计是对现实世界的一种抽象,其三种抽象机制分别为:分析 、聚集、概括。

18、数据字典的内容和作用是什么?

数据字典是系统中各类数据描述的集合。数据字典的内容通常包括: ( l )数据项;( 2 )数据结构; ( 3)数据流; ( 4)数据存储; ( 5)处理过程五个部分。其中数据项是数据的最小组成单位,若干个数据项可以组成一个数据结构。数据字典通过对数据项和数据结构的定义来描述数据流和数据存储的逻辑内容。

数据字典的作用:数据字典是关于数据库中数据的描述,在需求分析阶段建立,是下一步进行概念设计的基础,并在数据库设计过程中不断修改、充实、完善。

19、E-R图与关系模型的相互转化。

例:某医院病房的计算机管理系统中需要下述信息 科室:科室名,科室地址,科室电话 病房:病房号,床位号,科室名

医生:工作证号,姓名,职称,科室名,年龄

病人:病例号,姓名,性别,诊治,主治医生,病房号

其中,一个科室有多个病房、多名医生,一个病房只属于一个科室,一个医生只属于一个科室,但是可以负责多名病人的诊治,一命病人的主治医生只能有一名。

完成以下设计:

1)涉及该计算机管理系统的E-R图; 2)将该E-R图转换为关系模型结构;

3)指出转换结果中每个关系模式的候选码。 参考答案:

1)E-R图如下所示。

2

科室地址病房号病房1入住床位号科室名组成1病房1从属床位号mm病人病例性别m姓名诊治1m医生姓名年龄工作证号职称

2)对应的关系模型结构如下:

科室(科室名,科室地址,科室电话) 病房(病房号,床位号,科室名)

医生(工作证号,姓名,职称,科室名,年龄)

病人(病例号,姓名,性别,诊治,主治医生,病房号)

3)科室的候选码是科室名;

病房的候选码是(病房号,床位号); 医生的候选码是工作证号; 病人的候选码是病历号;

20、SQL语法的综合运用。

例:根据以下给出的三个基本表Student、Course、SC和各小题要求,写出对应的SQL语句。其中:Student(学生表)的属性按顺序为学号、姓名、性别、年龄、所属院系;Course(课程表)的属性按顺序为课程编号、课程名、先行课程号、学分;SC(选课表)的属性按顺序为学号、课程名、成绩;各表的记录如下所示:

学生表Student Sno Sname Ssex Sage Sdept 2006151001 西门吹雪 男 19 数信学院 2006151002 梅极鸽 女 19 体育学院 2006151003 卜 考 男 18 美术学院 2006151004 翁美蓉 女 17 数信学院 2006151005 步健豪 男 20 文学院 2006151006 东方无双 男 20 数信学院 课程表Course Cno Cname Cpno Ccredit 1 数据库概论 4 4 2 面向对象程序设计 6 3 离散数学 3 4 数据结构 2 3 5 计算机网络 3 4

3

6 软件工程 1 3 选课表SC Sno Cno Grade 2006151001 2 94 2006151001 1 97 2006151002 1 80 2006151002 2 72 2006151003 6 73 2006151004 1 61 ①写出创建学生表Student的SQL命令,各属性字段的类型及长度根据实际情况确定,其中,设学号为主码,且值唯一,并在Sdept列上建立一个聚簇索引。

②检索各个课程号及相应的选课人数,并给出结果。

③查询与“翁美蓉”在同一个院系学习的学生的学号、姓名,并给出结果。 ④将一个新的学生记录(2006151007,吴甜莉,女,21,经管学院)插入Student表中。

⑤创建数信学院选修6号课程的学生视图MI_S6,属性包括Sno、Sname、Grade。

参考答案:

①Create Table Student (

Sno char (10) UNIQUE Primary Key , Sname char (12) , Ssex char (2) , Sage smallint , Sdept char (30) ) ;

Create cluster index Stusname on Student (Sdept) ; ②Select Cno , COUNT (Sno)

From SC

Group By Cno ; 查询结果为:

Cno 1 2 6

COUNT(Sno)

3 2 1

③Select Sno , Sname From Student Where Sdept IN (Select Sdept From Student

Where Sname = ‘翁美蓉’) ;

查询结果为:

Sno

Sname

2006151001 2006151004

4

西门雪 翁美蓉

2006151006 东方双

④Insert

Into Student

Values(’2006151007’,’吴甜莉’,’女’,21,’经管学院’); ⑤Create View MI_S6(Sno, Sname, Grade ) As

Select Student.Sno, Sname, Grade From Student, SC

Where Sdept = ‘数信学院’ and Student.Sno = SC.Sno and SC.Cno = ‘6’ ;

21、事务调度与并并发控制。 例:某大型国际仓储公司在T1时刻存款余额X为1000万元,事务A取款200万元,事务B取款100万元,其调度执行序列如下:

事务A 时间 事务B 读X T1

T2 读X 更新:X=X-200万 T3

T4 更新:X=X-100万

试问:此调度是否为正确的调度,为什么?如果不是正确的调度,请用封锁法实现事务A与事务B的并发控制。

参考答案:

如果按照题目中的顺序执行A、B两个事务,则最后的X值为900万,而不是正确的700万。所以不是正确的调度。

采用封锁方法,将事务A修改为: while(X上已有排它锁){ 等待 }

对X加上排它锁 读X

更新X=X-200万 释放排它锁

将事务B修改为:

while(X上已有排它锁){ 等待 }

对X加上排它锁 读X

5

更新X=X-100万

释放排它锁

正确的事务调度图如下:

事务A 时间 事务B Xlock X T1 获得X T2

T3 Xlock X T4 等待

更新:X=X-200万 X=800万 Commit UNLock X T5 T6 T7 T8 T9 T10 T11 T12 T13 6

等待 等待 等待 等待

获得X并Xlock X 更新:X=X-100万X=700万 Commit UNLock X

本文来源:https://www.bwwdw.com/article/4uzt.html

Top