AnIntroductiontoDatabaseSystem计算机与控制学院数据库系统概论AnIntroductiontoDatabaseSystem总复习AnIntroductiontoDatabaseSystem第1章1.数据、数据库、数据库管理系统、数据库系统的概念2.数据库系统的特点:①数据结构化②数据的共享性高,冗余度低,易扩充③数据独立性高④数据由DBMS统一管理和控制。3.数据独立性包括数据的物理独立性和数据的逻辑独立性。4.物理独立性是指用户的应用程序与存储在磁盘上的数据库中的数据是相互独立的。AnIntroductiontoDatabaseSystem5.逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的。6.DBMS提供的数据控制功能:①数据的安全性保护②数据的完整性检查(数据的完整性是指数据的正确性、有效性和相容性)③并发控制④数据库恢复。7.数据模型:①组成要素:数据结构、数据操作和完整性约束②最常用的数据模型:层次模型、网状模型、关系模型、面向对象模型关系模型中的一些术语:关系、元组、属性、主码、域、分量、关系模式AnIntroductiontoDatabaseSystem8.概念模型:①用于信息世界的建模。②信息世界的基本概念:实体、属性、码、域、实体型、实体集、联系③概念模型的表示方法:E-R图E-R图的三要素:实体型、属性、联系9.数据库系统的三级模式结构P34模式(逻辑模式):是数据库中全体数据的逻辑结构和特征的描述。一个数据库中只的一个模式外模式(子模式,用户模式):是数据库用户的数据视图。一个数据库可以有多个外模式内模式(存储模式):是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。一个数据库只有一个内模式。二级映象:外模式/模式映象,模式/内模式映象AnIntroductiontoDatabaseSystem第2章1.关系模型的三要素:①单一的数据结构――关系:域、主码、主属性②关系操作――查询和更新,其中更新包括插入,删除和修改③关系的三类完整性约束:实体完整性、参照完整性、用户定义完整性。实体完整性规则:若属性A是基本关系R的主属性,则属性A不能取空值。主码非空参照完整性规则、若属性(或属性组)F是基本关系R的外码,它与基本S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:①或者取空值(F的每个属性值均为空值)②或者等于S中某个元组的主码值。AnIntroductiontoDatabaseSystem2.基本概念:关系、属性、记录(元组)、候选码、关系模式、外码关系的基本特点关系与关系模式的区别3.关系完整性实体完整性+参照完整性+用户自定义完整性4.关系代数:传统的集合运算:并、差、交、广义笛卡尔积专门的关系运算:选择、投影、连接⋈、除五种基本关系运算:并、差、笛卡尔积、选择、投影AnIntroductiontoDatabaseSystem第3章1.SQL的特点:①综合统一②高度非过程化③面向集合的操作方式④以同一种语法结构提供两种使用方式⑤语言简捷,易学易用SQL功能动词数据查询SELECT数据定义CREATE,DROP,ALTER数据操纵INSERT,UPDATE,DELETE数据控制GRANT,REVOKEAnIntroductiontoDatabaseSystemSQL的基本概念(续)SQL支持关系数据库三级模式结构AnIntroductiontoDatabaseSystemSQL的基本概念(续)基本表本身独立存在的表SQL中一个关系就对应一个基本表一个(或多个)基本表对应一个存储文件一个表可以带若干索引存储文件逻辑结构组成了关系数据库的内模式物理结构是任意的,对用户透明视图从一个或几个基本表导出的表数据库中只存放视图的定义而不存放视图对应的数据视图是一个虚表用户可以在视图上再定义视图AnIntroductiontoDatabaseSystem3.定义、删除与修改基本表CREATETABLE表名(列名数据类型[列级完整性约束条件][,列名数据类型[列级完整性约束条件]]…[,表级完整性约束条件]);ALTERTABLE表名[ADD新列名数据类型[完整性约束]][DROP完整性约束名][MODIFY列名数据类型];DROPTABLE表名;}AnIntroductiontoDatabaseSystem4.建立与删除索引CREATE[UNIQUE][CLUSTER]INDEX索引名ON表名(列名[次序][,列名[次序]]…);DROPINDEX索引名5.查询SELECT语句的一般格式:SELECT[ALL|DISTINCT]目标列表达式[别名][,目标列表达式[别名]]…FROM表名或视图名[别名][,表名或视图名[别名]]…[WHERE条件表达式][GROUPBY列名1[HAVING条件表达式]][ORDERBY列名2[ASC|DESC]];AnIntroductiontoDatabaseSystem(1)目标列表达式有以下可选格式:①*②表名.*③COUNT([DISTINCT|ALL]*)④[表名.]属性列名表达式[,[表名.]属性列名表达式]…(2)集函数的一般格式为:COUNT|SUM|AVG|MAX|MIN([DISTINCT|ALL]列名)(3)WHERE子句的条件表达式有以下可选格式:①[ANY|ALL](SELECT)属性列名属性列名 常量 语句AnIntroductiontoDatabaseSystem[NOT]BETWEENAND(SELECT)(SELECT)属性列名属性列名属性列名常量常量 语句 语句②(1[,2]...)[NOT]IN(SELECT)值值属性列名 语句③AnIntroductiontoDatabaseSystem[NOT]LIKE属性列名匹配串IS[NOT]NULL属性列名 [NOT]EXISTS(SELECT) 语句ANDAND...OROR 条件表达式条件表达式条件表达式⑤⑥⑦④AnIntroductiontoDatabaseSystem6.数据更新插入数据:①INSERTINTO表名[(属性列1[,属性列2]…)]VALUES(常量1[,常量2]…);②INSERTINTO表名[(属性列1[,属性列2]…)]子查询;修改数据:UPDATE表名SET列名=表达式[,列名=表达式]…[WHERE条件];删除数据:DELETEFROM表名[WHERE条件];AnIntroductiontoDatabaseSystem7.视图建立视图:CREATEVIEW视图名[(列名[,列名]…)]AS子查询[WITHCHECKOPTION];删除视图:DROPVIEW视图名;查询视图:视图消解。更新视图:目前各个关系数据库系统一般都只允许对行列子集视图进行更新。AnIntroductiontoDatabaseSystem8.授权GRANT权限[,权限]…ON对象类型对象名TO用户[,用户]…[WITHGRANTOPTION];REVOKE权限[,权限]…ON对象类型对象名FROM用户[,用户]…;不同类型的操作对象有不同的操作权限,常见的操作权限如表3.4所示.用户可以是一个或多个具体的用户,也可以是全体用户PUBLIC。AnIntroductiontoDatabaseSystem第4章数据库安全性1.数据库安全性控制的常用方法用户标识与鉴别存取控制视图审计数据加密AnIntroductiontoDatabaseSystem2.常用存取控制方法自主存取控制(DiscretionaryAccessControl,简称DAC)通过SQL的GRANT语句和REVOKE语句实现注意:WITHGRANTOPTION子句:指定:可以再授予没有指定:不能传播不允许循环授权强制存取控制(MandatoryAccessControl,简称MAC)强制存取控制规则(1)仅当主体的许可证级别大于或等于客体的密级时,该主体才能读取相应的客体(2)仅当主体的许可证级别等于客体的密级时,该主体才能写相应的客体修正规则主体的许可证级别=客体的密级主体能写客体AnIntroductiontoDatabaseSystem第5章数据库完整性防止数据库中存在不符合语义的数据,也就是防止数据库中存在不正确的数据完整性含义———正确性和相容性1.实体完整性2.参照完整性3.用户定义完整性AnIntroductiontoDatabaseSystem1.实体完整性定义关系模型的实体完整性CREATETABLE中用PRIMARYKEY定义单属性构成的码有两种说明方法定义为列级约束条件定义为表级约束条件对多个属性构成的码只有一种说明方法定义为表级约束条件AnIntroductiontoDatabaseSystem2.参照完整性定义关系模型的参照完整性定义在CREATETABLE中用FOREIGNKEY短语定义哪些列为外码用REFERENCES短语指明这些外码参照哪些表的主码AnIntroductiontoDatabaseSystem第6章1.函数依赖,平凡函数依赖,非平凡函数依赖,部分函数依赖,完全函数依赖,传递函数依赖的概念。2.各种范式之间的联系BCNF3NF2NF1NF1NF↓消除非主属性对码的部分函数依赖消除决定属性2NF集非码的非平↓消除非主属性对码的传递函数依赖凡函数依赖3NF↓消除主属性对码的部分和传递函数依赖BCNF↓消除非平凡且非函数依赖的多值依赖4NFAnIntroductiontoDatabaseSystem3.Armstrong公理系统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)AnIntroductiontoDatabaseSystem第7章1.数据库设计的基本步骤①需求分析(数据字典在该阶段生成)②概念结构设计(生成E-R图)③逻辑结构设计(E-R图转换为某个DBMS支持的数据模型,如关系模型)④数据库物理设计(为逻辑数据模型选取一个最适合应用环境的物理结构,包括存储结构和存取方法)⑤数据库实施(建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。)⑥数据库运行和维护阶段(数据库投入正式运行)AnIntroductiontoDatabaseSystem2.区分实体与属性的两条准则:①作为“属性”,不能再具有需要描述的性质。“属性”必须是不可分的数据项,不能包含其他属性。②“属性”不能与其它其他实体具有联系,即E-R图中的所表示的联系是实体之间的联系。AnIntroductiontoDatabaseSystem3.E-R图向关系模型的转换规则:①一个实体型转换为一个关系模式,实体的属性就是关系的属性,实体的码就是关系的码。②一个1:1的联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。如果转换为一个独立的模式,则与该联系相连的各实体的码以