




已阅读5页,还剩23页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
SQLServer数据库技术及应用教程,湖南省常宁市实验高级中学李开华,3.1逻辑模型基础知识3.2关系数据库理论3.3数据库逻辑结构设计3.4实训学籍管理系统逻辑模型设计,第3章逻辑模型设计,3.1.1关系模型概述1关系模型的数据结构在关系模型中,数据的逻辑结构是一张二维表,它由行和列组成。(1)关系模型中的主要术语关系(Relation)。一个关系对应通常所说的一张二维表。表2-2就是一个关系。元组(Tuple)。表中的一行称为一个元组,许多系统中把元组称为记录。属性(Attribute)。表中的一列称为一个属性。一个表中往往会有多个属性,为了区分属性,要给每一个列起一个属性名。同一个表中的属性应具有不同的属性名。码(Key)。表中的某个属性或属性组,它们的值可以惟一地确定一个元组,且属性组中不含多余的属性,这样的属性或属性组称为关系的码。,3.1逻辑模型基础知识,3.1.1关系模型概述域(Domain)。属性的取值范围称为域。分量(element)。元组中的一个属性值称为分量。关系模式(Relationmode)。关系的型称为关系模式,关系模式是对关系的描述。关系模式一般的表示是:关系名(属性1,属性2,属性n)例如,学生学籍表关系可描述为:学生学籍(学号,姓名,性别,年龄,所在系)(2)关系模型中的数据全部用关系表示在关系模型中,实体集以及实体间的联系都是用关系来表示。例如,关系模型中,学生、课程、学生与课程之间的联系表示为:学生(学号,姓名,性别,年龄,所在系);课程(课程号,课程名,先行课);选修(学号,课程号,成绩),3.1逻辑模型基础知识,3.1.1关系模型概述2关系操作和关系的完整性约束条件关系操作主要包括数据查询和插入、删除、修改数据。关系中的数据操作是集合操作,无论操作的原始数据、中间数据或结果数据都是若干元组的集合,而不是单记录的操作方式。关系的完整性约束条件包括三类:实体完整性、参照完整性和用户定义的完整性。3关系模型的存储结构在关系数据库的物理组织中,关系以文件形式存储。一些小型的关系数据库管理系统(RDBMS)采用直接利用操作系统文件的方式实现关系存储,一个关系对应一个数据文件。为了提高系统性能,许多RDBMS采用自己设计的文件结构、文件格式和数据存取机制进行关系存储,以保证数据的物理独立性和逻辑独立性,更有效地保证数据的安全性和完整性。,3.1逻辑模型基础知识,3.1.2关系数据库的基本概念1关系数据结构(1)关系的数学定义域(Domain)的定义。域(Domain)是一组具有相同数据类型的值的集合。笛卡儿积(CartesianProduct)的定义。给定一组域D1,D2,Dn,这些域中可以有相同的部分,则D1,D2,Dn的笛卡儿积(CartesianProduct)为:D1D2Dn=(d1,d2,dn)diDi,i1,2,n关系(Relation)的定义。D1D2Dn的子集称作在域D1,D2,Dn上的关系,表示为:R(D1,D2,Dn),3.1逻辑模型基础知识,3.1.2关系数据库的基本概念(2)关系中的基本名词元组(Tuple)。关系表中的每一横行称作一个元组,组成元组的元素为分量。属性(Attribute)。关系中的每一列称为一个属性。候选码(CandidateKey)和主码(PrimaryKey)。若关系中的某一属性组(或单个属性)的值能惟一地标识一个元组,则称该属性组(或属性)为候选码。为数据管理方便,当一个关系有多个候选码时,应选定其中一个候选码为主码。全码(All-Key)。若关系的候选码中只包含一个属性,则称它为单属性码;若候选码是由多个属性构成的,则称为它为多属性码。主属性(PrimeAttribute)和非主属性(Non-KeyAttribute)。关系中,候选码中的属性称为主属性,不包含在任何候选码中的属性称为非主属性。,3.1逻辑模型基础知识,3.1.2关系数据库的基本概念(3)数据库中关系的类型关系数据库中的关系可以分为基本表、视图表和查询表三种类型。这三种类型的关系以不同的身份保存在数据库中,其作用和处理方法也各不相同。基本表。基本表是关系数据库中实际存在的表,是实际存储数据的逻辑表示。视图表。视图表是由基本表或其他视图表导出的表。视图表是为数据查询方便、数据处理简便及数据安全要求而设计的数据虚表,它不对应实际存储的数据。查询表。查询表是指查询结果表或查询中生成的临时表。由于关系运算是集合运算,在关系操作过程中会产生一些临时表,称为查询表。,3.1逻辑模型基础知识,3.1.2关系数据库的基本概念(4)数据库中基本关系的性质关系数据库中的基本表具有以下6个性质。同一属性的数据具有同质性。同一关系的属性名具有不能重复性。关系中的列位置具有顺序无关性。关系具有元组无冗余性。关系中的元组位置具有顺序无关性。关系中每一个分量都必须是不可分的数据项。,3.1逻辑模型基础知识,3.1.2关系数据库的基本概念(5)关系模式(RelationSchema)的定义关系的描述称为关系模式。可以形式化地表示为:R(U,D,Dom,F)其中:R为关系名,它是关系的形式化表示;U为组成该关系的属性集合;D为属性组U中属性所来自的域;Dom为属性向域的映像的集合;F为属性间数据的依赖关系集合。(6)关系数据库(RelationDatabase)在关系数据库中,实体集以及实体间的联系都是用关系来表示的。在某一应用领域中,所有实体集及实体之间联系所形成关系的集合就构成了一个关系数据库。关系数据库也有型和值的区别。关系数据库的型称为关系数据库模式,它是对关系数据库的描述,包括若干域的定义以及在这些域上定义的若干关系模式。关系数据库的值是这些关系模式在某一时刻对应关系的集合,也就是所说的关系数据库的数据。,3.1逻辑模型基础知识,3.1.2关系数据库的基本概念2关系操作概述(1)关系操作的基本内容关系操作包括数据查询、数据维护和数据控制三大功能。数据查询指数据检索、统计、排序、分组以及用户对信息的需求等功能;数据维护指数据增加、删除、修改等数据自身更新的功能;数据控制是为了保证数据的安全性和完整性而采用的数据存取控制及并发控制等功能。关系操作的数据查询和数据维护功能使用关系代数中的选择(Select)、投影(Project)、连接(Join)、除(Divide)、并(Union)、交(Intersection)、差(Difference)和广义笛卡儿积(ExtendedCartesianProduct)8种操作表示,其中前4种为专门的关系运算,而后4种为传统的集合运算。,3.1逻辑模型基础知识,3.1.2关系数据库的基本概念(2)关系操作的特点关系操作具有以下3个明显的特点。关系操作语言操作一体化。关系语言具有数据定义、查询、更新和控制一体化的特点。关系操作的方式是一次一集合方式。其他系统的操作是一次一记录(record-at-a-time)方式,而关系操作的方式则是一次一集合(set-at-a-time)方式,即关系操作的初始数据、中间数据和结果数据都是集合。关系操作语言是高度非过程化的语言。关系操作语言具有强大的表达能力。例如,关系查询语言集检索、统计、排序等多项功能为一条语句,它等效于其他语言的一大段程序。用户使用关系语言时,只需要指出做什么,而不需要指出怎么做,数据存取路径的选择、数据操作方法的选择和优化都由DBMS自动完成。,3.1逻辑模型基础知识,3.1.2关系数据库的基本概念(3)关系操作语言的种类关系操作语言可以分为以下3类。关系代数语言。关系代数语言是用对关系的运算来表达查询要求的语言。ISBL(InformationSystemBaseLanguage)为关系代数语言的代表。关系演算语言。关系演算语言是用查询得到的元组应满足的谓词条件来表达查询要求的语言。基于映像的语言。基于映像的语言是具有关系代数和关系演算双重特点的语言。SQL(StructureQueryLanguage)是基于映像的语言。SQL包括数据定义、数据操作和数据控制三种功能,具有语言简洁,易学易用的特点,它是关系数据库的标准语言和主流语言。,3.1逻辑模型基础知识,3.1.2关系数据库的基本概念3关系的完整性关系模型的完整性规则是对关系的某种约束条件。关系模型中有三类完整性约束:实体完整性、参照完整性和用户定义的完整性。其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件,应该由关系系统自动支持。(1)关系模型的实体完整性(EntityIntegrity)实体完整性能够保证实体的惟一性。实体完整性能够保证实体的可区分性。(2)关系模型的参照完整性(ReferenceIntegrity)外码和参照关系。参照完整性规则。(3)用户定义的完整性(User-DefinedIntegrity),3.1逻辑模型基础知识,3.2.1关系模式设计中的问题关系存在着如下问题:(1)数据冗余大每一个系名和系主任的名字存储的次数等于该系的学生人数乘以每个学生选修的课程门数,系名和系主任重复量太大。(2)插入异常一个新系没有招生时,系名和系主任名无法插入到数据库中,因为在这个关系模式中,主码是(学号,课程名),而这时因没有学生而使得学号无值,所以没有主属性值,关系数据库无法操作,因此引起插入异常。(3)删除异常当一个系的学生都毕业了而又没招新生时,删除了全部学生记录,随之也删除了系名和系主任名。这个系依然存在,而在数据库中却无法找到该系的信息,即出现了删除异常。(4)更新异常,3.2关系数据库理论,3.2.2函数依赖1关系模式的简化表示法关系模式的完整表示是一个五元组:RU,D,Dom,F其中:R为关系名;U为关系的属性集合;D为属性集U中属性数据域;Dom为属性到域的映射;F为属性集U的数据依赖集。由于D和Dom对设计关系模式的作用不大,在讨论关系规范化理论时可以把它们简化掉,从而关系模式可以用三元组来为:RU,F从上式可以看出,数据依赖是关系模式的重要要素。数据依赖(DataDependency)是同一关系中属性间的相互依赖和相互制约。数据依赖包括函数依赖(FunctionalDependency,简称FD)、多值依赖(MultivaluedDependency,简称MVD)和连接依赖(JoinDependency),数据依赖是关系规范化的理论基础。,3.2关系数据库理论,3.2.2函数依赖2函数依赖的概念设RU是属性集U上的关系模式,X、Y是U的子集。若对于RU的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而Y上的属性值不等,则称X函数确定Y函数,或Y函数依赖于X函数,记作XY。例如,对于教学关系模式:教学U,F;U=学号,姓名,年龄,性别,系名,系主任,课程名,成绩;F=学号姓名,学号年龄,学号性别,学号系名,系名系主任,(学号,课程名)成绩,3.2关系数据库理论,3.2.3范式11NF的定义关系的第一范式是关系要遵循的最基本的范式。定义3-4:如果关系模式R,其所有的属性均为简单属性,即每个属性都是不可再分的,则称R属于第一范式(FirstNormalForm,简称1NF),记作R1NF。例如,教学模式中所有的属性都是不可再分的简单属性,即:教学1NF。不满足第一范式条件的关系称之为非规范化关系。关系数据库中,凡非规范化的关系必须化成规范化的关系。关系模式如果仅仅满足第一范式是不够的,尽管教学关系服从1NF,但它仍然会出现插入异常、删除异常、修改复杂及数据冗余大等问题。只有对关系模式继续规范,使之服从更高的范式,才能得到高性能的关系模式。,3.2关系数据库理论,3.2.3范式22NF的定义定义3-5:若关系模式R1NF,且每一个非主属性都完全函数依赖于码,则称R属于第二范式(SecondNormalForm),简称2NF,记作R2NF。下面分析一下关系模式“教学”的函数依赖,看它是否服从2NF。如果“教学”模式不服从2NF,可以根据2NF的定义对它进行分解,使之服从2NF。(3)3NF的定义定义3-6:如果关系模式R2NF,且每一个非主属性都不传递依赖于R的码,则称R属于第三范式(ThirdNormalForm),简称3NF,记作R3NF。3NF是一个可用的关系模式应满足的最低范式。也就是说,一个关系模式如果不服从3NF,实际上它是不能使用的。,3.2关系数据库理论,3.2.4关系模式的规范化1关系模式规范化的原则一个关系模式只要其分量都是一个不可在分割的基本数据项,就可称它为规范化的关系,但这只是最基本的规范化。规范化的目的就是是结构合理,消除存储异常,使数据冗余尽量小,便于插入、删除和更新。规范化要遵循“一事一地”的基本原则,即一个关系只描述一个实体或者实体间的联系。若多于一个实体,就把它“分离”出来。因此,所谓规范化,实质上是概念的单一化,即一个关系表示一个实体或一种关系。,3.2关系数据库理论,3.2.4关系模式的规范化2关系模式规范化的步骤规范化步骤如图3-1所示。,3.2关系数据库理论,3.2.4关系模式的规范化3关系模式规范化的要求定义3-7:无损连接性(LosslessJoin):设关系模式R(U,F)被分解为若干个关系模式R1(U1,F1),R2(U2,F2),RK(UK,FK),其中U=U1U2UK,且不存在UiUj,Fi为F在Ui上的投影,如果R与R1,R2,RK自然连接的结果相等,则称关系模式R的分解具有无损连接性。定义3-8:函数依赖保持性(PreserveDependency):设关系模式R(U,F)被分解为若干个关系模式R1(U1,F1),R2(U2,F2),RK(UK,FK),其中U=U1U2UK,且不存在UiUj,Fi为F在Ui上的投影,如果F所蕴含的函数依赖一定也有分解到的某个关系模式中的函数依赖Fi所蕴含,则称关系模式R的分解具有函数依赖保持性。,3.2关系数据库理论,3.2.4关系模式的规范化4分解的方法关系模式分解的基础是键码和函数依赖。当我们对关系模式中属性之间的内在联系做了深入、准确的分析,确定了键码和函数依赖后采用下述方法进行分解。(1)方法一方法一采用部分依赖归子集、完全依赖随键码的方法。要使不属于第二范式的关系模式“升级”,就要消除非主属性对键码的部分函数依赖。(2)方法二方法二采用基本依赖为基础、中间属性作桥梁的方法。要使不属于第三范式的关系模式“升级”,就要消除非主属性对键码的传递函数依赖。,3.2关系数据库理论,2.1.2信息的三种世界及其描述通常把概念模型向逻辑模型的转换过程分为3步进行:把概念模型转换成一般的数据模型。将一般的数据模型转换成特定的DBMS所支持数据模型。通过优化方法将其转化为优化的数据模型。概念模型向逻辑模型的转换步骤,如图3-2所示。,3.3数据库逻辑结构设计,3.3.1概念模型向关系模型的转换1实体集的转换规则概念模型中的一个实体集转换为关系模型中的一个关系,实体的属性就是关系的属性,实体的码就是关系的码,关系的结构是关系模式。2实体集间联系的转换规则实体集间的联系可按以下规则转换:(1)1:1联系的转换方法(2)1:n联系的转换方法(3)m:n联系的转换方法(4)三个或三个以上实体集间的多元联系的转换方法要将三个或三个以上实体集间的多元联系转换为关系模式。3关系合并规则在关系模型中,具有相同码的关系,可根据情况合并为一个关系。,3.3数据库逻辑结构设计,3.3.2数据模型的优化关系
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 阎良区企业网络营销方案
- 高空作业机械维修工专业知识考核试卷及答案
- 城市建筑楼顶改建方案设计
- 咨询互联网拓客优化方案
- 药学公众号课件
- 辅导员述职汇报
- 企管咨询培训拓展方案
- 咨询农作物解决方案问题
- 绍兴水泥墙拆除施工方案
- 办公楼出租的营销方案
- FZ/T 13002-2014棉本色帆布
- 视频监控解码器dec6108用户手册
- CA-2100E(新机)可燃气体报警控制器使用说明书
- 2022环保检测作业指导书(HJ1237-2021机动车排放定期检验规范)
- 水泵技术规格书说明资料
- 苏科版三年级上册劳动第四课《橡皮泥塑》课件(定稿)
- 法理学-(第五版)完整版ppt全套教学教程课件(最新)
- 《峨日朵雪峰之侧》教案
- 全息经络刮痧疗法(内部培训)课件
- 火灾自动报警系统PPT课件
- 高压氧质控标准
评论
0/150
提交评论