7.2 数据模型 大学计算机基础
7.2 数据模型 主要内容 数据模型简介 常用数据模型 常见数据库系统及开发工具
7.2.1 数据模型简介 定义 – 数据模型是现实世界数据特征的抽象。 – 在数据库中,用数据模型来抽象、表示和处理现 实世界中的数据和信息。 数据模型的要求: – 能比较真实地模拟现实世界; – 容易为人所理解; – 便于在计算机上实现。
数据模型分类 – 概念模型(也称信息模型) – 逻辑模型(也称数据模型) – 物理模型
要使计算机能处理客观事物,必须对事物 抽象,提取事物的特征信息;对事物分类、找 出联系。再将其数据化存于数据库。 数据化 抽象 和提 取 学号 姓名 性 别 政治 面貌民族 出生日期 来源省市 邮政编码 联系电话 学生 信息 ×
1. 实体 客观存在并可相互区别的事物。可以是具体的人、 事物,也可以是抽象的概念或事件。 按用户的观点来对数据和信息建模;主要用于数 据库设计。 信息世界 实体, 属性 概念 模型 例如: 现实世界 事物, 特征 概念模型
2. 实体属性 实体所具有的特性称为实体属性。一个实 体可由若干个属性来描述。 例如:编号、姓名、性别、出生日期和职称。 3. 实体属性值 是实体属性的具体化表示,属性值的集合表示 一个实体 。 例如: “103601” 是编号值; “ 李晓光 ” 是姓名 值; “1” 是性别值 。
4. 实体类型 用实体名及所有属性集合表示同类实体,简称 实体型 。 例如:教师(编号,姓名,性别,出生日期, 职称,联系电话,在职)描述教师类实体。 5. 实体集 具有相同属性的实体集合称为实体集。 6. 联系 事物内部及事物之间的联系。即实体内部的联 系以及实体之间的联系。
如:学校与校长 实体之间联系可分三类: 1. 一对一联系( 1:1 ) 2. 一对多联系( 1:n ) 3. 多对多联系( m:n ) 如:校长与学生 如:课程与学生
概念模型的表示方法 (实体 E— 联系 R 方法) —— 实体型 任课教师教 室教 室 使用使用 教师编号 课程编号名 称名 称 出生日期 性 别性 别 姓名 职 称职 称 联系电话 是否在职 周 几周 几 编 号编 号 座位数 编号 课节 —— 属性 —— 联系
7.2.2 常用数据模型 按计算机系统的观点对数据建模。用于 DBMS 的实现。 数据模型的三要素: 数据结构、数据操作和数据完整性约束 主要描述数据类型、内容以及数据间的联系等, 即数据存储的静态性。 1. 数据结构
关系数据模型有实体、参照和用户定义三类完整 性约束条件,前两种完整性是关系数据模型必须满足的 约束条件,也称为关系的两个不变性条件,由关系数据 库管理系统自动支持。 而用户定义完整性是用户根据关系数据库管理系 统提供的语言编写出来的约束条件,系统运行时自动检 查该约束条件。 3. 数据完整性约束 2. 数据操作 主要规定对数据模型中数据和联系所允许的操作以 及操作规则,即描述数据模型的动态性。
– 层次模型 (Hierarchical Model) 代表系统: IBM 的 IMS – 网状模型 (NetWork Model) 代表系统: DBTG – 关系模型 (Relational Model) · 代表系统: Oracle 、 SQL Server 、 Access – 面向对象模型 (Object Oriented Model) 四种最常用的数据模型
树叶 树 枝 根 通过树形结构表示实体及联系。如描述学校管理 机构。每个结点表示一个实体(型),箭头表示实体 (型)间的联系(由父到子)。 1. 层次数据模型
通过网状结构表示实体及联系。 “ 网 ” 中每个结 点表示一个实体 ( 型 ) ,结点之间箭头表示实体 ( 型 ) 间 的联系。 2. 网状数据模型 根 多个父 结点
3. 关系数据模型 关系模型是目前最重要的一种数据模型,它建立 在严格的数学概念的基础之上,数学基础是关系代数。 学号姓名年龄性别系别年级 王小明 19 女社会学 黄大鹏 20 男计算机 张文斌 18 男法律系 2000 ··· 用二维表描述实体型,一张二维表就是一个关系, 表中记录表示实体。 关系模型要求:关系的每一个分量必须是不可分的数据 项,即不允许表中表。
基本术语 – 关系( Relation ):一个关系对应通常说的一张表。 – 元组( Tuple ):表中的一行。也称为记录。 – 属性( Attribute ):表中的一列。每个属性需有一个名 称,即属性名。也称为字段。 – 主键( Key ):表中的某个属性组,可以唯一确定一个 元组。 – 值域( Domain ):属性(字段)的取值范围。 – 分量:元组中的一个属性值。 – 关系模式:对关系的描述,是二维表的框架结构。 关系名(属性 1 ,属性 2 ,...,属性n) 如 students( 学号,姓名,性别,专业,籍贯,出生年 月,奖学金)
将现实中所有实体都模拟成对象。例如,一个整 数、一个日期、一个人,一辆汽车、一门课程等。 身份证号 姓名 性别驾驶证号车牌号 车型 颜色 4. 面向对象数据模型 主要特点: ① 一个对象对应 E—R 模型中一个实体。
② 将一个对象的相关数据和代码封装在一起, 成为一个单元 。 ③ 通过消息完成对象之间沟通,对象间 接口是一个所允许的消息集合 。 身份证号 姓名 性别驾驶证号 踩刹车 踩油门 转方向盘 停车 启动 转向 车牌号 车型 颜色
7.2.3 常见数据库系统及其开发工具 应用程序 数据库管 理系统 VB VC PowerBuilder Delphi ACCESS SQL SERVER ORACLE FOXPRO SQL 命令 数据库引挚 数据库