第一章——绪论
1 数据库系统概述
1.1 数据库的四个基本概念
1)数据:描述数据的符号记录
2)数据库:概括地讲,数据库数据具有永久存储,有组织和可共享的三个基本特点
- 严格地讲,数据库是长期存在计算机内,有组织的,可共享的大量数据的集合,数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并为各种用户共享。
3)数据库管理系统:是位于用户和操作系统之间的一层数据管理软件,和操作系统一样是计算机的基础软件。
主要功能
- 数据定义功能
- 数据组织、存储和管理
- 数据操纵功能
- 数据库的事务管理和运行管理
- 数据库的建立和维护功能
- 其他功能(通信功能、数据转换功能、互访和互操作功能)
4)数据库系统:是由数据库、数据库管理系统(及其应用开发工具)、应用程序和数据库管理员(DBA)组成的存储、管理、处理和维护数据的系统。
(数据库系统)
1.2 数据库的发展阶段
1)人工管理阶段:数据不保存、不共享、不具有独立性
2)文件系统阶段:可保存、共享性差、冗余度大、独立性差
3)数据库管理系统:数据库管理系统的出现使信息系统从以加工数据的程序为中心转向围绕共享的数据库为中心的新阶段。
1.3 数据库系统的特点
1)数据结构化:数据库系统实现整体数据的结构化,这是数据库的主要特征直以,也是数据库系统与文件系统的本质区别。
2)数据的共享性高,冗余度低且易扩充:数据共享可以大大减少数据冗余,节约存储空间。数据共享还能够避免数据之间的不相容性和不一致性。
3)数据独立性高
- 物理独立性:是指用户的应用程序与数据库中的数据的物理存储是相互独立的。
- 逻辑独立性:是指用户的应用程序与数据库中的逻辑结构是相互独立的。
4)数据由数据库管理系统统一管理和控制
2 数据模型
2.1 两类数据模型
- 概念模型+逻辑模型和物理模型
- 首先讲现实世界抽象为信息世界,然后将信息世界转换为机器世界。
2.2 概念模型
1)信息世界中的基本概念
- 实体:客观存在并相互区别的事物
- 属性:实体所具有的某一特征
- 码:唯一标识实体的属性集
- 实体属:用实体名以及其属性名来抽象和刻画同类实体
- 实体集:同一类型实体的集合
- 联系:实体之间的联系通常是指不同实体集之间的联系,实体之间的联系有一对一,一对多和多对多等类型
2)概念模型的一种表示方法:实体——联系方法(E-R模型)
2.3 数据模型的组成要素
1)数据结构:描述数据库的组成对象以及对象之间的联系
2)数据操作:数据操作是指对数据库中各种对象(型)的实例(值)允许执行的操作的集合,包括操作及有关的操作规则
3)数据的完整性约束条件:数据的完整性约束条件是一组完整性规则
2.4 常用的数据模型
数据库领域主要的逻辑数据模型
- 层次模型
- 有且只有一个结点没有双亲结点(根结点)
- 根以外的其他结点有且只有一个双亲结点
- 网状模型
- 允许一个以上的结点无双亲
- 一个结点可以有多于一个双亲
- 关系模型
- 关系:一个关系对应通常说的一张表
- 元组:表中的一行
- 属性:表中的一列
- 码:也称码键,表中的某个属性组
- 域:是一组具有相同数据类型的值的集合
- 分量:元组中的一个属性
- 面向对象的数据模型
- 对象关系数据模型
- 半结构化数据模型
3 数据库系统的结构
3.1 数据库系统模式的概念
- 模式是数据库中全体数据的逻辑结构和特征的描述,它仅仅涉及型的描述,不涉及具体的值。模式的一个具体的值称为模式的一个实例。同一个模式可以有很多实例。
- 模式是相对稳定的,而实例是相互变动的。
3.2 数据库系统的三级模式结构
外模式+模式+内模式
- 外模式:也称子模式或用户模式。它是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。
- 模式:也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据试图。
- 内模式:也称存储模式,一个数据库只有一个内模式。它是数据物理结构和存储方式的描述,是数据在数据库内部的组织方式。
3.3 数据库的二级映像功能和数据独立性
- 外模式/模式映像:当模式改变时,有数据库管理员对各个外模式/模式的映像作相应改变,可以使外模式保持不变。应用程序时依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性。
- 模式/内模式映像:当数据库的存储结构改变时,由数据库管理员对模式/内模式映像作相应该百年,可以时模式保持不变,从而应用程序也不必改变。保证了数据与程序的物理独立性。
- 数据与程序之间的独立性使得数据的定义和描述可以从应用程序中分离出去,另外,由于数据的存取由数据库管理系统管理,从而简化了应用程序的编制,大大减少了应用程序的维护和修改。
4 数据库系统的组成
1)硬件平台及数据库:足够大内存,磁盘或磁盘陈列等设备,较高的通道能力以提高数据的传送率。
2)软件:数据库管理系统,支持数据库管理系统运行的操作系统,具有与数据库接口的高级语言以及编译系统,以数据库管理系统为核心的应用开发工具,为特定应用软件开发的数据库应用系统。
3)人员:数据库管理员,系统分析员和数据库设计人员,应用程序员,用户。