数据库原理 第一章   绪论

1.1   数据库系统概述

1.1.1      数据库的4个基本概念

1、数据

       (1)数据是数据库中存储的基本对象

       (2)数据:描述事物的符号记录,可以是数字、文字、图像等

       (3)数据的含义称为数据的语意,数据与其语意密不可分

2、数据库

       (1)数据库:长期储存在计算机内,有组织的、可共享的大量数据集合

       (2)特点

              <1>按照一定的数据模型组织、描述和存储

              <2>具有较小的冗余度

              <3>较高的数据独立性和易扩展性

              <4>可为各种用户共享

              永久存储、有组织、可共享

3、数据库管理系统(DBMS)

       是位于用户和OS之间的一层数据管理软件,是计算机的基础软件

       主要功能:

       (1)数据定义功能:DBMS提供数据定义语言(Data Definition Language),可定义数据对象的组成和结构

       (2)数据的组织、存储、管理:基本目标是提高存储空间的利用率和方便存取,提供多种存取方法(索引查找,hash查找,顺序查找)来提高存取效率

       (3)数据操纵功能:提供数据操纵语言(Data Manipulation Language),实现数据库的基本操作,如查询,插入,删除,修改

       (4)数据库事物管理和运行管理:数据库由数据库管理系统统一控制,以保证数据的正常运行,保证数据的完整性、安全性、多用户对数据的并发使用和故障后的系统恢复

       (5)数据库的建立和维护:数据库的输入、转换,数据库的转储、恢复,重组织,性能监视,分析。以上功能是由实用程序和管理工具完成

       (6)其它:数据库管理系统网络中其它网络软件的通信功能,异构数据库互访

4、数据库系统(DBS)

       数据库系统包含:数据库、数据库管理系统(及其应用开发工具)、应用程序和数据库管理员(DBA)

1.1.2 数据管理技术的产生和发展

1、人工管理阶段

       数据不保存,应用程序管理数据、数据不共享、数据不具有独立性

2、文件系统阶段

       数据长期保存、文件系统管理数据

       缺点:数据共享性差,冗余度大,数据独立性差

3、数据库系统阶段

       从文件系统到数据库系统标志着数据管理技术的飞跃

1.1.3 数据库系统的特点

1、数据结构化

       数据库系统整体数据结构化是数据库的主要特征,也是其与文件系统的本质区别

       整体结构化:面向整个企业或组织,数据之间具有联系

2、数据的共享性高,冗余性低且容易扩充

              数据共享可减少冗余、避免数据的不相容性。

       数据库弹性大,易于扩充

3、数据独立性高(二级映像保证)

       物理独立性:用户的应用程序和数据库中数据的物理存储独立(存储和管理对用户透明)

       逻辑独立性:用户的应用程序和数据库中数据的逻辑结构独立(数据的逻辑结构改变用户程序可以不变)

4、数据由数据库系统统一管理控制

       安全性、完整性(正确、有效、相容)、并发控制、数据库恢复

1.2 数据模型——对现实世界数据的抽象(现实世界的模拟)

       数据模型是数据库系统的核心和基础

1.2.1 两类数据模型

       第一类:概念模型(信息模型)

              按照用户的观点对数据和信息建模,用于数据库设计

       第二类:逻辑模型

              对最底层数据的抽象,描述数据在系统内部的存储表示方式和存取方法

              物理模型的具体实现是数据库管理系统的任务,设计人员要了解而用户不用考虑物理级细节

              包括层次模型、网状模型、关系模型、面向对象模型、对象关系模型、半结构化数据模型

1.2.2 概念模型

       1、信息世界的基本概念

              实体:客观存在并可相互区别的实物

              属性:实体所具有的某一特性

              码:唯一标识实体的属性集

              实体集:同一类型实体的集合

              联系:实体之间的联系通常是指不同实体集之间的联系

       2、概念模型的一种表示方法:E-R模型

              实体-联系方法(Entity-Relationship approach)

1.2.3 数据模型的组成要素

       1、数据结构

              描述数据库的组成对象以及对象之间的联系

              其描述的是所描述的对象类型的集合,是对系统静态特性的描述

       2、数据操作

              对数据库中各种对象(型)的实例(值)允许执行的操作的集合,包括操作及有关的操作规则

数据库操作主要有查询和更新两大类操作,是对系统动态特性的描述

       3、数据完整性约束条件

              是一组完整性规则,给定数据模型数据联系和制约依存规则。

              数据模型应该反映和规定需要遵守的基本和通用完整性约束条件(e.g.在关系必须满足实体完整性和参照完整性条件)

1.2.5 层次模型

       是数据库系统中最早出现的数据模型。

       1、数据结构

              (1)有且只有一个节点没有双亲节点,这个节点叫做根节点

              (2)根以外的其他节点有且只有一个双亲节点

1.2.6 网状模型

       网状数据结构的典型代表是DBTG系统(codasyl系统)

       1、数据结构

              (1)允许一个以上节点无双亲

              (2)一个节点可以有多于一个双亲

1.2.7 关系模型

       1、数据结构

              (1)关系(relation):一个关系对应一张表

              (2)元组(tuple):行

              (3)属性(attribute):列

              (4)码(key,键):表中某个属性组,可以唯一确定一个元组

              (5)域(domian):具有相同数据类型的数据集合。属性的取值范围来自某个域(年龄域(15,20),性别域(男,女))

              (6)分量:元组中的一个属性值

              (7)关系模式:关系名(属性1,属性2,…,属性n)

       要求:关系模型要求关系必须规范化(关系的每一个分量是一个不可分割的数据项,即不许表中套表)

       2、关系模型的完整性约束

              (1)关系模型的数据操作主要有:查询、插入、删除、更新数据

              (2)关系完整性约束的三大类:实体完整性、参照完整性、用户自定义完整性

              (3)关系模型中的数据操作都是集合操作,操作对象和操作结果都是关系

              (4)关系模型存取路径对用户隐蔽,只需指出操作而不用深究其原理,提高数据独立性、生产效率

       3、关系模式的优缺点

              (1)优点:关系模型建立在严格的数学基础上,关系模型概念单一、模型存储路径对用户透明

              (2)确定:查询效率不高

1.3 数据库系统结构

1.3.1 数据库系统模式概念

       1、数据库中的型:对某一类数据的结构和属性的说明

              值:型的具体赋值

       2、模式(schema):数据库中全体数据的逻辑结构和特征的描述,只涉及型的描述。模式的一个具体值为模式的一个实例(instance),同一个模式可以有许多实例

       3、模式是相对稳定的,实例是相对变动的

1.3.2 数据库的三级模式结构

       1、模式(schema)也叫做逻辑模式,是数据库数据库中全体数据的逻辑结构和特征的描述(DB中最先被定义的),是所有用户的公共数据视图。

              是数据库系统模式结构的中间层,不涉及数据的物理存储细节和硬件环境,也不和具体的应用程序所使用的应用开发工具和程序设计语言无关

              模式是数据库在逻辑级上的视图,一个数据库只有一个模式,综合考虑了所有用户的要求,并将这个要求有机结合成为一个整体。

              定义模式要定义数据的逻辑结构(数据项构成、数据项名字、类型)和定义数据之间的联系,定义与数据有关的安全性和完整性

       2、外模式(external schema)叫做子模式或用户模式

              (1)功能:数据库用户能看到和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示

              (2)与模式的关系:外模式通常是模式的子集,一个数据库可以有多个外模式,外模式的差异体现在应用需求、看待数据的方式、保密级别等。

              (3)应用程序使用权限:同一个外模式可以为某一用户的多个应用程序所使用,但一个应用程序只能使用一个外模式

              (4)重要性:是保证数据库安全性的有利措施,每个用户只能看到其所对应的外模式中的数据,其余数据不可见。

              (5)定义:数据库管理系统提供外模式定义语言(外模式DDL)严格定义外模式

       3、内模式(internal schema)也叫存储模式

              (1)作用:数据物理结构和存储方式的描述是数据在数据库内部的组织方式

              (2)存储组织方式

记录存储方式:堆存储、属性升降序存储,属性值聚簇存储等

索引方式:B+索引、hash索引等

数据加密方式

1.3.3 数据库的二级映像和数据独立性

       1、外模式/模式映像

              作用:对于每一个外模式,都存在一个外模式(局部逻辑结构)/模式(全局逻辑结构)映像,定义了改外模式与模式的对应关系,包含在各自外模式的描述中,外模式/模式映像可以有多个

              特点:

(1)模式改变时(增加关系、新的属性、改变属性类型)等,由数据库管理员对各个外模式/模式映像做出改变,可以使外模式保持不变。

              (2)保证了数据与程序的逻辑独立性。应用程序根据外模式编写,所以应用程序不必修改。

       2、模式/内模式映像

              作用:定义了数据全局逻辑性与存储结构之间的对应关系(比如,说明了逻辑记录和字段在内部是如何表示的),模式/内模式的定义包含在模式的定义中

              特点:

              (1)唯一性。数据库中只有一个模式、内模式,所以模式/内模式是唯一的。

              (2)当存储结构发生改变时,对该映像改变可以使得模式不变,应用程序也不必改变,保证了数据与程序的物理独立性。

       3、数据独立性

              (1)数据库模式(全局逻辑结构)是数据库的中心和关键,独立于数据库其他层次,设计时要首先确定数据库的逻辑模式。

              (2)数据与程序之间的独立性使得数据的定义和描述可以从应用程序中分离出去。由于数据的存取有数据库管理系统管理,简化了应用程序编制,减少了应用程序的维护和修改

1.4 数据库系统的组成

       1、硬件平台及数据库

       2、软件

       3、人员