第2章 建立数据模型精选文档.ppt

上传人:石*** 文档编号:44700033 上传时间:2022-09-22 格式:PPT 页数:101 大小:6.30MB
返回 下载 相关 举报
第2章 建立数据模型精选文档.ppt_第1页
第1页 / 共101页
第2章 建立数据模型精选文档.ppt_第2页
第2页 / 共101页
点击查看更多>>
资源描述

《第2章 建立数据模型精选文档.ppt》由会员分享,可在线阅读,更多相关《第2章 建立数据模型精选文档.ppt(101页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第2章 建立数据模型本讲稿第一页,共一百零一页2022/9/2主要内容主要内容v现实世界的数据化过程现实世界的数据化过程v概念模型概念模型vER模型的设计方法模型的设计方法v数据模型数据模型v关系模型关系模型vER模型向关系模型的转化模型向关系模型的转化本讲稿第二页,共一百零一页2022/9/3现实世界的数据化过程现实世界的数据化过程学生学生编号编号名字名字年龄年龄性别性别班级班级现实现实世界世界数据数据世界世界信息世界信息世界学生学生概念化概念化形式化形式化用户计算机本讲稿第三页,共一百零一页2022/9/4现实世界现实世界由实际事物组成,事物之间联系错综复杂事物和事物特性事物和事物特性信息

2、世界信息世界现实世界在人脑中的反映事物和事物特性实体和实体属性实体和实体属性数据世界数据世界信息世界数据化后的产物实体和实体属性记录和数据项记录和数据项数据抽象数据抽象应用概念模型关系模型现实世界信息世界数据世界抽象化抽象化数据化数据化本讲稿第四页,共一百零一页2022/9/5三个世界中概念的对应关系:三个世界中概念的对应关系:一个事物一个事物 一类事物一类事物 事物的各种特性事物的各种特性现实世界现实世界 实体实体 实体集实体集 属性、域、码属性、域、码信息世界信息世界元组元组 关系关系 属性(字段)、属性(字段)、主码、外部码主码、外部码数据世界数据世界认识认识抽象抽象数据数据转换转换本讲

3、稿第五页,共一百零一页2022/9/6主要内容主要内容v现实世界的数据化过程现实世界的数据化过程v概念模型概念模型vER模型的设计方法模型的设计方法v数据模型数据模型v关系模型关系模型vER模型向关系模型的转化模型向关系模型的转化本讲稿第六页,共一百零一页2022/9/7概念模型定义概念模型定义v按用户的观点来对数据和信息建模按用户的观点来对数据和信息建模v用于组织信息世界的概念,表现从现实世界中抽象出来的事物以及它们之间的联系vE-R模型模型(Entity-Relationship Model,实体,实体-联系模型)联系模型)1976年,年,Peter Chen陈品山陈品山vE-R模型是一种

4、静态信息模型,只能反映当前状态,不能反映实体的变化过程。本讲稿第七页,共一百零一页2022/9/8实体实体-联系模型联系模型v三要素(三个基本语义)三要素(三个基本语义)实体(实体(Entity):客观事物客观事物联系(联系(Relationship):客观事物之间的联系:客观事物之间的联系属性(属性(Attributes):客观事物的特征(属性):客观事物的特征(属性)v刻划工具:刻划工具:实体实体-联系图(联系图(E-R图)图)实体:实体:矩形矩形属性:属性:椭圆椭圆联系:联系:菱形菱形实体和联系间、实体和属性间、联系和属性间:实体和联系间、实体和属性间、联系和属性间:线段线段本讲稿第八页

5、,共一百零一页2022/9/9示例示例学生学生课程课程选修选修姓名姓名学号学号系别系别课程名课程名学分学分主讲老师主讲老师成绩成绩联系集联系集属性属性mn实体集的码实体集的码实体集实体集本讲稿第九页,共一百零一页2022/9/10实体(实体(Entity)v实体实体:可以相互区别的客观事物和概念统一抽象例:学生、回扣、医疗v实体类型,实体集实体类型,实体集:将具有共性的一类实体抽象为实体类型选修选修mn学生学生课程课程实体集实体集本讲稿第十页,共一百零一页2022/9/11v联系联系:实体之间的关系抽象为联系实体之间的关系抽象为联系v联系分类1:1 一对一联系一对一联系1:n 一对多联系一对多

6、联系m:n 多对多联系多对多联系联系(联系(Relationship)本讲稿第十一页,共一百零一页2022/9/12联系的参与多样性联系的参与多样性实体型B实体型A联系名实体型B实体型A联系名实体型B实体型A联系名1:11:NM:N1n1mn1本讲稿第十二页,共一百零一页2022/9/13v联系属性联系属性 v联系的元联系的元:某一联系R所对应的实体类型有n个,称R为n元联系元联系一元联系 n=1二元联系 n=2多元联系 n2旅行社景点游客团队游mnk联系(续)联系(续)学生学生课程课程选修选修成绩成绩联系集联系集属性属性mn本讲稿第十三页,共一百零一页2022/9/14属性(属性(Attri

7、bute)v属性属性:对实体特征的描述v实体码(实体码(KEY,实体标识符,又称实体键),实体标识符,又称实体键):能唯一标识实体的属性或极小属性组,用下划线下划线标出。v域域:属性的取值范围同一实体类型所有实体都具有相同的属性及相同的对应域,但属性在域上的取值不一定相同。学生学生姓名姓名学号学号系别系别实体集的码实体集的码本讲稿第十四页,共一百零一页2022/9/15v属性分类:实体与属性、原子属性与组合属性的划分存在一定的相对性,无绝对。(这是由于描述事物的抽象层次不同或观察研究问题的角度不同而引起)性别、颜色工资、籍贯一个人的性别一个人的学校属性不可再分属性可以再分对应域中的元素为单个值

8、对应域中的元素为多个值原子属性组合属性单值属性多值属性按组成分类按取值分类属性举例性质分类情况分类标准属性(续)属性(续)本讲稿第十五页,共一百零一页16vE-R图中:带下划线的属性为实体键或实体键的一部分组合属性组合属性用一个树型表示多值属性多值属性用虚线椭圆表示或标出关系型数据库系统不能处理组合属性和多值属性的情况,实际操作是要转化成原子属性和单值属性原子属性和单值属性的情况。学生学号姓名年龄性别毕业学校出生日期年月日本讲稿第十六页,共一百零一页17v定义实体集定义实体集v定义联系集定义联系集v定义属性定义属性v几个注意的问题几个注意的问题实体与自身的联系、多个实体之间的联系、实体与自身的

9、联系、多个实体之间的联系、历史演变数据的保存历史演变数据的保存建立建立E-R模型模型1、找实体并表示(每类实体一个二维表)1、找联系(每类实体之间)2、表示联系(参与多样性)1、找属性(确定每个二维表的字段)2、确定字段的属性、域名字、数据类型、精度、缺省值、取值范围、是否允许空值3、确定主码本讲稿第十七页,共一百零一页2022/9/18v试设计一个实体-联系模型以存放某学生期末考试:C#、物联网、JAVA语言、数据库系统原理、LINUX五门课程学生成绩。建立建立E-R模型示例模型示例本讲稿第十八页,共一百零一页2022/9/19解法一:E-R图分析:能够满足要求,但模型不具有可扩性。分析:能

10、够满足要求,但模型不具有可扩性。成绩成绩学号学号姓名姓名C#IoTJAVALINUXDBS本讲稿第十九页,共一百零一页2022/9/20解法二:E-R图分析:能够满足要求,模型具有可扩性,分析:能够满足要求,模型具有可扩性,但数据存在冗余,易造成数据不一致性。但数据存在冗余,易造成数据不一致性。学生学生学号学号姓名姓名课程课程成绩成绩本讲稿第二十页,共一百零一页2022/9/21解法三:E-R图分析:能够满足要求,但模型不具有可扩性,分析:能够满足要求,但模型不具有可扩性,和解法一雷同,操作比其麻烦。和解法一雷同,操作比其麻烦。成绩成绩学号学号姓名姓名IoTJAVAC#DBSLINUX学生学生

11、学号学号拥有拥有11本讲稿第二十一页,共一百零一页2022/9/22解法四:E-R图分析:能够满足要求,模型具有可扩性,分析:能够满足要求,模型具有可扩性,数据不存在冗余,数据一致性好。数据不存在冗余,数据一致性好。课程课程学号学号姓名姓名课程号课程号成绩成绩课程名课程名学生学生选修选修nm(此为最佳答案)(此为最佳答案)本讲稿第二十二页,共一百零一页2022/9/23主要内容主要内容v现实世界的数据化过程现实世界的数据化过程v概念模型概念模型vER模型的设计方法模型的设计方法v数据模型数据模型v关系模型关系模型vER模型向关系模型的转化模型向关系模型的转化本讲稿第二十三页,共一百零一页202

12、2/9/24E-R模型的设计方法模型的设计方法v总的设计原则:总的设计原则:相对性原则:相对性原则:实体、属性、联系等,是对同一个对象抽象过程的不同解释和理解。一致性原则:一致性原则:同一对象在不同的业务系统中的抽象结果,应保持一致。简单化原则:简单化原则:E-R模型中,能作为属性处理的对象,尽量归为属性。本讲稿第二十四页,共一百零一页2022/9/25ER图设计图设计v用实体集或属性代表物体用实体集或属性代表物体?v对现实世界的概念是用实体集还是联系集去对现实世界的概念是用实体集还是联系集去描述?描述?v用多元关系还是二元关系去描述?用多元关系还是二元关系去描述?v在建模过程中使用概括还是特

13、殊化?在建模过程中使用概括还是特殊化?本讲稿第二十五页,共一百零一页2022/9/26E-R 设计原则设计原则v用实体集还是用属性?用实体集还是用属性?问题焦点:什么可作为属性?什么可作为实体集?例:v学生实体集中的电话属性,有两种不同的处理方式1)作为属性2)作为不同的实体,学生与电话之间的关系用联系集来表示v课程实体集中的主讲教师属性?本讲稿第二十六页,共一百零一页2022/9/27属性变实体集属性变实体集 示例示例货号货物名称仓库号存量货物货号名称存放职工职工号姓名年龄仓库管理仓库号面积存量n1mn本讲稿第二十七页,共一百零一页2022/9/28 E-R 设计原则(续)设计原则(续)v用

14、二元联系?多元联系?用二元联系?多元联系?多元联系可以清晰表示出几个实体集参与到一个联系的情况,而转换为多个二元联系后,难以体现这种参与性。v确定联系集属性确定联系集属性本讲稿第二十八页,共一百零一页29子类和子类和Is-a层次联系层次联系v对实体集求精,产生一系列不同层次的实体子集。对实体集求精,产生一系列不同层次的实体子集。特殊化在这个自顶向下的设计过程中,其区别被显示出来。v描述方法是一个标志描述方法是一个标志 ISA的三角的三角 属性继承:属性继承:高层实体集的属性被低层实体集继承。(父类实体集的属性被子类实体集继承)v概括主要使用在自低向上的设计中。概括是特殊化的逆过程,在实际使用中

15、互相配合。Isa ABIsa职 工经 理Isa姓名性别年龄职工号任职时间姓名职工号职工出生部门经理任职时间IsaIsa本讲稿第二十九页,共一百零一页30子类示例子类示例本讲稿第三十页,共一百零一页2022/9/31“好好”的的E-R模型模型v满足用户功能需求满足用户功能需求v实体联系尽可能少实体联系尽可能少v实体集所含属性尽可能少实体集所含属性尽可能少v实体集间联系无冗余实体集间联系无冗余本讲稿第三十一页,共一百零一页2022/9/32企业企业 E-R模型的设计方法模型的设计方法先局部、后整体、最后优化先局部、后整体、最后优化一、确定局部应用范围,一、确定局部应用范围,设计局部设计局部ER模型

16、模型确定局部应用范围确定局部应用范围定义实体集、定义实体集、联系集、属性联系集、属性设计局部设计局部E-R图图修改否?修改否?本讲稿第三十二页,共一百零一页33二、集成局部二、集成局部E-RE-R模型,模型,形成全局初步形成全局初步E-RE-R模型模型合并局部合并局部E-R图图检查并消除冲突检查并消除冲突确定公共实体型确定公共实体型修改否?修改否?局部局部E-R图图进入进入“全局模型优化全局模型优化”三、消除冗余,三、消除冗余,优化全局优化全局E-RE-R模型模型企业企业 E-R模型的设计方法(续)模型的设计方法(续)本讲稿第三十三页,共一百零一页34采用采用ER方法的数据库概念设计方法的数据

17、库概念设计 之之设计局部设计局部ERER模式模式 有有需求分析结果需求分析结果确定局部结构范围确定局部结构范围实体定义实体定义联系定义联系定义属性分配属性分配还有局部还有局部结构待分析结构待分析无无进入全局进入全局ER模式设计模式设计局部局部ERER模式设计模式设计范范围围的的划划分分要要自自然然,易于管理;易于管理;范围的大小要适度。范围的大小要适度。太小了,会造成局部结构太小了,会造成局部结构过多,设计过程繁琐,综过多,设计过程繁琐,综合困难;太大了,则容易合困难;太大了,则容易造成内部结构复杂,不便造成内部结构复杂,不便分析分析 范围之间的界面要清晰,范围之间的界面要清晰,相互影响要小相

18、互影响要小采用人们习惯的划分;采用人们习惯的划分;避避免免冗冗余余,在在一一个个局局部部结结构构中中,对对一一个个对对象象只只取取一一种抽象形式,不要重复;种抽象形式,不要重复;依据用户的信息处理需求依据用户的信息处理需求 确定属性的原则:确定属性的原则:属性应该是不可再分解的语义属性应该是不可再分解的语义单位;实体与属性之间的关系只能单位;实体与属性之间的关系只能是是1:N1:N的;不同实体类型的属性之间的;不同实体类型的属性之间应无直接关联关系。应无直接关联关系。属性分配的原则:属性分配的原则:当多个实体类型用到同一属性时,当多个实体类型用到同一属性时,一般把属性分配给那些使用频率最高一般

19、把属性分配给那些使用频率最高的实体类型,或分配给实体值少的实的实体类型,或分配给实体值少的实体类型。体类型。有些属性不宜归属于任一实体类有些属性不宜归属于任一实体类型,只说明实体之间联系的特性型,只说明实体之间联系的特性 本讲稿第三十四页,共一百零一页35局部模式局部模式1现有的教学现有的教学管理系统管理系统初步分析系初步分析系统的对象统的对象根据服务种根据服务种类分析教师类分析教师子模块子模块人事管理局部应用的分人事管理局部应用的分E-R图图局部局部ER图图本讲稿第三十五页,共一百零一页36局部模式局部模式2学籍管理局部应用的分学籍管理局部应用的分E-RE-R图图导师导师班级班级学生学生组组

20、成成管管理理班主任班主任档案材料档案材料宿舍宿舍住住宿宿归归档档指指导导系系有有参参加加学会学会1N111NNN11NMN1具具有有社会关系社会关系1N现有的教学现有的教学管理系统管理系统初步分析系初步分析系统的对象统的对象根据服务种根据服务种类分析学生类分析学生子模块子模块局部局部ER图图本讲稿第三十六页,共一百零一页37局部模式局部模式3现有的教学现有的教学管理系统管理系统初步分析系初步分析系统的对象统的对象根据服务种根据服务种类分析课程类分析课程子模块子模块局部局部ER图图课程管理局部应用分课程管理局部应用分E-RE-R图图1教室教室M1教科书教科书教师教师担任担任课程课程系系开设开设N

21、1学生学生选修选修NMN上课上课PN本讲稿第三十七页,共一百零一页38采用采用ER方法的数据库概念设计方法的数据库概念设计 之设计全局之设计全局ER模式模式无无全局全局ERER模式设计模式设计 局部局部ER模式模式确定公共实体类型确定公共实体类型合并两个局部合并两个局部ER模式模式检查并消除冲突检查并消除冲突还有未合并还有未合并的局部模式的局部模式有有还有冲突吗还有冲突吗有有属性冲突属性冲突:如,重量单位如,重量单位有的用公斤,有的用克。有的用公斤,有的用克。结构冲突结构冲突:同一对象在不同一对象在不同应用中的不同抽象同应用中的不同抽象;同同一实体在不同局部一实体在不同局部ERER图中图中属性

22、的个数或次序不同属性的个数或次序不同;实体之间的联系在不同的实体之间的联系在不同的局部局部ERER图中呈现不同的类图中呈现不同的类型型 命名冲突命名冲突:属性名、实体属性名、实体名、联系名之间存在同名名、联系名之间存在同名异义或异名同义冲突异义或异名同义冲突本讲稿第三十八页,共一百零一页2022/9/39采用采用ER方法的数据库概念设计方法的数据库概念设计 之全局之全局ER模式的优化模式的优化v实体类型的合并实体类型的合并1:11:1联系的两个实体类型联系的两个实体类型 具有相同码的实体类型具有相同码的实体类型 v冗余属性的消除冗余属性的消除 v冗余联系的消除:冗余联系的消除:利用利用规规范化

23、理范化理论论中函数依中函数依赖赖的的概念消除冗余概念消除冗余联联系系 本讲稿第三十九页,共一百零一页40例:三个局部例:三个局部ER图合并成一个图合并成一个ER图图1合并后的教学管理合并后的教学管理E-RE-R图图1N1P1N1N1N1MMNNNN社会关系社会关系具有具有1NNM1系系聘用聘用承接承接项目项目参加参加设置设置院长院长学院学院主管主管NN111教师教师评定评定职称职称分配分配工作量工作量111N档案材料档案材料归档归档参加参加学会学会1宿舍宿舍住宿住宿教科书教科书担任担任指导指导课程课程选修选修教室教室上课上课有有1班级班级学生学生组成组成N开设开设N管理管理11教师教师管理管理

24、1 1本讲稿第四十页,共一百零一页2022/9/41主要内容主要内容v现实世界的数据化过程现实世界的数据化过程v概念模型概念模型vER模型的设计方法模型的设计方法v数据模型数据模型v关系模型关系模型vER模型向关系模型的转化模型向关系模型的转化本讲稿第四十一页,共一百零一页2022/9/42数据模型数据模型v数据模型:数据模型:是对客观事物及联系的数据描述,是对客观事物及联系的数据描述,是是信息模型的数据化信息模型的数据化。v数据库管理系统是建立在一定的数据模型之上,根据数据模型实现在计算机上存储、处理、表示、组织数据,不同的数据模型对应不同类型的数据库管理系统。本讲稿第四十二页,共一百零一页

25、2022/9/43v从计算机实现的观点来对数据建模从计算机实现的观点来对数据建模v是信息世界中的概念和联系在计算机世界中的表示方法v一般有严格的形式化定义,以便于在计算机上实现v如层次模型、网状模型、关系模型、面向对象模型数据模型(续)数据模型(续)本讲稿第四十三页,共一百零一页2022/9/44四种类型数据组织方法数据结构特点数据模型层次数据模型层次方法有序树或森林适于描述层次结构的数据网状数据模型网状方法图速度快,不易掌握关系数据模型关系方法二维表(关系)易于理解和使用、有严格的理论基础面向对象数据模型面向对象方法对象适于模拟实体的行为四种常见数据模型四种常见数据模型本讲稿第四十四页,共一

26、百零一页2022/9/45数据模型的三要素数据模型的三要素v数据模型数据模型=数据的组织方法数据的组织方法+数据操作集合数据操作集合+数据完数据完整性集合整性集合v1、数据的组织方法(数据结构)、数据的组织方法(数据结构)描述系统的静态特性,即组成数据库的对象类型描述系统的静态特性,即组成数据库的对象类型数据本身v类型、内容、性质。如网状模型中的数据项、记录,关系模型中的域、属性,关系等数据之间的联系v例如网状模型中的系型,关系模型中的外码在数据库系统中一般按数据结构的类型来命名数据模型本讲稿第四十五页,共一百零一页46数据模型的三要素(续)数据模型的三要素(续)v2、数据操作集合、数据操作集

27、合描述系统的动态特性,即对数据库中对象的实例允许执行的描述系统的动态特性,即对数据库中对象的实例允许执行的操作的集合,包括操作及操作规则操作的集合,包括操作及操作规则一般有检索、更新(插入、删除、修改)操作数据模型要定义操作含义、操作符号、操作规则,以及实现操作的语言v3、数据的完整性集合(数据的约束条件)、数据的完整性集合(数据的约束条件)数据的约束条件是完整性规则的集合,规定数据库状态及状态数据的约束条件是完整性规则的集合,规定数据库状态及状态变化所应满足的条件,以保证数据的正确、有效、相容变化所应满足的条件,以保证数据的正确、有效、相容本讲稿第四十六页,共一百零一页2022/9/47主要

28、内容主要内容v现实世界的数据化过程现实世界的数据化过程v概念模型概念模型vER模型的设计方法模型的设计方法v数据模型数据模型v关系模型关系模型vER模型向关系模型的转化模型向关系模型的转化本讲稿第四十七页,共一百零一页2022/9/48关系模型关系模型vE.F.Codd于于70年代初提出关系数据理论,他因此获得年代初提出关系数据理论,他因此获得1981年的年的ACM图灵奖图灵奖v关系理论是建立在集合代数理论基础上的,有着坚实的数学关系理论是建立在集合代数理论基础上的,有着坚实的数学基础基础v早期代表系统System:由IBM研制INGRES:由加州Berkeley分校研制v目前主流的商业数据库

29、系统Oracle,DB2,SQL Server,Sybase,MySQL,PostgreSQL,SQLiteAccess本讲稿第四十八页,共一百零一页ACM图灵奖图灵奖v查尔斯查尔斯.巴赫曼巴赫曼 Charles W.Bachman(1924)网状数据库之父、网状数据库之父、DBTG之父之父v埃德加埃德加.弗兰克弗兰克.科德科德 Edgar Frank Codd (19232003)关系数据库之父关系数据库之父v詹姆斯詹姆斯.格雷格雷 James Gray(1944)事务处理技术事务处理技术本讲稿第四十九页,共一百零一页2022/9/2250关系数据模型结构关系数据模型结构v用二维表二维表来表

30、示实体及其相互联系v数据结构:关系(俗称表)几个概念:关系名关系名表名关系模式关系模式属性属性(列)学生关系关系表D1D2D3D4D5域域元组元组行本讲稿第五十页,共一百零一页51v关系模式:一个关系的静态描述(关系名及其全部属性关系模式:一个关系的静态描述(关系名及其全部属性名的集合)名的集合)v二维表的表头那一行称为二维表的表头那一行称为关系模式关系模式,又称表的框架或记,又称表的框架或记录类型。录类型。是记录的型,决定二维表的内容。每一个关系模式都必须命名,且同一关系模型中关系模式名不允许相同。每一个关系模式都是由一些的属性组成,关系模式的属性名通常取自相关实体类型的属性名。关系模式可表

31、示为:关系模式名(属性名关系模式名(属性名1,属性名,属性名2,属性名,属性名n)v示例:学生(学号,姓名,性别,出生日期,系别)系(系号,系名,班主任)关系模式关系模式本讲稿第五十一页,共一百零一页2022/9/52v对应于关系模式的一个具体的表称为关系关系,又称表(表(Table)。关系数据库是若干表(关系)的集合关系模式决定其对应关系的内容每一个关系都必须命名(通常取对应的关系模式名),且同一关系数据模型中关系名互不相同。v关系模式与关系的联系:关系模式:型(关系的结构)、相对稳定关系模式:型(关系的结构)、相对稳定关系:值(元组的集合)、随时间变化关系:值(元组的集合)、随时间变化关系

32、关系(Relation)本讲稿第五十二页,共一百零一页2022/9/53v元组(元组(Tuple):关系中的每一行称为关系的一个元组,又称行(行(Row)或记录记录。一个关系可由多个元组构成一个关系中的元组各不相同v属性(属性(Attributes)关系中的每一列称为关系的一个属性,又称列(列(Column)一个由n个属性的关系称为n元关系关系的属性名就是对应关系模式的对应属性名v变域(变域(Domain)关系中的每一属性所对应的取值范围叫属性的变域,简称域域。域是值的集合,关系中所有属性的实际值均来自它所对应的域如整数的集合、字符串的集合、全体学生的集合关系中每个属性都必须有一个相应的域,不

33、同属性的域可不同也可相同。本讲稿第五十三页,共一百零一页2022/9/54v笛卡尔积(笛卡尔积(Cartesian 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是关系的度或目关系是笛卡尔积中有意义的子集关系是笛卡尔积中有意义的子集关系也可以表示为二维表本讲稿第五十四页,共一百零一页55例:设 D

34、1为教师集合(T)=t1,t2 D2为学生集合(S)=s1,s2,s3 D3为课程集合(C)=c1,c2 则D1D2D3是个三元组集合,元组个数为232,关系TEACH(T,S,C)是所有可能的(教师,学生,课程)元组集合,可表示为二维表的形式关系TEACH(T,S,C)TSCt1s1c1t1s1c2t1s2c1t2s3c2元组属性本讲稿第五十五页,共一百零一页2022/9/56关系模式中关系的六条性质关系模式中关系的六条性质:v表中的每一项都必须是不可分的基本数据项表中的每一项都必须是不可分的基本数据项满足这一条件的关系称作满足第一范式(1NF)的v属性间的顺序无所谓属性间的顺序无所谓v元组

35、间的顺序无所谓元组间的顺序无所谓v列必须是同质的列必须是同质的即每一列中的分量来自同一域,是同一类型的数据。如TEACH(T,S,C)=(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任两个元组不能完全相同任两个元组不能完全相同集合内不能有相同的两个元素本讲稿第五十六页,共一百零一页2022/9/57教工号教工名所在部门 工资基本工资 补贴工资005001 王武管理

36、学院 800.00 500.00005002 张三计算机学院 900.00 600.00学号姓名年龄0050001李斯22005000223刘六学号姓名年龄0050001李斯220050001李斯220050002刘六23示例示例本讲稿第五十七页,共一百零一页58码和外部码码和外部码v码(又称关键字码(又称关键字,key)超码超码v在一个关系中,若某个属性组的值对不同的元组互不相同,则称该属性组为该关系的超在一个关系中,若某个属性组的值对不同的元组互不相同,则称该属性组为该关系的超码(超关键字)。码(超关键字)。候选码候选码v若某一属性组是一个关系的超码,但去掉其中任何一个属性后就不再是超码,

37、则称该属若某一属性组是一个关系的超码,但去掉其中任何一个属性后就不再是超码,则称该属性组为该关系的候选码。性组为该关系的候选码。v候选码是超码的最小集合。候选码是超码的最小集合。v只有一个属性的超码一定是候选码。只有一个属性的超码一定是候选码。合成码合成码v当候选码包含多个属性时,称该候选码为合成码。当候选码包含多个属性时,称该候选码为合成码。v候选码的每个构成属性称为候选码的每个构成属性称为主属性主属性。v关系模式的候选码由所有属性构成,称为关系模式的候选码由所有属性构成,称为全码全码(all-keyall-key)。)。主码主码v为关系组织物理文件时通常选用一个候选码作为插入、删除修改、检

38、索元组的操作变量,被选用的候选为关系组织物理文件时通常选用一个候选码作为插入、删除修改、检索元组的操作变量,被选用的候选码成为主码。码成为主码。v主码一经选定通常不变,一个关系中只有一个主码。主码一经选定通常不变,一个关系中只有一个主码。v外部码外部码如果关系如果关系R的某一属性组不是该关系本身的候选码,而是另一个关系的候选码,的某一属性组不是该关系本身的候选码,而是另一个关系的候选码,则称该属性组是则称该属性组是R的外部码。的外部码。本讲稿第五十八页,共一百零一页2022/9/59表的关联表的关联供应商号供应商名所在城市B01红星北京S10宇宙上海T20黎明天津Z01立新重庆零件号颜色供应商

39、号010红B01312白S10 201蓝T20供应商关系供应商关系S S(主码是(主码是“供应商号供应商号”)零件关系零件关系P P(主码是(主码是“零件号零件号”,外码是外码是“供应商号供应商号”)表的关联:数据库中的数据表与数据表之间使用表的关联:数据库中的数据表与数据表之间使用相应的字段实现数据表的连接相应的字段实现数据表的连接本讲稿第五十九页,共一百零一页60数据完整性数据完整性v数据须符合的条件或数据之间的关系数据须符合的条件或数据之间的关系数据类型准确无误数据的值满足范围设置同一表格数据之间不存在冲突多个表格数据之间不存在冲突v分类实体完整性实体完整性参照完整性参照完整性用户自定义

40、完整性用户自定义完整性v系统支持实体完整性和参照完整性由系统自动支持系统应提供定义和检验用户定义的完整性的机制本讲稿第六十页,共一百零一页2022/9/61v关系的主码中的属性值不能为空值关系的主码中的属性值不能为空值空值:不知道或无意义空值:不知道或无意义v意义关系对应到现实世界中的实体集,元组对应到实体,实体是相互可区分的,通过主码来唯一标识,若主码为空,则出现不可标识的实体,这是不容许的v【例】有关系【例】有关系S(Sno,Sname,Sex,Dno)则,关系则,关系S在主码在主码Sno上取值不可为空上取值不可为空实体完整性实体完整性本讲稿第六十一页,共一百零一页62v如果关系如果关系R

41、2的外部码的外部码Fk与关系与关系R1的主码的主码Pk相对应,则相对应,则R2中的每一个元中的每一个元组的组的Fk值或者等于值或者等于R1 中某个元组的中某个元组的Pk 值,或者为空值值,或者为空值v意义如果关系R2的某个元组t2参照了关系R1的某个元组t1,则t1必须存在v【例】【例】有关系有关系S(Sno,Sname,Sex,Dno)和)和DEPT(Dno,Dname)则关系则关系S在在Dno上的取值有两种可能上的取值有两种可能空值,表示该学生尚未分到任何系中若非空值,则必须是DEPT关系中某个元组的Dno值,表示该学生不可能分到一个不存在的系中参照完整性参照完整性本讲稿第六十二页,共一百

42、零一页2022/9/63v用户针对具体的应用环境定义的完整性约束用户针对具体的应用环境定义的完整性约束条件条件v【例】有关系【例】有关系S(Sno,Sname,Sex,Dno)Sno要求是要求是8位整数位整数 Sex要求取值为要求取值为“男男”或或“女女”用户定义完整性用户定义完整性本讲稿第六十三页,共一百零一页64示例示例供应商号供应商名所在城市B01红星北京S10宇宙上海T20黎明天津Z01立新重庆零件号颜色供应商号010红B01312白S10 201蓝T20供应商关系供应商关系S S(主码是(主码是“供应商号供应商号”)零件关系零件关系P P(主码是(主码是“零件号零件号”,外码是外码是

43、“供应商号供应商号”)今今要要向向关关系系P P中中插插入入新新行行,新新行行的的值值分分别别列列出出如如下下。哪哪些些行行能能够够插入?插入?A A(037037,绿绿,null)Bnull)B(null(null,黄黄,T20T20)C C(201201,红红,T20T20)D)D(105105,黑黑,B01B01)E E(101101,黄黄,T11T11)若另要求零件的颜色不能为黑色的,上述结果如何变化?若另要求零件的颜色不能为黑色的,上述结果如何变化?本讲稿第六十四页,共一百零一页2022/9/65v优点优点简单,表的概念直观、单一,用户易理解非过程化的数据请求,数据请求可以不指明路径

44、数据独立性,用户只需提出“做什么”,无须说明“怎么做”坚实的理论基础v缺点缺点由于存取路经对用户透明,查询效率不高,速度慢,需要进行查询优化。采用静态数据模型。关系数据模型优缺点关系数据模型优缺点本讲稿第六十五页,共一百零一页2022/9/66主要内容主要内容v现实世界的数据化过程现实世界的数据化过程v概念模型概念模型vER模型的设计方法模型的设计方法v数据模型数据模型v关系模型关系模型vER模型向关系模型的转化模型向关系模型的转化本讲稿第六十六页,共一百零一页2022/9/67ER图向关系模型的转换图向关系模型的转换v转换内容转换内容ER图由实体、实体的属性和实体之间的联系三图由实体、实体的

45、属性和实体之间的联系三个要素组成个要素组成关系模型的逻辑结构是一组关系模式的集合关系模型的逻辑结构是一组关系模式的集合将将ER图转换为关系模型:将实体、实体的属性图转换为关系模型:将实体、实体的属性和实体之间的联系转化为关系模式。和实体之间的联系转化为关系模式。本讲稿第六十七页,共一百零一页2022/9/68ER图向关系模型的转换(续)图向关系模型的转换(续)v转换原则转换原则 一个实体型转换为一个关系模式。一个实体型转换为一个关系模式。关系的属性关系的属性:实体型的属性:实体型的属性关系的码关系的码:实体型的码:实体型的码学生学生 学号学号出生出生日期日期年级年级所在系所在系 平均平均成绩成

46、绩姓名姓名例,学生实体可以转换为如下关系模式:例,学生实体可以转换为如下关系模式:学生(学号,姓名,出生日期,所在系,年级,平均成绩)学生(学号,姓名,出生日期,所在系,年级,平均成绩)本讲稿第六十八页,共一百零一页69ER图向关系模型的转换(续)图向关系模型的转换(续)一个一个m:n联系联系转换为一个关系模式。转换为一个关系模式。关系的属性关系的属性:与该联系相连的各实体的码以及联:与该联系相连的各实体的码以及联系本身的属性系本身的属性关系的码关系的码:各实体码的组合:各实体码的组合例,例,“选修选修”联系是一个联系是一个m:n联系,可以将它转换为如下关系模式,联系,可以将它转换为如下关系模

47、式,其中学号与课程号为关系的组合码:其中学号与课程号为关系的组合码:选修(选修(学号学号,课程号课程号,成绩),成绩)学生学生课程课程选修选修成绩成绩mn本讲稿第六十九页,共一百零一页70ER图向关系模型的转换(续)图向关系模型的转换(续)一个一个1:n联系联系可以转换为一个独立的关系模式,也可以与可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。端对应的关系模式合并。1)转换为一个独立的关系模式转换为一个独立的关系模式vv关系的属性关系的属性关系的属性关系的属性:与该联系相连的各实体的码以及联:与该联系相连的各实体的码以及联系本身的属性系本身的属性vv关系的码关系的码关系的码关系

48、的码:n端实体的码端实体的码例,例,“组成组成”联系为联系为1:n联系,将其转换为关系模式:联系,将其转换为关系模式:1)使其成为一个独立的关系模式:使其成为一个独立的关系模式:组成(学号,班级号)组成(学号,班级号)学生学生班级班级组成组成n1本讲稿第七十页,共一百零一页71ER图向关系模型的转换(续)图向关系模型的转换(续)一个一个1:n联系联系可以转换为一个独立的关系模式,也可可以转换为一个独立的关系模式,也可以与以与n端对应的关系模式合并。端对应的关系模式合并。2)与与n端对应的关系模式合并端对应的关系模式合并vv合并后关系的属性合并后关系的属性合并后关系的属性合并后关系的属性:在:在

49、n端关系中加入端关系中加入1端关系的码端关系的码和联系本身的属性和联系本身的属性vv合并后关系的码合并后关系的码合并后关系的码合并后关系的码:不变:不变可以减少系统中的关系个数,一般情况下更倾向可以减少系统中的关系个数,一般情况下更倾向于采用这种方法于采用这种方法 2)将其学生关系模式合并:将其学生关系模式合并:学生(学号,姓名,出生日期,所在系,年级,学生(学号,姓名,出生日期,所在系,年级,班级号班级号,平均成绩),平均成绩)本讲稿第七十一页,共一百零一页2022/9/72ER图向关系模型的转换(续)图向关系模型的转换(续)一个一个1:1联系联系可以转换为一个独立的关系模式,也可以可以转换

50、为一个独立的关系模式,也可以与任意一端对应的关系模式合并。与任意一端对应的关系模式合并。1)转换为一个独立的关系模式转换为一个独立的关系模式vv关系的属性关系的属性关系的属性关系的属性:与该联系相连的各实体的码以及联系:与该联系相连的各实体的码以及联系本身的属性本身的属性vv关系的候选码关系的候选码关系的候选码关系的候选码:每个实体的码均是该关系的候选码:每个实体的码均是该关系的候选码教师教师班级班级管理管理11本讲稿第七十二页,共一百零一页2022/9/73ER图向关系模型的转换(续)图向关系模型的转换(续)一个一个1:1联系联系可以转换为一个独立的关系模式,也可以与可以转换为一个独立的关系

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com