数据库原理与应用(4)——三个世界及其有关概念、数据模型
三个世界及其有关概念
数据库管理的对象(数据)存在于现实世界中,即现实世界中的事物及其各种关系。
从现实世界的事物到存储到计算机的数据库中的数据,要经历现实世界、信息世界和计算机世界三个不同的世界,经历两级抽象和转换完成
1、现实世界
即客观存在的世界,由客观存在的事物及其联系所组成
- 人们总是选用感兴趣的最能表征一个事物的若干特征来描述该事物
- 客观世界中,事物之间是相互联系的,但人们只选择那些感兴趣的联系
2、信息世界(概念世界)
是现实世界在人们头脑中的反映,经过人脑的分析、归纳和抽象,形成信息,人们把这些信息进行记录、整理、归类和格式化后,就构成了信息世界
信息世界是对客观事物及其联系的一种抽象描述
从现实世界到概念世界是通过概念模型来表达的
- 概念模型:又称信息模型,是按用户的观点对数据和信息建模,不依赖于具体的计算机系统,只是用来描述某个特定组织所关心的信息结构
相关概念
- 实体:客观存在并且可以相互区别的“事物”,实体可以使具体的人、事、物,也可以是抽象的事件
- 属性:实体所具有的某一特性称为属性 型——属性名 值——具体值
- 实体型:具有相同属性的实体必然具有共同的特征;用实体名及其属性名集合来抽象和描述同类实体,称为实体型
- 实体集:同型实体的集合称为实体集
- 码:能唯一标识一个实体的属性或属性集,称为实体的码
- 域:某一属性的取值范围
- 两个实体型间的联系:指两个不同的实体集间的联系,包括一对一联系、一对多联系、多对多联系
3、计算机世界
- 又叫数据世界,是对现实世界的第二层抽象,即对信息世界中信息的数据化,将信息用字符和数值等数据表示,使用计算机存储并管理概念世界中描述的实体集、实体、属性和联系的数据
- 信息世界到数据世界,使用数据模型来描述,数据库中存放数据的结构是由数据模型决定的
相关概念
- 字段(Field):标记实体属性的命名单位,字段名往往和属性名相同。如学生的学号、姓名、年龄、性别等
- 记录(Record):一个记录描述一个实体,字段的有序集合。如一个学生(99001,张立,20,男,计算机)
- 文件(File):用来描述实体集的,同一类记录的集合
- 关键字(Key):能唯一标识文件中每个记录的字段或字段集
三个世界各术语的对应关系
现实世界 | 信息世界 | 计算机世界 |
---|---|---|
事物总体 | 实体集 | 文件 |
事物个体 | 实体 | 记录 |
特征 | 属性 | 字段 |
事物间联系 | 实体模型 | 数据模型 |
数据模型
数据模型用来描述数据及其联系
数据库中存放数据的结构是由数据模型决定的,数据模型是数据库的框架,是数据库系统的核心和基础
1、数据模型的概念
数据模型是描述数据、数据联系、数据的语义和完整性约束的概念集合,由数据结构、数据操作和完整性约束三要素组成
数据结构:即数据组织的结构,用于描述系统的静态特征,描述数据库的组成对象以及对象间的联系
- 一是描述数据对象的类型、内容、性质等
- 二是描述数据对象间的联系
常用的数据结构
- 层次结构—-层次模型—-层次数据库
- 网状结构—-网状模型—-网状数据库
- 关系结构—-关系模型—-关系数据库
数据操作:对数据库中的数据允许执行的操作的集合,包括操作及相应的操作规则(优先级)等,描述了数据库的动态特性
- 一类是查询操作
- 一类是更新操作(插入、删除、修改)
数据的完整性约束:一组完整性规则的集合
- 完整性规则是数据模型中数据及其联系所具有的制约和依存规则
- 用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容
2、常用的数据模型
层次模型
- 采用树形结构(有根数)来表示实体及其实体间的联系的模型。树形结构中的结点表示实体型,实体型见的联系用指针表示
- 采用层次模型的数据库的典型代表是IBM公司1968年推出的IMS数据库管理系统
- 特点
- 有且仅有一个结点没有双亲,根结点
- 根以外的其他结点有且仅有一个双亲结点
- 父子结点之间的联系是一对多的联系
- 层次模型的数据操纵与数据完整性约束
- 进行插入操作时,如果没有相应的双亲结点值就不能插入子女结点值
- 进行删除操作时,如果删除双亲结点值,则相应的子女结点值也被同时删除
- 修改操作时,应修改所有相应的记录,以保证数据的一致性
- 优点
- 结构简单,层次分明
- 查询效率高,从根节点到树中任一结点均存在一条唯一的层次路径
- 提供良好的数据完整性支持
- 缺点
- 不能直接表示多对多联系
- 插入和删除数据限制太多
- 查询子女结点必须通过双亲结点
网状模型
- 网状模型是采用有向图结构表示实体以及实体之间联系的数据模型
- 每个结点表示一个实体型
- 结点间的带箭头的连线(或有向边)表示记录型间的1:n 的父子联系
- 比较有代表性的系统是:数据系统语言研究会CODASYL提出的DBTG系统
- 特点
- 有一个以上的结点没有双亲结点
- 允许结点有多个双亲结点
- 允许两个结点之间有多种联系(复合联系)
- 网状模型的数据操纵与完整性约束
- 插入数据时,允许插入尚未确定双亲结点值的子女结点
- 删除数据时,允许只删除双亲结点值
- 修改数据时,只需要更新指定记录即可
- 优点
- 可表示实体间的多种复杂联系
- 具有良好的性能和存储效率
- 缺点
- 数据结构复杂
- 数据定义语言、数据操纵语言复杂
- 用户需要了解网状模型的实现细节
关系模型
- 以二维表(关系)的形式表示实体和实体之间联系的数据模型
- 关系数据库的代表:IBM公司的System R
- 关系模型的数据结构是一张规范化的二维表,它由表名、表头和表体三部分构成
相关概念
- 分量:每一行对应的列的属性值,即为元组中的一个属性值
- 候选码:可唯一标识一个元组的属性或属性集
- 关系模式:对关系的描述,是关系模型的“型”,一般表示为 关系名(属性1,属性2,…)
关系模型的数据操纵与完整性约束
- 关系模型的数据操纵主要包括查询、插入、删除和修改
- 关系模型中的数据操作是集合操作,操作对象和操作结果都是关系,即若干元组的集合
- 关系模型把对数据的存取路径隐藏起来,用户只要提出“干什么”,而不必详细说明“怎么干”,从而大大地提高了数据的独立性,提高了用户操作效率
优点
- 有严格的数学理论根据
- 数据结构简单、清晰、用关系描述实体及其联系
- 具有更高的数据独立性、更好的安全保密性
缺点
- 查询效率不如非关系模型