1、AnIntroductiontoDatabaseSystem计算机与控制学院计算机与控制学院数据库系统概论数据库系统概论An Introduction to Database System总复习总复习AnIntroductiontoDatabaseSystem第第1章章1.1.数据、数据库、数据库管理系统、数据库系统数据、数据库、数据库管理系统、数据库系统的概念的概念2.2.数据库系统数据库系统的特点:的特点:数据结构化数据结构化 数据的共享性高,冗余度低,易扩充数据的共享性高,冗余度低,易扩充 数据独立性高数据独立性高 数据由数据由DBMSDBMS统一管理和控制。统一管理和控制。3.3.数据
2、独立性数据独立性包括数据的物理独立性和数据的逻辑独立包括数据的物理独立性和数据的逻辑独立性。性。4.4.物理独立性物理独立性是指用户的应用程序与存储在磁盘上的数是指用户的应用程序与存储在磁盘上的数据库中的数据是相互独立的。据库中的数据是相互独立的。AnIntroductiontoDatabaseSystem5.5.逻辑独立性逻辑独立性逻辑独立性逻辑独立性是指用户的应用程序与数据库的逻辑结构是指用户的应用程序与数据库的逻辑结构是指用户的应用程序与数据库的逻辑结构是指用户的应用程序与数据库的逻辑结构是相互独立的。是相互独立的。是相互独立的。是相互独立的。6.6.DBMSDBMS提供的数据控制功能提
3、供的数据控制功能提供的数据控制功能提供的数据控制功能:数据的安全性保护数据的安全性保护数据的安全性保护数据的安全性保护 数据的完整性检查(数据的完整性是指数据的正确性数据的完整性检查(数据的完整性是指数据的正确性数据的完整性检查(数据的完整性是指数据的正确性数据的完整性检查(数据的完整性是指数据的正确性、有效性和相容性)、有效性和相容性)、有效性和相容性)、有效性和相容性)并发控制并发控制并发控制并发控制 数据库恢复。数据库恢复。数据库恢复。数据库恢复。7.7.数据模型:数据模型:数据模型:数据模型:组成要素组成要素组成要素组成要素:数据结构、数据操作和完整:数据结构、数据操作和完整:数据结构
4、、数据操作和完整:数据结构、数据操作和完整性约束性约束性约束性约束最常用的数据模型最常用的数据模型最常用的数据模型最常用的数据模型:层次模型、网状模型、关系模型:层次模型、网状模型、关系模型:层次模型、网状模型、关系模型:层次模型、网状模型、关系模型、面向对象模型、面向对象模型、面向对象模型、面向对象模型关系模型中的一些术语:关系、元组、属性、主码、关系模型中的一些术语:关系、元组、属性、主码、关系模型中的一些术语:关系、元组、属性、主码、关系模型中的一些术语:关系、元组、属性、主码、域、分量、关系模式域、分量、关系模式域、分量、关系模式域、分量、关系模式AnIntroductiontoDat
5、abaseSystem8.8.概念模型:概念模型:概念模型:概念模型:用于信息世界的建模。用于信息世界的建模。用于信息世界的建模。用于信息世界的建模。信息世界的基本概念:实体、属性、码、域、实体型、信息世界的基本概念:实体、属性、码、域、实体型、信息世界的基本概念:实体、属性、码、域、实体型、信息世界的基本概念:实体、属性、码、域、实体型、实体集、联系实体集、联系实体集、联系实体集、联系概念模型的表示方法:概念模型的表示方法:概念模型的表示方法:概念模型的表示方法:E-RE-R图图图图E-RE-R图的三要素:实体型、属性、联系图的三要素:实体型、属性、联系图的三要素:实体型、属性、联系图的三要
6、素:实体型、属性、联系9.9.数据库系统的三级模式结构数据库系统的三级模式结构数据库系统的三级模式结构数据库系统的三级模式结构P34P34模式模式模式模式(逻辑模式):是数据库中全体数据的逻辑结构和(逻辑模式):是数据库中全体数据的逻辑结构和(逻辑模式):是数据库中全体数据的逻辑结构和(逻辑模式):是数据库中全体数据的逻辑结构和特征的描述。一个数据库中只的一个模式特征的描述。一个数据库中只的一个模式特征的描述。一个数据库中只的一个模式特征的描述。一个数据库中只的一个模式外模式外模式外模式外模式(子模式,用户模式):是数据库用户的数据视(子模式,用户模式):是数据库用户的数据视(子模式,用户模式
7、):是数据库用户的数据视(子模式,用户模式):是数据库用户的数据视图。一个数据库可以有多个外模式图。一个数据库可以有多个外模式图。一个数据库可以有多个外模式图。一个数据库可以有多个外模式内模式内模式内模式内模式(存储模式):是数据物理结构和存储方式的描(存储模式):是数据物理结构和存储方式的描(存储模式):是数据物理结构和存储方式的描(存储模式):是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。一个数据库只有述,是数据在数据库内部的表示方式。一个数据库只有述,是数据在数据库内部的表示方式。一个数据库只有述,是数据在数据库内部的表示方式。一个数据库只有一个内模式。一个内模式。一个内
8、模式。一个内模式。二级映象二级映象二级映象二级映象:外模式:外模式:外模式:外模式/模式映象,模式模式映象,模式模式映象,模式模式映象,模式/内模式映象内模式映象内模式映象内模式映象AnIntroductiontoDatabaseSystem 第第2章章1.关系模型的三要素:单一的数据结构关系:域、主码、主属性关系操作关系的三类完整性约束:实体完整性、参照完整性、用户定义完整性。实体完整性规则:若属性A是基本关系R的主属性,则属性A不能取空值。参照完整性规则、若属性(或属性组)F是基本关系R的外码,它与基本S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须
9、为:或者取空值(F的每个属性值均为空值)或者等于S中某个元组的主码值。AnIntroductiontoDatabaseSystem2.基本概念:关系、属性、记录(元组)、候选码、关系模式、外码关系的基本特点关系与关系模式的区别3.关系完整性实体完整性参照完整性用户自定义完整性4.关系代数:传统的集合运算:并、差、交、广义笛卡尔积专门的关系运算:选择、投影、连接、除五种基本关系运算:并、差、笛卡尔积、选择、投影AnIntroductiontoDatabaseSystem第第3章章 1.SQL1.SQL的特点:的特点:综合统一综合统一高度非过程化高度非过程化面向集合的操作方式面向集合的操作方式以同
10、一种语法结以同一种语法结构提供两种使用方式构提供两种使用方式语言简捷,易学易语言简捷,易学易用用SQL功能动词数据查询 SELECT数据定义 CREATE,DROP,ALTER数据操纵 INSERT,UPDATE,DELETE数据控制 GRANT,REVOKEAnIntroductiontoDatabaseSystemSQL的基本概念(续)的基本概念(续)SQL支持关系数据库三级模式结构AnIntroductiontoDatabaseSystemSQL的基本概念(续)的基本概念(续)n n基本表基本表n n本身独立存在的表本身独立存在的表n nSQLSQL中一个关系就对应一个基本表中一个关系就
11、对应一个基本表n n一个一个(或多个或多个)基本表对应一个存储文件基本表对应一个存储文件n n一个表可以带若干索引一个表可以带若干索引n n存储文件存储文件n n逻辑结构组成了关系数据库的内模式逻辑结构组成了关系数据库的内模式n n物理结构是任意的,对用户透明物理结构是任意的,对用户透明n n视图视图n n从一个或几个基本表导出的表从一个或几个基本表导出的表n n数据库中只存放视图的定义而不存放视图对应的数据数据库中只存放视图的定义而不存放视图对应的数据n n视图是一个虚表视图是一个虚表n n用户可以在视图上再定义视图用户可以在视图上再定义视图AnIntroductiontoDatabaseS
12、ystem3.定义、删除与修改基本表定义、删除与修改基本表CREATETABLE(列级完整性约束条件列级完整性约束条件,列级完整性约束条件列级完整性约束条件 ,););ALTERTABLEADD 完整性约束完整性约束DROPMODIFY;DROPTABLE;AnIntroductiontoDatabaseSystem4.4.建立与删除索引建立与删除索引建立与删除索引建立与删除索引CREATECREATEUNIQUE CLUSTER INDEX UNIQUE CLUSTER INDEX ON ON(,););DROP INDEX DROP INDEX 5.5.查询查询查询查询SELECTSELE
13、CT语句的一般格式:语句的一般格式:语句的一般格式:语句的一般格式:SELECT ALL|DISTINCTSELECT ALL|DISTINCT别名别名别名别名,别名别名别名别名 FROMFROM 别名别名别名别名,别别别别名名名名 WHEREWHEREGROUP BY GROUP BY HAVINGHAVINGORDER BYORDER BYASC|DESC;2ASC|DESC;AnIntroductiontoDatabaseSystem(1)(1)目标列表达式有以下可选格式:目标列表达式有以下可选格式:目标列表达式有以下可选格式:目标列表达式有以下可选格式:*.*.*COUNT(DISTI
14、NCT|ALL*)COUNT(DISTINCT|ALL*).,.(2 2)集函数的一般格式为:)集函数的一般格式为:)集函数的一般格式为:)集函数的一般格式为:COUNTCOUNTSUMSUMAVGAVGMAXMAXMINMIN(DISTINCT|ALLDISTINCT|ALL)(3)WHERE(3)WHERE子句的条件表达式有以下可选格式:子句的条件表达式有以下可选格式:子句的条件表达式有以下可选格式:子句的条件表达式有以下可选格式:AnIntroductiontoDatabaseSystem AnIntroductiontoDatabaseSystem AnIntroductiontoDa
15、tabaseSystem6.6.数据更新数据更新插入数据插入数据:INSERTINSERTINTOINTO(,2)VALUESVALUES(,2););INSERTINSERTINTOINTO(,2)子查询;子查询;修改数据修改数据:UPDATEUPDATE SET SET=,=WHERE WHERE;删除数据删除数据:DELETEDELETEFROMFROM WHEREWHERE;AnIntroductiontoDatabaseSystem7.视图视图 建立视图:建立视图:CREATEVIEW(,)AS WITHCHECKOPTION;删除视图删除视图:DROPVIEW;查询视图查询视图:视
16、图消解。:视图消解。更新视图更新视图:目前各个关系数据库系统一般都只:目前各个关系数据库系统一般都只允许对行列子集视图进行更新。允许对行列子集视图进行更新。AnIntroductiontoDatabaseSystem 8.8.授权授权授权授权GRANTGRANT,ON ON TO TO,WITHWITHGRANTGRANTOPTIONOPTION;REVOKE REVOKE,ON ON FROM FROM,;不同类型的操作对象有不同的操作权限,常见的操作不同类型的操作对象有不同的操作权限,常见的操作不同类型的操作对象有不同的操作权限,常见的操作不同类型的操作对象有不同的操作权限,常见的操作权限
17、如表权限如表权限如表权限如表3.43.4所示所示所示所示.用户可以是一个或多个具体的用户,也可以是全体用用户可以是一个或多个具体的用户,也可以是全体用用户可以是一个或多个具体的用户,也可以是全体用用户可以是一个或多个具体的用户,也可以是全体用户户户户PUBLICPUBLIC。AnIntroductiontoDatabaseSystem第第4章章 数据库安全性数据库安全性1.数据库安全性控制的常用方法用户标识和鉴定存取控制视图审计密码存储AnIntroductiontoDatabaseSystem2.2.常用存取控制方法常用存取控制方法自主存取控制自主存取控制(Discretionary Acc
18、ess Control Discretionary Access Control,简称,简称DACDAC)通过通过 SQL SQL 的的 GRANTGRANT 语句和语句和 REVOKEREVOKE 语句实现语句实现注意:注意:WITH GRANT OPTIONWITH GRANT OPTION子句子句:n n指定:可以指定:可以再授予再授予n n没有指定:没有指定:不能传播不能传播不允许循环授权不允许循环授权强制存取控制强制存取控制(Mandatory Access ControlMandatory Access Control,简称,简称 MACMAC)强制存取控制规则(1)仅当主体的许可
19、证级别大于或等于客体的密级时,该主体才能读取相应的客体(2)仅当主体的许可证级别等于客体的密级时,该主体才能写相应的客体修正规则主体的许可证级别=客体的密级 主体能写客体AnIntroductiontoDatabaseSystem第第5章章 数据库完整性数据库完整性防止数据库中存在不符合语义的数据,也就是防止防止数据库中存在不符合语义的数据,也就是防止数据库中存在不正确的数据数据库中存在不正确的数据完整性含义正确性和相容性1.实体完整性实体完整性2.参照完整性3.用户定义完整性AnIntroductiontoDatabaseSystem1.1.实体完整性定义实体完整性定义实体完整性定义实体完整
20、性定义n n关系模型的实体完整性关系模型的实体完整性n nCREATE TABLECREATE TABLE中用中用PRIMARY KEYPRIMARY KEY定义定义n n单属性构成的码有两种说明方法单属性构成的码有两种说明方法 n n定义为列级约束条件定义为列级约束条件n n定义为表级约束条件定义为表级约束条件n n对多个属性构成的码只有一种说明方法对多个属性构成的码只有一种说明方法n n定义为表级约束条件定义为表级约束条件 AnIntroductiontoDatabaseSystem2.参照完整性定义参照完整性定义关系模型的参照完整性定义n n在在CREATE TABLECREATE TA
21、BLE中用中用FOREIGN KEYFOREIGN KEY短语定短语定义哪些列为外码义哪些列为外码n n用用REFERENCESREFERENCES短语指明这些外码参照哪些表短语指明这些外码参照哪些表的主码的主码AnIntroductiontoDatabaseSystem第第6章章1.函数依赖,平凡函数依赖,非平凡函数依赖,部分函数依赖,完全函数依赖,传递函数依赖的概念。2.各种范式之间的联系BCNF3NF2NF1NF 1NF 消除非主属性对码的部分函数依赖消除决定属性 2NF集非码的非平 消除非主属性对码的传递函数依赖凡函数依赖 3NF 消除主属性对码的部分和传递函数依赖 BCNF 消除非平
22、凡且非函数依赖的多值依赖 4NFAnIntroductiontoDatabaseSystem3.Armstrong3.Armstrong公理系统公理系统A1A1自反律自反律:若:若Y Y X X U U,则,则X XY Y为为F F所蕴含。所蕴含。A2A2增广律增广律:若:若X XY Y为为F F所蕴含,且所蕴含,且Z Z U U,则,则XZXZYZYZ为为F F所蕴含。所蕴含。A3A3传递律传递律:若:若X XY Y及及Y YZ Z为为F F所蕴含,则所蕴含,则X XZ Z为为F F所蕴含。所蕴含。三条推理规则:三条推理规则:合并规则合并规则:由:由X XY Y,X XZ Z,有,有X XY
23、ZYZ。伪传递规则伪传递规则:由:由X XY Y,WYWYZ Z,有,有XWXWZ Z。分解规则分解规则:由:由X XY Y及及Z Z Y Y,有,有X XZ Z。求与函数依赖集求与函数依赖集F F等价的一个极小函数依赖集等价的一个极小函数依赖集FmFm。模式分解模式分解判断一个分解的无损连接性判断一个分解的无损连接性(算法算法6.2)6.2)。模式分解算法模式分解算法6.36.3和和6.46.4(即将某模式转换为满足给(即将某模式转换为满足给定要求的定要求的3NF3NF)AnIntroductiontoDatabaseSystem第第7章章1.数据库设计的基本步骤需求分析(数据字典在该阶段生
24、成)概念结构设计(生成E-R图)逻辑结构设计(E-R图转换为某个DBMS支持的数据模型,如关系模型)数据库物理设计(为逻辑数据模型选取一个最适合应用环境的物理结构,包括存储结构和存取方法)数据库实施(建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。)数据库运行和维护阶段(数据库投入正式运行)AnIntroductiontoDatabaseSystem2.区分实体与属性的两条准则:作为“属性”,不能再具有需要描述的性质。“属性”必须是不可分的数据项,不能包含其他属性。“属性”不能与其它其他实体具有联系,即E-R图中的所表示的联系是实体之间的联系。AnIntroductiontoDat
25、abaseSystem3.E-R3.E-R图向关系模型的转换规则:图向关系模型的转换规则:一个实体型转换为一个关系模式,实体的属性就是关系的属性,实体一个实体型转换为一个关系模式,实体的属性就是关系的属性,实体的码就是关系的码。的码就是关系的码。一个一个1 1:1 1的联系可以转换为一个独立的关系模式,也可以与任意一端的联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。如果转换为一个独立的模式,则与该联系相对应的关系模式合并。如果转换为一个独立的模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,每个实连的各实体的码以及联系本身的属性均转换为关系的属性,每
26、个实体的码均是该关系的候选码。如果与某一端实体对应的关系模式合体的码均是该关系的候选码。如果与某一端实体对应的关系模式合并,则需要在该关系模式的属性中加入另一个关系模式的码和联系并,则需要在该关系模式的属性中加入另一个关系模式的码和联系本身的属性。本身的属性。一个一个1 1:n n的联系可以转换为一个独立的关系模式,也可以与的联系可以转换为一个独立的关系模式,也可以与n n端对应的端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的的各实体的码以及联系本身的属性均转
27、换为关系的属性,而关系的码为码为n n端实体的码。端实体的码。一个一个mm:n n联系转换为一个关系模式。与该联系相连的各实体的码以及联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合合.三个或三个以上实体间的一个多元联系可以转换为一个关系模式。与三个或三个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。属性,而关系的码为各实
28、体码的组合。具有相同码的关系模式可合并。具有相同码的关系模式可合并。AnIntroductiontoDatabaseSystem第第8章章 数据库编程数据库编程1.PL/SQL的块结构的块结构2.变量常量的定义变量常量的定义3.控制结构控制结构4.存储过程存储过程AnIntroductiontoDatabaseSystem第第9章章1.查询优化的一般准则。选择运算应尽可能先做,投影运算也应尽可能的先做,笛卡尔积其后某些选择运算连接运算。2.关系代数等价变换规则。AnIntroductiontoDatabaseSystem第10章事务的四个基本特性:原子性、一致性、隔离性和持续性。典型故障及其恢
29、复策略(事务故障、系统故障、介质故障)故障恢复技术的基本原理:冗余数据(数据转储和登录日志文件)AnIntroductiontoDatabaseSystem第第1111章章1.1.并发操作带来的数据不一致性:丢失修改、不可重复读和并发操作带来的数据不一致性:丢失修改、不可重复读和读读“脏脏”数据。数据。2.2.基本封锁类型:排它锁(基本封锁类型:排它锁(X X锁)和共享锁(锁)和共享锁(S S锁)。锁)。X X锁:若事务锁:若事务T T对数据对象对数据对象A A加上加上X X锁,则只允许锁,则只允许T T读取和修读取和修改改A A,其他任何事务在,其他任何事务在T T释放释放X X锁之前,不能
30、再对锁之前,不能再对A A加任加任何类型的锁。何类型的锁。S S锁:若事务锁:若事务T T对数据对象对数据对象A A加上加上S S锁,则事务锁,则事务T T可以读可以读A A但但不能修改不能修改A A,其他事务在,其他事务在T T释放释放S S锁之前,可以对锁之前,可以对A A加加S S锁。锁。3.3.死锁和死锁和 活锁活锁4.4.并发调度的可串行性。并发调度的可串行性。5.5.两段锁两段锁选择题(20分)填空题(15分)判断题(10分)SQL语句(30分)规范化理论(10分)数据库设计题(15分)AnIntroductiontoDatabaseSystem填空题(15分)选择题(30分)简单
31、计算(10分)SQL语句(25分)规范化理论(10分)数据库设计题(10分)AnIntroductiontoDatabaseSystem例题:n n例1.设关系R(A,B)和S(B,C)各有10个元组,那么这两个关系的自然连接所形成的新关系的元组个数不会超过()个n nA A10 B10 B100 C100 C10000 D10000 D2020AnIntroductiontoDatabaseSystem例题:例2.数据库系统中常用的安全性控制方法包括()(1)用户标识和鉴别(2)审计(3)视图(4)加密(5)存取控制供选择的解答:(A)全部 (B)(1),(2),(4),(5)(C)(1),
32、(4)(D)(1),(4),(5)AnIntroductiontoDatabaseSystem例3:设有关系 R SABC367257723443ABC345723AnIntroductiontoDatabaseSystemA B CA B CA B CC BA B C3 6 73 6 77 2 35 47 2 32 5 72 5 73 24 4 37 2 34 4 34 4 33 4 5RS RS RS 3,2(S)B=3);(5)创建基本表(主码,外码,CHECK短语)(6)创建视图(7)授权与收回授权 (8)插入、删除语句AnIntroductiontoDatabaseSystem例例5
33、.5.假设某商业集团数据库中有一关系模式假设某商业集团数据库中有一关系模式R R如下:如下:R(R(商店编号,商品编号,数量,部门编号,负责人商店编号,商品编号,数量,部门编号,负责人)如果规定:如果规定:(1)(1)每个商店的每种商品只在一个部门销售每个商店的每种商品只在一个部门销售 (2)(2)每个商店的每个部门只有一个负责人每个商店的每个部门只有一个负责人 (3)(3)每个商店的每种商品只有一个库存数量每个商店的每种商品只有一个库存数量试回答下列问题:试回答下列问题:(1 1)根据上述规定,写出关系模式)根据上述规定,写出关系模式R R的基本函数依赖及其候的基本函数依赖及其候选码;选码;
34、(2)R(2)R属于几范式?如果属于几范式?如果R R不属于不属于3NF3NF,请将,请将R R分解成分解成3NF3NF的的模式集。模式集。AnIntroductiontoDatabaseSystem(1 1)函数依赖:)函数依赖:(商店编号,商品编号)(商店编号,商品编号)部门编号部门编号(商店编号,商品编号)(商店编号,商品编号)数量数量(商店编号,部门编号)(商店编号,部门编号)负责人负责人候选码(商店编号,商品编号)候选码(商店编号,商品编号)(2 2)不属于)不属于3NF3NF 将将R R分解成:分解成:R1R1(商店编号,商品编号,数量,部门编号)(商店编号,商品编号,数量,部门编
35、号)R2R2(商店编号,部门编号,负责人)(商店编号,部门编号,负责人)AnIntroductiontoDatabaseSystem例例6.6.假设某差旅管理数据库中有一关系模式假设某差旅管理数据库中有一关系模式R R如下:如下:R(R(姓名,身份证号,性别,出差地名,出差日期,出差费用姓名,身份证号,性别,出差地名,出差日期,出差费用)如果规定:如果规定:(1)(1)同一个人可以多次去同一个同一个人可以多次去同一个 地方出差。地方出差。试回答下列问题:试回答下列问题:(1 1)根据上述规定,写出关系模式)根据上述规定,写出关系模式R R的基本函数依赖及其候的基本函数依赖及其候选码;选码;(2
36、)R(2)R属于几范式?如果属于几范式?如果R R不属于不属于3NF3NF,请将,请将R R分解成分解成3NF3NF的的模式集。模式集。AnIntroductiontoDatabaseSystem(1 1)函数依赖:)函数依赖:身份证号身份证号姓名;身份证号姓名;身份证号性别;性别;(身份证号,出差日期)(身份证号,出差日期)出差地名;出差地名;(身份证号,出差日期)(身份证号,出差日期)出差费用出差费用候选码(身份证号,出差日期)候选码(身份证号,出差日期)(2 2)不属于)不属于3NF3NF 将将R R分解成:分解成:R1R1(身份证号,姓名,性别)身份证号,姓名,性别)R2R2(身份证号,出差日期,出差地名,出差费用)(身份证号,出差日期,出差地名,出差费用)AnIntroductiontoDatabaseSystem 下课了。追求追求