数据库是长期存储在计算机内有组织、大量、共享的数据集合。它可以供各种用户共享,具有最小冗余度和较高的数据独立性。数据库管理系统DBMS在数据库建立、使用和维护时对数据库进行统一控制,以保证数据的完整性和安全性,并在多用户同时使用数据库时进行并发控制,在发生故障后对数据库进行恢复。
1.1.1四个基本概念数据 、数据库、数据库管理系统、数据库系统
数据与语义是分不开的。
数据库是长期存储在计算机内、有组织、可共享的大量数据的集合。基本特征:数据按一定数据模型组织、描述和存储。可为各种用户共享、冗余度较小、易扩展,数据独立性较高。概括的讲,数据库具有永久存储、有组织和可共享三个基本特点。
数据库管理系统主要功能:①数据定义功能DDL ②数据组织、存储和管理 ③数据操纵功能DML ④数据库的事务管理和运行管理 ⑤数据库的建立和维护功能 ……
数据库管理系统是位于操作系统和数据库应用系统之间的数据库管理软件。
数据库系统是指在计算机系统中引入数据库后的系统,包含数据库、数据库管理系统(及开发工具)、应用系统、数据库管理员组成。
区别:数据库指的是一些数据的集合。
联系:通过数据库管理系统可以管理数据库,进行数据的定义、数据的操纵、数据的控制和维护等功能。
1.1.2数据管理三个阶段的比较 数据结构化数据库系统实现整体数据的结构化,这是数据库的主要特征之一,也是数据库系统与文件系统的本质区别。
所谓“整体”结构化是指数据库中的数据不再仅仅针对某一应用,而是面向整个组织或企业;不仅数据内部是结构化的,而且整体是结构化的,数据之间是有联系的。
数据共享性高冗余度低且易扩充数据共享可以大大减少数据冗余,节约存储空间。数据共享还能够避免数据之间的不相容性与不一致性。所谓数据的不一致性是指同一数据不同副本的值不一样。由于数据面向整个系统,是有结构的数据,不仅可以被多个应用共享使用,而且容易增加新的应用,这就使得数据库系统弹性大,易于扩充。
独立性高数据独立性包括物理独立性和逻辑独立性。
物理独立性是指用户的应用程序与数据库中数据的物理存储是相互独立的。
逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的
DBMS统一管理和控制数据的安全性保护
数据的完整性保护
并发控制
数据库恢复
1.2 数据模型对现实世界数据特征的抽象。数据模型时用来描述数据、组织数据和对数据进行操作的
1.2.1分两类①概念模型
②逻辑模型和物理模型
1.2.2概念模型信息世界的建模。
基本概念:实体、属性、码(唯一标识实体的属性集)、实体型(学生)、实体集(所有学生的集合)。
实体-联系方法:ER图
1.2.3数据模型的组成要素-
数据结构(描述系统的静态特性):描述数据库的组成对象以及对象之间的联系。
-
数据操作(描述系统的动态特性):数据库中各种对象的实例允许执行的操作的集合,包括操作及有关的操作规则
-
完整性约束
-
层次模型(格式化模型)
-
网状模型(格式化模型)
-
关系模型
-
面向对象数据模型(对象模型)
-
对象关系数据模型(对象模型)
-
半结构化数据模型
-
非结构化数据模型
用树形结构表示各类实体以及实体之间的联系(像一颗倒立的树,结点的双亲是唯一的)
定义:
- 有且只有一个结点没有双亲结点,这个结点称为根节点
- 跟以外的其他结点有且只有一个双亲结点。
特点:
- 结点的双亲是唯一的
- 只能直接处理一对多的实体联系
- 任何记录值只有按其路径查看
- 没有一个子女的记录值能够脱离双亲记录值而存在
数据操纵:增删改查
完整性约束条件
- 无相应的双亲节点值就不能插入子女结点值
- 如果删除双亲结点值,则相应的子女结点值也被同时删除
- 更新操作时,应更新所有相应的记录,以保证数据的一致性
优点:
- 层次模型的数据结构比较简单清晰
- 查询效率高,性能优于关系模型,不低于网状模型
- 层次数据模型提供了良好的完整性支持
缺点:
- 结点直接的多对多联系表示不自然
- 对插入和删除的限制多,应用程序的编写较为复杂
- 查询子女结点必须通过双亲结点
- 层次数据库的命令(语音)趋于程序化
采用网状结构来表示各类实体以及实体间的关系
定义:
- 允许一个以上的结点无双亲
- 一个结点可以有多于一个的双亲
特点:
- 允许多个结点没有双亲结点
- 允许一个结点有多个双亲
- 允许两个结点直接由多种联系
- 要为每个联系取名字,并指出与该联系有关的双亲记录和子女记录
完整性约束:条件不严格
- 允许插入尚未确定双亲结点值的子女结点值
- 允许只删除双亲结点值
优点:
- 更为直接的描述现实世界,如一个结点可以有多个双亲
- 具有更良好的性能,存取效率较高
缺点:
- 结构复杂,随着应用环境的扩大,数据库的结构变得越来越复杂
- DDL,DML语言复杂,用户不容易使用
- 记录之间联系是通过存取路径实现的,应用程序必须选择存取路径,加重程序员负担。
关系必须是规范化的
最基本的规范条件:关系的每一个分量必须是一个不可分的数据项,不允许表中还有表。
| 关系术语 | 一般表格的术语 |
|---|---|
| 关系名 | 表名 |
| 关系模式 | 表头(表格的描述) |
| 关系 | (一张)二维表 |
| 元组 | 记录或行 |
| 属性 | 列 |
| 属性名 | 列名 |
| 属性值 | 列值 |
| 分量 | 一条记录中的一个列值 |
| 非规范关系 | 表中有表(大表嵌有小表) |
存取路径对用户隐蔽,用户只要指出“找什么”,不必详细说明“怎么找”,提高了数据独立性,提高了用户生产率
关系的完整性约束条件
- 实体完整性
- 参照完整性
- 用户定义完整性
优点:
-
建立在严格的数学概念基础上
-
概念单一:
实体和各类联系都用关系来表示
对数据的检索结果也是关系
-
关系模型的存储路径对用户透明:
具有更高的数据独立性,更好的安全保密性。
简化了程序员的工作和数据库开发建立的工作
缺点:
- 存取路径对用户透明,查询效率往往不如格式化数据模型
- 为提高性能,必须对用户的查询请求进行优化,增加了开发数据库管理系统的难度。
尽可能的避免插入异常,删除异常,更新异常
尽可能减少数据的冗余度
1.3数据库系统的结构从数据库系统采用三级模式结构,是数据库系统内部的系统结构
从数据库最终用户角度看,数据库系统的结构有:
- 单用户结构
- 主从式结构
- 分布式结构
- 客户-服务器
- 浏览器-应用服务器/数据库服务器
模式:是对数据库逻辑结构和特征的描述,是型的描述,不涉及具体值,模式是稳定的。
实例:数据库某一时刻的状态(模式的一个具体值),同一个模式可以有很多实例,实例随数据库中的数据的更新而变动。
三级模式:
1.3.1模式模式:也称逻辑模式,数据库逻辑结构和特征的描述,所有用户的公共数据视图。
一般,某个应用的数据库有一个模式。
模式是数据库和系统模式结构的中心。
- 与数据的物理存储细节和硬件环境无关。
- 与具体的应用程序、开发工具及高级程序设计语言无关。
定义模式:
- DDL定义数据的逻辑结构,以某种数据模型为基础。数据记录由哪些数据项构成,数据项的名字、类型、取值范围等。
- 定义数据之间的联系。
- 定义与数据有关的安全性、完整性。
外模式:也称子模式或用户模式,数据库用户使用局部数据的逻辑结构和特征的描述,数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。
与模式的关系:
- 外模式通常是模式的子集、一个模式可以由多个外模式,反映了不同用户的应用需求,看待数据的方式、对数据保密的要求。
- 对模式中的某一数据,在不同的外模式结构、类型、长度、保密级别等都可以不同。
与应用的关系:一个外模式可以为多个应用系统所使用,一个应用程序只能使用一个外模式
用途:
- 每个用户只能看见和访问所对应的外模式中的数据,简化用户视图
- 保证数据库安全性的一个有力措施
内模式:也称存储模式,是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。
- 记录的存储方式,例如,顺序存储,堆存储,按hash方法存储等)
- 索引的组织方式((B+树,Bitmap,Hash)数据是否压缩存储
- 数据是否加密
- 数据存储记录结构的规定一如定长/变长,记录是否可以跨页存放等
一个数据库只有一个内模式
1.3.4数据库的二级映像功能与数据独立性 外模式/模式映像对每一个外模式,都有一个外模式/模式映像
保证了数据的逻辑独立性:
- 当模式改变时,数据库管理员对外模式/模式映像作相应改变,使外模式保持不变。
- 应用程序时依据数据的外模式编写的,应用程序不必修改,保证了数据与程序的逻辑独立性。
定义了数据全局逻辑结构与存储结构之间的对应关系
数据库中模式/内模式映像时唯一的,该映像定义通常包含在模式描述中。
保证了数据的物理独立性:
- 当数据库的存储结构改变了(例如选用了另一种存储结构),数据库管理员修改模式/内模式映像,使模式保持不变。
- 模式不变则应用程序不变。保证了数据和程序的物理独立性,简称数据的物理独立性。
- 保证了应用程序的稳定性:除非应用程序本身发生变化,否则应用程序一般不需要修改
- 从程序为中心—发展为以数据为中心:具有了数据与程序之间的独立性,使得数据的定义和描述可以从应用程序中分离出去
- 数据的存取由数据库管理系统管理:简化了应用程序的编制,大大减少了应用程序的维护和修改。
1.4数据库系统的组成 硬件平台及数据库问:什么叫数据与程序的物理独立性?什么叫数据与程序的逻辑独立性? 为什么数据库系统具有数据与程序的独立性?
答:物理独立性:在数据存储结构发生改变时,数据库管理员修改模式/内模式映象,则模式不变,应用程序不变。保证数据与程序的物理独立性。
逻辑独立性:当模式改变时,数据库管理员改变外模式/模式映象,保证外模式不变,应用系统依据数据外模式编写,保证逻辑独立性。
数据库管理系统在三级模式之间提供的两层映像保证了数据库系统中的数据能够具有较高的两种独立性
足够大的内存,存放OS、DBMS核心模块、数据缓冲区和应用程序
足够大的磁盘或磁盘阵列等设备存放数据库,有足够大的磁带或光盘作数据备份
系统有较高的通道能力以提高数据传送率
软件数据库管理系统,支持数据库管理系统运行的OS,与数据库接口的高级语言及其编译系统,以数据库管理系统为核心的应用开发工具,为特定应用环境开发的数据库应用系统
人员 DBA数据库管理员:1.参与确定数据库中的信息内容和结构
2.参与数据库的存储结构和存取策略的设计
3.参与确定数据安全性要求和完整性约束条件
4.监控数据库的使用和运行
周期性转储数据库
数据文件
日志文件
系统故障恢复
介质故障恢复
监视审计文件
5.数据库的改进和重组
性能监控和调优
定期对数据库进行重组织,
以提高系统的性能
需求增加和改变时,数据库须需要重构造
- 负责应用系统的需求分析和规范说明
- 与用户及数据库管理员结合,确定系统的硬软件配置
- 参与数据库系统的概要设计
- 参加用户需求调查和系统分析
- 确定数据库中的数据
- 设计数据库各级模式
- 设计和编写应用系统的程序模块
- 进行调试和安装
偶然用户,简单用户,复杂用户



