数据描述

@(数据库)[程序员必备技能, 数据库系统原理, 1.数据库系统基本概念]

数据的含义

数据的含义称为数据的语义,数据与其语义是不可分的。

例如:93是一个数据。它可以代表某门课的成绩,某人的体重…等等
单纯一个数据可以代表很多意义。计算机是不知道一个数据的具体含义的,所以我们需要给一个数据添加描述性信息。

数据模型

在数据处理中,数据描述将涉及到不同的范畴:现实世界信息世界机器世界
从事物的特性到计算机中的具体表示,数据描述经历了三个阶段:概念设计逻辑设计物理设计

数据描述

概念设计

概念模型,也称为信息模型。它是按用户的观点来对数据和信息建模,用于数据库设计。

概念模型的用途
  1. 概念模型用于信息世界的建模,是现实世界到机器世界的一个中间层次
  2. 数据库设计人员和用户之间进行交流的共同语言
对概念模型的基本要求
  1. 较强的语义表达能力
  2. 简单、清晰、易于用户理解
信息世界中的基本概念

1. 实体
客观存在并可以相互区别的事物称为实体。
可以是具体的人、事、物或抽象的概念
2. 属性
实体所具有的某一特性称为属性。一个实体可以由若干个属性来刻画
3. 码(Key)
唯一标识实体的属性集称为码。
4. 实体集
同一类型实体的集合称为实体集
5. 实体型
用实体名及其属性名集合来抽象和刻画同类实体称为实体型

数据描述

例如一名学生就是一个实体;学号、姓名和性别这些描述这名学生的信息称为这个学生的属性;而学号可以唯一标识一名学生,那么学号可以称为码;所有学生可以称为实体集。

数据联系

在现实世界中,实体是相互联系而不是独立存在的。

现实世界中事物内部以及事物之间的联系在信息世界中反映为实体(型)内部的联系和实体(型)之间的联系。

  1. 实体内部的联系:是指组成实体的各属性之间的联系
  2. 实体之间的联系:通常是指不同实体集之间的联系

实体之间的联系有一对一(1:1)、一对多(1:n)和多对多(m:n)的类型
数据描述

逻辑设计

逻辑模型主要包括网状模型、层次模型、关系模型、面向对象数据模型、对象关系数据模型、半结构化数据模型等。
按计算机系统的观点对数据建模,用于DBMS实现

层次模型

层次模型时用树形结构来表示各类实体以及实体之间的联系。

层次模型的特点:
1. 记录之间的联系使用指针来实现,查询效率高
2. 删除双亲节点时,子女节点也同时被删除
3. 更新操作时,应更新所有相应记录,以保证数据的一致性

缺点:
1. 只能表示1:N的联系
2. 层次顺序严格,对插入和删除操作的限制多,应用程序的编写比较复杂。

网状模型

网状模型是用有向图结构表示实体类型及实体间的联系

网状模型的特点:
1. 与层次模型相比,M:N联系容易实现,查询效率较高。
2. DDL、DML语言复杂,用户不容易使用

缺点:
1. 数据结构复杂,使编程工作复杂。

关系模型

关系模型时用二维表格表结构表示实体集,用关键码表示实体间联系的数据模型

关系模型的特点:
1. 建立在严格的数学概念基础上,数据结构简单,具有更高的数据独立性,更好的安全保密性。

缺点:
1. 存取路径透明,查询效率比不上层次模型和网状模型。
2. 为提高性能,必须对用户的查询请求进行优化,增加了开发DBMS的难度。

总的来说,使用越复杂,实现越简单,效率越高;使用越简单,实现越复杂,效率越低。

物理设计

描述数据在系统内(磁盘上)的表示方法和存取方法。