1. 数据和数据管理
- 描述事物的符号记录称为
数据
。数据管理
是对数据进行有效的分类、组织、编码、存储、检索、维护和应用,它是数据处理的中心问题。数据库管理系统
是由一个相互关联的数据的集合和一组用以访问、管理和控制这些数据的程序组成。这个数据集合通常称为数据库,其中包含了关于某个企业信息系统的所有信息。
2. 数据管理技术的产生和发展
数据管理技术的发展经历了人工管理、文件系统和数据库管理系统3个阶段。
(1) 人工管理的特点:
①数据是面向程序的,一个数据集只能对应于一个程序。
②没有专门的软件负责数据处理工作。
③数据无法共享,数据冗余。
(2) 文件系统阶段数据管理的主要特点:
①实现了文件内的结构性;
②应用程序与数据之间有了一定的物理独立性。
文件系统阶段数据管理存在的主要问题:
①数据共享性差,数据冗余和不一致;
②数据独立性差;
③数据孤立,数据获取困难;
④完整性问题;
⑤原子性问题;
⑥并发访问异常;
⑦安全性问题。
其中,数据冗余是指相同的数据可能在不同的地方(文件)重复存储。数据的完整性是指数据的正确性、有效性和相容性,也称为一致性约束。
(3)数据库管理系统阶段数据管理的主要特点
①数据结构化。数据库管理系统实现数据的整体结构化,一是指数据不仅仅是内部结构化,而是将数据以及数据之间的联系统一管理起来,使之结构化;二是指在数据库中的数据不是仅仅针对某一个应用,而是面向全组织的所有应用。
②数据的共享度高,冗余度低,易扩充。数据库管理系统从整体角度描述和组织数据,数据不再是面向某个应用,而是面向整个系统,因此,数据可以被多个用户、多个应用共享使用。
③数据独立性高。数据独立是指数据的使用(即应用程序)与数据的说明(即数据的组织结构与存储方式)分离,使应用程序只考虑如何使用数据,而无须关心它们是如何构造和存储的,因而各方(在一定范围内)的变更互不影响。数据独立性是用来描述应用程序与数据结构之间的依赖程度,包括数据的物理独立性和数据的逻辑独立性,依赖程度越低则独立性越高。
物理独立性
是指用户的应用程序与数据库中数据的物理结构是相互独立的。也就是说,数据库中的数据在磁盘上如何组织和存储由DBMS负责,应用程序只关心数据的逻辑结构,这样当数据的物理存储结构改变时,应用程序不用修改。
逻辑独立性
是指用户的应用程序与数据库中数据的逻辑结构是相互独立的。也就是说,数据库中数据的全局逻辑结构由DBMS负责,应用程序只关心数据的局部逻辑结构,数据的全局逻辑结构改变了,应用程序也可以不用修改。
④数据由数据库管理系统统一管理和控制。包括数据的安全性保护、数据的完整性检查、并发控制和数据库恢复等。
数据库管理系统的出现使信息系统从以加工数据的应用程序为中心的阶段转向围绕共享的数据库为中心的新阶段。这样既便于数据的集中管理,也有利于应用程序的开发和维护,提高了数据的利用率和相容性,提高了决策的可靠性。
3. 数据模型
数据模型是一个描述数据结构、数据操作以及数据约束的数学形式体系(即概念及其符号表示系统)。
数据结构
用于刻画数据、数据语义以及数据与数据之间的联系;
数据约束
是对数据结构和数据操作的一致性、完整性约束,也称为数据完整性约束
通过数据模型可以对现实世界中具体事物的数据及其特征进行抽象、表示和处理。
4. 数据模型的分层
根据数据抽象的不同级别,可以将数据模型划分为3类:概念模型、逻辑模型和物理模型。
①
概念模型
是指概念层次的数据模型,也称为信息模型,它按用户的观点或认识对现实世界的数据和信息进行建模,主要用于数据库设计。常用的概念模型有实体-联系模型(简称为ER模型)和面向对象模型(简称为OO模型)。
概念模型是一种独立于计算机系统的模型。它不涉及信息在系统中的表示,只是用来描述某个特定组织所关心的信息结构。概念模型强调语义表达功能,它是现实世界的第一层抽象。
②逻辑模型
用来描述数据库数据的整体逻辑结构,是现实世界的第二层抽象。传统的逻辑数据模型有层次模型、网状模型和关系模型,非传统的逻辑数据模型有面向对象模型、XML模型等。
③物理模型
用来描述数据的物理存储结构和存取方法。
通过数据模型对现实世界中具体事物的数据需求进行建模,可以更好地抓住主要矛盾,便于理解用户的数据需求,便于表达数据及数据之间联系的语义、数据的操作和数据的完整性约束,便于实现从现实世界到信息世界、信息世界到逻辑机器世界、逻辑机器世界到物理机器世界的逐步转换。
5.数据模型的组成要素
数据模型通常由数据结构、数据操作和数据完整性约束3部分组成。
①
数据结构
描述数据库的组成对象(实体)以及对象之间的联系,是对系统静态特性的描述。包括对象的类型内容和性质(如关系模型中的域、属性、关系模式和码等),以及对象之间的联系(如关系模型中的外码)。
②数据操作
是指对数据库中各种对象(型)的实例(值)允许执行的操作的集合,包括操作及有关的操作规则。它是对系统动态特性的描述。
③数据完整性约束
是一组数据完整性规则。数据完整性规则是数据、数据语义和数据联系所具有的制约和依存规则,包括数据结构完整性规则和数据操作完整性规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效和相容。
6. 关系模型
关系模型由一组关系组成,每个关系的数据结构是一张规范化的二维表。
关系模型中的常用术语有:关系、元组、属性、码、域、分量、外码和关系模式等。
关系( (relation)
:一个关系对应一张二维表,每一个关系有一个名称即关系名。
元组(tupl)
:表中的一行称为一个元组。
属性( attribute)
:表中的一列称为一个属性,每一个属性有一个名称即属性名.
码(key)
:也称为码键,表中某个属性或属性组唯一地标示表中一行。
域( domain)
:属性的取值范围。
分量(cman)
:元组中的一个属性值。
外码( foreign key)
:表中的某个属性或属性组,用来描述本关系中的元组(实体)与另一个关系中的元组(实体)之间的联系,因
外码的取值范围对应于另一个关系的码的取值范围的子集。
关系模式
:通过关系名和属性名列表对关系进行描述,相当于二维表地表头部分。
关系模型的规范条件
- 关系模型要求每一个关系必须存在码(关系中的某个属性或属性组),码可以唯一地标识关系中的一个元组,即一个关系中的任意两个元组都是可区分的。
- 关系模型要求关系必须是规范化的,即关系的每一个分量必须是一个不可分的数据项。
关系模式地操作与完整性约束
关系数据模型的操作主要包括查询和更新(插入、删除和修改)。由于关系是一张二维表,可看作是元组的集合,因此关系模型的数据操作是集合操作,操作对象和操作结果都是关系(元组的集合),不同于传统的非关系模型中的数据操作方式:单记录操作。
关系数据模型的完整性约束包括实体完整性、参照完整性和用户自定义完整性。
关系模式的优缺点
关系数据模型的主要优点:
①关系模型建立在严格的数学概念的基础之上,有关系代数作为语言模型,有关系数据理论作为理论基础。
②关系模型的概念单一,无论实体还是实体之间的联系都是用关系来表示,对数据(关系)的操作(查询和更新)结果还是关系。
③关系模型的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,也简化了程序员的工作,提高了软件的开发和维护效率。
7.数据抽象
数据库管理系统的一个主要目的就是隐藏关于数据存储和维护的某些细节,为用户提供数据在不同层次上的视图,即数据抽象,方便不同的使用者从不同的角度去观察和利用数据库中的数据。数据库管理系统的数据抽象一般包括物理层抽象、逻辑层抽象和视图层抽象3个级别。
8. 数据库的三级模式
对应于数据抽象的3个级别,数据库管理系统一般也提供观察数据库的3个不同角度,以方便不同的用户使用数据库的需要,这就是数据库的三级模式:`内模式、模式和外模式`。
内模式
也称存储模式,对应于物理层数据抽象,它是数据的物理结构和存储方式的描述,是数据在数据库内部的表示方式。
模式
也称为逻辑模式,对应于逻辑层数据抽象,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
外模式
也称子模式或用户模式,对应于视图层数据抽象,它是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一具体应用有关的数据的逻辑表示。
9. 数据库的两层映像和数据独立性
为了能够在系统内部实现3个抽象层次的数据之间的联系和转换,数据库管理系统在数据库的三级模式之间提供了两层映像:外模式/模式映像、模式/内模式映像
。
正是这两层映像保证了数据库中的数据能够具有较高的逻辑独立性和物理独立性。
10.数据库系统
数据库系统
是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其应用开发工具)应用系统、数据库管理员和最终用户构成。数据库的建立、使用和维护等工作不仅需要DBMS的支撑,还需要有专门的人员来完成,这些人员称为数据库管理员(DBA)。
数据库管理系统的主要功能包括
①数据定义,提供了数据定义语言DDL。
②数据组织、存储和管理
③数据操纵,提供了数据操纵语言DML。
④数据库的事务管理和运行管理
⑤数据库的建立和维护等
数据库管理系统主要由数据库以及查询处理器、存储管理器和事务管理器等部分组成。
开发、管理和使用数据库系统的人员主要有:数据库管理员、系统分析员和数据库设计人员、应用程序员和最终用户。数据库管理员的主要职责包括:
①决定数据库中的信息内容和结构。
②决定数据库的存储结构和存取策略。
③定义数据的安全性要求和完整性约束条件。
④监控数据库的使用和运行。
⑤数据库的改进和重组重构