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