@(数据库)[程序员必备技能, 数据库系统原理, 1.数据库系统基本概念]
数据的含义
数据的含义称为数据的语义,数据与其语义是不可分的。
例如:93是一个数据。它可以代表某门课的成绩,某人的体重…等等
单纯一个数据可以代表很多意义。计算机是不知道一个数据的具体含义的,所以我们需要给一个数据添加描述性信息。
数据模型
在数据处理中,数据描述将涉及到不同的范畴:现实世界、信息世界和机器世界。
从事物的特性到计算机中的具体表示,数据描述经历了三个阶段:概念设计、逻辑设计和物理设计。
概念设计
概念模型,也称为信息模型。它是按用户的观点来对数据和信息建模,用于数据库设计。
概念模型的用途
- 概念模型用于信息世界的建模,是现实世界到机器世界的一个中间层次
- 数据库设计人员和用户之间进行交流的共同语言
对概念模型的基本要求
- 较强的语义表达能力
- 简单、清晰、易于用户理解
信息世界中的基本概念
1. 实体
客观存在并可以相互区别的事物称为实体。
可以是具体的人、事、物或抽象的概念
2. 属性
实体所具有的某一特性称为属性。一个实体可以由若干个属性来刻画
3. 码(Key)
唯一标识实体的属性集称为码。
4. 实体集
同一类型实体的集合称为实体集
5. 实体型
用实体名及其属性名集合来抽象和刻画同类实体称为实体型
例如一名学生就是一个实体;学号、姓名和性别这些描述这名学生的信息称为这个学生的属性;而学号可以唯一标识一名学生,那么学号可以称为码;所有学生可以称为实体集。
数据联系
在现实世界中,实体是相互联系而不是独立存在的。
现实世界中事物内部以及事物之间的联系在信息世界中反映为实体(型)内部的联系和实体(型)之间的联系。
- 实体内部的联系:是指组成实体的各属性之间的联系
- 实体之间的联系:通常是指不同实体集之间的联系
实体之间的联系有一对一(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的难度。
总的来说,使用越复杂,实现越简单,效率越高;使用越简单,实现越复杂,效率越低。
物理设计
描述数据在系统内(磁盘上)的表示方法和存取方法。