《数据库原理及应用总复习幻灯片》由会员分享,可在线阅读,更多相关《数据库原理及应用总复习幻灯片(58页珍藏版)》请在金锄头文库上搜索。
1、数理学院 冯老师 清华大学出版社 雷景生 叶文珺 李永斌 主编 来自: xx远,佩儿整理,数据库原理与应用,第一章 绪论,了解数据库管理技术发展的三个阶段以及数据库系统的特点。 掌握三级模式结构以及对应的两级映像。 了解数据库、数据库管理系统和数据库系统的基本概念.,课后习题:选择题, 简答题 1、3、5。,第二章 数据模型,了解数据模型的三要素。 重点掌握ER模型的描述方法。,课后习题:选择题, 简答题 1、2, 综合题 1、2、3。,第三章 关系数据库,关系所涉及的基本概念及其性质。,关系的完整性:实体完整性;参照完整性;用户定义的完整性.,能够用关系代数完成查询。 (重点、难点),课后习
2、题:选择题, 综合题 3、4。,第四章 结构化查询语言SQL,了解SQL语言的特点以及基本概念。,基本表的定义、修改与删除; 掌握数据库的各种查询。(重点、难点) 掌握数据库的增、删、改操作(重点)。 理解视图的概念,掌握视图的定义、查询和更新。 (重点),课后习题:选择题, 综合题 1、2、3、4。,第五章 存储过程、触发器和数据完整性,了解SQL SERVER的编程结构. 掌握存储过程的创建和调用(重点). 掌握触发器的创建和调用(重点). 了解数据完整性的约束语句.,课后习题:简答题 1、2, 综合题 1、2。,第六章 关系数据库设计理论,一个不好的关系模式会存在哪些问题?,掌握各种函数
3、依赖以及各种级别范式的判别方法。(重点) 了解函数依赖的公理系统,如求闭包,求最小依赖集.,课后习题:选择题, 简答题 1, 综合题 1、4、5、6。,第七章 索引,了解索引的概念及分类; 掌握SQL SERVER 2005中创建索引的方法.,课后习题:3、4。,第八章 数据库设计,掌握数据库设计的基本步骤,以及每一阶段的主要工作内容; 掌握ER图的绘制方法以及ER图向关系模型的转换方法。 (重点),课后习题:选择题, 简答题 1, 综合题 1、2。,第九章 数据库安全,什么是数据库的安全性? 常用的数据库安全性控制机制; 重点掌握SQL SERVER中安全性控制方法。,课后习题:选择题, 简
4、答题 1、3、6, 综合题 1、2、3。,第十章 数据库保护,掌握事务的基本概念以及ACID特性; 了解并发操作带来的三种数据不一致性; 了解封锁概念以及基本封锁类型、封锁协议; 了解死锁和活锁的定义以及避免活锁的方法、死锁的预防与诊断、解除方法; 了解什么是可串行化调度以及两段锁协议。 了解故障的种类以及各种故障的恢复策略; 了解恢复的基本原则和实现方法.,课后习题:选择题, 简答题 2、3、4、5、6、7、9、10.,重点概念,数据模型的三类完整性约束; 数据库设计的六个阶段; 聚集索引的特点; 数据库安全性控制方法; 事务的四个特性; 并发操作带来的三种数据不一致性; 三级封锁协议; 死
5、锁和活锁的产生原因和解决方法; 故障的种类; 数据库恢复的基本原则和实现方法.,关系代数表达式,在关系代数运算中,把几个基本操作经过有限次复合的式子称为关系代数表达式。这个表达式的运算结果依然是一个关系。可以用关系代数表达式表示各种数据查询操作。,关系代数表达式,用关系代数表达式写查询语句的方法: 确定查询所涉及的关系。 执行笛卡尔积或自然联接操作得到一张大的表。 根据查询条件对大表格执行水平分割(选择操作)或垂直分割(投影操作)。,注: (1)当查询涉及“否定”时,要用差操作; (2)当查询涉及“全部值”时,要用除法操作。,练习题:,已知SPJ数据库如下: S(sno, sname, sta
6、tus, city) P(pno, pname, color, weight) J(jno, jname, city) SPJ( sno, pno, jno, qty)其中:,关系代数表达式,(1)求供应工程J1零件的供应商号码。 sno(jno=J1(SPJ) (2)求供应工程J1零件P1的供应商名称。 (答案在后,附录照片中),关系代数表达式,(3)求给北京的工程项目提供的零件号以及零件名称。 (答案在后,附录照片中) (4)求没有使用天津供应商供应零件的工程名称 。 (答案在后,附录照片中),关系代数表达式,(5)求使用了全部红色零件的工程号。 (答案在后,附录照片中) (6)求用了供应
7、商S1所供应的全部零件的工程号。 (答案在后,附录照片中),SQL语句,查询是对现有的基本表和视图进行数据查询,并不改变数据本身,是数据库的核心操作。,一般格式: SELECT ALL|DISTINCT FROM WHERE GROUP BY HAVING ORDER BY ASC|DESC;,SQL语句,执行过程:,(5)ORDER子句对输出的目标表进行排序,可选择升序或降序.,(4)按SELECT子句中给出的列名或列表达式求值输出;,(2)选取满足WHERE子句中给出的条件表达式的元组;,(1)读取FROM子句中基本表、视图的数据,执行笛卡儿积操作;,(3)按GROUP子句中指定列的值分组
8、,同时提取满足HAVING子句中组条件表达式的那些组;,SQL语句,目标列表达式格式: (1) * (2) . * (3) COUNT(distinct|all) (4).,. :由属性列、作用于属性列的集函数和常量的任意算术运算(+,-,*,/)组成的运算公式。,SQL语句,集函数格式:,COUNT SUM AVG (DISTINCT|ALL ) MAX MIN,SQL语句,条件表达式格式:,(1) ANY|ALL (SELECT语句),注: 为比较运算符,SQL语句,(2) NOT BETWEEN (SELECT语句), AND (SELECT语句),SQL语句,(3) (, ) NOT
9、IN (SELECT语句),(4) NOT LIKE (5) IS NOT NULL,SQL语句,(6) NOT EXISTS (SELECT语句),增、删、改语句,INSERT INTO (,) VALUES ( , );,UPDATE SET =,= WHERE ;,DELETE FROM WHERE ;,存储过程,创建存储过程的SQL语句格式为: CREATE PROCEDURE 存储过程名 ;版本号 参数 数据类型 VARYING = 默认值 OUTPUT , WITHRECOMPILE|ENCRYPTION|RECOMPILE,ENCRYPTION FOR REPLICATION A
10、S SQL语句,触发器,定义触发器的语句是: CREATE TRIGGER ON 表名 | 视图名 WITH ENCRYPTION FOR|AFTER|INSTEAD OFINSERT,UPDATE, DELETE NOT FOR REPLICATION AS SQL 语句 ,授权与回收,GRANT , ON TO , WITH GRANT OPTION;,REVOKE , ON FROM , ;,SQL语句练习,(1)请将(S1,J5,200,P4)插入供应情况表。 Insert Into SPJ(sno,jno,pno,qty) Values (s1,j5,p4,200) (2)求供应工程
11、J1零件P1的供应商名称。 Select sname From s,spj Where pno=p1 and jno=j1 and spj.sno=s.sno,SQL语句练习,(3)求给北京的工程项目提供的零件号以及零件名称。 Select pno,pname From p,j,spj Where p.pno=spj.pno and j.jno=spj.jno and city=北京 (4)求没有使用天津产的零件的工程名称。 Select jname From j Where not exists select * from s,spj where city=天津 and s.sno=spj.
12、sno and j.jno=spj.sno,SQL语句练习,(5)把零件P1的重量增加6,颜色改为红色。 (答案在后,附录照片中) (6)将SPJ表中没有使用的零件从P表中删除。 (答案在后,附录照片中),SQL语句练习,(7)求使用了全部红色零件的工程号。 (答案在后,附录照片中) (8)求用了供应商S1所供应的全部零件的工程号。 (答案在后,附录照片中),SQL语句练习,(9)求供应商和工程所在城市相同的供应商提供的零件号及供应量,并按供应量降序排列。 (答案在后,附录照片中) (10)把对SPJ表查询及更新供应量的权利授予用户U1。 (答案在后,附录照片中),SQL语句练习,(11)查询
13、每个城市的供应商数量。 (答案在后,附录照片中) (12)查询用了200个以上红色零件的工程项目号。 (答案在后,附录照片中),SQL语句练习,(13)编写一个带输出参数的存储过程,求某城市的项目所使用某零件的最大供应数量。 (答案在后,附录照片中),给定关系模式和函数依赖集合,要求判断达到的最高范式。步骤如下: 1.求出给定关系的候选码(可能不止一个) 2.根据码,写出主属性和非主属性。 3.判断是否满足第一范式(属性的值域是否可以分解) 4.判断是否满足第二范式(非主属性对码的部分函数依赖) 5.判断是否满足第三范式(非主属性对码的传递函数依赖) 6.判断是否满足BCNF范式(主属性对码的
14、传递和部分函数依赖),范式的判断,范式的判断,2. 已知关系模式R U=A,B,C,D,E F=ACDE,BC AD,EB 在函数依赖范围内该关系属于的最高范式是什么?,1.设有关系模式 R(工程号、工程名、零件号、零件规格、产商编号、产商名、使用数量) 根据语义规定,该关系模式所满足的函数依赖如下: 工程号工程名,零件号零件规格,零件号产商编号,产商编号产商名,(工程号,零件号)使用数量 试回答下列问题:1)试问关系模式R在函数依赖范围内最高已经达到第几范式?为什么? 2)请将R分解成BCNF范式集。,E-R图以及向关系模型转换,用E-R图来描述现实世界的概念模型。 E-R图提供了表示实体型
15、、属性和联系的方法。,E-R图以及向关系模型转换,转换内容 E-R图由实体、实体的属性和实体之间的联系三个要素组成; 关系模型的逻辑结构是一组关系模式的集合; 将E-R图转换为关系模型:将实体、实体的属性和实体之间的联系转化为关系模式。,转换原则, 一个实体型转换为一个关系模式: 关系的属性:实体型的属性 关系的码:实体型的码,E-R图以及向关系模型转换,2. 一个1:1联系可转换为一个独立的关系模式也可以与任意一端对应的关系模式合并:,转换为一个独立的关系模式: 关系的属性:与该联系相连的各实体的码以及联系本身的属性 关系的码:每个实体的码均是该关系的候选码,与某一端对应的关系模式合并: 关系的属性:在该关系模式中加入对应关系的码和联系本身的属性 关系的码:不变,E-R图以及向关系模型转换,3. 一个1:n联系可转换为一个独立的关系模式也可以与n端对应的关系模式合并:,转换为一个独立的关系模式: 关系的属性:与该联系相连的各实体的码以及联系本身的属性 关系的码:n端实体的码,与n端对应的关系模式合并: 关系的属性:在n端关系模式中加入1端关系的码和联系本身的属性 关系的码:不变,E-R图以及向关系模型转换,4. 一个m:n联