文章目录
数据库系统
数据库系统是指在计算机系统中引入数据库后的系统
数据库系统在整个计算机系统中的地位如图所示
数据库系统的组成
数据库系统主要由计算机硬件、数据库、数据库管理系统人员组成
- 计算机硬件
构成计算机系统的各种物理设备,包括存储数据所需的外围设备。硬件的配置应满足整个数据库系统的需要。 - 数据库
- 数据库管理系统
- 人员
数据库系统的分类
- 集中式
- 客户机/服务器
- 并行数据库系统
- 分布式数据库系统
数据库
数据库(DB),是一个长期存储在计算机内,数据按一定的数据模型组织、描述和存储,可以提供给各种用户共享,而且具有较小的数据冗余度和较高的数据独立性,并且允许多个用户并发使用,提供有数据的安全性维护与完整性检查措施的通用数据集合。
数据的安全性:指保护数据以防止不合法的使用造成数据的泄密和破坏。
数据完整性:指数据的正确性、有效性和相容性
数据库管理系统
数据库管理系统(DBMS),是为建立、使用和维护数据库而配置的系统软件。它建立在操作系统的基础上,对数据库进行统一管理和控制。
数据库管理系统的组成
- 查询处理器
查询处理器将用户的查询转换成一系列的低级指令,直接送到运行时数据库管理器。
查询处理器使用数据字典来查找数据库的相关部分的结构并用这些信息改善查询,产生最有的执行计划来访问数据库 - 运行时数据库管理器
运行时数据库管理器是DBMS的中心组件,是用户提交的应用程序和查询的界面。 - 它处理运行时的数据库访问,它转换直接从查询处理器而来的用户查询操作,或者非直接的、通过应用程序从用户的逻辑视图到物理文件系统的操作。
- 它接收查询并检查外模式和概念模式来决定所请求的概念记录是什么,以满足用户请求
-然后运行时数据数据库和管理器访问物理数据库来完成请求。 - 它实施约束条件来维护数据的一致和完整性以及安全性。
- 它也执行备份和恢复操作
运行时数据库管理器有时也称为数据库控制系统,包含的组件:
- 授权控制:授权控制模块检查用户执行所请求的操作所必须的授权
- 命令处理器:命令处理器处理经过授权控制模块认证通过的请求
- 完整性检查器:完整性检查器检查改变数据库的所所有请求操作所必须的完整性约束
- . 查询优化器:查询优化器决定查询执行的优化策略。它利用数据是如何存储的有关信息来评价查询,产生高效的执行计划。
- 事务管理器:事务管理器执行从事务中接收到的请求处理的操作。它确保:
- 事务请求按照适当的锁协议释放锁
- 调度事务的执行
-
数据管理器:数据管理器负责数据库中实际数据的处理。这个模块有下列两个组件:
- 恢复管理器:恢复管理器确保数据库在出现故障时仍然保持一致状态。
它负责a)事务的提交和撤销工作;b)日志维护;c)出现故障之后能够将系统恢复到 一直性状态 - 缓冲区管理器:缓冲区管理器负责数据在主存储器和辅助存储器(如磁盘或磁带)之间的传输。它以页为单位将所需要的磁盘数据传送到主存储器来相应用户的”读“请求。
缓冲区管理器有时也被称为高速缓存管理器
- 恢复管理器:恢复管理器确保数据库在出现故障时仍然保持一致状态。
-
调度器:调度器负责确保数据库里的并发操作不会相互干扰。它控制事务执行的相关顺序。
-
DML处理器
用DML编译器,DML处理器把嵌入到应用程序中的DML语句装换成主语言的标准函数调用。DML编译器把在主语言里所写的DML语句转换成目标代码来实现对数据库的访问。DML处理器与查询处理器配合生成适当的代码 -
DDL处理器
用DDL编译器,DDL处理器把DDL语句转换成一组包含元数据的表。这些表包含设计数据库的元数据,是由其他DBMS组件使用的一种形式。这些表被存储在系统目录中,而控制信息被存储在数据文件头部分。DDL编译器处理DDL中定义的模式定义,亦将模式的描述(元数据)存储在DBMS的系统目录中。系统目录包含数据文件名、数据项、每个数据文件的存储细节、模式之间的映射信息以及约束等。
DBMS的执行步骤
当执行用户访问数据库的请求时,其逻辑执行步骤
- 用户用特定数据库语言(例如:SQL命令)发出查询
- 已经提交的查询被传送到查询优化器,查询优化器利用数据时如何存储的相关信息评价查询,产生高效的执行计划
- DBMS接收用户的SQL命令并分析它们。
- DBMS产生查询评价计划 ,即用户的外模式、相应的外模式/概念模式映射、概念模式、概念模式/内模式映射和存储结构定义。因此,评价计划时用于评价查询的蓝图
- DBMS 执行这些计划,访问物理数据库并将答案返回给用户
使用事务管理器、缓冲管理器和恢复管理器等组件,DBMS通过仔细地调度用户请求和维护数据库变化地日志来支持并发和恢复。
数据库管理系统的功能
- 数据定义
DBMS提供数据定义语言(DDL),用户通过它可以方便地对数据库的数据对象进行定义 - 数据操纵
DBMS还提供数据操纵语言(DML),用户使用DML操纵数据。实现对数据库的基本操作,如查询、插入、删除和修改等。 - 数据库的运行管理
数据库在建立、运行和维护时有数据库管理系统统一管理、统一控制,以保证数据的安全性、完整性、多用户对数据的并发使用及发生故障后的系统恢复。 - 数据库的建立和维护
它包括数据库初始数据的输入、转换功能、数据库的转储、恢复功能,数据库的重组织和性能监视分析功能等。这些功能通常由一些实用程序完成。
数据库管理系统是数据库系统的一个重要组成部分
人员
人员主要有4类:
- 系统分析员和数据库设计人员
- 系统分析员
负责应用系统的需求分析和规格说明,它们和用户数据库管理员一起确定系统的硬件配置,并参与数据库的概要设计。 - 数据库设计人员
负责数据库中数据的确定、数据库各级模式的设计。 - 应用程序员
负责编写使用数据库的应用程序 - 数据库管理员(DBA)
负责数据库的总体信息控制。
数据库管理员职责 - 决定数据库中的信息内容和结构
- 决定数据库的存储结构和存取策略
- 定义数据库的安全性和完整性约束
- 监控数据库的使用和运行
- 数据库的性能改进、重组和重构,以提高系统的性能
- 最终用户
用户应用系统的接口或利用查询语言访问数据库
模型
模型是现实世界特征的模拟和抽象。数据模型也是一种模型,它是现实世界数据特征的抽象。
根据模型应用的不同目的,将这些模型划分为两类,它们分属于两个不同的层次。
概念模型(信息模型)
按用户的观念点来对数据和信息建模,主要用于数据库设计。
- 概念模型的基本概念
- 实体
客观存在并可相互区别的事物称为实体。实体可以是具体的人、事、物,页可以是抽象的概念和关系。例如,一个职工、一个学生、一个部门、一门课、学生的一次选课、部门的一次订货、老师与系的工作关系(即某位老师在某系工作)等都是实体。 - 实体集
同型实体的集合称为实体集。例如全体学生就是一个实体集,称为“学生”。 - 属性属性是实体集具有的某一特性。
如学生实体集特性可以用学号、姓名、性别、出生年月、团员否、所在院系、所学专业等来描述,这些特性就是学生实体集的属性。
属性是型的概念。
属性值:属性值是指属性的取值,是值的概念。
如上述属性可分别取值:“16100101”,“王磊”,“男”,1998-09-01,是团员,“理学院”,“信息与计算科学”。以上7个属性值表示了一个学生的信息。 - 域
属性的取值范围称为该属性的域。
例如:学号和姓名的域是长度为8的字符串的集合,性别的域为{男、女}。 - 实体型
具有相同类型属性值表示的实体必然具有共同的特征和性质。用实体集合及其属性名集合来抽象和刻画同类实体,称为实体型(实体类型)
例如:学生(学号**,姓名、性别、出生年月、团员否、所在院系、所学专业)就表示了学生实体型。
实体型是用来表示实体集的,实体型中属性组的一组属性值表示一个实体
例如:
(“16100101”,“王磊”,“男”,1998-09-01,是团员,“理学院”,“信息与计算科学”)就表示了一名学生实体。
属于同一实体集的实体的实体型是相同的,但实体是不同的。 - 码(键,key)
能唯一标识实体的属性或属性组称为码
例如:学号是学生实体(型)的码 - 联系
联系在信息世界中反映为实体(型)内部的联系和实体(型)之间的联系。
实体内部的联系:通常是指组成实体的个属性之间的联系。
实体(型)之间的联系:通常是指不同实体集之间的联系
两个实体性之间的联系可分为三类
- 一对一联系(1:1)
- 一对多联系(1:n)
- 多对多联系(m:n)
数据模型
数据模型的组成
数据模型通常由数据结构、数据操作、完整性约束三部分组成
- 数据结构
数据结构是所研究的对象类型的集合。
数据结构刻画一个数据模型性质最重要的方面。因为在数据库系统中,人们通常按照其数据结构的类型来命名数据模型。
例如层次结构、网状结构和关系结构的数据模型分别命名为层次模型、网状模型和关系模型。
数据结构是对系统静态特性的描述 - 数据操作
数据操作是指对数据库中各种对象(型)的实例(值)允许执行的操作的集合,包括操作及有关的操作规则。
数据操作是对系统动态特性的描述 - 数据的约束条件
数据的约束条件是一组完整性规则的集合。
完整性规则是给定的数据模型中数据及其来呢西所具有的制约和依存规则:用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效和相容。
最常用的数据模型
- 层次模型
- 网状模型
- 关系模型
- 面向对象模型