《桂林电子科技大学数据库总复习ppt课件.ppt》由会员分享,可在线阅读,更多相关《桂林电子科技大学数据库总复习ppt课件.ppt(51页珍藏版)》请在三一办公上搜索。
1、An Introduction to Database System,计算机与控制学院,数据库系统概论An Introduction to Database System总复习,An Introduction to Database System,第1章,1. 数据、数据库、数据库管理系统、数据库系统的概念2. 数据库系统的特点: 数据结构化 数据的共享性高,冗余度低,易扩充 数据独立性高 数据由DBMS统一管理和控制。3. 数据独立性包括数据的物理独立性和数据的逻辑独立性。4. 物理独立性是指用户的应用程序与存储在磁盘上的数据库中的数据是相互独立的。,An Introduction to D
2、atabase System,5. 逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的。 6. DBMS提供的数据控制功能:数据的安全性保护 数据的完整性检查(数据的完整性是指数据的正确性、有效性和相容性) 并发控制 数据库恢复。7. 数据模型:组成要素:数据结构、数据操作和完整性约束最常用的数据模型:层次模型、网状模型、关系模型、面向对象模型关系模型中的一些术语:关系、元组、属性、主码、域、分量、关系模式,An Introduction to Database System,8. 概念模型:用于信息世界的建模。信息世界的基本概念:实体、属性、码、域、实体型、实体集、联系概念模型的表示
3、方法:E-R图E-R图的三要素:实体型、属性、联系9. 数据库系统的三级模式结构P34模式(逻辑模式):是数据库中全体数据的逻辑结构和特征的描述。一个数据库中只的一个模式外模式(子模式,用户模式):是数据库用户的数据视图。一个数据库可以有多个外模式内模式(存储模式):是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。一个数据库只有一个内模式。二级映象:外模式/模式映象,模式/内模式映象,An Introduction to Database System,第2章,关系模型的三要素:单一的数据结构关系:域、主码、主属性关系操作查询和更新,其中更新包括插入, 删除和修改,关系的三类完整
4、性约束:实体完整性、参照完整性、用户定义完整性。实体完整性规则:若属性A是基本关系R的主属性,则属性A不能取空值。主码非空参照完整性规则、若属性(或属性组)F是基本关系R的外码,它与基本S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:或者取空值(F的每个属性值均为空值)或者等于S中某个元组的主码值。,An Introduction to Database System,2. 基本概念:关系、属性、记录(元组)、候选码、关系模式、外码关系的基本特点关系与关系模式的区别3. 关系完整性实体完整性参照完整性用户自定义完整性4. 关系代数:传统的集合运算:并
5、、差、交、广义笛卡尔积专门的关系运算:选择、投影、连接、除五种基本关系运算:并、差、笛卡尔积、选择、投影,An Introduction to Database System,第3章 1. SQL的特点:综合统一高度非过程化面向集合的操作方式以同一种语法结构提供两种使用方式语言简捷,易学易用,An Introduction to Database System,SQL的基本概念(续),SQL支持关系数据库三级模式结构,An Introduction to Database System,SQL的基本概念(续),基本表本身独立存在的表SQL中一个关系就对应一个基本表一个(或多个)基本表对应一个存
6、储文件一个表可以带若干索引存储文件逻辑结构组成了关系数据库的内模式物理结构是任意的,对用户透明视图从一个或几个基本表导出的表数据库中只存放视图的定义而不存放视图对应的数据视图是一个虚表用户可以在视图上再定义视图,An Introduction to Database System,3. 定义、删除与修改基本表CREATETABLE(列级完整性约束条件,列级完整性约束条件 ,);ALTERTABLEADD 完整性约束DROPMODIFY;DROPTABLE; ,An Introduction to Database System,4. 建立与删除索引CREATEUNIQUE CLUSTER IN
7、DEX ON (,);DROP INDEX 5. 查询SELECT语句的一般格式:SELECT ALL|DISTINCT别名,别名FROM别名,别名WHEREGROUP BY HAVINGORDER BYASC|DESC;,An Introduction to Database System,(1)目标列表达式有以下可选格式: * .* COUNT(DISTINCT|ALL*) ., .(2)集函数的一般格式为:COUNTSUMAVGMAXMIN(DISTINCT|ALL) (3) WHERE子句的条件表达式有以下可选格式:,An Introduction to Database System
8、,An Introduction to Database System,An Introduction to Database System,6. 数据更新插入数据:INSERTINTO(,) VALUES(,);INSERTINTO(,)子查询;修改数据:UPDATESET =,= WHERE;删除数据:DELETEFROMWHERE;,An Introduction to Database System,7. 视图 建立视图:CREATEVIEW(,)AS WITHCHECKOPTION;删除视图:DROPVIEW;查询视图:视图消解。更新视图:目前各个关系数据库系统一般都只允许对行列子集
9、视图进行更新。,An Introduction to Database System,8. 授权GRANT,ON TO ,WITHGRANTOPTION;REVOKE ,ON FROM ,;不同类型的操作对象有不同的操作权限,常见的操作权限如表3.4所示.用户可以是一个或多个具体的用户,也可以是全体用户PUBLIC。,An Introduction to Database System,第4章 数据库安全性,1. 数据库安全性控制的常用方法用户标识与鉴别存取控制视图审计数据加密,An Introduction to Database System,2. 常用存取控制方法自主存取控制(Discr
10、etionary Access Control ,简称DAC)通过 SQL 的 GRANT 语句和 REVOKE 语句实现注意:WITH GRANT OPTION子句:指定:可以再授予没有指定:不能传播不允许循环授权,强制存取控制(Mandatory Access Control,简称 MAC)强制存取控制规则 (1)仅当主体的许可证级别大于或等于客体的密级时,该主体才能读取相应的客体 (2)仅当主体的许可证级别等于客体的密级时,该主体才能写相应的客体修正规则主体的许可证级别 =客体的密级 主体能写客体,An Introduction to Database System,第5章 数据库完整性
11、防止数据库中存在不符合语义的数据,也就是防止数据库中存在不正确的数据完整性含义正确性和相容性1. 实体完整性2. 参照完整性3. 用户定义完整性,An Introduction to Database System,1. 实体完整性定义关系模型的实体完整性CREATE TABLE中用PRIMARY KEY定义单属性构成的码有两种说明方法 定义为列级约束条件定义为表级约束条件对多个属性构成的码只有一种说明方法定义为表级约束条件,An Introduction to Database System,2. 参照完整性定义,关系模型的参照完整性定义在CREATE TABLE中用FOREIGN KEY短
12、语定义哪些列为外码用REFERENCES短语指明这些外码参照哪些表的主码,An Introduction to Database System,第6章1. 函数依赖,平凡函数依赖,非平凡函数依赖,部分函数依赖,完全函数依赖,传递函数依赖的概念。2. 各种范式之间的联系BCNF3NF2NF1NF,1NF 消除非主属性对码的部分函数依赖消除决定属性 2NF集非码的非平 消除非主属性对码的传递函数依赖凡函数依赖 3NF 消除主属性对码的部分和传递函数依赖 BCNF 消除非平凡且非函数依赖的多值依赖 4NF,An Introduction to Database System,3. Armstrong
13、公理系统A1自反律:若YXU,则XY为F所蕴含。A2增广律:若XY为F所蕴含,且ZU,则XZYZ为F所蕴含。A3传递律:若XY及YZ为F所蕴含,则XZ为F所蕴含。三条推理规则:合并规则:由XY,XZ,有XYZ。伪传递规则:由XY,WYZ,有XWZ。分解规则:由XY及ZY,有XZ。求与函数依赖集F等价的一个极小函数依赖集Fm。模式分解判断一个分解的无损连接性(算法6.2)。模式分解算法6.3和6.4(即将某模式转换为满足给定要求的3NF),An Introduction to Database System,第7章1. 数据库设计的基本步骤需求分析(数据字典在该阶段生成)概念结构设计(生成E-R
14、图)逻辑结构设计(E-R图转换为某个DBMS支持的数据模型,如关系模型)数据库物理设计(为逻辑数据模型选取一个最适合应用环境的物理结构,包括存储结构和存取方法)数据库实施(建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。) 数据库运行和维护阶段(数据库投入正式运行),An Introduction to Database System,2. 区分实体与属性的两条准则:作为“属性”,不能再具有需要描述的性质。“属性”必须是不可分的数据项,不能包含其他属性。“属性”不能与其它其他实体具有联系,即E-R图中的所表示的联系是实体之间的联系。,An Introduction to Datab
15、ase System,3. E-R图向关系模型的转换规则:一个实体型转换为一个关系模式,实体的属性就是关系的属性,实体的码就是关系的码。一个1:1的联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。如果转换为一个独立的模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的候选码。如果与某一端实体对应的关系模式合并,则需要在该关系模式的属性中加入另一个关系模式的码和联系本身的属性。一个1:n的联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换
16、为关系的属性,而关系的码为n端实体的码。一个m:n联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合.三个或三个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。具有相同码的关系模式可合并。,An Introduction to Database System,第8章 数据库编程1. PL/SQL的块结构2. 变量常量的定义3. 控制结构4. 存储过程,An Introduction to Database System,第9章1. 查询优化
17、的一般准则。选择运算应尽可能先做,投影运算也应尽可能的先做,笛卡尔积其后某些选择运算连接运算。2. 关系代数等价变换规则。,An Introduction to Database System,第10章事务的四个基本特性:原子性、一致性、隔离性和持续性。典型故障及其恢复策略(事务故障、系统故障、介质故障)故障恢复技术的基本原理:冗余数据(数据转储和登录日志文件),An Introduction to Database System,第11章1. 并发操作带来的数据不一致性:丢失修改、不可重复读和读“脏”数据。2. 基本封锁类型:排它锁(X锁)和共享锁(S锁)。 X锁:若事务T对数据对象A加上X
18、锁,则只允许T读取和修改A,其他任何事务在T释放X锁之前,不能再对A加任何类型的锁。 S锁:若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其他事务在T释放S锁之前,可以对A加S锁。3. 死锁和 活锁4. 并发调度的可串行性。5. 两段锁协议6. 多粒度封锁(意向锁),An Introduction to Database System,考试题型:填空题(15分)选择题(20分)简单计算(10分)关系代数+SQL语句(35分)规范化理论(10分)数据库设计题(10分),An Introduction to Database System,例题:例1. RS=RS成立的条件是 。,A
19、n Introduction to Database System,例题:例1. 设概念模型的E-R图中有5个实体型, 3个n:m联系。根据转换规则,这个E-R图至少可以转换得到 个关系模式。A、3个 B、5个 C、8个 D、10个,An Introduction to Database System,例题:例2. 数据库系统中常用的安全性控制方法包括 ( )(1) 用户标识和鉴别 (2)审计 (3)视图 (4)加密 (5)存取控制供选择的解答:(A) 全部 (B) (1),(2),(4),(5) (C) (1), (4) (D) (1),(4),(5),An Introduction to
20、Database System,例3:设有关系 R S,An Introduction to Database System,RS RS RS 3,2(S) B5 (R),计算,An Introduction to Database System,RS,R S,12,An Introduction to Database System,例2:已知关系R,X,Y,Z如下所示,求RX,RY,RZ,R X Y Z,An Introduction to Database System,RX RY RZ,R S,(1)R1 = RS (2)R2= RS,An Introduction to Databa
21、se System,例4. 设有一学生-课程数据库,包括学生关系Student(Sno, Sname, Ssex, Sage, Sdept),课程关系Course(Cno, Cname, Cpno, Ccredit),选修关系SC(Sno, Cno, Grade)用关系代数完成如下查询:(1)查询选修了2号课程的学生的学号sname(Cno=2(SC)(2)查询计算机系的女同学的学号和姓名。 sno, sname(Sdept=计算机系Ssex=女(Student),An Introduction to Database System,用SQL完成如下查询:(3)查询选修了2号课程的学生的学号s
22、name(Cno=2(SC)(4)查询计算机系至少选修了三门课的学生学号和姓名。 SELECT Sno,Sname FROM Student WHERE Sno IN (SELECT Sno FROM SC GROUP BY Cno HAVING COUNT(*)=3);(5)创建基本表(主码,外码,CHECK短语)(6)创建视图(7)授权与收回授权 (8)插入、删除语句,An Introduction to Database System,例5. 假设某商业集团数据库中有一关系模式R如下:R (商店编号,商品编号,数量,部门编号,负责人) 如果规定:(1) 每个商店的每种商品只在一个部门销售
23、 (2) 每个商店的每个部门只有一个负责人 (3) 每个商店的每种商品只有一个库存数量试回答下列问题: (1)根据上述规定,写出关系模式R的基本函数依赖及其候选码; (2) R最高达到了第几范式?说明理由。,An Introduction to Database System,(1)函数依赖:(商店编号,商品编号) 部门编号(商店编号,商品编号) 数量(商店编号,部门编号) 负责人候选码(商店编号,商品编号)(2)不属于3NF, 达到了2NF 将R分解成:R1(商店编号,商品编号,数量,部门编号)R2(商店编号,部门编号,负责人),An Introduction to Database Sys
24、tem,例6. 假设某差旅管理数据库中有一关系模式R如下:R (姓名,身份证号,性别,出差地名,出差日期,出差费用) 如果规定:(1)同一个人可以多次去同一个 地方出差。试回答下列问题: (1)根据上述规定,写出关系模式R的基本函数依赖及其候选码; (2) R最高达到了第几范式?如果R没到达3NF,请将R分解成3NF的模式集。,An Introduction to Database System,(1)函数依赖: 身份证号姓名;身份证号性别;(身份证号,出差日期)出差地名; (身份证号,出差日期)出差费用候选码(身份证号,出差日期)(2)不属于3NF 将R分解成:R1( 身份证号,姓名,性别)
25、R2(身份证号,出差日期,出差地名,出差费用),例:设某商业集团数据库中有4个实体集。一是“仓库”实体集,属性有仓库号、仓库名和电话等;二是“商店”实体集,属性有商店号、商店名、地址等;三是“商品”实体集,属性有商品号、商品名、单价;四是“售货员”是实体集,属性有售货员编号,姓名,年龄等。 设每个仓库可存储若干种商品,每种商品存储在若干仓库中,每个仓库每存储一种商品有个日期及存储量;每个售货员只在一个商店工作,一个商店有多个售货员;一个仓库为多个商店供应多种商品,每种商品可以由不同的仓库供应给多个商店,每个商店可以由不同的仓库供应多种商品,该供应联系有月份和月供应量两个属性。 请根据上面的描述完成如下题目:(1)根据给定的需求画出该系统的E-R图(要求画出联系和实体的属性);(2)将(1)中得到的概念模型转换为关系模式集合,并注明主码,外码(若有)。,(2) 关系模式如下: 商店(商店号,商店名,地址) 商品(商品号,商品名,单价) 仓库(仓库号,仓库名,电话) 售货员(售货员编号,姓名,年龄,所在商店编号) 存储(商品号,仓库号,日期,存储量) 供应(商店号,商品号,仓库号,月份,月供应量)备注: 表示主码, 表示外码。,An Introduction to Database System,下课了。,追求,