数据模型关系型数据库.ppt

上传人:wuy****n92 文档编号:91250071 上传时间:2023-05-24 格式:PPT 页数:67 大小:866KB
返回 下载 相关 举报
数据模型关系型数据库.ppt_第1页
第1页 / 共67页
数据模型关系型数据库.ppt_第2页
第2页 / 共67页
点击查看更多>>
资源描述

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

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

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

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

4、联系,例如,课程和学生。E-R图表示方法实体名联 系名属性名学生出生日期 性别 姓名学号组成班级学生1n人数不同联系的表示 两个不同型实体间的联系 两个不同型实体间的多种联系 职工与工程间,一个职工可以参加多个工程,一个工程可以有多个职工参加,同时一个工程由一个职工负责,一个职工可以负责多个工程。两个以上实体间的多元联系施行社和景点及游客三个实体间存在三元联系 同一实体内部个体间的二元联系 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系部学生教研室教员班级课程选修组成组成组成讲授1m1 11 1mmmmmn指导mn成绩组成物资管理E-R图(1)实体及属性图略(2)实体及联系图如下课程管理E-R图(1)实体属性图(画二个,其余略)(2)实体及联系图如下学生出生日期 性别 姓名学号班级所属系 班级号组成成绩选修课程班级学生讲授mn111 nnm n讲授参考书 教师2.2 数据模型

7、模型分两个不同的层次。第一种是概念模型,也称信息模型,是按用户的观点对数据和信息建模。另一种是数据模型。数据模型应满足三方面的要求:一是能比较真实地模拟现实世界;二是容易为人所理解;三是便于在计算机上实现。数据模型是数据库系统的核心和基础。各种DBMS软件都是基于某种数据模型。数据模型的内容 数据模型构成三要素 数据结构 数据操作 完整性约束 数据模型的种类数据模型构成三要素 任何一种数据模型一般都是严格定义的概念的集合。这些概念必须能准确是描述系统的静态特征、动态特征和完整性约束条件。数据模型由数据结构、数据操作和完整性约束三个要素组成。数据结构 数据结构用于描述数据的静态特征。数据结构是所

8、研究的对象类型的集合,是刻画一个数据模型最重要的方面。通常可以按数据结构的类型来命名数据模型,可分为:网状模型、层次模型、关系模型、面向对象模型。数据操作 数据操作用于描述数据的动态特征。数据操作是指对数据库中各种对象(型)的实例(值)允许执行的操作的集合,包括操作及有关的操作规则,主要有检索和更新(包括插入、删除、修改)两大类操作。数据模型必须准确地定义这些操作的确切含义、操作符号、操作规则(优先级)以及实现操作的语言。数据的约束条件 数据的约束条件是一组完整性规则的集合。完整性规则是给定的数据模型中数据及其联系所具有的制约和储存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数

9、据的正确、有效和相容。如:年龄小于38,学生不及格课程少于3门。实体完整性即指每一实体必须是可分的,它的主码是唯一的,如学号不能重复。参照完整性是指外码的值要么为空,要么为另一个数据库中已有的值。如一个学生的专业不能是专业库中没有的记录 用户定义完整性数据模型种类 按数据结构分,目前可分为:1)层次模型 2)网状模型 3)关系模型 4)面向对象模型层次模型 基本层次关系 层次模型的概念和结构 层次数据模型例 层次模型的完整性约束 层次模型的优点 层次模型的缺点层次模型的概念R0R1R21 R22 R12 R11R2根结点为:R0。R0的子结点有:R1,R2。R1,R2为兄弟结点。R11、R12

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

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

12、。网状模型的其它结构树父母子女种植砍伐养育赡养学生宿舍学生 教研室专业系教师(a)(e)(d)学生课程父亲子女(c)(b)人网状数据模型示例网状模型的完整性约束 操纵特点是:1.允许插入无双亲的子结点。2.允许只删除双亲结点,其子结点仍在。3.更新操作较简单,只需更新指定记录即可。4.查询操作可以有多种方法实现。网状模型没有层次模型那样严格的完整性约束条件,但具体的某一个网状数据库系统提供了一定的完整性约束,对数据操纵加以一些限制。网状模型优点网状模型的优点有:1.能够直接描述现实世界;2.查询方便,对称结构、查询格式相同;3.操作功能强、速度快,存取效率较高。网状模型缺点 网状模型的缺点包括

13、:1.数据结构及其对应的数据操作语言极为复杂。2.数据独立性差,由于实体间的联系是通过存取路径来指示的,因此程序访问时要指定存取路径,程序设计困难。关系模型 关系模型的结构 关系模型的概念 数据库中的表/关系 关系模型的完整性约束 关系模型的优点 关系模型的缺点关系模型的结构学号 姓名 性别 年龄 籍贯9801 张明 男 20 江苏9802 刘红 女 19 山东9803 王明 女 20 北京9839 张立 男 18 陕西学生人事记录表 学生人事记录表关系名关系元组(行)属性(列)主码男女域分量关系模式:学生(学生(学号 学号、姓名、性别、年龄、籍贯)、姓名、性别、年龄、籍贯)属性名关系模型的概

14、念 主码:表中可唯一确定一个元组的属性组 域:属性的取值范转围 分量:元组中的一个值n 关系:表n 元组:表中一行n 属性:表的一列学号 姓名 性别 系别 年龄 籍贯98001 张飞 男 信息管理 20 长沙98002 李丽 女 信息管理 19 岳阳n 关系模式:对关系的描述n 关系模式表示:关系名(属性1,属性2,属性3)当前主要的RDBMS Access VFP SQL Server 2000,2009 Oracle 8i,9i,10g,11i DB2 MySQL面向对象数据模型 20世纪90年代来,随着应用需求的不断变化,关系型数据库不断向前发展。在关系型基础上,引入面向对象技术,从而使

15、关系型数据库发展成为一种新型的面向对象关系型数据库。面向对象关系型数据库在信息系统中已广泛应用。面向对象数据模型 开发信息系统的新要求 传统数据库技术的缺陷 面向对象关系模型 面向对象关系模型优缺点传统数据库技术的缺陷 传统数据库技术开始表现出明显不足:1.数据对象简单。只能检索一组数值或短符号域,属性组成的记录和由同质记录组成的集合,无复杂的嵌套数据和复杂数据。2.对象之间的关系简单,不能实现实体间聚合、继承等复杂联系。3.一致约束不完全,只能预定时机检查。4.事务短寿,并发控制机制简单。如何克服传统数据库技术的不足,解决方法是引入一种新的数据处理技术,将数据技术与面向对象技术相结合。面向对

16、象关系模型 1.对象。是现实世界的实体和概念。由属性和操作(方法)构成。属性表示对象的状态、组成和特征。操作表示对象的行为。每一个对象在系统种都有一个唯一不变的标识(OID)。2.类与实例。由类可生成多个实例。实例继承了类的所有属性及方法,例如所有的学生是一个类,包括学生所有属性及操作方法,如学号、姓名、查询成绩等。具体某个学生是一个实例,如张三,他继承了学生类所有属性和方法。3.继承与类结构。继承可提高代码可重用性。对于父类或基类的类结构,在其子类或派生类中都可得到有效的继承。面向对象关系模型优缺点1优点:不仅能存储数据,而且存储了定义在数据上的操作;能处理对象之间复杂的引用和约束关系,并能

17、通过复合对象定义嵌套结构的数据类型;提供很强的模型扩展能力,数据模型改变时应用程序仍能正常工作。将对象作为一个整体来存储和检索节省开销。2缺点:技术尚不成熟,无完全支持的DBMS产品。数据模型比较(1)层次模型 网状模型 关系模型 面向对象模型定义满足:(1)只有一个结点没有双亲结点,称为根结点;(2)根以外的其它结点有且只有一个双亲结点允许有一个以上的结点没有双亲结点;允许结点有多个双亲结点,此外,还允许两个结点之间有多种联系。一个列不可再分的二维表。支持类、对象、继承等概念的数据模型。实例行政机构、家族关系广泛存在 学生、课程 学生类数据模型比较(2)层次模型 网状模型 关系模型 面向对象

18、优点1.简单,命令少,易操纵。2.实体间联系固定的应用系统,层次模型性能优于关系模型,不次于网状模型。3.良好完整性支持1.能更直接地描述现实世界。2.具有良好性能,存取效率高。1.建立在严格数学概念基础上。2.概念单一数据结构简单清晰。3.存取路径透明,数据独立性更高。存储数据和操作。能定义嵌套结构。很强的模型扩展能力。节省开销。缺点表示非层次性不利。插入删除限制较多。查询子女结点须通过双亲结点。命令趋于程序化。其DDL语言极其复杂。数据独立性差。查询效率不如非关系型,需要对查询优化。技术尚不成熟,无完全支持的DBMS产品。关系的相关概念 元组:关系是一个二维表,表的每行对应一个元组,属性:

19、每列对应一个域(称为属性)。候选码:关系中能唯一地标识一个元组的属性组。主码:从关系的多个候选码中选定一个为主码,主码的诸属性叫主属性。非码属性:不包含在任何候选码中的属性称为非码属性。全码:关系模式的候选码由所有属性构成,称为全码(all-key)。关系类型:基本关系(基本表)、查询表和视图表。关系模型的完整性约束 1.域完整性规则。属性取值必须取自于值域;属性是否能取空值由其语义决定。域完整性是最基本的约束。2.实体完整性规则。主关键字值必须是唯一的且任何组成成份都不能是空值。3.引用完整性规则(参照完整性规则)。设D是一个主域,R1是一个关系,它有一个在这个域D上定义的属性A。那么在任何

20、时刻,R1中A的每个值或者为空值,或者为以A为主关键字的某个关系R2中的一个主关键字值(R1和R2可以相同)。4.用户自定义完整性。是RDBMS提供给用户的一种灵活的完整性保护措施。当需要对数据库增、删、改时,用户可通过触发器等措施保证数据的完整性和一致性。基本关系的性质 列是同质的,即每一列中的分量是同一类型的数据,来自同一个域。不同的列可出自同一个域,称其中的每一列为一个属性,不同的属性要给予不同的属性名 列的顺序无所谓,即列的顺序可以任意交换。任意两个元组不能完全相同。行的顺序无所谓,即行的顺序可以任意交换。分量必须取原子值,即每个分量必须是不可再分的数据项。关系性质1同质的列学号 姓名

21、 性别 年龄 曾用名9901 张三 男 20 张狗子9902 李四 女 18 李朋王五 9903 1 19 王麻子9904 赵六 2 1981/2/28 赵薇关系性质2不同的属性名学号 姓名 性别 年龄 姓名9901 张三 男 20 张狗子9902 李四 女 18 李朋9903 王五 男 19 王麻子9904 赵六 女 20 赵薇姓名2曾用名关系性质3属性无序学号 姓名 性别 年龄 曾用名9901 张三 男 20 张狗子9902 李四 女 18 李朋9903 王五 男 19 王麻子9904 赵六 女 20 赵薇学号 姓名 曾用名 性别 年龄9901 张三 张狗子 男 209902 李四 李朋

22、女 189903 王五 王麻子 男 199904 赵六 赵薇 女 20关系性质4元组不重复学号 姓名 性别 年龄 姓名9901 张三 男 20 张狗子9902 李四 女 18 李朋9903 王五 男 19 王麻子9904 赵六 女 20 赵薇9901 张三 男 20 张狗子重复的元组重复的元组!关系性质5元组无序学号 姓名 性别 年龄9901 张三 男 209902 李四 女 189903 王五 男 199904 赵六 女 20学号 姓名 性别 年龄9904 赵六 女 209901 张三 男 209903 王五 男 199902 李四 女 18关系性质6分量是原子父 母 孩子李男王男丁女肖女李

23、一李二王一父 母孩子大 小李男王男丁女肖女李一王一李二父 母 孩子李男李男王男丁女丁女肖女李一李二王一父 母 大孩 小孩李男王男丁女肖女李一王一李二非规范化关系规范化关系关系数据库模式例整个数据库某关系的结构某关系的实例关系数据库的完整性 完整性是数据模型的一个非常重要的方面。关系数据库从多个方面来保证数据的完整性。在创建数据库时,需要通过相关的措施来保证以后对数据库中的数据进行操纵时,数据是正确的、一致的。关系数据库提供:实体完整性、参照完整性、用户定义的完整性。本节介绍三种完整性最基本的措施。实体完整性 1.实体完整性规则:若属性A是基本关系R的主属性,则属性A不能取空值。2.注意:是基本

24、关系的所有主属性都不能取空值,而不仅是主码整体不能取空值。3.如:选修(学号,课程号,成绩)则,(学号,课程号)为主码,则学号和课程号都不能取空值。实体完整性示例:关系键学号 课程号 成绩9901990199029903C1C2C2C390807080学号 姓名 年龄 性别 所在系9901990299039904张三李四王五赵六20181920男女女男计算机计算机计算机计算机外码-参照完整性 外码:设F是基本关系R的一个或一组属性,但不是R的码,如果F与基本关系S的主码Ks相对应,则称F是基本关系R的外码,并称基本关系R为参照关系,基本关系S为被参照关系。关系R和S不一定是不同的关系。参照完整

25、性规则:若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同关系),则对于R中每一个元组在F上的值必须为:或者取空值(F的每个属性均为空值);或者等于S中某个元组的主码值。外码-参照完整性示例1 例1:学生(学号,姓名,性别,专业号,年龄)专业(专业号,专)学生关系-专业号-专业关系 例2:学生(学号,姓名,性别,专业号,年龄,班长)。班长必须是存在的学生的学号。参照完整性例2:外部关系键学号 姓名 所在系9901990299039904张三李四王五赵六计算机计算机计算机计算机课程号 课程名 学时数C01C02C03C04高等数学数据结构操作系统数

26、据库100708060学号 课程号 成绩99019901990299049904C01C02C04C04C039080908570学生关系 课程关系 学习成绩关系外部键 外部键 主键 主键参照完整性示例3职工号 部门编号 姓名 9801980298039804980501010203张三李四王五赵六钱七部门编号 部门名称 01020304经理办公室人事部公关部技术部职工表(R2)部门表(R1)主关系键 外部关系键用户定义的完整性 是针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。如规定某一属性取值范围在0-100之间。可在定义关系结构时设置,还可通过触发器、

27、规则等来设置。在开发数据库应用系统时,设置用户定义的完整性是一项非常重要的工作。用户定义的完整性RDBS基本操作 RDBS一般向用户提供四种基本操作功能。1.数据查询:即查询关系数据库内的数据,包括单表查询和多表查询。查询包括三个基本操作:一个关系内属性的指定、一个关系内元组的选择、两个关系的合并。2.数据插入,即在关系内插入一些新的元组。3.数据删除,即在关系内删除一些元组。4.数据修改,即在关系内修改一些元组的内容并保存。包括两个基本操作,首先删除数据,而后插入数据。小结 概念模型是现实世界在人头脑中的反映。人们用E-R图来描述概念模型。E-R图叫实体联系图,分局部E-R图和整体E-R图。按数据结构,数据模型分四种:层次模型、网状模型、关系模型和面向对象模型。层次和网状是非关系型。关系模型当前最常用。面向对象模型是关系模型中引入面向对象技术。

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

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

本站为文档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