数据模型关系型数据.ppt_第1页
数据模型关系型数据.ppt_第2页
数据模型关系型数据.ppt_第3页
数据模型关系型数据.ppt_第4页
数据模型关系型数据.ppt_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

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

文档简介

1、第二节 数据模型与关系型数据库基本概念,1.理解描述信息的三个世界及其联系,以及各抽象层次涉及的概念; 2.掌握概念模型相关概念和表述方式(E-R图); 3.掌握数据模型的三要素和以数据结构划分的几种不同的数据模型; 4.理解四种基本的数据模型及其优缺点; 5.掌握关系模型的基本概念。,概念模型与数据模型,概念模型和E-R图 数据模型概述 层次数据模型 网状数据模型 关系数据模型 面向对象数据模型 小结,2.1 概念模型,为了能把现实世界的具体事物抽象组织为某一个DBMS支持的数据模型,首先需要对这一管理活动所涉及到的各种资料数据及其关系有一个全面的清晰的认识,并通过采用概念模型来描述。 概念

2、模型是现实世界到机器世界的中间层次。 概念模型用E-R图来描述。,概念模型的相关内容,客观世界的抽象过程 概念模型的几个概念 联系(relationship) 三种联系比较 三种联系的关系 实体联系图(Entity-Relationship Approach E-R图)表示方法,不同联系的表示 E-R图的设计方法 E-R图综合实例一 E-R图综合实例二 学校E-R图 物资管理E-R图 课程管理E-R图,客观世界的抽象过程,概念模型的几个概念,实体(entity)是客观存在并可相互区别的事物。实体可以是具体的人事物,也可以是抽象的概念和联系。 属性(attribute)是实体所具有的某一特性。一

3、个实体由若干个属性的描述。 码(key)是唯一标识实体的属性或属性集。如学号。 域(domain)是属性的取值范围。 实体型(entity type)用实体名及其属性名集合来抽象和描述同类实体,称为实体型。如学生(学号,姓名,性别,出生年份)。 实体集(entity set)是同型实体的集合称为实体集。如全体学生,全体职工。,联系,联系(relationship)是现实世界中普遍存在的。在信息世界中,它反映为实体内部和实体之间的联系。实体内部联系通常是指组成实体的各属性之间的联系,如出生年份和年龄,总成绩和各科成绩。 两实体型之间的联系可分为三类:1:1 联系,例如,班级和班长; 1:n 联系

4、,例如,班级和学生;m:n 联系,例如,课程和学生。,E-R图表示方法,实体名,联系名,属性名,不同联系的表示,两个不同型实体间的联系,两个不同型实体间的多种联系 职工与工程间,一个职工可以参加多个工程,一个工程可以有多个职工参加,同时一个工程由一个职工负责,一个职工可以负责多个工程。,两个以上实体间的多元联系 施行社和景点及游客三个实体间存在三元联系,同一实体内部个体间的二元联系,E-R图的设计方法,大体应遵两条原则: 针对每一用户作出该用户信息的局部ER图,确定该用户的实体、属性、联系。注意,能作为属性的就不作为实体,利于简化E-R图。 综合局部E-R图,生成总体E-R图。在综合过程中,同

5、名实体只能出现一次,还要去掉不必要的联系,以消除冗余。 一个系统的E-R图不是惟一的,强调不同的侧面作出的E-R图可能有很大不同。,E-R图综合实例一,1. 学校有若干系,每个系有若干班级和教职室,每个教职室有若干教员,其中有的教授和副教授各带若干研究生.每个班级有若干学生,每个学生选修若干课程,每门课程可由若干学生选修.用E-R图画出该校的概念模型.(参考答案) 2. 在物资管理中,一个供应商为多个项目供应多种零件,一种零件只能保存在一个仓库中,一个仓库中可保存多种零件,一个仓库有多名员工值班,由一个员工负责管理.画出该物资管理系统的E-R图.(参考答案),E-R图综合实例二,3. 在活期存

6、款业务中,设 一个储户可在多个储蓄所存取款,画出该E-R图.(参考答案) 4. 在课程管理系统中,涉及到班级,学生,课程,教师,参考书等实体,假设,一个教师只可上一门课程,一门课程可由多个教师讲授,可使用多本参考书,画出该系统的概念模型。(参考答案),学校E-R图,m,物资管理E-R图,(1)实体及属性图略 (2)实体及联系图如下,课程管理E-R图,(1)实体属性图(画二个,其余略),(2)实体及联系图如下,2.2 数据模型,模型分两个不同的层次。第一种是概念模型,也称信息模型,是按用户的观点对数据和信息建模。另一种是数据模型。 数据模型应满足三方面的要求:一是能比较真实地模拟现实世界;二是容

7、易为人所理解;三是便于在计算机上实现。 数据模型是数据库系统的核心和基础。 各种DBMS软件都是基于某种数据模型。,数据模型的内容,数据模型构成三要素 数据结构 数据操作 完整性约束 数据模型的种类,数据模型构成三要素,任何一种数据模型一般都是严格定义的概念的集合。这些概念必须能准确是描述系统的静态特征、动态特征和完整性约束条件。 数据模型由数据结构、数据操作和完整性约束三个要素组成。,数据结构,数据结构用于描述数据的静态特征。 数据结构是所研究的对象类型的集合,是刻画一个数据模型最重要的方面。 通常可以按数据结构的类型来命名数据模型,可分为:网状模型、层次模型、关系模型、面向对象模型。,数据

8、操作,数据操作用于描述数据的动态特征。 数据操作是指对数据库中各种对象(型)的实例(值)允许执行的操作的集合,包括操作及有关的操作规则,主要有检索和更新(包括插入、删除、修改)两大类操作。 数据模型必须准确地定义这些操作的确切含义、操作符号、操作规则(优先级)以及实现操作的语言。,数据的约束条件,数据的约束条件是一组完整性规则的集合。完整性规则是给定的数据模型中数据及其联系所具有的制约和储存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效和相容。如:年龄小于38,学生不及格课程少于3门。 实体完整性即指每一实体必须是可分的,它的主码是唯一的,如学号不能重复。 参照完

9、整性是指外码的值要么为空,要么为另一个数据库中已有的值。如一个学生的专业不能是专业库中没有的记录 用户定义完整性,数据模型种类,按数据结构分,目前可分为: 1)层次模型 2)网状模型 3)关系模型 4)面向对象模型,层次模型,基本层次关系 层次模型的概念和结构 层次数据模型例 层次模型的完整性约束 层次模型的优点 层次模型的缺点,层次模型的概念,R0,R1,R21,R22,R12,R11,R2,根结点为:R0。R0的子结点有:R1,R2。 R1,R2为兄弟结点。R11、 R12的父结点是:R1。,特征: (1)只有一个无双亲的根结点; (2)其他结点有且只有一个双亲。,层次数据模型示例,层次模

10、型的完整性约束,在插入时,不能插入无双亲的子结点,如新来的教师未分配教研室则无法插入到数据库中。 在删除时,如删除双亲结点,则其子女结点也会被一起删除。如删除某个教研室则它的所有教师也会被删除。 在更新时,应更新所有相应的记录,以保证数据的一致性。,层次模型的优点,数据模型简单,只需几条命令就能操纵数据,易使用; 若实体间的关系固定,性能优于关系模型; 具有良好的完整性支持。,层次模型的缺点,1.有一定存取路径,仅允许自顶向下单向查询,查询非对称性。 2.适合表示记录间一对多联系,而描述非层次性很笨拙,多对多和多对一联系的表示法会出现数据冗余。 3.语义完整性差,数据依赖性强,须通过双亲才能找

11、到子结点。 4.同一实体联系模型可以构造出许多层次模型,而对不同的模型同一查询的表达方式就不同,因此用户必须了解模型的结构。 5.插入和删除操作限制较多。 6.由于结构严密,层次命令趋于程序化。,网状模型,概念与结构 网状模型其它结构 网状模型示例 完整性约束 网状模型的优点 网状模型的缺点,网状模型的概念与结构,网状结构特点: 1.允许多个结点无双亲,即根结点可以有多个; 2.一个子结点可以有两个或多个父结点。,3.两个结点间可有两种或多种联系(复合联系)。 4.可能有回路存在。,网状模型的其它结构,网状数据模型示例,网状模型的完整性约束,操纵特点是: 1.允许插入无双亲的子结点。 2.允许

12、只删除双亲结点,其子结点仍在。 3.更新操作较简单,只需更新指定记录即可。 4.查询操作可以有多种方法实现。 网状模型没有层次模型那样严格的完整性约束条件,但具体的某一个网状数据库系统提供了一定的完整性约束,对数据操纵加以一些限制。,网状模型优点,网状模型的优点有: 1.能够直接描述现实世界; 2.查询方便,对称结构、查询格式相同; 3.操作功能强、速度快,存取效率较高。,网状模型缺点,网状模型的缺点包括: 1.数据结构及其对应的数据操作语言极为复杂。 2.数据独立性差,由于实体间的联系是通过存取路径来指示的,因此程序访问时要指定存取路径,程序设计困难。,关系模型,关系模型的结构 关系模型的概

13、念 数据库中的表/关系 关系模型的完整性约束 关系模型的优点 关系模型的缺点,关系模型的结构,学生人事记录表,关系名,关系,元组(行),属性(列),主码,男 女,域,分量,关系模式:学生(学号、姓名、性别、年龄、籍贯),属性名,关系模型的概念,主码:表中可唯一确定一个元组的属性组 域:属性的取值范转围 分量:元组中的一个值,关系:表 元组:表中一行 属性:表的一列,关系模式:对关系的描述 关系模式表示:关系名(属性1,属性2,属性3),当前主要的RDBMS,Access VFP SQL Server 2000,2009 Oracle 8i,9i,10g,11i DB2 MySQL,面向对象数据

14、模型,20世纪90年代来,随着应用需求的不断变化,关系型数据库不断向前发展。 在关系型基础上,引入面向对象技术,从而使关系型数据库发展成为一种新型的面向对象关系型数据库。 面向对象关系型数据库在信息系统中已广泛应用。,面向对象数据模型,开发信息系统的新要求 传统数据库技术的缺陷 面向对象关系模型 面向对象关系模型优缺点,传统数据库技术的缺陷,传统数据库技术开始表现出明显不足: 1.数据对象简单。只能检索一组数值或短符号域,属性组成的记录和由同质记录组成的集合,无复杂的嵌套数据和复杂数据。 2.对象之间的关系简单,不能实现实体间聚合、继承等复杂联系。 3.一致约束不完全,只能预定时机检查。 4.

15、事务短寿,并发控制机制简单。 如何克服传统数据库技术的不足,解决方法是引入一种新的数据处理技术,将数据技术与面向对象技术相结合。,面向对象关系模型,1. 对象。是现实世界的实体和概念。由属性和操作(方法)构成。属性表示对象的状态、组成和特征。操作表示对象的行为。每一个对象在系统种都有一个唯一不变的标识(OID)。 2.类与实例。由类可生成多个实例。实例继承了类的所有属性及方法,例如所有的学生是一个类,包括学生所有属性及操作方法,如学号、姓名、查询成绩等。具体某个学生是一个实例,如张三,他继承了学生类所有属性和方法。 3.继承与类结构。 继承可提高代码可重用性。对于父类或基类的类结构,在其子类或

16、派生类中都可得到有效的继承。,面向对象关系模型优缺点,1优点: 不仅能存储数据,而且存储了定义在数据上的操作; 能处理对象之间复杂的引用和约束关系,并能通过复合对象定义嵌套结构的数据类型; 提供很强的模型扩展能力,数据模型改变时应用程序仍能正常工作。 将对象作为一个整体来存储和检索节省开销。 2缺点: 技术尚不成熟,无完全支持的DBMS产品。,数据模型比较(1),数据模型比较(2),关系的相关概念,元组:关系是一个二维表,表的每行对应一个元组, 属性:每列对应一个域(称为属性)。 候选码:关系中能唯一地标识一个元组的属性组。 主码:从关系的多个候选码中选定一个为主码,主码的诸属性叫主属性。 非

17、码属性:不包含在任何候选码中的属性称为非码属性。 全码:关系模式的候选码由所有属性构成,称为全码(all-key)。 关系类型:基本关系(基本表)、查询表和视图表。,关系模型的完整性约束,1.域完整性规则。属性取值必须取自于值域;属性是否能取空值由其语义决定。域完整性是最基本的约束。 2.实体完整性规则。主关键字值必须是唯一的且任何组成成份都不能是空值。 3.引用完整性规则(参照完整性规则)。设D是一个主域,R1是一个关系,它有一个在这个域D上定义的属性A。那么在任何时刻,R1中A的每个值或者为空值,或者为以A为主关键字的某个关系R2中的一个主关键字值(R1和R2可以相同)。 4.用户自定义完

18、整性。是RDBMS提供给用户的一种灵活的完整性保护措施。当需要对数据库增、删、改时,用户可通过触发器等措施保证数据的完整性和一致性。,基本关系的性质,列是同质的,即每一列中的分量是同一类型的数据,来自同一个域。 不同的列可出自同一个域,称其中的每一列为一个属性,不同的属性要给予不同的属性名 列的顺序无所谓,即列的顺序可以任意交换。 任意两个元组不能完全相同。 行的顺序无所谓,即行的顺序可以任意交换。 分量必须取原子值,即每个分量必须是不可再分的数据项。,关系性质1同质的列,关系性质2不同的属性名,姓名2 曾用名,关系性质3属性无序,关系性质4元组不重复,关系性质5元组无序,关系性质6分量是原子

19、,非规范化关系,规范化关系,关系数据库模式例,整个数据库,某关系的结构,某关系的实例,关系数据库的完整性,完整性是数据模型的一个非常重要的方面。 关系数据库从多个方面来保证数据的完整性。在创建数据库时,需要通过相关的措施来保证以后对数据库中的数据进行操纵时,数据是正确的、一致的。 关系数据库提供:实体完整性、参照完整性、用户定义的完整性。 本节介绍三种完整性最基本的措施。,实体完整性,1. 实体完整性规则: 若属性A是基本关系R的主属性,则属性A不能取空值。 2. 注意:是基本关系的所有主属性都不能取空值,而不仅是主码整体不能取空值。 3. 如: 选修(学号,课程号,成绩)则,(学号,课程号)为主码,则学号和课程号都不能取空值。,实体完整性示例:关系键,外码-参照完整性,外码: 设F是基本关系R的一个或一组属性,但不是R的码,如果F与基本关系S的主码Ks相对应,则称F是基本关系R的外码,并称基本关系R为参照关系,基本关系S为被参照关系。关系R和S不一定是不同的关系。 参照完整性规则:若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同关系),则对于R中每一个元组在F上的值必须为:或者取空值(F的每个属性均为空值);或者等于S中某个元组的主码值。,外码-参照完整性示

温馨提示

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

评论

0/150

提交评论