1、.第二章第二章 数据模型数据模型 2.1 两大类数据模型两大类数据模型 2.2 数据模型的组成要素数据模型的组成要素 2.3 最常用的数据模型最常用的数据模型 2.4 层次模型层次模型 2.5 网状模型网状模型 2.6 关系模型关系模型.数据模型数据模型v 在数据库中用数据模型这个工具来抽象、表示和处理抽象、表示和处理现实世界中的数据和信息。v 通俗地讲数据模型就是现实世界的模拟。v 数据模型应满足三方面要求 能比较能比较真实真实地模拟现实世界地模拟现实世界 容易容易为人所为人所理解理解 便于在计算机上便于在计算机上实现实现.2.1 两大类数据模型两大类数据模型v 数据模型分为两类(分属两个不
2、同的层次)(1) 概念模型概念模型 也称信息模型,它是按用户的观点来对数据和信息建也称信息模型,它是按用户的观点来对数据和信息建模,用于数据库设计。模,用于数据库设计。 (2) 逻辑模型和物理模型逻辑模型和物理模型 逻辑模型主要包括网状模型、层次模型、关系模型、面向对象逻辑模型主要包括网状模型、层次模型、关系模型、面向对象模型等,按计算机系统的观点对数据建模,用于模型等,按计算机系统的观点对数据建模,用于DBMS实现实现。 物理模型是对数据最底层的抽象,描述数据在系统内部的表示物理模型是对数据最底层的抽象,描述数据在系统内部的表示方式和存取方法,在磁盘或磁带上的存储方式和存取方法。方式和存取方
3、法,在磁盘或磁带上的存储方式和存取方法。.两大类数据模型两大类数据模型 (续续)DBMS支持的数据模型支持的数据模型概念模型概念模型认识认识抽象抽象信息世界信息世界机器世界机器世界现实世界中客观对象的抽象过程现实世界中客观对象的抽象过程现实世界现实世界 概念模型概念模型数据库设计人员完成数据库设计人员完成逻辑模型逻辑模型 物理模型物理模型由由DBMS完成完成概念模型概念模型 逻辑模型逻辑模型数据库设计人员完成数据库设计人员完成.2.2 数据模型的组成要素数据模型的组成要素v数据结构 v数据操作 v完整性约束条件. 一、一、 数据结构数据结构v什么是数据结构 描述数据库的组成对象,以及对象之间的
4、联系v描述的内容 与数据类型、内容、性质有关的对象 与数据之间联系有关的对象v数据结构是对系统静态特性的描述. 二、数据操作二、数据操作 v 数据操作 对数据库中各种对象(型)的实例(值)允许执行的 操作操作及有关的操作规则操作规则v 数据操作的类型 查询 更新(包括插入、删除、修改)v数据操作是对系统动态特性的描述.三、数据的完整性约束条件三、数据的完整性约束条件 v数据的完整性约束条件 一组完整性规则的集合。 完整性规则:给定的数据模型中数据及其联系所具有的制约和储存规则 用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。.2.3 最常用的数据模型最常用的数据模
5、型v非关系模型 层次模型层次模型(Hierarchical Model) 网状模型网状模型(Network Model)v关系模型(Relational Model) v面向对象模型(Object Oriented Model)v对象关系模型(Object Relational Model).2.4 层次模型层次模型v(自学).2.5 网状模型网状模型v(自学).2.6 关系模型关系模型v 关系数据库系统采用关系模型作为数据的组织方式 v 1970年美国IBM公司San Jose研究室的研究员E.F.Codd首次提出了数据库系统的关系模型 v 计算机厂商新推出的数据库管理系统几乎都支持关系模型
6、 .一、关系数据模型的数据结构一、关系数据模型的数据结构 v 在在用户观点用户观点下,关系模型中数据的逻辑结构是一张二维表,它由行和列下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成。组成。学 号姓 名年 龄性 别系 名年 级2005004王小明19女社会学20052005006黄大鹏20男商品学20052005008张文斌18女法律2005学生登记表学生登记表属性属性元组元组.关系数据模型的数据结构(续)关系数据模型的数据结构(续) 关系(关系(Relation)一个关系对应通常说的一张表 元组(元组(Tuple)表中的一行即为一个元组 属性(属性(Attribute) 表中的一列即
7、为一个属性,给每一个属性起一个名称即属性名 主码(主码(Key)表中的某个属性组,它可以唯一确定一个元组。 域(域(Domain)属性的取值范围。 分量分量元组中的一个属性值。 关系模式关系模式对关系的描述关系名(属性1,属性2,属性n)学生(学号,姓名,年龄,性别,系,年级).关系数据模型的数据结构(续)关系数据模型的数据结构(续)v 关系必须是规范化的,满足一定的规范条件关系必须是规范化的,满足一定的规范条件最基本的规范条件:关系的每一个分量必须是一个不可分的数据项, 不允许表中还有表 图图1.27中工资和扣除是可分的数据项中工资和扣除是可分的数据项 ,不符合关系模型要求不符合关系模型要求
8、 职工号姓名职 称工 资扣 除实 发基 本津 贴职务房 租水 电86051陈 平讲 师13051200501601122283图图1.27 一个工资表一个工资表(表中有表表中有表)实例实例 .二、关系数据模型的操纵与完整性约束二、关系数据模型的操纵与完整性约束v 数据操作是集合操作,操作对象和操作结果都是关系数据操作是集合操作,操作对象和操作结果都是关系 查询 插入 删除 更新v 数据操作是集合操作,操作对象和操作结果都是关系,即若干元组的数据操作是集合操作,操作对象和操作结果都是关系,即若干元组的集合集合v 存取路径对用户隐蔽,用户只要指出存取路径对用户隐蔽,用户只要指出“干什么干什么”,不
9、必详细说明,不必详细说明“怎怎么干么干”v 关系的完整性约束条件 实体完整性 参照完整性 用户定义的完整性.三、关系数据模型的存储结构三、关系数据模型的存储结构v实体及实体间的联系都用表来表示v表以文件形式存储 有的DBMS一个表对应一个操作系统文件 有的DBMS自己设计文件结构.四、关系数据模型的优缺点四、关系数据模型的优缺点v 优点优点 建立在严格的数学概念的基础上建立在严格的数学概念的基础上 概念单一概念单一 实体和各类联系都用关系来表示 对数据的检索结果也是关系 关系模型的存取路径对用户透明关系模型的存取路径对用户透明 具有更高的数据独立性,更好的安全保密性 简化了程序员的工作和数据库开发建立的工作v 缺点缺点 存取路径对用户透明导致查询效率往往不如非 关系数据模型 为提高性能,必须对用户的查询请求进行优化 增加了开发DBMS的难度