一、数据库系统概述
1.1数据库系统概述
1、数据(data)
数据:描述事物的符号记录
数据与数据的含义(数据的语义)不可分。
2、数据库(DataBase,DB)
数据库:长期存放在计算机内、有组织的、可共享的大量数据的集合。
特点:
- 永久存储
- 有组织
- 可共享
数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度(redundancy)、较高的数据独立性(data independency)、和易扩展性(scalability),并为各种用户所共享。
3、数据库管理系统(DataBase Management System)
数据库管理系统是位于用户和操作系统之间的一层数据管理软件。
1)功能
- 数据定义功能(数据库提供数据定义语言DDL)
- 数据组织、存储、管理
- 数据操纵功能(数据库提供数据操纵语言DML)
- 数据库的事务管理和运行管理
- 数据库的建立和维护
4、数据库系统(Database Syste,DBS)
数据库系统:数据库,数据库管理系统,应用程序,和数据库管理人员(DataBase Administrator,DBA)组成的存储、管理、处理、和维护数据的系统。
1.2数据库管理技术的生产和发展
1.人工管理阶段
特点 |
---|
数据不保存 |
数据不共享 |
应用程序管理数据 |
数据不具有独立性 |
2.文件管理阶段
特点 |
---|
数据可以长期保存 |
共享性差,冗余度高 |
文件系统管理数据 |
数据独立性差 |
3.数据库管理阶段
特点 |
---|
数据结构化 |
共享性高,冗余度低,易扩充 |
数据由数据库管理系统统一管理 |
数据独立性高 |
特点
1) 数据结构化
数据库系统实现整体数据的结构化。
“整体结构化”是指数据库中的数据不再针对某一个应用,而是面向整个组织和企业;不仅数据内部是结构化的,而且整体是结构化的,数据之间是有联系的。
2)共享性高,冗余度低,易扩充
- 数据共享性高
数据是面向整个系统的,数据可以被多个用户,多个应用共享使用。 - 数据冗余度低
数据共享可以大大减少数据冗余,节约存储空间。
数据共享还能够避免数据之间的不相容性和不一致性。 - 数据易扩充
不仅可以被多个应用使用,而且可以增加新的应用,使得数据库系统弹性大,易于扩充,可以适应各种用户的要求。
3)数据由数据库管理系统统一管理
数据库的共享是并发的共享(concurrency),即多个用户可以同时存取数据库中的数据,甚至同时存取数据库中的同一数据。
数据控制功能:
功能 | 描述 |
---|---|
数据的安全性(security)保护 | 防止不合法的使用造成的数据泄密和破坏 |
数据的完整性(integrity)保护 | 数据的完整性是指数据的正确性,有效性,相容性。完整性检查将数据控制在有效的范围,并保证数据之间满足一定的关系。 |
并发控制(concurrency) | 多个用户的并发进程同时存取、修改数据库时,可能会发生相互干扰而得到错误的结果使数据库的完整性得到破坏,因此必须对多用户的并发操作加以协调和控制 |
数据库恢复(recover) | 数据库管理系统具有将数据库从错误状态恢复到某一个正确状态(完整状态或一致状态)的功能 |
4)数据独立性高
独立性:数据的物理独立性和数据的逻辑独立性
数据的物理独立性 | 逻辑独立性 |
---|---|
应用程序与数据库中的数据的物理存储是相互独立的。数据在数据库中是怎么存储的由数据库管理系统管理,应用程序不需要了解,应用程序只需要处理的是数据的逻辑结构,当数据的物理存储改变时应用程序不用变。 | 应用程序与数据库中的逻辑结构是相互独立的。数据的逻辑结构改变时,应用程序也可以不改变。 |
数据独立性是由数据库管理系统提供的二级映像功能来保证。
数据库系统的出现使得信息系统从以加工数据的程序为中心转向围绕共享的数据库为中心的新阶段。
1.2数据模型
模型:对现实世界中某个对象特征的模拟和抽象。
数据模型:对现实世界数据特征的抽象。(现实世界的模拟)
现有的数据库系统均是基于某种数据模型的,数据模型是数据库系统的核心和基础。
1.两类数据模型
1)要求
- 比较真实地模拟现实世界
- 易于用户理解
- 便于在计算机中实现
2)概念模型
概念模型实际上是现实世界到机器世界中的一个中间层次。
概念模型用于信息世界的建模,是现实世界到机器世界的第一层抽象。
是数据库设计人员和用户和用户之间进行交流的语言。
基本概念 | 含义 |
---|---|
实体(entity) | 客观存在并且可以相互区别的事务 |
属性(attitude) | 实体具有的某一特性 |
码(key) | 唯一标识实体属性 |
实体型(entity type) | 实体名及其属性名集合来抽象和刻画同类实体 ;像学生(学号、姓名、性别、出生年月) |
实体集 | 某一类型实体的集合 |
联系 | 实体之间的联系 |
概念模型的一种表示方法:实体-联系法(Entity-Rlelationship approach)
E-R图/E-R模型
3)逻辑模型
4)物理模型
2.数据模型的组成要素
数据模型通常由数据结构、数据操作、数据的完整性约束条件三部分组成。
要素 | 定义 |
---|---|
数据结构 | 描述数据库的组成对象以及对象之间的联系 |
数据操作 | 对数据库中的各个对象(型)的实例(值)允许执行的操作集合,包括操作和有关的数据规则 |
数据的完整性约束条件 | 完整性的规则 |
3.常用的数据模型
- 层次模型
- 网状模型
- 关系模型
- 面向对象的数据模型
- 对象关系数据模型
- 半结构化数据模型
层次模型和网状模型统称为结构化模型
内部系统结构:三级模式结构
外部系统结构:从数据库最终用户来看,数据库系统结构分为单用户结构、主从式结构、分布式结构、客户-服务器、浏览器-应用服务器/数据库服务器多层结构。
最重要的数据模型:关系模型
1)关系模型的数据结构
关系模型的数据结构是一张规范的二维表。
关系(relation) | 一张表 |
---|---|
元组(tuple) | 表中的一行为一个元组 |
属性(attribute) | 表中的一列是一个属性 |
域(domain) | 域是一组具有相同类型的值的集合 |
码(key) | 表中的某个属性组,可以唯一确定一个元组 |
关系模式 | 对关系的描述 关系名(属性1,属性2…) |
2)关系的数据操纵
- 查询
- 插入
- 删除
- 更新
3)完整性约束条件
- 实体完整性
- 参照完整性
- 用户自定义完整性
关系模型中的数据操作是集合操作,对象操作和操作结果都是关系。
三、数据库系统的结构
数据库系统内部的结构:
- 三级模式结构
数据库系统外部的结构:
- 单用户结构
- 主从式结构
- 分布式结构
…
1、数据库系统模式的概念
数据模型中有“型”(type)和“值”(value)。
型是指对某一类数据的结构和属性的说明,值是型的一个具体赋值。
记录型(学号,姓名)
记录值(201315130,李明)
模式(schema)是数据库中全体数据的逻辑结构和特征的描述,它仅仅涉及型的描述,不涉及具体的值。模式的一个具体值称为模式的一个实例(instance),同一个模式有多个实例。
模式相对稳定,而实例是相对变动的,因为数据库中的数据在不断更新。模式反映的是数据结构及其联系,实例反映的是数据库某一时刻的状态。
例如在数据库模式中包含学生记录、课程记录、学生选课记录。
2、数据库系统的三级模式结构
数据库系统的三级模式结构是指数据库系统是由外模式、内模式和模式三级构成。
1、模式(mode)
模式也称逻辑模式,是数据库全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。它是数据库系统模式结构的中间层,及不涉及物理存储的细节和硬件环境,又与具体的应用程序无关。
模式实际上是数据库数据在逻辑级上的视图,一个数据库只有一个模式。
数据库模式以某一种数据模型为基础,统一综合的考虑了所用用户的需求,并将这些需求有机地结合成一个逻辑整体。
定义模式时需要考虑1)数据的逻辑结构 (有哪些数据结构组成,数据项的名字,类型,取值范围)2)数据之间的联系(定义数据的安全性、完整性)
数据库管理系统提供模式数据定义语言(模式DDL)来严格定义数据
2、外模式(external mode)
外模式也称子模式(subschema)或用户模式,他是数据库用户(包括应用程序员和最终用户)能够最终看见的和使用的局部数据的逻辑结构和特征表述,他是数据库的用户数据视图,是与某一应用有关的数据逻辑表示。
外模式通常是模式的子集,一个数据库可以有多个外模式。
同一外模式也可以为某一用户的多个应用系统所使用,但一个应用程序只能使用一个外模式。
外模式是保证数据库安全的一个有力措施,每个用户只能看见和访问所对应的外模式中的数据,其他数据是看不见的。
3、内模式(internal schema)
内模式也称存储模式(storage schema),一个数据库只有一个内模式。她是数据库物理结构和存储方式的描述,也是数据在数据库的内部组织方式。
例如,记录的存储方式是堆栈存储还是按照某个属性值的升序(降序)排列,数据是否压缩存储。
3、数据库的二级映像功能与数据独立性
数据库系统的三级模式是数据库的三个抽象级别,她把数据具体的组织留给数据库管理系统管理。使得用户可以逻辑地、抽象地处理数据,而不必关心数据在计算机中的表示方式与存储方式。
为了能在系统内部实现这三个抽象层次的联系和转换,数据库系统在这三级模式之间提供了两层映像:
①外模式/模式映像
②模式/内模式映像
正是这两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。
1)外模式/模式映像
模式描述的是数据的全局逻辑结构,外模式描述的是数据的局部逻辑结构。对应于同一个模式可以有多个外模式,数据库系统都有一个外模式/模式映像,它定义了该外模式与模式之间的对应关系,这些映像定义通常包含在各自外模式的描述中。
模式改变时->外模式/模式映像做响应改变->外模式不变->应用程序不变
保证了数据与程序的逻辑独立性,简称数据的逻辑独立性
2)模式/内模式映像
数据库只有一个模式,也只有一个内模式,因此模式/内模式映像是唯一的,它定义了数据全局逻辑结构与存储结构之间的关系。
存储结构改变->模式/内模式映像做出相应改变->模式保持不变->应用程序不用变
保证了数据与程序的物理独立性,简称数据的物理独立性
3)总结
数据库的内模式依赖于他的全局结构(模式),它将全局结构中所定义的数据结构及其联系按照一定的物理存储策略进行组织,以达到比较好的时间与空间效率。
数据库的外模式面向具体的应用程序,它定义在逻辑模式之上
4)独立性
数据与程序之间的独立性使得数据的定义和描述可以从应用程序中分离出去,另外,由于数据的存储由数据库管理系统管理,从而简化了应用程序的编制,大大减少了应用程序的维护和修改。
四、数据库系统的组成
数据库管理员的职责:
- 决定数据库中的信息内容和结构
- 决定数据库的存储结构和存取策略
- 决定数据的安全性要求和完整性约束条件
- 监控数据库的使用和运行
- 数据库的改进、重组、重构