《数据库原理》课件第2章 建立数据模型.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《《数据库原理》课件第2章 建立数据模型.ppt》由用户(momomo)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库原理 数据库原理课件第2章 建立数据模型 数据库 原理 课件 建立 数据模型
- 资源描述:
-
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、数据操作集合、数据操作集合描述系统的动态特性,即对数据库中对象的实例允许执描述系统的动态特性,即对数据库中对象的实例允许执行的操作的集合,包括操作及操作规则行的操作的集合,包括操作及操作规则一般有检索、更新(插入、删除、修改)操作数据
展开阅读全文