《(1.1)--1.4数据模型数据库应用与开发.ppt》由会员分享,可在线阅读,更多相关《(1.1)--1.4数据模型数据库应用与开发.ppt(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1.4数据库应用与开发数据模型数据模型 数据模型是对现实世界各种事物特征的数字化的模拟和抽象。为了把现实世界的具体事物转换为计算机能处理的数据,必须用某种数据模型来抽象和描述这些数据。数据模型是模型化数据和信息的工具。数据模型根据其用途不同而具有不同的层次。基本概念数据结构 数据结构是所研究对象类型的集合,它将确定数据库的逻辑结构,即从用户的角度看数据是如何组织的。数据操作3.完整性约束 数据操作是指对数据库中各种对象(型)的实例(值)所允许执行的操作集合。完整性约束是给定数据模型中的数据及其联系所必须遵循的制约和依存关系,以保证数据的正确、有效和相容。1.4模型(Model)是对现实世界的抽
2、象“概念模型”是表达用户需求观点的数据全局逻辑结构的模型“逻辑模型”是表达算机实现观点的数据库全局逻辑结构的模型“外部模型”是表达用户使用观点的数据库局部逻辑结构的模型“内部模型”是表达数据库物理结构的模型4种模型之间的关系数据库应用与开发数据模型数据模型1.4数据模型数据模型逻辑模型分类层次数据模型网状数据模型关系数据模型对象数据模型数据库应用与开发层次数据模型层次数据模型有且仅有一个根结点根结点以外的其他结点有且仅有一个父结点,但可以有任意子结点结构特点结构特点1.4无子女的结点称为叶结点结构特点层次模型只能表示层次模型只能表示1-1-M M关系关系 不能直接表示不能直接表示M M-M M
3、关系关系数据库应用与开发数据模型数据模型1.4层次模型示例 通讯录的数据 通讯录的层次模型数据库应用与开发数据模型数据模型1.4学生课程(课程)v(学生)m 学生-课程 课程-学生层次模型间接表示多对多关系数据库应用与开发数据模型数据模型1.4数据库应用与开发层次数据模型层次模型的物理存储有两种实现方法顺序法是按照层次顺序把所有的记录邻接存放,即通过物理空间的位置相邻来实现层次顺序各记录存放时不是按层次顺序,而是用指针按层次顺序把它们链接起来顺序法指针法 通讯录通讯录联系人1姓名王志士电话18930049000地址紫荆苑501联系人2姓名刘清电话13629088011地址华丰楼201层次数据的
4、顺序存储 层次数据的链接存储数据模型数据模型1.4 最早出现的是网状 DBMS,是美国通用电气公司Bachman等在1961年开发成功的IDS(Integrated Data Store)。1961年通用电气公司(General Electric Co.)的Charles Bachman 成功地开发出世界上第一个网状DBMS也是第一个数据库管理系统集成数据存储(Integrated Data Store IDS)1973年,Cullinane 公司(也就是后来的Cullinet软件公司),开始出售Goodrich 公司的IDMS改进版本,并且逐渐成为当时世界上最大的软件公司发展历程数据库应用与
5、开发 网状数据模型用有向图表示实体类型及实体之间的联系。有向图是一种比层次模型更具普遍性的结构,它去掉了层次模型的两个限制:允许多个结点没有双亲结点;允许结点有多个父结点,此外它还允许两个结点之间有多种联系(称为复合联系)。结点表示实体,边表示实体之间的联系。网状模型的优点在于可以表示丰富的关系(包括多对多的关系),性能良好,存取效率高等。网状模型的缺点:结构复杂,其数据定义语言数据操作语言较为复杂,用户掌握使用较为困难,编程复杂等。特 点网状数据模型网状数据模型数据模型数据模型1.4学生课程成绩学号网状模型示例数据库应用与开发学生班级姓名课程课程号课程名学号成绩课程号成绩数据模型数据模型1.
6、4数据库应用与开发 网状数据模型的存储网状数据模型数据模型数据模型1.4 1968年Childs提出了面向集合的模型 1970年,IBM的研究员E.F.Codd提出了关系模型 1970年,System R 1973年,关系数据库系统Ingres 1976年,霍尼韦尔公司(Honeywell)开发了第一个商用关系数据库系统Multics Relational Data Store。至今,甲骨文公司的Oracle、IBM公司的DB2、微软公司的MS SQL Server,以及Informix、ADA BASD。发展历程数据库应用与开发关系数据模型关系数据模型 学生-课程的关系模型 学生-课程的关系
7、数据关系模型的主要特征是用二维表格表达实体集数据模型数据模型1.4 实体完整性指关系的主属性(主键的组成部分)不能是空值。现实世界中的实体是可区分的,即它们具有某种唯一性标识。相应地,关系模型中以主键作为唯一性标识,主键中的属性即主属性不能取空值(“不知道”或“无意义”的值)。数据库应用与开发关系模型3类完整性原则实体完整性 参照完整性指如果关系的外键R1与关系R2中的主键相符,那么外键的每个值必须在关系R2中主键的值中找到或者为空值。参照完整性 针对某一具体的实际数据库的约束条件,由应用环境所决定,反映某一具体应用所涉及的数据必须满足的要求。关系模型提供定义和检验这类完整性的机制,以便用统一
8、、系统的方法处理,而不必由应用程序承担这一功能。用户定义完整性“学生表”中的属性“学号”不能为空。例如,“课程表”的属性“学号”必须与“学生表”的属性“学号”相符。“成绩表”中的属性“成绩”的取值范围在0-100之间数据模型数据模型1.4 在现实世界中,要描述一个事物,常常取其若干特征来表示,这些特征称为属性。每个属性对应一个值的集合,作为其可以取值的范围,称为属性的域。例如,姓名的域是所有合法姓名的集合,性别的域是男,女等 关系关系就是定义在它的所有属性域上的多元关系。设为R,它有属性A1、A2、An,其对应的域分别为D1、D2、Dn,则关系R可表示为:R=(A1/D1,A2/D2,An/D
9、n)或R=(A1,A2,An)。元组是关系中各属性的一个取值的集合数据库应用与开发关系数据模型例如,姓名的域是所有合法姓名的集合,性别的域是男,女等关系关系就是定义在它的所有属性域上的多元关系。设为R,它有属性A1、A2、An,其对应的域分别为D1、D2、Dn,则关系R可表示为:R=(A1/D1,A2/D2,An/Dn)或R=(A1,A2,An)。元组是关系中各属性的一个取值的集合基本概念基本术语候选码候选码 主主 码码 外外 码码 关系中的某一属 性或属性组的值唯一地决定其他所有属性的值,也就是唯一地决定一个元组,而其任何真子集无此性质则称这个属性或属性组为该关系的候选码关系数据模型 被挑选
10、出来作为表行的唯一标识的候选码,一个表中只有一个主码,主码又称为主键。主码可以由一个字段,也可以由多个字段组成 如果一个码在一个关系中是主码,则在另一个关系中是外码。外码表示了两个关系之间的联系,外码又称为外键 学生-课程的关系数据“学号”是“学生表”的主码,“成绩表”中“学号”是外码“学号”+“课程号”是“成绩表”的主码“课程号”是“课程表”的主码关系是一个二维表,表中的每一行对应一个元组,表中的每一列有一个属性名且对应一个域。列是同质的,即每一列的值来自同一域关系中的每一个属性不可再分解,即所有域都应是原子数据的集合关系中任意两个元组不能完全相同。关系中行的排列顺序、列的排列顺序是无关紧要
11、的。每个关系都由关键字的属性集唯一标识各元组关系模型的特点数据模型数据模型1.4数据库应用与开发1.3.3关系数据模型 学生-课程的关系模型的存储数据模型数据模型1.41对象和对象标识符 数据库应用与开发面向对象数据模型在面向对象数据模型中,所有现实世界中的实体都模拟为对象,小至一个整数、字符串,大至一个公司、一部电影,都可以看成对象,每个对象都有一个系统内唯一不变的标识符,称为对象标识符(OID)。OID一般由系统产生,用户不得修改。OID是区别对象的唯一标识,与对象的属性值无关 面向对象逻辑模型OO数据模型把一个对象的属性和方法封装成一个整体。对象与外界、对象之间的通信一般只能借助于消息。消息传送给对象,调用对象的相应方法,进行相应的操作,再以消息形式返回操作的结果 对象的消息传递2封装和消息传递 3类和实例类是具有共同属性和方法的对象的集合,这些属性和方法可以在类中统一说明。同类对象在数据结构和操作性质方面具有共性 类和实例 例如,大学生、研究生是一些有共同性质的对象能抽象为一个学生在一些OO数据模型中,类视为对象,因此由类可以组成新的类。这种由类组成的类称为元类,元类的实例是类 元类的实例 例如:班级类是学生类的组成部分,因此学生类为元类数据模型数据模型
限制150内