一、数据库系统概述
数据库基本概念
- 数据:数据是数据库中存储的基本对象,描述事物的符号记录为数据。
- 数据库:DB,是长期存储在计算机内、有组织的、可共享的大量数据的集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的独立性和易扩展性,并可为各种用户共享。
- 数据库管理系统:DBMS,是位于用户与操作系统之间的一层数据管理软件,主要功能包括:数据定位功能、数据的组织存储和管理功能、数据操纵功能、数据库事务的管理和运行管理、数据库的建立和维护功能。
- 数据库系统:DBS,是由数据库、数据库管理系统、应用程序和数据库管理员组成的存储、管理、处理和维护数据的系统。
数据管理技术的发展
- 人工管理阶段:数据不保存,应用程序管理数据、数据不共享、数据不具有独立性。
- 文件系统阶段:可以长期保存,由文件系统管理、数据独立性差
- 数据库系统阶段
数据库系统的特点
- 数据结构化: 这是数据库的主要特征的之一,也是和文件系统的本质区别。在数据库系统中,不仅数据是整体结构化的,而且存取数据的方式也很灵活,可以存储数据库中的某一个或一组数据项、一个记录或者一组数据;而在文件系统中,数据的存取单位是记录,粒度不能细到数据项。
- 数据的共享性高、冗余度低且易扩充
- 数据独立性高:物理独立性是指用户应用程序与数据库中数据的物理存储是相互独立的,也就是说数据是怎么存储的用户不需要了解和关心;逻辑独立性是指用户程序和数据库中逻辑结构是相互独立的,也就是说数据的逻辑结构改变时,用户程序也不需要改变。
- 数据由数据库管理系统统一管理和控制:包括安全性、完整性、并发性和数据恢复
二、数据模型
数据模型是对现实世界数据特征的抽象,人们常常首先将现实世界抽象为信息世界,然后将信息世界转换为机器世界。经过概念模型(人完成) -> 逻辑模型(可以使用工具协助人完成) -> 物理模型的转换(数据库管理系统完成)。
数据模式组成
- 数据结构:描述数据库的组成对象之间的联系,是所描述的对象类型的集合,是对系统静态特性的描述。
- 数据操作:是指数据库中各种对象(型)的实例(值)允许执行的操作的集合,包括操作有关的操作规则。
- 数据的完整性约束条件
常用的数据模型
- 层次模型
- 网状模型
- 关系模型
- 面向对象模型
- 对象关系模型
- 半结构化数据模型
关系模型
- 数据结构:建立在严格的数据概念的基础上,如关系、元组、属性、码等
- 关系模型的数据操作与完整性约束:操作主要包括查询、插入、删除和更新数据,完成性包括实体完整性、参照完整性和用户定义的完整性
- 优点:关系模型的概念单一,无论是实体还是实体之间的联系都用关系来标示,即表;对用户透明,数据独立性更高、更好的安全保密性,也简化了程序员的工作。
数据库系统的结构
模式(schema)
- 定义: 是数据库中全体数据的逻辑结构和特征的描述,它仅仅涉及型的描述,不涉及具体的值。
- 模式是相对稳定的,而实例是相对变动的。
三级模式结构
- 模式:也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据试图,中间层不涉及物理存储细节和硬件环境。
- 外模式:也成子模式(subschema)或用户模式,它是数据库用户能够看到和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。
- 内模式:也成存储模式,一个数据库只有一个内模式,它是数据物理结构和存储方式的描述,是数据在数据库内部的组织方式。例如索引按照什么什么方式组织,B+还是Hash、数据是否压缩、是否加密和一个记录是否能跨物理页存储等。
二级映像与数据独立性
- 外模式/模式映像:当模式改变时(新增关系),有数据管理员对各个外模式/模式映像做改变,可以使外模式保持不变,从而应用程序不必改变,简称数据的逻辑独立性。
- 模式/内模式映像:当数据库的存储结构发生变化时,... 简称数据的物理独立性
数据库系统的组成
- 硬件平台
- 软件
- 人员:DBA、设计人员、应用程序员和用户。