数据库系统概述
Last updated
Last updated
数据库(Data Base,DB):是按照一定的组织形式存储在一起的相互关联的数据的集合。
数据库管理系统(DBMS):是数据库系统的核心部分,由一个互相关联的数据的集合和一组用以访问这些数据的程序组成。主要目标是提供一个可以方便、高效地存取数据库信息的途径。
数据模型:一个描述数据、数据联系、数据语义、以及一致性约束的概念工具的集合。
关系模型:用表的集合来表示数据和数据间的联系。表也称为关系,每个表有多行多列,每列有唯一的列名,每行为一条记录。
实体-联系模型:(Entity-Relationship,E-R)数据模型,描述实体对象以及它们之间的联系。
半结构化数据模型:允许在其数据定义中某些相同类型的数据项含有不同的属性集。
基于对象的数据模型:将面向对象的概念整合到关系数据库中。
关系数据模型是使用最广泛的数据模型。数据以表的形式表示,每个表有多行多列,每列有唯一的列名,每行为一条记录。
物理层:最低层次的抽象,详细描述复杂的底层数据结构
逻辑层:描述数据库中存储什么数据以及这些数据之间存在什么联系。
视图层:最高层次的抽象,只描述整个数据库的某个部分。
物理模式:在物理层描述数据库的设计
逻辑模式:在逻辑层描述数据库的设计
子模式:在视图层描述数据库视图的设计
数据定义语言(Data- Definition Language,DDL)
用于定义数据模式。比如创建数据库、修改数据库、数据库备份等管理,创建数据表、修改数据表结构,域约束定义、用户权限定义。
数据操纵语言(Data- Manipulation Language,DML)
用于表达数据的查询和更新(增删改),比如插入数据、修改数据、删除数据、查询数据。
数据定义语言和数据操纵语言不是两种相互独立的语言,它们只是构成了单一的数据库语言(例如SQL语言)的不同部分。
数据库设计的主要内容是数据库模式的设计
数据库设计是指对于一个给定的应用环境,设计最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各类用户的应用需求。
概念设计:决定数据库中应该包括哪些数据,以及如何组织这些属性到各个表中。使用E-R模型。
逻辑设计:将高层次的概念模式移到要使用的实现数据库系统的数据模型上。
物理设计:设计数据库的物理特性,包括文件组织形式以及内部存储结构。
对需求分析阶段收集到的数据进行分类、组织(聚集),形成:
实体
实体的属性,标识实体的码
确定实体之间的联系类型(1:1,1:n,m:n)
概念结构设计得到的E-R图根据转换规则转化为一般数据模型;
根据特定DBMS的特点与限制转化为特定DBMS支持下的数据模型;
根据优化方法如规范化理论转化为优化模型;
得到逻辑模型进入物理结构设计;
逻辑结构设计得到的逻辑模型输入,确定数据库的物理结构;
评价数据库的物理结构;
得到物理模型,进行数据库实施阶段。
数据库系统被划分为多个模块,每个模块完成整个系统的一个功能
存储管理器:负责数据库中数据的存储、检索和更新
权限及完整性管理器、事务管理器、文件管理器、缓冲区管理器
查询处理器:负责数据检索
DDL解释器、DML解释器、查询执行引擎
事务管理:负责完成原子性、一致性功能的操作
并发控制管理器、恢复管理器