1、2024-9-612024-9-62主要内容主要内容v现实世界的数据化过程现实世界的数据化过程v概念模型概念模型vER模型的设计方法模型的设计方法v数据模型数据模型v关系模型关系模型vER模型向关系模型的转化模型向关系模型的转化2024-9-63现实世界的数据化过程现实世界的数据化过程学生学生编号编号名字名字年龄年龄性别性别班级班级现实现实世界世界数据数据世界世界信息世界信息世界学生学生概念化概念化形式化形式化用户计算机2024-9-64现实世界现实世界 由实际事物组成,事物之间联系错综复杂由实际事物组成,事物之间联系错综复杂 事物和事物特性事物和事物特性信息世界信息世界 现实世界在人脑中的反
2、映现实世界在人脑中的反映 事物和事物特性事物和事物特性实体和实体属性实体和实体属性数据世界数据世界 信息世界数据化后的产物信息世界数据化后的产物 实体和实体属性实体和实体属性记录和数据项记录和数据项数据抽象数据抽象应用概念模型关系模型现实世界信息世界数据世界抽象化抽象化数据化数据化2024-9-65三个世界中概念的对应关系:三个世界中概念的对应关系:一个事物一个事物 一类事物一类事物 事物的各种特性事物的各种特性现实世界现实世界 实体实体 实体集实体集 属性、域、码属性、域、码信息世界信息世界元组元组 关系关系 属性(字段)、属性(字段)、主码、外部码主码、外部码数据世界数据世界认识认识抽象抽
3、象数据数据转换转换2024-9-66主要内容主要内容v现实世界的数据化过程现实世界的数据化过程v概念模型概念模型vER模型的设计方法模型的设计方法v数据模型数据模型v关系模型关系模型vER模型向关系模型的转化模型向关系模型的转化2024-9-6 7概念模型定义概念模型定义v按用户的观点来对数据和信息建模按用户的观点来对数据和信息建模v用于组织信息世界的概念,表现从现实世界中抽象出来的事物以及它们之间的联系vE-R模型模型(Entity-Relationship Model,实体,实体-联系模联系模型)型)1976年,年,Peter Chen陈品山陈品山vE-R模型是一种静态信息模型,只能反映当
4、前状态,不能反映实体的变化过程。2024-9-6 8实体实体-联系模型联系模型v三要素(三个基本语义)三要素(三个基本语义)实体(实体(Entity):客观事物客观事物联系(联系(Relationship):客观事物之间的联系:客观事物之间的联系属性(属性(Attributes):客观事物的特征(属性):客观事物的特征(属性)v刻划工具:刻划工具:实体实体-联系图(联系图(E-R图)图)实体:实体:矩形矩形属性:属性:椭圆椭圆联系:联系:菱形菱形实体和联系间、实体和属性间、联系和属性间:实体和联系间、实体和属性间、联系和属性间:线段线段2024-9-6 9示例示例学生学生课程课程选修选修姓名姓
5、名学号学号系别系别课程名课程名学分学分主讲老师主讲老师成绩成绩联系集联系集属性属性mn实体集的码实体集的码实体集实体集2024-9-6 10实体(实体(Entity)v实体实体:可以相互区别的客观事物和概念统一抽象例:学生、回扣、医疗v实体类型,实体集实体类型,实体集:将具有共性的一类实体抽象为实体类型选修选修mn学生学生课程课程实体集实体集2024-9-6 11v联系联系:实体之间的关系抽象为联系实体之间的关系抽象为联系v联系分类1:1 一对一联系一对一联系1:n 一对多联系一对多联系m:n 多对多联系多对多联系联系(联系(Relationship)2024-9-6 12联系的参与多样性联系
6、的参与多样性实体型B实体型A联系名实体型B实体型A联系名实体型B实体型A联系名1:11:NM:N1n1mn12024-9-6 13v联系属性联系属性v v联系的元联系的元:某一联系R所对应的实体类型有n个,称R为n元元联系联系一元联系 n=1二元联系 n=2多元联系 n2旅行社景点游客团队游mnk联系(续)联系(续)学生学生课程课程选修选修成绩成绩联系集联系集属性属性mn2024-9-6 14属性(属性(Attribute)v属性属性:对实体特征的描述v实体码(实体码(KEY,实体标识符,又称实体键),实体标识符,又称实体键):能唯一标识实体的属性或极小属性组,用下划线下划线标出。v域域:属性
7、的取值范围同一实体类型所有实体都具有相同的属性及相同的对应域,但属性在域上的取值不一定相同。学生学生姓名姓名学号学号系别系别实体集的码实体集的码2024-9-6 15v属性分类:实体与属性、原子属性与组合属性的划分存在一定的相对性,无绝对。(这是由于描述事物的抽象层次不同或观察研究问题的角度不同而引起)性别、颜色工资、籍贯一个人的性别一个人的学校属性不可再分属性可以再分对应域中的元素为单个值对应域中的元素为多个值原子属性组合属性单值属性多值属性按组成分类按取值分类属性举例性质分类情况分类标准属性(续)属性(续)2024-9-6 16vE-R图中:带下划线的属性为实体键或实体键的一部分组合属性组
8、合属性用一个树型表示多值属性多值属性用虚线椭圆表示或标出关系型数据库系统不能处理组合属性和多值属性的情况,实际操作是要转化成原子属性和单值属性原子属性和单值属性的情况。学生学号姓名年龄性别毕业学校出生日期年月日2024-9-6 17v定义实体集定义实体集v定义联系集定义联系集v定义属性定义属性v几个注意的问题几个注意的问题实体与自身的联系、多个实体之间的联系、实体与自身的联系、多个实体之间的联系、历史演变数据的保存历史演变数据的保存建立建立E-R模型模型1、找实体并表示(每类实体一个二维表)1、找联系(每类实体之间)2、表示联系(参与多样性)1、找属性(确定每个二维表的字段)2、确定字段的属性
9、、域名字、数据类型、精度、缺省值、取值范围、是否允许空值3、确定主码2024-9-6 18v试设计一个实体-联系模型以存放某学生期末考试:C#、物联网、JAVA语言、数据库系统原理、LINUX五门课程学生成绩。建立建立E-R模型示例模型示例2024-9-6 19解法一:E-R图分析:能够满足要求,但模型不具有可扩性。分析:能够满足要求,但模型不具有可扩性。成绩成绩学号学号姓名姓名C#IoTJAVALINUXDBS2024-9-6 20解法二:E-R图分析:能够满足要求,模型具有可扩性,分析:能够满足要求,模型具有可扩性,但数据存在冗余,易造成数据不一致性。但数据存在冗余,易造成数据不一致性。学
10、生学生学号学号姓名姓名课程课程成绩成绩2024-9-6 21解法三:E-R图分析:能够满足要求,但模型不具有可扩性,分析:能够满足要求,但模型不具有可扩性,和解法一雷同,操作比其麻烦。和解法一雷同,操作比其麻烦。成绩成绩学号学号姓名姓名IoTJAVAC#DBSLINUX学生学生学号学号拥有拥有112024-9-6 22解法四:E-R图分析:能够满足要求,模型具有可扩性,分析:能够满足要求,模型具有可扩性,数据不存在冗余,数据一致性好。数据不存在冗余,数据一致性好。课程课程学号学号姓名姓名课程号课程号成绩成绩课程名课程名学生学生选修选修nm(此为最佳答案)(此为最佳答案)2024-9-6 23主
11、要内容主要内容v现实世界的数据化过程现实世界的数据化过程v概念模型概念模型vER模型的设计方法模型的设计方法v数据模型数据模型v关系模型关系模型vER模型向关系模型的转化模型向关系模型的转化2024-9-6 24E-R模型的设计方法模型的设计方法v总的设计原则:总的设计原则:相对性原则:相对性原则:实体、属性、联系等,是对同一个对象抽象过程的不同解释和理解。一致性原则:一致性原则:同一对象在不同的业务系统中的抽象结果,应保持一致。简单化原则:简单化原则:E-R模型中,能作为属性处理的对象,尽量归为属性。2024-9-6 25ER图设计图设计v用实体集或属性代表物体用实体集或属性代表物体?v对现
12、实世界的概念是用实体集还是联系集去对现实世界的概念是用实体集还是联系集去描述?描述?v用多元关系还是二元关系去描述?用多元关系还是二元关系去描述?v在建模过程中使用概括还是特殊化?在建模过程中使用概括还是特殊化?2024-9-6 26E-R 设计原则设计原则v用实体集还是用属性?用实体集还是用属性?问题焦点:什么可作为属性?什么可作为实体集?例:v学生实体集中的电话属性,有两种不同的处理方式1)作为属性2)作为不同的实体,学生与电话之间的关系用联系集来表示v课程实体集中的主讲教师属性?2024-9-6 27货号货物名称仓库号存量货物货号名称存放职工职工号姓名年龄仓库管理仓库号面积存量n1mn2
13、024-9-6 28 E-R 设计原则(续)设计原则(续)v用二元联系?多元联系?用二元联系?多元联系?多元联系可以清晰表示出几个实体集参与到一个联系的情况,而转换为多个二元联系后,难以体现这种参与性。v确定联系集属性确定联系集属性2024-9-6 29子类和子类和Is-a层次联系层次联系v对实体集求精,产生一系列不同层次的实体子集。对实体集求精,产生一系列不同层次的实体子集。特殊化在这个自顶向下的设计过程中,其区别被显示出来。v描述方法是一个标志描述方法是一个标志 ISA的三角的三角 属性继承:属性继承:高层实体集的属性被低层实体集继承。(父类实体集的属性被子类实体集继承)v概括主要使用在自
14、低向上的设计中。概括是特殊化的逆过程,在实际使用中互相配合。Isa ABIsa职 工经 理Isa姓名性别年龄职工号任职时间姓名职工号职工出生部门经理任职时间IsaIsa2024-9-6 30子类示例子类示例2024-9-6 31“好好”的的E-R模型模型v满足用户功能需求满足用户功能需求v实体联系尽可能少实体联系尽可能少v实体集所含属性尽可能少实体集所含属性尽可能少v实体集间联系无冗余实体集间联系无冗余2024-9-6 32企业企业 E-R模型的设计方法模型的设计方法先局部、后整体、最后优化先局部、后整体、最后优化一、确定局部应用范围,一、确定局部应用范围,设计局部设计局部ER模型模型确定局部
15、应用范围确定局部应用范围定义实体集、定义实体集、联系集、属性联系集、属性设计局部设计局部E-R图图修改否?修改否?2024-9-633二、集成局部二、集成局部E-RE-R模型,模型,形成全局初步形成全局初步E-RE-R模型模型合并局部合并局部E-R图图检查并消除冲突检查并消除冲突确定公共实体型确定公共实体型修改否?修改否?局部局部E-R图图进入进入“全局模型优化全局模型优化”三、消除冗余,三、消除冗余,优化全局优化全局E-RE-R模型模型企业企业 E-R模型的设计方法(续)模型的设计方法(续)2024-9-634采用采用ER方法的数据库概念设计方法的数据库概念设计 之之设计局部设计局部ERER
16、模式模式 有有需求分析结果需求分析结果确定局部结构范围确定局部结构范围实体定义实体定义联系定义联系定义属性分配属性分配还有局部还有局部结构待分析结构待分析无无进入全局进入全局ER模式设计模式设计局部局部ERER模式设计模式设计范围的划分要自然,范围的划分要自然,易于管理;易于管理;范围的大小要适度。范围的大小要适度。太小了,会造成局部结构太小了,会造成局部结构过多,设计过程繁琐,综过多,设计过程繁琐,综合困难;太大了,则容易合困难;太大了,则容易造成内部结构复杂,不便造成内部结构复杂,不便分析分析 范围之间的界面要清晰,范围之间的界面要清晰,相互影响要小相互影响要小采用人们习惯的划分;采用人们
17、习惯的划分;避免冗余,在一个局部结避免冗余,在一个局部结构中,对一个对象只取一构中,对一个对象只取一种抽象形式,不要重复;种抽象形式,不要重复;依据用户的信息处理需求依据用户的信息处理需求 确定属性的原则:确定属性的原则:属性应该是不可再分解的语义属性应该是不可再分解的语义单位;实体与属性之间的关系只能单位;实体与属性之间的关系只能是是1:N1:N的;不同实体类型的属性之间的;不同实体类型的属性之间应无直接关联关系。应无直接关联关系。属性分配的原则:属性分配的原则:当多个实体类型用到同一属性时,当多个实体类型用到同一属性时,一般把属性分配给那些使用频率最高一般把属性分配给那些使用频率最高的实体
18、类型,或分配给实体值少的实的实体类型,或分配给实体值少的实体类型。体类型。有些属性不宜归属于任一实体类有些属性不宜归属于任一实体类型,只说明实体之间联系的特性型,只说明实体之间联系的特性 2024-9-6 35局部模式局部模式1现有的教学现有的教学管理系统管理系统初步分析系初步分析系统的对象统的对象根据服务种根据服务种类分析教师类分析教师子模块子模块人事管理局部应用的分人事管理局部应用的分E-R图图局部局部ER图图2024-9-636局部模式局部模式2学籍管理局部应用的分学籍管理局部应用的分E-RE-R图图导师导师班级班级学生学生组组成成管管理理班主任班主任档案材料档案材料宿舍宿舍住住宿宿归归
19、档档指指导导系系有有参参加加学会学会1N111NNN11NMN1具具有有社会关系社会关系1N现有的教学现有的教学管理系统管理系统初步分析系初步分析系统的对象统的对象根据服务种根据服务种类分析学生类分析学生子模块子模块局部局部ER图图2024-9-637局部模式局部模式3现有的教学现有的教学管理系统管理系统初步分析系初步分析系统的对象统的对象根据服务种根据服务种类分析课程类分析课程子模块子模块局部局部ER图图课程管理局部应用分课程管理局部应用分E-RE-R图图1教室教室M1教科书教科书教师教师担任担任课程课程系系开设开设N1学生学生选修选修NMN上课上课PN2024-9-638采用采用ER方法的
20、数据库概念设计方法的数据库概念设计 之设计全局之设计全局ER模式模式无无全局全局ERER模式设计模式设计 局部局部ER模式模式确定公共实体类型确定公共实体类型合并两个局部合并两个局部ER模式模式检查并消除冲突检查并消除冲突还有未合并还有未合并的局部模式的局部模式有有还有冲突吗还有冲突吗有有属性冲突属性冲突:如,重量单位如,重量单位有的用公斤,有的用克。有的用公斤,有的用克。结构冲突结构冲突:同一对象在不同一对象在不同应用中的不同抽象同应用中的不同抽象;同同一实体在不同局部一实体在不同局部ERER图中图中属性的个数或次序不同属性的个数或次序不同;实体之间的联系在不同的实体之间的联系在不同的局部局
21、部ERER图中呈现不同的类图中呈现不同的类型型 命名冲突命名冲突:属性名、实体属性名、实体名、联系名之间存在同名名、联系名之间存在同名异义或异名同义冲突异义或异名同义冲突2024-9-6 39采用采用ER方法的数据库概念设计方法的数据库概念设计 之全局之全局ER模式的优化模式的优化v实体类型的合并实体类型的合并1:11:1联系的两个实体类型联系的两个实体类型 具有相同码的实体类型具有相同码的实体类型 v冗余属性的消除冗余属性的消除 v冗余联系的消除:冗余联系的消除:利用规范化理论中函数依赖利用规范化理论中函数依赖的概念消除冗余联系的概念消除冗余联系 2024-9-640例:三个局部例:三个局部
22、ER图合并成一个图合并成一个ER图图1合并后的教学管理合并后的教学管理E-RE-R图图1N1P1N1N1N1MMNNNN社会关系社会关系具有具有1NNM1系系聘用聘用承接承接项目项目参加参加设置设置院长院长学院学院主管主管NN111教师教师评定评定职称职称分配分配工作量工作量111N档案材料档案材料归档归档参加参加学会学会1宿舍宿舍住宿住宿教科书教科书担任担任指导指导课程课程选修选修教室教室上课上课有有1班级班级学生学生组成组成N开设开设N管理管理11教师教师管理管理1 12024-9-6 41主要内容主要内容v现实世界的数据化过程现实世界的数据化过程v概念模型概念模型vER模型的设计方法模型
23、的设计方法v数据模型数据模型v关系模型关系模型vER模型向关系模型的转化模型向关系模型的转化2024-9-6 42数据模型数据模型v数据模型:数据模型:是对客观事物及联系的数据描述,是对客观事物及联系的数据描述,是是信息模型的数据化信息模型的数据化。v数据库管理系统是建立在一定的数据模型之上,根据数据模型实现在计算机上存储、处理、表示、组织数据,不同的数据模型对应不同类型的数据库管理系统。2024-9-6 43v从计算机实现的观点来对数据建模从计算机实现的观点来对数据建模v是信息世界中的概念和联系在计算机世界中的表示方法v一般有严格的形式化定义,以便于在计算机上实现v如层次模型、网状模型、关系
24、模型、面向对象模型数据模型(续)数据模型(续)2024-9-6 44四种类型数据组织方法数据结构特点数据模型层次数据模型层次数据模型 层次方法有序树或森林适于描述层次结构的数据网状数据模型网状数据模型 网状方法图速度快,不易掌握关系数据模型关系数据模型 关系方法二维表(关系)易于理解和使用、有严格的理论基础面向对象数据面向对象数据模型模型面向对象方法对象适于模拟实体的行为四种常见数据模型四种常见数据模型2024-9-6 45数据模型的三要素数据模型的三要素v数据模型数据模型=数据的组织方法数据的组织方法+数据操作集合数据操作集合+数据数据完整性集合完整性集合v1、数据的组织方法(数据结构)、数
25、据的组织方法(数据结构)描述系统的静态特性,即组成数据库的对象类型描述系统的静态特性,即组成数据库的对象类型数据本身v类型、内容、性质。如网状模型中的数据项、记录,关系模型中的域、属性,关系等数据之间的联系v例如网状模型中的系型,关系模型中的外码在数据库系统中一般按数据结构的类型来命名数据模型2024-9-6 46数据模型的三要素(续)数据模型的三要素(续)v2、数据操作集合、数据操作集合描述系统的动态特性,即对数据库中对象的实例允许执描述系统的动态特性,即对数据库中对象的实例允许执行的操作的集合,包括操作及操作规则行的操作的集合,包括操作及操作规则一般有检索、更新(插入、删除、修改)操作数据
26、模型要定义操作含义、操作符号、操作规则,以及实现操作的语言v3、数据的完整性集合(数据的约束条件)、数据的完整性集合(数据的约束条件)数据的约束条件是完整性规则的集合,规定数据库状态数据的约束条件是完整性规则的集合,规定数据库状态及状态变化所应满足的条件,以保证数据的正确、有效、及状态变化所应满足的条件,以保证数据的正确、有效、相容相容2024-9-6 47主要内容主要内容v现实世界的数据化过程现实世界的数据化过程v概念模型概念模型vER模型的设计方法模型的设计方法v数据模型数据模型v关系模型关系模型vER模型向关系模型的转化模型向关系模型的转化2024-9-6 48关系模型关系模型vE.F.
27、Codd于于70年代初提出关系数据理论,他因此年代初提出关系数据理论,他因此获得获得1981年的年的ACM图灵奖图灵奖v关系理论是建立在集合代数理论基础上的,有着坚关系理论是建立在集合代数理论基础上的,有着坚实的数学基础实的数学基础v早期代表系统System:由IBM研制INGRES:由加州Berkeley分校研制v目前主流的商业数据库系统Oracle,DB2,SQL Server,Sybase,MySQL,PostgreSQL,SQLiteAccess,Foxpro,FoxbaseACM图灵奖图灵奖v查尔斯查尔斯.巴赫曼巴赫曼 Charles W.Bachman(1924)网状数据库之父、网
28、状数据库之父、DBTG之父之父v埃德加埃德加.弗兰克弗兰克.科德科德 Edgar Frank Codd (19232003)关系数据库之父关系数据库之父v詹姆斯詹姆斯.格雷格雷 James Gray(1944)事务处理技术事务处理技术2024-9-650关系数据模型结构关系数据模型结构v用二维表二维表来表示实体及其相互联系v数据结构:关系(俗称表)几个概念:关系名关系名表名关系模式关系模式属性属性(列)学生学学 号号 姓姓 名名 性别性别 出生日期出生日期 系号系号 000511001 张三 男 12/05/80 05 000511003 李四四 女 03/06/78 05 000511010
29、 王五 男 06/09/79 05 000412120 贾六 女 10/20/79 04 关关系系表D1D2D3D4D5域域元组元组行2024-9-6 51v关系模式:一个关系的静态描述(关系名及其全部关系模式:一个关系的静态描述(关系名及其全部属性名的集合)属性名的集合)v二维表的表头那一行称为二维表的表头那一行称为关系模式关系模式,又称表的框架,又称表的框架或记录类型。或记录类型。是记录的型,决定二维表的内容。每一个关系模式都必须命名,且同一关系模型中关系模式名不允许相同。每一个关系模式都是由一些的属性组成,关系模式的属性名通常取自相关实体类型的属性名。关系模式可表示为:关系模式名(属性名
30、关系模式名(属性名1,属性名,属性名2,属性名,属性名n)v示例:学生(学号,姓名,性别,出生日期,系别)系(系号,系名,班主任)关系模式关系模式2024-9-6 52v对应于关系模式的一个具体的表称为关系关系,又称表(表(Table)。关系数据库是若干表(关系)的集合关系模式决定其对应关系的内容每一个关系都必须命名(通常取对应的关系模式名),且同一关系数据模型中关系名互不相同。v关系模式与关系的联系:关系模式:型(关系的结构)、相对稳定关系模式:型(关系的结构)、相对稳定关系:值(元组的集合)、随时间变化关系:值(元组的集合)、随时间变化关系关系(Relation)2024-9-6 53v元
31、组(元组(Tuple):关系中的每一行称为关系的一个元组,又称行(行(Row)或记录记录。一个关系可由多个元组构成一个关系中的元组和不相同v属性(属性(Attributes)关系中的每一列称为关系的一个属性,又称列(列(Column)一个由n个属性的关系称为n元关系关系的属性名就是对应关系模式的对应属性名v变域(变域(Domain)关系中的每一属性所对应的取值范围叫属性的变域,简称域域。域是值的集合,关系中所有属性的实际值均来自它所对应的域如整数的集合、字符串的集合、全体学生的集合关系中每个属性都必须有一个相应的域,不同属性的域可不同也可相同。2024-9-6 54v笛卡尔积(笛卡尔积(Car
32、tesian Product)一组域D1,D2,Dn的笛卡尔积为:D1D2Dn=(d1,d2,dn)|diDi,i=1,n笛卡尔积的每个元素(d1,d2,dn)称作一个n-元组(n-tuple)元组的每一个值di叫做一个分量(component)v关系关系笛卡尔积D1D2Dn的子集叫做在域D1,D2,Dn上的关系,用R(D1,D2,Dn)表示R是关系的名字,n是关系的度或目关系是笛卡尔积中有意义的子集关系是笛卡尔积中有意义的子集关系也可以表示为二维表2024-9-655例:设 D1为教师集合(T)=t1,t2 D2为学生集合(S)=s1,s2,s3 D3为课程集合(C)=c1,c2 则D1D2
33、D3是个三元组集合,元组个数为232,关系TEACH(T,S,C)是所有可能的(教师,学生,课程)元组集合,可表示为二维表的形式关系关系TEACH(T,S,C)TSCt1s1c1t1s1c2t1s2c1t2s3c2元组属性2024-9-6 56关系模式中关系的六条性质关系模式中关系的六条性质:v表中的每一项都必须是不可分的基本数据项表中的每一项都必须是不可分的基本数据项满足这一条件的关系称作满足第一范式(1NF)的v属性间的顺序无所谓属性间的顺序无所谓v元组间的顺序无所谓元组间的顺序无所谓v列必须是同质的列必须是同质的即每一列中的分量来自同一域,是同一类型的数据。如TEACH(T,S,C)=(
34、t1,s1,c1),(t1,t2,c1)是错误的v不同的列可出自同一个域不同的列可出自同一个域如Person=t1,t2,s1,s2,s3,C=c1,c2,则TEACH关系中的T和S都从Person域中取值,但不能写成TEACH(P,P,C),还应写成TEACH(T,S,C)v任两个元组不能完全相同任两个元组不能完全相同集合内不能有相同的两个元素2024-9-6 57教工号教工名 所在部门 工资基本工资 补贴工资005001 王武管理学院 800.00 500.00005002 张三计算机学院 900.00 600.00学号姓名年龄0050001李斯22005000223刘六学号姓名年龄005
35、0001李斯220050001李斯220050002刘六23示例示例2024-9-6 58码和外部码码和外部码v码(又称关键字码(又称关键字,key)超码超码v在一个关系中,若某个属性组的值对不同的元组互不相同,则称该属性组为该在一个关系中,若某个属性组的值对不同的元组互不相同,则称该属性组为该关系的超码(超关键字)。关系的超码(超关键字)。候选码候选码v若某一属性组是一个关系的超码,但去掉其中任何一个属性后就不再是超码,若某一属性组是一个关系的超码,但去掉其中任何一个属性后就不再是超码,则称该属性组为该关系的候选码。则称该属性组为该关系的候选码。v候选码是超码的最小集合。候选码是超码的最小集
36、合。v只有一个属性的超码一定是候选码。只有一个属性的超码一定是候选码。合成码合成码v当候选码包含多个属性时,称该候选码为合成码。当候选码包含多个属性时,称该候选码为合成码。v候选码的每个构成属性称为候选码的每个构成属性称为主属性主属性。v关系模式的候选码由所有属性构成,称为关系模式的候选码由所有属性构成,称为全码全码(all-keyall-key)。)。主码主码v为关系组织物理文件时通常选用一个候选码作为插入、删除修改、检索元组的为关系组织物理文件时通常选用一个候选码作为插入、删除修改、检索元组的操作变量,被选用的候选码成为主码。操作变量,被选用的候选码成为主码。v主码一经选定通常不变,一个关
37、系中只有一个主码。主码一经选定通常不变,一个关系中只有一个主码。v外部码外部码如果关系如果关系R的某一属性组不是该关系本身的候选码,而是另一个关系的候的某一属性组不是该关系本身的候选码,而是另一个关系的候选码,则称该属性组是选码,则称该属性组是R的外部码。的外部码。2024-9-6 59表的关联表的关联供应商号供应商名所在城市B01红星北京S10宇宙上海T20黎明天津Z01立新重庆零件号颜色供应商号010红B01312白S10 201蓝T20供应商关系供应商关系S S(主码是(主码是“供应商号供应商号”)零件关系零件关系P P(主码是(主码是“零件号零件号”,外码是外码是“供应商号供应商号”)
38、表的关联:数据库中的数据表与数据表之间使用表的关联:数据库中的数据表与数据表之间使用相应的字段实现数据表的连接相应的字段实现数据表的连接2024-9-6 60数据完整性数据完整性v数据须符合的条件或数据之间的关系数据须符合的条件或数据之间的关系数据类型准确无误数据的值满足范围设置同一表格数据之间不存在冲突多个表格数据之间不存在冲突v分类实体完整性实体完整性参照完整性参照完整性用户自定义完整性用户自定义完整性v系统支持实体完整性和参照完整性由系统自动支持系统应提供定义和检验用户定义的完整性的机制2024-9-6 61v关系的主码中的属性值不能为空值关系的主码中的属性值不能为空值空值:不知道或无意
39、义空值:不知道或无意义v意义关系对应到现实世界中的实体集,元组对应到实体,实体是相互可区分的,通过主码来唯一标识,若主码为空,则出现不可标识的实体,这是不容许的v【例】有关系【例】有关系S(Sno,Sname,Sex,Dno)则,关系则,关系S在主码在主码Sno上取值不可为空上取值不可为空实体完整性实体完整性2024-9-6 62v如果关系如果关系R2的外部码的外部码Fk与关系与关系R1的主码的主码Pk相对应,则相对应,则R2中的中的每一个元组的每一个元组的Fk值或者等于值或者等于R1 中某个元组的中某个元组的Pk 值,或者为空值,或者为空值值v意义如果关系R2的某个元组t2参照了关系R1的某
40、个元组t1,则t1必须存在v【例】【例】有关系有关系S(Sno,Sname,Sex,Dno)和)和DEPT(Dno,Dname)则关系则关系S在在Dno上的取值有两种可能上的取值有两种可能空值,表示该学生尚未分到任何系中若非空值,则必须是DEPT关系中某个元组的Dno值,表示该学生不可能分到一个不存在的系中参照完整性参照完整性2024-9-6 63v用户针对具体的应用环境定义的完整性约束用户针对具体的应用环境定义的完整性约束条件条件v【例】有关系【例】有关系S(Sno,Sname,Sex,Dno)Sno要求是要求是8位整数位整数 Sex要求取值为要求取值为“男男”或或“女女”用户定义完整性用户
41、定义完整性2024-9-6 64示例示例供应商供应商号号供应供应商名商名所在城所在城市市B01红星北京S10宇宙上海T20黎明天津Z01立新重庆零件号零件号颜色颜色供应供应商号商号010红B01312白S10 201蓝T20供应商关系供应商关系S S(主码是(主码是“供应商号供应商号”)零件关系零件关系P P(主码是(主码是“零件号零件号”,外码是外码是“供应商号供应商号”)今要向关系今要向关系P P中插入新行,新行的值分别列出如下。哪些行中插入新行,新行的值分别列出如下。哪些行能够插入?能够插入?A A(037037,绿绿,null)Bnull)B(null(null,黄黄,T20T20)C
42、 C(201201,红红,T20T20)D)D(105105,黑黑,B01B01)E E(101101,黄黄,T11T11)若另要求零件的颜色不能为黑色的,上述结果如何变化?若另要求零件的颜色不能为黑色的,上述结果如何变化?2024-9-6 65v优点优点简单,表的概念直观、单一,用户易理解非过程化的数据请求,数据请求可以不指明路径数据独立性,用户只需提出“做什么”,无须说明“怎么做”坚实的理论基础v缺点缺点由存取路经对用户透明,查询效率不高,速度慢,需要进行查询优化。采用静态数据模型。关系数据模型优缺点关系数据模型优缺点2024-9-6 66主要内容主要内容v现实世界的数据化过程现实世界的数
43、据化过程v概念模型概念模型vER模型的设计方法模型的设计方法v数据模型数据模型v关系模型关系模型vER模型向关系模型的转化模型向关系模型的转化2024-9-6 67ER图向关系模型的转换图向关系模型的转换v转换内容转换内容ER图由实体、实体的属性和实体之间的联系三图由实体、实体的属性和实体之间的联系三个要素组成个要素组成关系模型的逻辑结构是一组关系模式的集合关系模型的逻辑结构是一组关系模式的集合将将ER图转换为关系模型:将实体、实体的属性图转换为关系模型:将实体、实体的属性和实体之间的联系转化为关系模式。和实体之间的联系转化为关系模式。2024-9-6 68ER图向关系模型的转换(续)图向关系
44、模型的转换(续)v转换原则转换原则 一个实体型转换为一个关系模式。一个实体型转换为一个关系模式。:实体型的属性:实体型的属性:实体型的码:实体型的码学生学生 学号学号出生出生日期日期年级年级所在系所在系 平均平均成绩成绩姓名姓名例,学生实体可以转换为如下关系模式:例,学生实体可以转换为如下关系模式:学生(学号,姓名,出生日期,所在系,年级,平均成绩)学生(学号,姓名,出生日期,所在系,年级,平均成绩)性别、宿舍、班级、档案材料、教师、课程、教室、教科书性别、宿舍、班级、档案材料、教师、课程、教室、教科书都分别转换为一个关系模式。都分别转换为一个关系模式。2024-9-6 69子类属性继承子类属
45、性继承Attribute inheritancev同高层实体集相联系的所有属性和联系也适用同高层实体集相联系的所有属性和联系也适用于它的所有低层实体集于它的所有低层实体集v低层实体集中特定的性质仅仅适用于某个特定低层实体集中特定的性质仅仅适用于某个特定的低层实体集。的低层实体集。职工(职工号,姓名,出生,部门)职工(职工号,姓名,出生,部门)经理(职工号,姓名,出生,部门,任职时间)经理(职工号,姓名,出生,部门,任职时间)职 工经 理Isa姓名性别年龄职工号任职时间姓名职工号职工出生部门经理任职时间IsaIsa2024-9-6 70ER图向关系模型的转换(续)图向关系模型的转换(续)一个一个
46、m:n联系联系转换为一个关系模式。转换为一个关系模式。:与该联系相连的各实体的码以及联:与该联系相连的各实体的码以及联系本身的属性系本身的属性:各实体码的组合:各实体码的组合例,例,“选修选修”联系是一个联系是一个m:n联系,可以将它转换为如下关系模式,联系,可以将它转换为如下关系模式,其中学号与课程号为关系的组合码:其中学号与课程号为关系的组合码:选修(学号,课程号,成绩)选修(学号,课程号,成绩)学生学生课程课程选修选修成绩成绩mn2024-9-671ER图向关系模型的转换(续)图向关系模型的转换(续)一个一个1:n联系联系可以转换为一个独立的关系模式,也可以转换为一个独立的关系模式,也可
47、以与可以与n端对应的关系模式合并。端对应的关系模式合并。1)转换为一个独立的关系模式转换为一个独立的关系模式:与该联系相连的各实体的码以及:与该联系相连的各实体的码以及联系本身的属性联系本身的属性:n端实体的码端实体的码例,例,“组成组成”联系为联系为1:n联系,将其转换为关系模式:联系,将其转换为关系模式:1)使其成为一个独立的关系模式:使其成为一个独立的关系模式:组成(学号,班级号)组成(学号,班级号)学生学生班级班级组成组成n12024-9-6 72ER图向关系模型的转换(续)图向关系模型的转换(续)一个一个1:n联系联系可以转换为一个独立的关系模式,也可以转换为一个独立的关系模式,也可
48、以与可以与n端对应的关系模式合并。端对应的关系模式合并。2)与与n端对应的关系模式合并端对应的关系模式合并:在:在n端关系中加入端关系中加入1端关端关系的码和联系本身的属性系的码和联系本身的属性:不变:不变可以减少系统中的关系个数,一般情况下更倾向可以减少系统中的关系个数,一般情况下更倾向于采用这种方法于采用这种方法 2)将其学生关系模式合并:将其学生关系模式合并:学生(学号,姓名,出生日期,所在系,年级,学生(学号,姓名,出生日期,所在系,年级,班级号班级号,平均成绩),平均成绩)2024-9-6 73ER图向关系模型的转换(续)图向关系模型的转换(续)一个一个1:1联系联系可以转换为一个独
49、立的关系模式,也可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。可以与任意一端对应的关系模式合并。1)转换为一个独立的关系模式转换为一个独立的关系模式:与该联系相连的各实体的码以及:与该联系相连的各实体的码以及联系本身的属性联系本身的属性:每个实体的码均是该关系的候:每个实体的码均是该关系的候选码选码教师教师班级班级管理管理112024-9-6 74ER图向关系模型的转换(续)图向关系模型的转换(续)一个一个1:1联系联系可以转换为一个独立的关系模式,也可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。可以与任意一端对应的关系模式合并。2)与某一端对应的关系模
50、式合并与某一端对应的关系模式合并:加入对应关系的码和联系:加入对应关系的码和联系本身的属性本身的属性:不变:不变2024-9-6 75ER图向关系模型的转换(续)图向关系模型的转换(续)例,例,“管理管理”联系为联系为1:1联系,可以有三种转换方法:联系,可以有三种转换方法:(1)转换为一个独立的关系模式:)转换为一个独立的关系模式:管理(教师号,班级号)管理(教师号,班级号)或或管理(教师号,班级号)管理(教师号,班级号)(2)“管理管理”联系与班级关系模式合并,则只需在班联系与班级关系模式合并,则只需在班级关系中加入教师关系的码,即职工号:级关系中加入教师关系的码,即职工号:班级(班级号,
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。