1、第一章 绪论 发表日期:2009 年 5 月 7 日 【编辑录入: base】 第一章 绪论 1.教学目标及基本要求: 理解数据库、数据库系统及数据库管理系统等基本概念。了解数据库技术的产生和发展。掌握数据库 系统的核心和基础数据模型,包括数据模型的三要素、概念模型,理解三种主要的数据库模型。理解数据库系统三级模式和两层映象。了解数据库系统 的组成。这一章应把注意力放在掌握基本概念和基本知识方面,为进一步学习下面的章节打好基础。2.各节教学内容(列出节名)及学时分配:1.1 数据库系统概述 (2)1.2 数据模型(2)1.3 数据库系统结构 (1)1.4 数据库系统的组成 (1)3.重点和难点
2、:重点讲解数据模型,E-R 图和数据库系统的三级模式结构。难点是 E-R图的画法。4.教学内容的深化和拓宽: 数据库技术的新发展5.教学方式(手段)及教学过程中应注意的问题: 多媒体, 数据模型的具体化6.主要参考书目及网络资源:(1)崔巍编著. 数据库系统及应用(第二版). 高等教育出版社, 2003.7(2)http:/210.44.125.49/zfc7.思考题和习题。练习:P 37 1,2,3,4,5,6,7,8,9,10,11,12,13,15,18,19,23,24,25第一节 数据库系统概述 (2) 数据:客观实体的属性值。例 文字、声音、图片、图象等。 信息:真实的可传播的消息
3、。数据是信息的载体。 数据处理:对各种形式的数据进行收集、存储、加工和传播等一系列活动。 数据库:通用化、综合性的数据集合。或以一定的组织方式存储在计算机外部介质中,并相互关联的数据集合。 数据库技术 :能科学地组织和存储数据,高效地获取和处理数据的技术。 数据库管理系统 (DBMS: Data Base Management System) 数据库系统: 由计算机系统、数据库、数据库描述、数据库管理系统、数据库应用程序和用户组成。 数据管理: 对数据进行分类、组织、编码、存储、检索和维护等操作。人工管理阶段(19531965 )基本特征:数据不独立,数据只是程序的一个组成部分。即应用程序与数
4、据组 11对应文件系统(19651970) 基本特征:数据不再是程序的组成部分,而是按一定结构、有组织地存储在磁盘中。数据库系统阶段(1970 )基本特征:数据和应用程序完全独立,真正实现了数据共享。数据库系统的特点:(1 )数据结构化。(2)数据的共享性高,冗余度低,易扩充。(3)数据的高独立性。(4)数据由 DBMS统一管理和控制。第二节 数据模型 (2)现实世界:客观存在的世界。一个事物可以有许多特征,通常都是选用我们感兴趣的以及最能表征该事物的若干特征来描述该事物。信息世界:现实世界中的事物及其联系由人们感官感知,经过人们头脑的分析、归纳,抽象形成为信息。对这些信息进行记录、整理、归类
5、和格式化后就构成了信息世界。机器世界:数据化了的信息世界称之为机器世界。所谓信息的数据化,就是将信息用字符和数值表示,即转换为能用计算机处理的数据。模型分类:模型是人们对客观世界的认识和理解,是对客观世界的近似描述。通常分为两类,即概念模型和数据模型。概念模型:面向用户、面向现实世界的数据模型,它是与 DBMS无关。它主要用来描述一个单位(组织)的概念化结构。基本概念:实体,码,域,实体型,实体集,联系,属性。E-R 图:(1 )用长方形表示实体型,在框内写上实体名。(2)用椭圆形表示实体的属性,并用无向边把实体与其属性连接起来。(3)用菱形表示实体间的联系,菱形框内写上联系名,用无向边把菱形
6、分别与有关实体连接,在无向边旁标上联系的类型。若实体之间联系也有属性,则把属性和菱形也用无向边连接上。数据模型:数据库系统中用于提供信息表示和操作手段的形式框架。是按计算机系统的观点对数据建模,是对实体型的描述框架。数据结构:对象类型的集合。即数据的逻辑组织结构(树,图,表)。是对系统静态特性的描述。如实体型。数据操作:对数据库中各种对象(型)的实例(值)允许执行的操作的集合,包括操作及有关的操作规则。是对系统动态特性的描述。如检索与更新。完整性约束:数据完整性规则的集合。层次模型:层次模型实际上是一个树形结构。将数据库中数据按树形结构进行组织。基本层次联系结构为:(1)有且仅有一个结点无双亲
7、,称为一个根结点;(2)其他结点有且仅有一个双亲。数据结构: 字段:最小数据单位。片段:由若干字段组成一个描述实体。树:由若干相关联的片段组成一个物理数据库 PDB。 数据操纵:对字段、片段的操作有检索(查找、数据存取)和更新(插入、修改和删除)。存储结构:层次数据库中除了存储数据本身,还存储要存储数据间的层次联系,具体方法有:(1)邻接法。(2)指引元连接法。网状模型:在网状模型中用结点表示实体,用系(set)表示两个实体之间的联系。基本层次联系结构为:有一个以上的结点没有双亲;结点可以有多余一个的双亲。数据结构:数据项(Data Item):最小数据单位。 首记录型记录(Record ):
8、 实体型 数据项的有序集合,描述实体型 属记录型 实例:值。首记录:双新记录;属记录:子女记录。系型:描述记录型之间的 1:n 的联系。系(set)系值:系型的一个实例。系的分类单属系:系型中只有一个属记录。多属系:系型中有两个以上的属记录。奇异系:以系统本身作为首记录。联系的分解:把 m:n 的联系分解成若干 1:n 的系。联系分解方法:增加联系记录数据操纵:对数据项、记录和系的操作有检索(查找、数据存取)和更新(插入、修改和删除)。存储结构:体现记录(数据)之间的联系,常用方法是连接法(单向、双向、环状、向首)。还有阵列法,索引法等。关系模型:将数据库中数据按表形结构进行组织。基本层次联系
9、结构为一张二维表,多张二维表通过共同的属性实现实体(型)之间的联系,称为关系。具有关系模型的数据库称为关系数据库,是我们学习的重点内容。 关系:一张二维表。元组:表中的一行。属性:表中的一列。主码:能唯一标识一个元组的某个属性组。域:属性的取值范围。分量:元组中的一个属性值。关系模式:对关系的描述。用以下格式表示关系名(属性名 1,属性名 2, 属性名 n)存储结构:用表体现实体与实体间的联系,表以文件的形式存储。第三节 数据库系统结构 (1)数据模式:以一定的数据模型对一个单位数据的类型、结构及其相互间的关系所进行的描述。数据模式仅仅是型的描述,而不涉及到具体的值。它实质上是用数据模型对现实
10、世界某一部分的模拟。数据模型与数据模式的区别:数据模型是某一类数据的结构和特性的说明,它是描述数据的手段。数据模型与数据模式不应混淆,正像不应把程序设计语言和用程序设计语言所写的一段程度混为一体一样。数据模式仅仅是型的描述,而不涉及到值,它是描述数据的方法。数据库系统的三级模式结构:外模式、模式、内模式 第四节 数据库系统的组成 (1)硬件及数据库。软件包括操作系统,DBMS,编译系统及应用开发工具软件等。人员包括数据库管理员(DBA)、系统分析员,应用程序和用户。第二章 关系数据库1.教学目标及基本要求: 正确理解关系的概念,掌握关系模式的定义和关系运算。学会用关系代数表达式进行数据查询。2
11、.各节教学内容(列出节名)及学时分配2.1 关系数据结构及形式化定义(2)2.2 关系完整性(1)2.3 关系代数(4)2.4 关系演算(1)3.重点和难点:重点讲解关系模型的数据结构,关系的完整性和关系操作。难点是关系操作.4.教学内容的深化和拓宽;5.教学方式(手段)及教学过程中应注意的问题;6.主要参考书目及网络资源:(1)崔巍编著. 数据库系统及应用(第二版). 高等教育出版社,2003.7(2)http:/210.44.125.49/zfc7.思考题和习题:P 74 1, 2, 3, 4, 5, 6, 7第一节 关系数据结构及形式化定义 (2)域(Domain ).值的集合笛卡尔积(
12、Cartesian): D= D1Dn=t|t=(d1,d2,dn),diDi,其中,t称为元组,d i称为分量(Component),元素的个数称为基数(Cardinal numbr)。关系(relation ): 笛卡尔积的一个子集(有意义),可看成一个二维表,记为 R(D 1,D 2,D n)称为 n目关系,每行称为一个元组(记录).范式(Normal Form): 若关系中的每个分量是不可分的,则称此关系为规范化关系,简称范式表,否则, 称为非范式表。关系的六条性质第二节 关系的完整性(1)完整性约束条件完整性规则外码第三节 关系代数 (4)1传统集合运算:把关系看成元组的集合。设有关
13、系 R,S并(union): RS=t tR tS,同目关系之间的运算差(difference): R-S=t tR tS,同目关系之间的运算交(intersection): R=t tR tS,同目关系之间的运算广义笛卡儿积(extended cartesian product): R S,元组集合之间的笛卡儿积。2专门的关系运算R(A1,A 2,.,A n)=tt R tAi为属性 Ai在 t中的分量A=Ai1,Ai2,.,Aik-属性列 =AiAiA-剩余属性列tA=(tAi1,tAi2,.,tAik)-A在 t中的投影值。trts-元组连接(串) ,是一个 m+n目元组,其中 ,trR
14、,tsS,即横向拼接。设关系:R(X,Z),X,Z 为 R的属性列,当 X列上取值 x时,x 在 R中的象集定义为:Zx=tZtR ,tX=x专门关系运算:运算符 , , 选择(selection)操作: 投影(Project) 列操作 连接(join): 两个表之间的横向拼接操作 除(Division):3关系代数的五种基本运算:, ,并,差,笛积,选择,投影4用基本运算表示交,连接和除法运算:RS=R-(R-S)R S = AB(RS)=t rtst rR,t sSt rA tsB=“真”AB(或 R S = in+j(RS),其中 R为 n目关系)ij自然连接:R S= t rtsB t
15、 rR,t sSt rB=tsB第四节 关系演算 (1)用谓词演算形式描述关系 R的查询要求的操作称为关系演算元组关系演算语言: ALPHA ALPHA 语言主要语句(6 条):GET,PUT,HOLD,UPDATE,DELETE,DROP元组关系演算 :表达式t(t) 其中 t为元组变量, (t)为由元组公式组成的公式或条件。 域关系运算 :表达式:X 1 X2 Xk (X 1 X2 Xk)其中 X1 X2 Xk是域变量, 是一个公式(由原子公式组成)域关系演算的表达式的功能:所有使得 为真的那些 X1 X2 Xk组成的元组集合。用关系演算表示关系代数中的五种基本演算:, , , (并,差,
16、笛积,选择,投影)第三章 关系数据库标准语言 SQL 发表日期:2009 年 5 月 7 日 【编辑录入: base】 第三章 关系数据库标准语言 SQL1.教学目标及基本要求:在 SQL 语言的基础上进一步加深对关系数据库系统的基本概念的理解。掌握 SQL 语言在数据定义、数据查询、数据更新、数据控制方面的功能,能正确定义数据表、 视图和查询操作。理解视图的概念。学会使用嵌入式 SQL。2.各节教学内容(列出节名)及学时分配3.1 SQL 概述(1)3.2 学生课程数据库(略)3.3 数据定义(2)3.4 查询(6)3.5 数据更新(1)3.6 视图(1)补充内容: SQL Server 2
17、000 系统操作(1)3、重点难点:重点讲解 SQL 语 言的数据定义、数据 查询、数据更新和数据控制。难点是数据定义和查询。4.教学内容的深化和拓宽: B/S 体系结构, SQL Server 2000 系统操作5.教学方式(手段)及教学过程中应注意的问题:多媒体, 注意 SQL 语句课堂演示.6.主要参考书目及网络资源:(1)崔巍编著. 数据库系统及应用( 第二版). 高等教育出版社,2003.7(2)http:/210.44.125.49/zfc7.思考题和习题:P 127 1,2,3,4,5,6,7,8,9,10,11第一节 SQL 概述 (1)SQL 语言的功能SQL是一个综合的、通
18、用的、功能极强的关系数据库语言,它具有四个方面的功能:查询(Query),操纵(Manipulation),定义(Definition)和控制(contro1)。SQL 语言的特点 综合统一:模式定义和数据操作的一体化。SQL 能完成定义关系模式、数据录入、查询、更新、维护、数据库重构、数据库安全性控制等一系列操作要求。 高度非过程化:只需用户提出“干什么”,无需指出 “怎么干”。面向集合的操作方式:操作的对象可以是元组的集合,非单个记录。 两种使用方式,统一的语法结构:联机交互(人机对话)和嵌入到高级语言程序中,且语法结构基本一致。 语言简洁,易学易用:SQL 语言共有 8个命令动词,语法接
19、近英语口语。 支持关系数据库的三级模式结构:第二节 学生课程数据库(略)第三节 数据定义 (2)定义基本表命令CREATE TABLE 创建一张新表DROP TABLE 删除表ALTER TABLE 修改表结构定义视图命令CREATE VIEW 定义一个视图DROP VIEW 删除视图定义索引命令CREATE INDEX 创建索引DROP INDEX 删除索引第四节 查询 (6)SQL 运算符和表达式(1) 算术运算符:, ,* , / , ( )(2) 字符运算符:+ 又称为字符串连接符。(3)比较运算符:= 表示“等于”关系;(4) 逻辑运算符:NOT (非),AND(与),OR(或)。(
20、5)集合运算符:UNION : 集合的“并”运算;INTERSECT : 集合的“交”运算;MINUS : 集合的“差”运算; SELECT 语句基本语法格式为:SELECT ALL|DISTINCT *|表名.*|表达式 列别名 ,*|表名.*|表达式列别名FROM 用户名.表名表别名 ,用户名.表名表别名简单查询(单表)连接查询(多表或复杂查询)嵌套查询(子查询)函数查询分组查询(分组汇总)第五节 数据更新:数据更新命令 (1)UPDATE 修改字段信息DELETE 删除元组INSERT 插入元组第六节 视图:数据视图命令 (1) CREATE VIEW 建立视图DROP VIEW 删除视
21、图视图的查询和更新同基本表。补充内容: SQL Server 2000 系统操作(1)第四章 数据库安全性 发表日期:2009 年 5 月 7 日 【编辑录入: base】 第四章 数据库安全性1.教学目标及基本要求:了解数据库安全的重要性和可信计算机系统的评测标准。掌握数据库安全性的各种控制技术和方法。2.各节教学内容(列出节名)及学时分配4.1 计算机安全性概述(1)4.2 数据库安全性控制(2)4.3 视图机制(0.5)4.4 审计(0.5)4.5 数据加密(0.5)4.6 统计数据库安全性(0.5)3.重点和难点:重点讲解存取控制技术和审计技术。难点是存取控制。4.教学内容的深化和拓宽
22、;5.教学方式(手段)及教学过程中应注意的问题;6.主要参考书目及网络资源:(1)崔巍编著. 数据库系统及应用( 第二版). 高等教育出版社,2003.7(2)http:/210.44.125.49/zfc7.思考题和习题:P 148 1,2,3,4,5,6,7,8,9,10,11,12,13,14第一节 计算机安全性概论 (1)数据库安全性:指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。计算机系统安全性:指为计算机系统建立和采取的各种安全保护措施,以保护计算机系统中的硬件、软件及数据,防止其因偶然或恶意的原因使系统遭到破坏,数据遭到更改或泄露等。计算机系统安全性的三类问题:技术
23、安全、管理安全和政策法律。(1)技术安全问题:指计算机系统中采用具有一定安全性的硬件、软件来实现对计算机系统及其所存数据的安全保护。(2)管理安全问题:因软件以外故障、场地出以外事故、管理不善导致的计算机设备和数据介质的物理破坏、丢失等安全问题。(3)政策法律问题:指政府部门建立的有关计算机犯罪、数据安全保密的法律道德准则和政策法规、法令等。可信计算机系统评测标准:TCSEC或 DoD85: 美国国防部(DoD)1985 年颁布的DoD 可信计算机系统评估标准(Trusted Computer System Evaluation Criteria).TDI:美国 NCSC(国家计算机安全中心)
24、1991 年 4月颁布的可信计算机系统评估标准关于可信数据库系统的解释(Trusted Database Interpretation)紫皮书。它们有各级安全性保护级别。第二节 数据库安全性控制 (2)数据库的安全性保护宗旨就是防止非法存取和意外(恶意)破坏计算机系统的安全模型:层层设防。用户标识和鉴别:最外层安全保护措施,主要由用户名和口令组成。存取控制:主要机制包括定义用户权限与合法权限检查。分两类方法。(1)自主存取控制(DAC):用户对于不同的数据对象有不同的存取权限,不同的用户对同一对象也有不同的权限,而且用户还可将其拥有的存取权限转授给其他用户。非常灵活。(2)强制存取控制(MAC
25、):每一个数据对象被标记一定的密级,每一个用户也被授予某一个级别的许可证。对于一个对象,只有具有合法许可证的用户才可以存取。通常把 DBMS管理的实体分为主体和客体两大类,相对比较严格。主体:系统中的活动实体,既包括 DBMS所管理实际用户,也包括代表用户的各进程。客体:系统中的被动实体,是受主体操纵的,包括文件、基表、索引、视图等。敏感度标记:主体对客体能否存取的标志。主体的敏感度标记是许可证级别(Clearance Level): 绝密(Top Secret)、机密(Secret)、可信(Confidential)、公开(Public);客体的敏感度标记是密级(Classification
26、 Level)。第三节 视图机制 (0.5)视图机制:为不同的用户定义不同的视图,把数据对象限制在一定的范围之内。第四节 审计(0.5)审计(Audit): 把用户对数据库的所有操作自动记录下来放入审计日志中。第五节 数据加密(0.5)审计(Audit): 把用户对数据库的所有操作自动记录下来放入审计日志中。数据加密:根据一定的算法将原始数据(明文 Plain text)变换为不可直接识别的格式(密文 Cipher text), 从而使得不知道解密算法的人无法获得数据的内容。通常有替换法和置换法。第六节 统计数据库安全性 (0.5)在统计数据库中存在着特殊的安全性问题,即可能存在着隐蔽的信息通
27、道,使得可以从合法的查询中推导出不合法的信息。第五章 数据库完整性 发表日期:2009 年 5 月 7 日 【编辑录入: base】 第五章 数据库完整性1.教学目标及基本要求:了解数据库安全的重要性和可信计算机系统的评测标准。掌握数据库安全性的各种控制技术和方法。2.各节教学内容(列出节名)及学时分配5.1 实体完整性 (1)5.2 参照完整性 (2)5.3 用户自定义完整性(1)5.4 完整性约束命名子句(1)5.5 域中的完整型限制(1)5.6 触发器(2)3.重点和难点:重点讲解存取控制技术和审计技术。难点是存取控制。4.教学内容的深化和拓宽;5.教学方式(手段)及教学过程中应注意的问
28、题;6.主要参考书目及网络资源:(1)崔巍编著. 数据库系统及应用( 第二版). 高等教育出版社,2003.7(2)http:/210.44.125.49/zfc7.思考题和习题:P 164 1,2,3,4,5,6,7,8第一节 实体完整性5.1.1 实体完整性定义CREATE TABLE中用 PRIMARY KEY定义单属性构成的码有两种说明方法:定义为列级约束条件,定义为表级约束条件。对多个属性构成的码只有一种说明方法:定义为表级约束条件。例 1 将 Student表中的 Sno属性定义为码(1)在列级定义主码CREATE TABLE Student(Sno CHAR(9) PRIMARY
29、 KEY,Sname CHAR(20) NOT NULL, Ssex CHAR(2) ,Sage SMALLINT,Sdept CHAR(20);(2)在表级定义主码CREATE TABLE Student(Sno CHAR(9) NOT NULL, Sname CHAR(20) NOT NULL,Ssex CHAR(2) ,Sage SMALLINT,Sdept CHAR(20),PRIMARY KEY (Sno); 例 2将 SC表中的 Sno,Cno 属性组定义为码CREATE TABLE SC( Sno CHAR(9) NOT NULL, Cno CHAR(4) NOT NULL, G
30、rade SMALLINT,PRIMARY KEY (Sno,Cno) /*只能在表级定义主码*/); 5.1.2 实体完整性检查和违约处理插入或对主码列进行更新操作时,RDBMS 按照实体完整性规则自动进行检查。包括:1. 检查主码值是否唯一,如果不唯一则拒绝插入或修改。2. 检查主码的各个属性是否为空,只要有一个为空就拒绝插入或修改。第二节 参照完整性5.2.1 参照完整性定义在 CREATE TABLE中用 FOREIGN KEY短语定义哪些列为外码,用 REFERENCES短语指明这些外码参照哪些表的主码 。例 3 定义 SC中的参照完整性CREATE TABLE SC(Sno CHA
31、R(9) NOT NULL, Cno CHAR(4) NOT NULL, Grade SMALLINT,PRIMARY KEY (Sno, Cno), /*在表级定义实体完整性*/FOREIGN KEY (Sno) REFERENCES Student(Sno), /*在表级定义参照完整性*/FOREIGN KEY (Cno) REFERENCES Course(Cno) /*在表级定义参照完整性*/);5.2.2 参照完整性检查和违约处理参照完整性违约处理1. 拒绝(NO ACTION)执行默认策略2. 级联(CASCADE)操作3. 设置为空值(SET-NULL)例 4 显式说明参照完整性
32、的违约处理示例CREATE TABLE SC(Sno CHAR(9) NOT NULL,Cno CHAR(4) NOT NULL,Grade SMALLINT,PRIMARY KEY(Sno,Cno), FOREIGN KEY (Sno) REFERENCES Student(Sno) ON DELETE CASCADE /*级联删除 SC表中相应的元组*/ON UPDATE CASCADE, /*级联更新 SC表中相应的元组*/FOREIGN KEY (Cno) REFERENCES Course(Cno) ON DELETE NO ACTION /*当删除 course 表中的元组造成了与
33、 SC表不一致时拒绝删除*/ON UPDATE CASCADE /*当更新 course表中的 cno时,级联更新 SC表中相应的元组*/);第三节 用户定义的完整性5.3.1 属性上的约束条件的定义5.3.2 属性上的约束条件检查和违约处理 5.3.3 元组上的约束条件的定义 5.3.4元组上的约束条件检查和违约处理第四节 完整性约束命名子句格式:CONSTRAINT PRIMARY KEY (column_name)|FOREIGN KEY (column_name) REFERENCES (column_name)|CHECK (condition_expression)例 10 建立学
34、生登记表 Student,要求学号在 9000099999之间,姓名不能取空值,年龄小于 30,性别只能是“男”或“女”。CREATE TABLE Student(Sno NUMERIC(6)CONSTRAINT C1 CHECK (Sno BETWEEN 90000 AND 99999),Sname CHAR(20) CONSTRAINT C2 NOT NULL,Sage NUMERIC(3)CONSTRAINT C3 CHECK (Sage BEFORE | AFTER ON FOR EACH ROW | STATEMENTWHEN 5.6.2 激活触发器 5.6.3 删除触发器 第六章
35、关系数据理论 发表日期:2009 年 5 月 7 日 【编辑录入: base】 第六章 关系数据理论 1.教学目标及基本要求:正确理解函数依赖、多值依赖 的概念,能正确判断一个关系模式的规范化程度。掌握函数依赖集 F 的极小化处理技术。进一步了解数据依赖的公理系统及模式分解。2.各节教学内容(列出节名)及学时分配6.1 问题的提出(1)6.2 规范化(3)65.3 数据依赖的公理系统(4)6.4 模式分解(4)3.重点和难点:重点讲解关系模式的规范化理论:函数依赖、多值依赖及 Armstrong 公理。难点是关系模式的规范化程度及 F 的极小化处理。4.教学内容的深化和拓宽;5.教学方式(手段
36、)及教学过程中应注意的问题;6.主要参考书目及网络资源:(1)崔巍编著. 数据库系统及应用( 第二版). 高等教育出版社,2003.7(2)http:/210.44.125.49/zfc7.思考题和习题:P 195 1,2,3,4,5,6,7,8,9,10,12第一节 问题的提出 (1)举例. 教务管理系统信息:学号,姓名,系名,系主任名,课程名,学习成绩S SN SD DN CN G设计一个关系模式:S(S, SN, SD, DN, CN, G)存在的问题:10冗余度大:若有 500名学生,学习 8门课,则共有 4000个元组,那么,系名,系主任名要出现 4000次,其实出现一次就够了。20
37、插入异常:若新系没有招生,系名,系主任名就没法进表,关键是 S#。30删除异常:一个系的学生毕业了,删除全部学生记录,则连系名和系主任名也一同删除了。40潜在的不一致性:系主任一换,4000 个记录都要换,漏掉一个没改,就会出现不一致性。*问题:是否能这样能解决问题?是否是最优的?是否有理论根据?要研究的问题实体之间的联系,实体内容各属性之间的联系,这些内容包括:10数据的依赖关系(函数依赖,多值依赖,连接依赖,函数依赖公理)20关系模式的分解30关系模型的规范化关系模型的五元组表示R其中 R: 关系名, U: 属性组,D:属性域,DOM: 属性到域的映射。F: 数据依赖(属性间)。数据依赖:
38、 属性间值的相等与否体现出来的数据间的相互关系。范式:规范化的关系模型叫范式。按满足不同程度的规范化要求可分为第一范式,第二范式。规范化程度表现为属性间的依赖情况。第二节 规范化 (3)函数依赖(1)定义(2)函数依赖与属性的关系:设属性集 X, Y10 . X与 Y是 1-1关系,则 X Y, Y X, 记为 X Y.20 . X与 Y是 m - 1关系, X Y20 . X与 Y是 m - n关系,则 X与 Y不存在函数依赖关系,记为 X Y,Y X 。(3)函数依赖在关系模式中的确定:关系模式 R中的所有可能的关系 r,都满足函数依赖,则 R具备函数依赖关系。反之, R 中有一个 r不满
39、足函数依赖,则认为 R不存在函数依赖。(4)函数依赖的逻辑蕴含命题. 已知关系模式 R(A, B, C)和函数依赖:F= A B, B C,则推出 A C。定义:设 F是 R的一个函数依赖集(多个函数的依赖定义),X, Y 为 R的属性子集,如果从 F中能推出 X Y,则称 F逻辑蕴含 X Y, 或称 X Y是 F的逻辑蕴含。定义:所有被 F逻辑蕴含的函数依赖集称为 F的 闭包,记为 F +。一般有 FF+。若 F=F+,则称 F为函数依赖的完备集。(5)其它记号与术语决定因素: 若 X Y,则称 X为决定因素.定义:在 R(U)中,如果 X Y , 且 X的任一真子集 X/, 都有 X/ Y
40、 , 则称 Y对 X完全函数依赖, 记为 X Y;否则称 Y对 X是部分函数依赖, 记为 X Y。定义: 在 R(U)中, 若 X Y, 且 YX, Y X ,Y Z, 则称 Z对 X是传递函数依赖, 记为 X Z。实际上,若加上 Y X, 则 XY,那么 X Z 。码(关键码)能唯一确定元组的属性集范式(Normal Form)(1)第一范式(1NF):关系模式 R中,每个具体属性值是不可再分的最小数据项,则称 R属于第一范式,记为 R1NF。(2)第二范式(2NF):满足第一范式的 R, 如果所有非主属性都完全依赖于码,则称 R属于第二范式, 记为 R2NF.(3)第三范式(3NF):若
41、R2NF, 且它的任何一个非主属性都不传递依赖于码, 则称关系 R满足第三范式, 记为 R3NF。(4)BCNF 范式(Boyce Codd Normal Form):F 为 R的函数依赖集,如果 F中所有依赖 X A(A X)的左部都是 R的一个侯选码,则称 R为 BCNF。 (5)多值依赖 Teach(C, T, B)- 课, 教员,参考书定义:设有关系模式 R(A1,An), U=A1,An。X,Y 是 U的两个子集, Z=U XY,r 是 R中任意一个关系,t, s 是 r的任意两个元组, 如果 tX=sX,必有元组 w,v在 r中,使得wX=vX=t X=sX;w Y=sY, wZ=
42、tZ;vY =tY, vZ=sZ。则称 X多值决定 Y或 Y多值依赖于 X, 记为 X Y。多值依赖的性质:10若 X Y, 则 X Z, 其中 Z=U-X-Y。(对称性 )20若 X Y, 则 X Y, 函数依赖为多值依赖的特例。30若 X Y, 且 Z=U-X-Y=, 则称为平凡多值依赖。注:多值依赖与函数依赖的区别(6)第四范式(4NF):设 R为关系模式,F 为 R 上的依赖集。如果对任一多值依赖 XY,Y X, 且 XY未包含 R的全部属性(即非平凡的多值依赖), X 包含 R的一个侯选码或码,则称 R满足 4NF。第三节 数据依赖的公理系统 (4)确定关系的码。需要从 F中计算出 F的闭包 F+,阿姆斯特朗(Armstrong)公理可以从 F中推出 F +的所有依赖。即用公理来找码!Armstrong 公理: 关系模式 R( U,F )A1:(自反性)Y X U, X YA2:(增广律)若 X Y 则 XZ YZ (并 )A3:(传递性)若 X Y,Y Z,则 X Z 其中 X Y 意味着: 任给两个元组 u,v,若 uX=vX,则有 uY=vY。引理 合并规则:X Y, X Z X YZ伪传递规则:X Y , WY Z XW Z分解规则:X Y 及 Z Y X Z关于 R( U, F )中 F的闭包