数据库原理和应用(4)—— 三个世界及有关概念、数据模型

三个世界及有关概念

数据库管理的对象(数据)存在于现实世界中,即现实世界中的事物及各种联系。

从现实世界的事物到存储到计算机的数据库中的数据,要经历现实世界、信息世界和计算机世界三个不同的世界,经历两级抽象和转换完成。

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)

关系模型的数据操控与数据完整性约束
  • 关系模型的数据操纵主要包括查询、插入、删除、修改
  • 关系模型中的数据操作是集合操作,操作对象和操作结果都是关系,即若干元组的集合。
  • 关系模型把对数据的存取路径隐蔽起来,用户只要指出“干什么”,而不用详细说明“怎么干”,从而大大的提高了数据的独立性,提高了用户操作效率
优点
  • 有严格的数学理论根据
  • 数据结构简单、清晰,用关系描述实体及其联系
  • 具有更高的数据独立性、更好的安全保密性
缺点
  • 查询效率不如非关系模型。
    原文作者:Sherry_wang168
    原文地址: https://blog.csdn.net/weixin_45926367/article/details/104865412
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞