数据库系统概论小结(一)【面向考试】
数据库系统概论小结(一)【面向考试】
第一章 绪论
1.1数据库系统概述
1.1.1数据库的四个基本概念
- 数据(data):描述事物的符号记录。
- 数据库(DB):长期储存在计算机内、有组织的、可共享的大量数据的集合。
- 数据库管理系统(DBMS):位于用户和操作之间的一层数据管理软件。和操作系统一样是计算机的基础软件。
- 数据库系统(DBS):是由数据库、数据库管理系统(及其应用开发工具)、应用程序和数据库管理员(DBA)组成的存储、管理、处理和维护数据的系统。
1.1.2数据管理技术的产生和发展
- 人工管理阶段:数据不保存、不共享,不具有独立性。
- 文件系统阶段:可保存,但共享性差,冗余度大,独立性差。
- 数据库系统阶段:数据库系统的出现使得信息系统从以加工数据的程序为中心转向围绕共享的数据为中心的新阶段。
1.1.3数据库系统的特点
-
数据结构化。
-
数据共享性高,冗余度低且易扩充。
-
数据独立性高。
- 物理独立性是指用户的应用程序与数据库中的数据物理存储是相互独立的。
- 逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立。
-
数据由数据库管理系统统一管理和控制。
- 数据库管理系统需提供以下几方面的数据控制功能
- 数据的安全性保护:保护数据以防止不合法使用造成的数据泄密和破坏。
- 数据的完整性检查:数据的正确性、有效性和相容性。即将数据控制在有效的范围内,或要求数据之间满足一定的关系。
- 并发控制:当多个用户的并发进程同时存取、修改数据库时,可能会发生相互干扰而得到错误的结果并使得数据库的完整性遭到破坏,因此必须对多用户的并发操作加以控制和协调。
- 数据库恢复:计算机系统的硬件故障、软件故障、操作员的失误以及故意的破坏也会影响数据库中数据的正确性,甚至造成数据库部分或全部数据的丢失。DBMS必须具有将数据库从错误状态恢复到某一已知的正确状态(亦称为完整状态或一致状态)的功能。
- 数据库管理系统需提供以下几方面的数据控制功能
1.2数据模型
数据模型:对现实世界数据特征的抽象。
1.2.1两类数据模型
1是概念模型,2是逻辑模型和物理模型。
- 概念模型:也称信息模型,它是按用户观点来对数据和信息建模,主要用于数据库设计。
- 实体:客观存在并且可相互区别的事物。
- 属性:实体所具有的某一特性。
- 码:唯一标识实体的属性集。
- 实体型:用实体名及其属性集合来抽象和刻画同类实体。
- 实体集:同一类型实体的集合。
- 联系:实体之间的联系通常是指不同实体集之间的联系。实体之间的联系有一对一、一对多和多对多等联系。
- 逻辑模型:计算机系统的观点对数据建模,主要用于数据库管理系统的实现。
- 物理模型:是对数据最底层的抽象,它描述数据在系统内部的表示方法和存取方法,或在磁盘/磁带上的存储方式和存取方法,是面向计算机系统的。
1.2.2常用数据模型
- 层次模型
- 网状模型
- 关系模型
- 面向对象数据模型
- 对象关系数据模型
- 半结构化数据模型
1.2.3层次模型
1.有且只有一个节点没有双亲节点,这个节点成为根节点
2.根以外的其他节点有且只有一个双亲节点
数据操纵
增、删、改、查
完整性约束
1.无相应双亲,插入子女失败
2.删除双亲,则子女也被删
3.更新时更新所有相应记录
优点:
1.数据结构比较简单清晰。
2.查询效率高。优于关系数据库,不低于网状数据库。
3.提供良好的完整性支持。
缺点:
1.现实世界中的很多联系是非层次性的。如果结点之间具有多对多联系,不再适合使用层次模型表示。如果一个子女结点确实具有多个双亲结点,使用层次结构模型表示的时候就会出现大量的冗余,且操作复杂。
2.查询子女结点必须通过双亲结点。
3.由于结构严密,层次命令趋于程序化。(编程复杂)
1.2.4网状模型
1.允许一个以上的节点无双亲
2.一个节点可以有多于一个双亲
完整性约束
1.支持码的概念,即唯一标识记录的数据项的集合。
2.保证一个联系中双亲记录和子女记录之间是一对多的联系。
3.可以支持双亲记录和子女记录之间的某些约束条件。
优点:
1.能够更为直接地表示现实世界,如一个结点可以有多个双亲,结点之间可以有多种联系。
2.具有良好的性能,存取效率高。
缺点:
1.结构复杂,伴随应用环境的扩大,数据结构变得越来越复杂,不利于最终用户掌握。
2.网状模型的数据定义语言和数据管理语言复杂,并要嵌入一种高级语言,用户不易掌握和使用。
3.由于记录之间的联系通过存取路径实现,应用程序在访问数据的时候必须选择恰当的存取路径,因此用户必须了解系统结构的细节,导致加重了编写应用程序的负担。
1.2.5关系模型
举例
术语对比
关系:对应通常的一张表。
元组:一行即为一个元组。
属性:表中的一列即为一个属性。
码:也称码键。
域:一组具有相同类型的值的集合。(取值范围)
分量:元组中的一个属性值。
关系模式:关系名(属性1,属性2,...,属性n)
优点:
1.关系模型建立在严格的数学概念的基础之上。
2.关系模型概念单一。无论是实体还是实体之间的联系都用关系来表示。对数据的检索和更新结果也是基于关系(表)的。所以,数据结构简单清晰,用户易懂易用。
3.关系模型的存取路径对用户透明,从而具有较高的数据独立性,更好的安全保密性,也简化了程序员的工作和数据库开发建立的工作。
缺点:
由于存取路径对用户是透明的,查询效率往往不如格式化数据模型。为了提高系统性能,数据库管理系统必须对用户的查询请求进行优化。
1.3数据库系统的结构
1.3.1数据库系统模式的概念
在数据模型中有‘型’和‘值’的概念。
如:学生记录定义为(学号,姓名,性别,系别,年龄,籍贯)这样的记录型,
而(20408020114,小谢,男,计算机系,20,陕西省西安市)是该记录型的记录值。
模式是数据库中全体数据的逻辑结构和特征的描述,它仅仅涉及成型的描述,不涉及具体的值。
模式是相对稳定的,而实例是相对变动的。
1.3.2数据库的三级模式结构
- 外模式
- 模式
- 内模式
外模式
也称子模式或用户模式,可以有多个,它是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。
模式
也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
内模式
也称存储模式,一个数据库只有一个内模式。它是数据物理结构和存储方式的描述,是数据在数据库内部的组织方式。
总结
数据按外模式的描述提供给用户;按内模式的描述存储在磁盘上;而概念模式提供了连接这两级模式的相对稳定的中间层,并使得两级中任意一级的改变都不受另一级的牵制。
1.3.3数据库的二级映像功能与数据独立性
外模式/模式映像
当模式改变时(如增加新的关系、属性,改变属性数据类型),由数据库管理员对各个外模式/模式映像作相应改变,可以使外模式保持不变,应用程序不必修改。保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。
模式/内模式映像
当数据库的存储结构改变时,由数据库管理员对模式/内模式作相应改变,可以使模式保持不变,从而应用程序也不用改变。保证了数据与程序的物理独立性。