写在前面
关于数据库这个模块,我决定仔细将数据库的各个模块,像数据库基础概念、关系模型、关系型型数据库、关系数据库标准语言SQL、数据库的安全性、数据库的完整性以及数据库的设计、数据库编程。最后还会介绍一些关系查询处理和查询优化、并发控制以及数据库管理系统等。我会一一向大家介绍,这途中可能会花费大量的时间,更新可能不会像大家想想的那么快,接下带领大家进入第一章节,数据库理论基础。声明:这些文章中大多以知识点的形式给大家娓娓道来,可能解释的没那么详细。
1 数据库系统概述
1.1 数据库的基本概念
数据:数据时数据库中存储的基本对象;描述事物的符号记录被称为数据;数据的含义称为语义
数据库:是长期存储在计算机内、有组织的、可共享的大量数据的集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的独立性和易扩展性,并可为各种用户共享。
数据库系统:是由数据库、数据库管理系统、应用程序和数据库管理员组成的存储、管理、处理和维护数据的系统
数据库管理系统:是位于用户和操作系统之间的一层数据管理软件。能科学的组织存储数据,高效的获取和维护数据;引入数据库之后的系统结构:
1.2 数据库管理系统的功能
数据定义功能
数据组织、存储和管理
数据操纵
数据库的事务管理与运行功能
数据库建立和维护功能
实现不同数据库间的通信
1.3 文件系统存储数据的特点
数据可长期保存
由文件系统管理数据
数共享性高、冗余度大
数据独立性差
1.4 数据库系统存储数据的特点
数据结构化:数据系统实现整体数据的结构化、这是数据库的特征之一、也是数据库系统与文件系统的本质区别
数据共享性高、冗余度低、易扩展:数据共性可以大大减少数据冗余、节约存储空间、数据共享还可以避免数据之间的不形容性与不一致性。
数据独立性高:由数据库管理系统的二级映像来确定
物理独立性:用户的应用程序与数据库中数据的物理存储是相互独立的。存储改变、应用程序不改变
逻辑独立性:用户的应用程序与数据库的逻辑结构是相互独立的。数据逻辑结构改变时、用户程序也可也不变
数据由数据库管理系统统一管理和控制:数据库的共享是并发的,多用户同时访问时,会带来不同用户间相互干扰,
数据库安全性保护
数据库的完整性检查
并发控制
数据库恢复
2 数据模型
数据模型也是一种模型,他是对现实世界数据特征的抽象。数据模型是用来描述数据、组织数据和对数据进行操作的。数据模型是数据库系统的核心和基础
2.1 两类数据模型
概念模型:(conceptual model),也称信息模型,他是按用户的观点来对数据和信息建模,主要用于数据库设计。
逻辑模型和物理模型:逻辑模型主要包括:层次模型、网状模型、关系模型、面向对象模型、对象关系数据模型、半结构化数据模型。他是按计算机系统观点对数据建模,主要用于数据库管理系统的实现。
物理模型是对数据最底层的抽象,它描述数据在系统内部的表示方式和存取方法,或在磁盘上的存储方式和存取方法,是面向计算机系统的。
2.2 概念模型中的术语
实体:客观存在并可相互区别的事务
属性:实体具有的某一特性
码:唯一表示实体的属性,
域:(domain)属性的取值范围
实体型:用实体名及其属性名集合来抽象和刻画同类实体,例如,学生(姓名,学号...)
实体集:同一类型实体的集合。例如,全体学生就是一个实体集
联系:实体内部联系,指组成实体的各属性之间的联系;实体间的联系指不同实体集之间的联系。
2.3 数据模型组成要素
数据结构:描述数据库的组成对向以及对象之间的联系
数据操作:数据操作数值数据中个对象(型)与实例(值)允许执行的操作的集合,包括操作以及有关的操作规则
数据完整性约束:数据的完整性约束条件是一组完整的规则
2.4 数据库模型之--关系模型
关系模型示例图,一个关系就对应一张二维表,关系模型中常见的术语,
关系(relation):一个关系对应一张表
元组(tupe):表中的一行就是一个元组
属性(attribute):表中的一列
码(key):也称码键,表中的某属性组,它可以唯一确定一个元祖
域(domain):域是相同数据类型的值的集合
分量:元组中的一个属性值
关系模式:对应关系的描述;关系模型要求关系必须是规范化的;关系的每个分量必须是一个不可分割的数据项
关系模型的优点:关系模型是严格建立在数学概念上的
关系模型概念单一
关系模型的存取路劲对用户透明,具有更高的数据独立性、更好的安全保密性
关系模型的缺点:查询效率不如格式化数据模型
3 数据库系统的结构
3.1 数据库系统的三级模式
模式(schema):模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
外模式(external schema):外模式也称子模式(subschema)或用户模式,他是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是和某一应用相关的逻辑表示。
内模式(internal schema):也称存储模式(storage schema),一个数据库只有一个内模式,他是数据物理结构和存储方式的描述,是数据库内部的组织方式。三种模式结构如下图:
3.2 数据库的二级映像
数据库的二级映像是基于数据库系统的三级模式来说的,这三级模式提供了两层映像,如上图。
外模式/模式映像:对应数据的逻辑独立性。当模式改变时(增加新的关系...)DBA对外模式/模式映像进行调整,可以使外模式保持不变,应用程序时依据数据得外模式编写的,从而应用程序不变。
模式/内模式映像:数据库中只有一个模式,也只有一个模式。当数据库的存储结构改变时,DBA对模式/内模式映像做想用的调整,可以使模式不变,从而应用程序也不必改变。保证了数据与程序的物理独立性,简称数据的物理独立性。
4 数据库系统的组成
在本节开始介绍了数据库系统一般由数据库、数据库管理系统、应用程序和数据库管理员组成,下面分别介绍这几个部分的组成。
硬件平台及数据库:由于数据库数据量很大,加之数据库管理系统丰富的功能使得其自身规模也很大,因此对数据库的要求也更高。
1)要有足够大的内存,存放操作系统、数据库管理系统的核心模块、数据缓冲区和应用程序
2)有足够大的磁盘或磁盘阵列等设备存放数据库
3)要求系统有较高的通道能力,以提高数据传送速率
软件:
1)数据库管理系统。数据库管理系统是为数据库的建立、使用和维护配置的系统软件
2)具有数据库接口的高级语言及其编译系统
3)以数据库管理系统为核心的应用程序开发工具。应用开发工具是系统为应用开发人员和最终用户提供高效率、多功能的应用生成器。
人员:开发、管理和使用数据库系统的人员主要包括数据库管理员、系统分析员和数据库设计人员、应用程序和最终用户。不同的人员涉及不同的数据抽象级别,具有不同的数据视图。各为人员的数据视图如下图:
DBA的职责
决定数据库中的信息内容和结构
决定数据库的存储结构和存取策略
定义数据的安全性要求和完整性约束条件
监控数据库的使用和运行
数据库的改进和重组、重构