第一章 sql数据库word教案.doc_第1页
第一章 sql数据库word教案.doc_第2页
第一章 sql数据库word教案.doc_第3页
第一章 sql数据库word教案.doc_第4页
第一章 sql数据库word教案.doc_第5页
已阅读5页,还剩66页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一章 绪论 发表日期:2009年5月7日 【编辑录入:base】 第一章 绪论 1.教学目标及基本要求: 理解数据库、数据库系统及数据库管理系统等基本概念。了解数据库技术的产生和发展。掌握数据库系统的核心和基础数据模型,包括数据模型的三要素、概念模型,理解三种主要的数据库模型。理解数据库系统三级模式和两层映象。了解数据库系统的组成。这一章应把注意力放在掌握基本概念和基本知识方面,为进一步学习下面的章节打好基础。2.各节教学内容(列出节名)及学时分配:1.1 数据库系统概述 (2)1.2 数据模型(2)1.3 数据库系统结构 (1)1.4 数据库系统的组成 (1)3.重点和难点:重点讲解数据模型,E-R图和数据库系统的三级模式结构。难点是E-R图的画法。4.教学内容的深化和拓宽: 数据库技术的新发展5.教学方式(手段)及教学过程中应注意的问题: 多媒体, 数据模型的具体化6.主要参考书目及网络资源:(1)崔巍编著. 数据库系统及应用(第二版). 高等教育出版社, 2003.7 (2)9/zfc7.思考题和习题。练习:P37 1,2,3,4,5,6,7,8,9,10,11,12,13,15,18,19,23,24,25第一节 数据库系统概述 (2) 数据:客观实体的属性值。例 文字、声音、图片、图象等。 信息:真实的可传播的消息。数据是信息的载体。 数据处理:对各种形式的数据进行收集、存储、加工和传播等一系列活动。 数据库:通用化、综合性的数据集合。或以一定的组织方式存储在计算机外部介质中,并相互关联的数据集合。 数据库技术:能科学地组织和存储数据,高效地获取和处理数据的技术。 数据库管理系统(DBMS: Data Base Management System) 数据库系统:由计算机系统、数据库、数据库描述、数据库管理系统、数据库应用程序和用户组成。 数据管理:对数据进行分类、组织、编码、存储、检索和维护等操作。人工管理阶段(19531965)基本特征:数据不独立,数据只是程序的一个组成部分。即应用程序与数据组11对应文件系统(19651970)基本特征:数据不再是程序的组成部分,而是按一定结构、有组织地存储在磁盘中。数据库系统阶段(1970)基本特征:数据和应用程序完全独立,真正实现了数据共享。数据库系统的特点:(1)数据结构化。(2)数据的共享性高,冗余度低,易扩充。(3)数据的高独立性。(4)数据由DBMS统一管理和控制。第二节 数据模型 (2)现实世界:客观存在的世界。一个事物可以有许多特征,通常都是选用我们感兴趣的以及最能表征该事物的若干特征来描述该事物。信息世界:现实世界中的事物及其联系由人们感官感知,经过人们头脑的分析、归纳,抽象形成为信息。对这些信息进行记录、整理、归类和格式化后就构成了信息世界。 机器世界:数据化了的信息世界称之为机器世界。所谓信息的数据化,就是将信息用字符和数值表示,即转换为能用计算机处理的数据。模型分类:模型是人们对客观世界的认识和理解,是对客观世界的近似描述。通常分为两类,即概念模型和数据模型。概念模型:面向用户、面向现实世界的数据模型,它是与DBMS无关。它主要用来描述一个单位(组织)的概念化结构。基本概念:实体,码,域,实体型,实体集,联系,属性。E-R图:(1)用长方形表示实体型,在框内写上实体名。(2)用椭圆形表示实体的属性,并用无向边把实体与其属性连接起来。(3)用菱形表示实体间的联系,菱形框内写上联系名,用无向边把菱形分别与有关实体连接,在无向边旁标上联系的类型。若实体之间联系也有属性,则把属性和菱形也用无向边连接上。数据模型:数据库系统中用于提供信息表示和操作手段的形式框架。是按计算机系统的观点对数据建模,是对实体型的描述框架。 数据结构:对象类型的集合。即数据的逻辑组织结构(树,图,表)。是对系统静态特性的描述。如实体型。数据操作:对数据库中各种对象(型)的实例(值)允许执行的操作的集合,包括操作及有关的操作规则。是对系统动态特性的描述。如检索与更新。完整性约束:数据完整性规则的集合。层次模型:层次模型实际上是一个树形结构。将数据库中数据按树形结构进行组织。基本层次联系结构为:(1)有且仅有一个结点无双亲,称为一个根结点;(2)其他结点有且仅有一个双亲。数据结构:字段:最小数据单位。片段:由若干字段组成一个描述实体。树:由若干相关联的片段组成一个物理数据库PDB。 数据操纵:对字段、片段的操作有检索(查找、数据存取)和更新(插入、修改和删除)。存储结构:层次数据库中除了存储数据本身,还存储要存储数据间的层次联系,具体方法有:(1)邻接法。(2)指引元连接法。网状模型:在网状模型中用结点表示实体,用系(set)表示两个实体之间的联系。基本层次联系结构为: 有一个以上的结点没有双亲; 结点可以有多余一个的双亲。 数据结构:数据项(Data Item):最小数据单位。 首记录型记录(Record): 实体型 数据项的有序集合,描述实体型 属记录型 实例:值。首记录:双新记录;属记录:子女记录。 系型:描述记录型之间的1:n的联系。系(set) 系值:系型的一个实例。系的分类单属系:系型中只有一个属记录。多属系:系型中有两个以上的属记录。奇异系:以系统本身作为首记录。联系的分解:把m:n的联系分解成若干1:n的系。联系分解方法:增加联系记录数据操纵:对数据项、记录和系的操作有检索(查找、数据存取)和更新(插入、修改和删除)。存储结构:体现记录(数据)之间的联系,常用方法是连接法(单向、双向、环状、向首)。还有阵列法,索引法等。关系模型:将数据库中数据按表形结构进行组织。基本层次联系结构为一张二维表,多张二维表通过共同的属性实现实体(型)之间的联系,称为关系。具有关系模型的数据库称为关系数据库,是我们学习的重点内容。 关系:一张二维表。元组:表中的一行。属性:表中的一列。主码:能唯一标识一个元组的某个属性组。域:属性的取值范围。分量:元组中的一个属性值。关系模式:对关系的描述。用以下格式表示 关系名(属性名1,属性名2, 属性名n)存储结构:用表体现实体与实体间的联系,表以文件的形式存储。第三节 数据库系统结构 (1)数据模式:以一定的数据模型对一个单位数据的类型、结构及其相互间的关系所进行的描述。数据模式仅仅是型的描述,而不涉及到具体的值。它实质上是用数据模型对现实世界某一部分的模拟。数据模型与数据模式的区别:数据模型是某一类数据的结构和特性的说明,它是描述数据的手段。数据模型与数据模式不应混淆,正像不应把程序设计语言和用程序设计语言所写的一段程度混为一体一样。数据模式仅仅是型的描述,而不涉及到值,它是描述数据的方法。数据库系统的三级模式结构:外模式、模式、内模式 第四节 数据库系统的组成 (1) 硬件及数据库。 软件包括操作系统,DBMS,编译系统及应用开发工具软件等。 人员包括数据库管理员(DBA)、系统分析员,应用程序和用户。第二章 关系数据库1.教学目标及基本要求: 正确理解关系的概念,掌握关系模式的定义和关系运算。学会用关系代数表达式进行数据查询。2.各节教学内容(列出节名)及学时分配2.1 关系数据结构及形式化定义(2)2.2 关系完整性(1)2.3 关系代数(4)2.4 关系演算(1)3.重点和难点:重点讲解关系模型的数据结构,关系的完整性和关系操作。难点是关系操作.4.教学内容的深化和拓宽;5.教学方式(手段)及教学过程中应注意的问题;6.主要参考书目及网络资源:(1)崔巍编著. 数据库系统及应用(第二版). 高等教育出版社,2003.7(2)9/zfc7.思考题和习题:P74 1, 2, 3, 4, 5, 6, 7第一节 关系数据结构及形式化定义 (2)域(Domain).值的集合笛卡尔积(Cartesian): D= D1Dn=t|t=(d1,d2,dn),diDi,其中,t称为元组,di称为分量(Component),元素的个数称为基数(Cardinal numbr)。关系(relation): 笛卡尔积的一个子集(有意义),可看成一个二维表,记为R(D1,D2,Dn)称为n目关系,每行称为一个元组(记录).范式(Normal Form): 若关系中的每个分量是不可分的,则称此关系为规范化关系,简称范式表,否则, 称为非范式表。关系的六条性质第二节 关系的完整性(1)完整性约束条件完整性规则外码第三节 关系代数 (4)1传统集合运算:把关系看成元组的集合。设有关系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,A2,.,An)=tt R tAi为属性Ai在t中的分量 A=Ai1,Ai2,.,Aik-属性列 =AiAiA-剩余属性列 tA=(tAi1,tAi2,.,tAik)-A在t中的投影值。trts-元组连接(串),是一个m+n目元组,其中,trR,tsS,即横向拼接。 设关系:R(X,Z),X,Z为R的属性列,当X列上取值x时,x在R中的象集定义为: Zx=tZtR ,tX=x专门关系运算:运算符 s,p, , 选择(selection)操作: s 投影(Project) p 列操作 连接(join): 两个表之间的横向拼接操作 除(Division):3关系代数的五种基本运算:,s ,p并,差,笛积,选择,投影4用基本运算表示交,连接和除法运算:RS=R-(R-S)R S =s AqB(RS)=trtstrR,tsStrAq tsB=“真” AqB (或R S =s iqn+j(RS),其中R为n目关系) iqj自然连接:R S= trtsB trR,tsStrB=tsB第四节 关系演算 (1)用谓词演算形式描述关系R的查询要求的操作称为关系演算 元组关系演算语言:ALPHA ALPHA语言主要语句(6条):GET,PUT,HOLD,UPDATE,DELETE,DROP 元组关系演算:表达式tj(t) 其中t为元组变量,j(t)为由元组公式组成的公式或条件。 域关系运算: 表达式:X1 X2 Xk j(X1 X2 Xk) 其中X1 X2 Xk是域变量,j是一个公式(由原子公式组成)域关系演算的表达式的功能:所有使得q为真的那些X1 X2 Xk组成的元组集合。用关系演算表示关系代数中的五种基本演算:,s,p (并,差,笛积,选择,投影)第三章 关系数据库标准语言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 2000系统操作(1)3、重点难点:重点讲解SQL语言的数据定义、数据查询、数据更新和数据控制。难点是数据定义和查询。4.教学内容的深化和拓宽: B/S体系结构, SQL Server 2000系统操作5.教学方式(手段)及教学过程中应注意的问题:多媒体, 注意SQL语句课堂演示.6.主要参考书目及网络资源:(1)崔巍编著. 数据库系统及应用(第二版). 高等教育出版社,2003.7(2)9/zfc7.思考题和习题:P127 1,2,3,4,5,6,7,8,9,10,11第一节 SQL概述 (1)SQL语言的功能SQL是一个综合的、通用的、功能极强的关系数据库语言,它具有四个方面的功能:查询(Query),操纵(Manipulation),定义(Definition)和控制(contro1)。SQL语言的特点 综合统一:模式定义和数据操作的一体化。SQL 能完成定义关系模式、数据录入、查询、更新、维护、数据库重构、数据库安全性控制等一系列操作要求。 高度非过程化:只需用户提出“干什么”,无需指出“怎么干”。面向集合的操作方式:操作的对象可以是元组的集合,非单个记录。 两种使用方式,统一的语法结构:联机交互(人机对话)和嵌入到高级语言程序中,且语法结构基本一致。 语言简洁,易学易用:SQL语言共有8个命令动词,语法接近英语口语。 支持关系数据库的三级模式结构:第二节 学生课程数据库(略)第三节 数据定义 (2)定义基本表命令CREATE TABLE 创建一张新表DROP TABLE 删除表ALTER TABLE 修改表结构定义视图命令 CREATE VIEW 定义一个视图 DROP VIEW 删除视图定义索引命令 CREATE INDEX 创建索引 DROP INDEX 删除索引第四节 查询 (6)SQL运算符和表达式 (1) 算术运算符:, ,* , / , ( ) (2) 字符运算符:+ 又称为字符串连接符。 (3)比较运算符:= 表示“等于”关系; (4) 逻辑运算符:NOT (非),AND(与),OR(或)。(5)集合运算符:UNION : 集合的“并”运算;INTERSECT : 集合的“交”运算;MINUS : 集合的“差”运算; SELECT语句基本语法格式为:SELECT ALL|DISTINCT *|表名.*|表达式 列别名 ,*|表名.*|表达式 列别名FROM 用户名.表名表别名 ,用户名.表名表别名简单查询(单表)连接查询(多表或复杂查询)嵌套查询(子查询)函数查询分组查询(分组汇总)第五节 数据更新:数据更新命令 (1) UPDATE 修改字段信息 DELETE 删除元组 INSERT 插入元组第六节 视图:数据视图命令 (1) CREATE VIEW 建立视图 DROP VIEW 删除视图 视图的查询和更新同基本表。补充内容: 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.教学内容的深化和拓宽;5.教学方式(手段)及教学过程中应注意的问题;6.主要参考书目及网络资源: (1)崔巍编著. 数据库系统及应用(第二版). 高等教育出版社,2003.7 (2)9/zfc7.思考题和习题:P148 1,2,3,4,5,6,7,8,9,10,11,12,13,14第一节 计算机安全性概论 (1)数据库安全性:指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。计算机系统安全性:指为计算机系统建立和采取的各种安全保护措施,以保护计算机系统中的硬件、软件及数据,防止其因偶然或恶意的原因使系统遭到破坏,数据遭到更改或泄露等。计算机系统安全性的三类问题:技术安全、管理安全和政策法律。(1)技术安全问题:指计算机系统中采用具有一定安全性的硬件、软件来实现对计算机系统及其所存数据的安全保护。(2)管理安全问题:因软件以外故障、场地出以外事故、管理不善导致的计算机设备和数据介质的物理破坏、丢失等安全问题。(3)政策法律问题:指政府部门建立的有关计算机犯罪、数据安全保密的法律道德准则和政策法规、法令等。可信计算机系统评测标准:TCSEC或DoD85: 美国国防部(DoD)1985年颁布的DoD可信计算机系统评估标准(Trusted Computer System Evaluation Criteria).TDI:美国NCSC(国家计算机安全中心)1991年4月颁布的可信计算机系统评估标准关于可信数据库系统的解释(Trusted Database Interpretation)紫皮书。它们有各级安全性保护级别。第二节 数据库安全性控制 (2)数据库的安全性保护宗旨就是防止非法存取和意外(恶意)破坏计算机系统的安全模型:层层设防。用户标识和鉴别:最外层安全保护措施,主要由用户名和口令组成。存取控制:主要机制包括定义用户权限与合法权限检查。分两类方法。(1)自主存取控制(DAC):用户对于不同的数据对象有不同的存取权限,不同的用户对同一对象也有不同的权限,而且用户还可将其拥有的存取权限转授给其他用户。非常灵活。(2)强制存取控制(MAC):每一个数据对象被标记一定的密级,每一个用户也被授予某一个级别的许可证。对于一个对象,只有具有合法许可证的用户才可以存取。通常把DBMS管理的实体分为主体和客体两大类,相对比较严格。主体:系统中的活动实体,既包括DBMS所管理实际用户,也包括代表用户的各进程。客体:系统中的被动实体,是受主体操纵的,包括文件、基表、索引、视图等。敏感度标记:主体对客体能否存取的标志。 主体的敏感度标记是许可证级别(Clearance Level): 绝密(Top Secret)、机密(Secret)、可信(Confidential)、公开(Public); 客体的敏感度标记是密级(Classification Level)。第三节 视图机制 (0.5)视图机制:为不同的用户定义不同的视图,把数据对象限制在一定的范围之内。第四节 审计(0.5)审计(Audit): 把用户对数据库的所有操作自动记录下来放入审计日志中。第五节 数据加密(0.5)审计(Audit): 把用户对数据库的所有操作自动记录下来放入审计日志中。数据加密:根据一定的算法将原始数据(明文 Plain text)变换为不可直接识别的格式(密文 Cipher text), 从而使得不知道解密算法的人无法获得数据的内容。通常有替换法和置换法。第六节 统计数据库安全性 (0.5)在统计数据库中存在着特殊的安全性问题,即可能存在着隐蔽的信息通道,使得可以从合法的查询中推导出不合法的信息。第五章 数据库完整性 发表日期: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.教学方式(手段)及教学过程中应注意的问题;6.主要参考书目及网络资源: (1)崔巍编著. 数据库系统及应用(第二版). 高等教育出版社,2003.7 (2)9/zfc7.思考题和习题:P164 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 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, Grade 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 CHAR(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 显式说明参照完整性的违约处理示例 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 表中的元组造成了与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 建立学生登记表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 30), Ssex CHAR(2) CONSTRAINT C4 CHECK (Ssex IN ( 男,女), CONSTRAINT StudentKey PRIMARY KEY(Sno) );在Student表上建立了5个约束条件,包括主码约束(命名为StudentKey)以及C1、C2、C3、C4四个列级约束。2. 修改表中的完整性限制使用ALTER TABLE语句修改表中的完整性限制例13 修改表Student中的约束条件,要求学号改为在900000999999之间,年龄由小于30改为小于40可以先删除原来的约束条件,再增加新的约束条件 ALTER TABLE Student DROP CONSTRAINT C1; ALTER TABLE Student ADD CONSTRAINT C1 CHECK (Sno BETWEEN 900000 AND 999999); ALTER TABLE Student DROP CONSTRAINT C3; ALTER TABLE Student ADD CONSTRAINT C3 CHECK (Sage 40);第五节 域中的完整性限制SQL支持域的概念,并可以用CREATE DOMAIN语句建立一个域以及该域应该满足的完整性约束条件。例14建立一个性别域,并声明性别域的取值范围 CREATE DOMAIN GenderDomain CHAR(2) CHECK (VALUE IN (男,女); 这样例10中对Ssex的说明可以改写为 Ssex GenderDomain例15建立一个性别域GenderDomain,并对其中的限制命名 CREATE DOMAIN GenderDomain CHAR(2) CONSTRAINT GD CHECK ( VALUE IN (男,女);域中的完整性限制(续)例16删除域GenderDomain的限制条件GD。 ALTER DOMAIN GenderDomain DROP CONSTRAINT GD;例17在域GenderDomain上增加限制条件GDD。 ALTER DOMAIN GenderDomain ADD CONSTRAINT GDD CHECK(VALUE IN(1,0); 通过例16和例17,就把性别的取值范围由(男,女)改为 ( 1,0) 第六节 触发器5.6.1 定义触发器 CREATE TRIGGER BEFORE | AFTER ON FOR EACH ROW | STATEMENT WHEN 5.6.2 激活触发器 5.6.3 删除触发器 第六章 关系数据理论 发表日期:2009年5月7日 【编辑录入:base】 第六章 关系数据理论 1.教学目标及基本要求:正确理解函数依赖、多值依赖的概念,能正确判断一个关系模式的规范化程度。掌握函数依赖集F的极小化处理技术。进一步了解数据依赖的公理系统及模式分解。2.各节教学内容(列出节名)及学时分配6.1 问题的提出(1)6.2 规范化(3)65.3 数据依赖的公理系统(4)6.4 模式分解(4)3.重点和难点:重点讲解关系模式的规范化理论:函数依赖、多值依赖及Armstrong公理。难点是关系模式的规范化程度及F的极小化处理。4.教学内容的深化和拓宽;5.教学方式(手段)及教学过程中应注意的问题;6.主要参考书目及网络资源:(1)崔巍编著. 数据库系统及应用(第二版). 高等教育出版社,2003.7 (2)9/zfc7.思考题和习题:P195 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插入异常:若新系没有招生,系名,系主任名就没法进表,关键是S#。 30删除异常:一个系的学生毕业了,删除全部学生记录,则连系名和系主任名也一同删除了。 40潜在的不一致性:系主任一换,4000个记录都要换,漏掉一个没改,就会出现不一致性。*问题:是否能这样能解决问题?是否是最优的?是否有理论根据?要研究的问题 实体之间的联系,实体内容各属性之间的联系,这些内容包括: 10数据的依赖关系(函数依赖,多值依赖,连接依赖,函数依赖公理) 20关系模式的分解 30关系模型的规范化关系模型的五元组表示 R 其中R: 关系名, U: 属性组,D:属性域,DOM: 属性到域的映射。F: 数据依赖(属性间)。数据依赖: 属性间值的相等与否体现出来的数据间的相互关系。 范式:规范化的关系模型叫范式。按满足不同程度的规范化要求可分为第一范式,第二范式。 规范化程度表现为属性间的依赖情况。第二节 规范化 (3)函数依赖(1)定义(2)函数依赖与属性的关系:设属性集X, Y 10 . X与Y是1-1关系,则X Y, Y X, 记为X Y. 20 . X与Y是m - 1关系, X Y 20 . X与Y是m - n关系,则X与Y不存在函数依赖关系,记为X Y,Y X 。(3)函数依赖在关系模式中的确定:关系模式R中的所有可能的关系r,都满足函数依赖,则R具备函数依赖关系。反之,R中有一个r不满足函数依赖,则认为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 , 则称Y对X完全函数依赖, 记为XY;否则称Y对X是部分函数依赖, 记为XY。定义: 在R(U)中, 若X Y, 且YX, Y X ,Y Z, 则称Z对X是传递函数依赖, 记为X Z。实际上,若加上Y X, 则XY,那么 XZ 。码(关键码)能唯一确定元组的属性集范式(Normal Form)(1)第一范式(1NF):关系模式R中,每个具体属性值是不可再分的最小数据项,则称R属于第一范式,记为R1NF。(2)第二范式(2NF):满足第一范式的R, 如果所有非主属性都完全依赖于码, 则称R属于第二范式, 记为R2NF.(3)第三范式(3NF):若R2NF, 且它的任何一个非主属性都不传递依赖于码, 则称关系R满足第三范式, 记为R3NF。(4)BCNF范式(Boyce Codd Normal Form):F为R的函数依赖集,如果F中所有依赖X A(AX)的左部都是R的一个侯选码,则称R为BCNF。 (5)多值依赖 Teach(C, T, B)- 课, 教员,参考书定义:设有关系模式R(A1,An), U=A1,An。X,Y是U的两个子集, Z=U-X-Y,r是R中任意一个关系,t, s是r的任意两个元组, 如果tX=sX,必有元组w,v在r中,使得wX=vX=t X=sX;wY=sY, wZ=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,YX, 且XY未包含R的全部属性(即非平凡的多值依赖), X 包含R的一个侯选码或码,则称R满足4NF。第三节 数据依赖的公理系统 (4)确定关系的码。需要从F中计算出F的闭包F+,阿姆斯特朗(Armstrong)公理可以从F中推出 F+的所有依赖。即用公理来找码!Armstrong公理:关系模式R( U,F ) A1:(自反性)Y X U, X Y A2:(增广律)若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 , WYZ XW Z 分解规则:X Y及Z Y X Z关于R( U, F )中F的闭包定义5.12F所蕴含的函数依赖的全体叫做F的闭包,记作F+。即由 F推出所有函数依赖的全体。有时F+是无法全部求出的。定义5.13 F为U上一组函数依赖。XU,X=A| X A能由F根据Armstrong公理推出,即X为一个属性集合,称为属性集X关于函数依赖集F的闭包。该集合由公理推出。 算法5.1 求X步骤: 求B的方法是:根据X的所有出现在F中的属性集,推出子集V: V W,找出W的所有属性A,组成B。关于函数依赖的极小依赖集 定义5.14(F与G的等价定义)设G,F是函数依赖集。如果G+=F+,则F与G等价,或称F覆盖G或F是G的覆盖,由F推出的闭包等于由G推出的闭包。 定义5.15(极小函数依赖集F的定义)若F满足:10.右部仅含有一个属性; 20. F中不存在这样的函数依赖XA,使得F-XA与F等价; 30. F中不存在这样的函数依赖XA:X有真子集Z使得F-XAZA与F等价。F的最小依赖集的求法极小化处理 10.逐一检查F中的各函数依赖XY,若Y=A1,Ak,k2,则用XAi (i=1,k)取代XY(称为分解规则)。 20. 逐一检查F中的各函数依赖XA,令G=F-XA。若AX,则从F中去掉XA. 30. 逐一取出F中的各函数依赖XA,设X=B1B2Bn(多个属性),逐一考查Bi( i=1,2,m)。若A(X-B)中,则用X-Bi 代替X(因为F与F-XA ZA 等价 AZ, 其中Z= X-Bi)。最后剩下的F就一定是极小依赖集,并且与原来的F等价。第四节 模式的分解 (4)模式分解的定义( 选讲内容) R-分解指的是: r=R1, R2, , Rn其中Fi是F在Ui上的投影,且Fi与F在Ui上的函数依赖集合等价。分解无损连接性和保持函数依赖性 定义:mr(r)= pRi(r) 是关系r在Ri上投影的连接。 定义:R的一个分解r,若有r=mr(r),则称分解r具有无损连接性 。 判断无损连接性的算法5.2: 10.建表. k行、n列。K表示分解后模式的个数,行为分解中的关系模式。n是原模式中属性的个数。表中的初值定为:若AjUi,则在i行j列填aj,否则填bij。20.对F中的每一个XY,从X的属性列找出有相同值的行;从Y列找出对应行,变成相同符号,此列有aj的填aj,无aj的填相同的bij。若有一行是a1,a2,an(没b),算法终止,无损。30.以上20进行后,表有变化,继续20,否则结束算法。 模式分解的算法: 算法1(保持函数依赖性的分解)(分成法):

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论