数据库系统原理
2018-07-02 13:52:00 1 举报
AI智能生成
数据库系统概论-思维导图
作者其他创作
大纲/内容
数据库系统原理
绪论
数据系统概述
四个基本概念
数据
定义
数据是描述事物的符号记录,是数据库中存储的基本对象
种类
数字
文本
图形、图像、音频、视频
学生的档案记录
货物的库存情况
数据的语义
数据的含义称为数据的语义,数据与其语义是不可分的
结构化的数据称为记录
数据库
数据库是长期存储在计算机内、有组织的、可共享的大量数据的集合。
基本特征
数据按一定的数据模型组织、描述和储存
可为各种用户共享
冗余度较小
数据独立性较高
易扩展
数据库管理系统
数据库管理系统是一款软件,用于组织、存储、管理和获取数据库中的数据。
常见的数据库管理系统
Oracle
MySQL
Microsoft SQL Sever
IBM DB2
Sybase Adaptive Serve
主要功能
数据定义功能
提供数据定义语言,定义数据库中的数据对象的组成和结构
数据组织、存储和管理
分类组织、存储和管理各种数据,包换数据字典、用户数据和数据的存取路径等
确定以何种文件结构和存取方式在 存储层面上组织这些数据
实现数据之间的联系
提供多种存取方法,提高存储空间利用率,提高存取效率
数据操纵功能
提高数据操纵语言,实现对数据库的基本操作(查询、插入、删除和修改)
数据库的事务管理和运行管理
保证建立、运行和维护数据库时事务的正确运行
保证数据的安全性、完整性
提供多用户对数据的并发使用
发生故障后的系统恢复
数据库的建立和维护功能
数据库初始数据 的输入、装载和转换
数据库转储备份
介质故障恢复
数据库的重组织
性能监视分析
其他功能
DBMS与网络中其他软件系统的通信
两个DBMS系统的数据转换
异构数据库之间的互访和互操作
数据库系统
数据库系统是由数据库、数据库管理系统、应用程序和数据库管理员组成的存储、管理、处理和维护数据的系统
数据库系统的构成
应用程序
数据库管理员
数据管理技术的产生和发展
数据管理
数据管理是指对数据进行分类、组织、编码、存储、检索和维护,是数据处理中心问题。
数据管理技术的发展过程
人工管理阶段
产生的背景
应用需求:科学计算
硬件背景:无直接存储设备
软件背景:没有操作系统
处理方式:批处理
特点
数据的管理者:用户(程序员),数据不保存
数据面向的对象:某一应用程序
数据的共享程度:无共享、冗余度大
数据的结构化:无结构
数据控制能力:应用程序自己控制
文件系统阶段
应用需求:科学计算、数据管理
硬件背景:磁盘、磁鼓
软件背景:有文件系统
处理方式:应用程序自己处理
数据的管理者:文件系统,数据可长期保存
数据面向的对象:某一应用
数据的共享程度:共享性差、冗余度大
数据的独立性:独立性差,数据的逻辑机构改变必须修改应用程序
数据的结构化:记录内有结构,整体无结构
数据库系统阶段
应用需求:大规模数据管理,多用户、多应用共享数据
硬件背景:大容量磁盘、磁盘阵列
软件背景:数据库管理系统
处理方式:联机实时处理、分布处理、批处理
数据的管理者:DBMS
数据面向的对象:现实世界(一个部门,一个企业等)
数据的共享程度:数据的共享性高,冗余度低,易扩充
数据的独立性:物理独立性和逻辑独立性
数据的结构化:整体结构化,用数据模型描述
数据控制能力:DBMS统一管理和控制
数据库系统的特点
数据结构化
整体数据结构化
不再仅仅针对某一个应用,而是面向整个组织
不仅数据内部结构化,整体是结构化的,数据之间具有联系
优点
数据的结构用数据模型描述,无需应用程序定义和解释
数据可以变长
数据的最小存取单位是数据项
数据的共享性高,冗余度低,易扩充
解释
数据库系统从整体角度看待和描述数据,数据面向整个系统,可以被多个用户、多个应用共享使用。
数据共享的好处
减速数据冗余,节约存储空间
避免数据之间的不相容性与不一致性
弹性大、易于扩充,可以适应各种用户的需求
数据独立性高
数据与程序的独立,将数据的定义从程序中分离出去,而且存取数据的方法由DBMS负责,从而简化了应用程序的编写,减少了应用程序的维护和修改。
分类
物理独立性
指用户的应用程序与存储在磁盘上的数据库中的数据是相互独立的。当数据的物理存储改变了,应用程序不用改变。
逻辑独立性
指用户的应用程序与数据库的逻辑结构是相互独立的。数据的逻辑结构改变了,用户程序也可以不变。DDL
数据由DBMS统一管理和控制
安全性保护
保护数据,以防止不合法的使用造成的数据的泄密和破坏
完整性保护
将数据控制在有效的范围内,或保证数据之间满足一定的关系
并发控制
对多用户的并发操作加以控制和协调,防止相互干扰而得到错误的结果
数据库恢复
将数据库从错误状态恢复到某一已知的正确状态
数据模型
模型
一个具体的模型使人联想到现实生活中的一个事物
模型是对现实世界中某个对象特征的模拟和抽象
数据模型解析
数据模型是对现实世界数据特征的模拟和抽象。
在数据库中用数据模型来抽象、表示和处理现实世界中的数据和信息。
也就是说数据模型是用来描述数据、组织数据和对数据进行操作的。
数据模型应满足三方面要求
能比较真实地模拟现实世界
容易为人所理解
便于在计算机上实现
两大类数据模型
概念模型
逻辑模型和物理模型
逻辑模型
逻辑模型主要包括层次模型、网状模型、关系模型、面向对象模型等,按计算机系统的观点对数据建模,用于DBMS的实现。
物理模型
物理模型是对数据最底层的抽象,描述数据在系统内部的表示方式和存取方法,或在磁盘或磁带上的存储方式和存取方法。
解析
首先将现实世界中的客观对象抽象为某一种信息结构,这种信息结构并不依赖于具体的计算机系统,也不依赖于某一具体DBMS支持的数据模型。
概念模型的用途
概念模型用于信息世界的建模
是现实世界到机器世界的一个中间层次
是数据库设计的有力工具
数据库设计人员和用户之间进行交流的语言
对概念模型的基本要求
较强的语义表达能力
能够方便、直接地表达应用中的各种语义知识
简单、清晰、易于用户理解
信息世界中的基本概念
实体
客观存在并可相互区别的事物称为实体。可以是具体的人、事、物、抽象的概念或联系。
属性
实体所具有的某一特性称为属性。一个实体可以由若干个属性来刻画。
键
唯一标识实体的属性集称为键。
域
属性的取值范围称为该属性的域。
实体类型
用实体名及其属性名集合来抽象和刻画同类实体称为实体类型。学生(学号、姓名、性别、出生年月、所在院系、入学时间)
子主题
同一类型实体的集合称为实体集合。全体学生就是一个实体集合 。
联系
现实世界中事物内部以及事物之间的联系在信息世界中反映为实体内部的联系和实体之间的联系。
实体内部的联系通常是指组成实体的各属性之间的联系
实体之间的联系通常是指不同实体集合之间的联系
概念模型的表示方法
实体-联系方法(E-R方法)
用E-R图来描述现实世界的概念模型,也称为E-R模型注:PPT及书中的E-R表示法只作参考,一般采用PowerDesigner或其它工具进行设计。
用矩形表示,矩形框内写明实体名。
用椭圆形表示,并用无向边将其与相应的实体连接起来
联系的表示方法
用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1、1:n或m:n)
联系的属性
联系本身也是一种实体类型,也可以有属性。如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来
两个实体类型之间的联系
一对一联系
如果对于实体集A中的每一个实体,实体集B中至多有一个(也可以没有)实体与之联系,反之亦然,则称实体集A与实体集B具有一对一联系,记为1:1
一对多联系
如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系,反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B有一对多联系,记为1:n
多对多联系
如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系,反之,对于实体集B中的每一个实体,实体集A中也有m个实体(m≥0)与之联系,则称实体集A与实体B具有多对多联系,记为m:n
两个以上实体类型之间的联系
数据模型的组成要素
数据结构
意义
数据结构是刻画一个数据模型性质最重要的方面,在数据库系统中,人们通常按照其数据结构的类型来命名数据模型。例如采用层次结构作为数据结构的数据模型命名为层次模型。
描述数据库的组成对象,以及对象之间的联系
描述的内容
数据的类型、内容、性质
数据之间联系
数据操作
对数据库中各种对象(型)的实例(值)允许执行的操作及有关的操作规则
数据操作的类型
查询
更新(包括插入、删除、修改)
数据操作需要定义
操作的确切含义
操作符号
操作规则(如优先级)
实现操作的语言
数据的完整性约束条件
完整性约束条件
一组完整性规则的集合,完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效和相容。
数据模型需要定义
反映和规定本数据模型必须遵守的基本的通用的完整性约束条件。例如在关系模型中,任何关系必须满足实体完整性和参照完整性两个条件。
提供定义完整性约束条件的机制,以反映具体应用所涉及的数据必须遵守的特定的语义约束条件。例如男职工的退休年龄是60周岁。
常用逻辑数据模型
非关系模型
层次模型
网状模型
面向对象模型
对象关系模型
满足条件
有且只有一个结点没有父结点,这个结点称为根结点
根以外的其它结点有且只有一个父结点
结点的父节点是唯一的
每个结点表示一个记录类型,记录类型之间的联系用结点之间的连线(有向边)表示,这种联系是父子之间的一对多的联系,使得层次模型只能直接处理一对多的实体联系
每个记录类型可包含若干个字段,记录类型描述的是实体,字段描述实体的属性,每个记录类型可以定义一个排序字段,也称为键字段
任何记录值只有按其层次路径查看时,才能显出它的全部意,没有一个子结点能够脱离父节点而独立存在
插入
删除
更新
完整性约束
无相应的父节点值就不能插入子结点值
如果删除父结点值,则相应的子结点值也被同时删除
更新操作时,应更新所有相应记录,以保证数据的一致性
层次模型的数据结构比较简单清晰
查询效率高,性能优于关系模型,不低于网状模型
层次数据模型提供了良好的完整性支持
缺点
多对多联系表示不自然
对插入和删除操作的限制多,应用程序的编写比较复杂
查询子结点必须通过父结点
由于结构严密,层次命令趋于程序化
允许一个以上的结点无父结点
一个结点可以有多于一个的父结点。
表示方法
实体类型:用记录类型描述,每个结点表示一个记录类型(实体)
属性:用字段描述,每个记录类型可包含若干个字段
联系:用结点之间的连线表示记录类型(实体)之间的一对多的父子联系
能够更为直接地描述现实世界,例如一个结点可以有多个父结点,结点之间可以有多种联系
具有良好的性能,存取效率较高
结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握
DDL(Data Description Language)、DML(Data Manipulation Language)语言复杂,用户不容易使用
关系模式
规范条件
实体完整性
引用完整性
用户定义的完整性
存储结构
实体及实体间的联系都用表来表示
表以文件形式存储
有的DBMS一个表对应一个操作系统文件
有的DBMS自己设计文件结构
建立在严格的数学概念的基础上
概念单一
实体和各类联系都用关系来表示
对数据的检索结果也是关系
关系模型的存取路径对用户透明
具有更高的数据独立性,更好的安全保密性
简化了程序员的工作和数据库开发建立的工作
存取路径对用户透明导致查询效率往往不如非关系数据模型
为提高性能,必须对用户的查询请求进行优化增加了开发DBMS的难度
数据库系统结构
数据库系统模式的概念
型
型(Type)是对某一类数据的结构和属性的说明
值
值(Value)是型的一个具体赋值
模式
是数据库逻辑结构和特征的描述,是型的描述。反映的是数据的结构及其联系,模式是相对稳定的
实例
模式的一个具体值,反映数据库某一时刻的状态。同一个模式可以有很多实例,实例随数据库中的数据的更新而变动
数据库系统的三级模式结构
逻辑模式
数据库中全体数据的逻辑结构和特征的描述
所有用户的公共数据视图,综合了所有用户的需求
一个数据库只有一个模式
模式的地位
是数据库系统模式结构的中间层
与数据的物理存储细节和硬件环境无关
与具体的应用程序、开发工具及高级程序设计语言无关
模式的定义
数据的逻辑结构
数据之间的联系
数据有关的安全性、完整性要求
外模式
也称子模式或用户模式
数据库用户(包括应用程序员和最终用户)使用的局部数据的逻辑结构和特征的描述
数据库用户的数据视图,是与某一应用有关的数据的逻辑表示
外模式的地位
介于模式与应用之间
模式与外模式的关系:一对多
外模式通常是模式的子集
一个数据库可以有多个外模式。反映了不同的用户的应用需求、看待数据的方式、对数据保密的要求
对模式中同一数据,在外模式中的结构、类型、长度、保密级别等都可以不同
外模式与应用的关系:一对多
同一外模式也可以为某一用户的多个应用系统所使用
但一个应用程序只能使用一个外模式
外模式的用途
保证数据库安全性的一个有力措施
每个用户只能看见和访问所对应的外模式中的数据
内模式
是数据物理结构和存储方式的描述
是数据在数据库内部的表示方式
记录的存储方式
索引的组织方式
数据是否压缩存储
数据是否加密
数据存储记录结构的规定
一个数据库只有一个内模式
数据库的二级映像功能与数据独立性
数据库系统的组成
硬件
硬件平台及数据库
数据库系统对硬件资源的要求
有足够大的内存,存放操作系统、DBMS的核心模块、数据缓冲区、应用程序
有足够大的磁盘或磁盘阵列存放数据库,有足够的光盘、磁带作数据备份
有较高的通道能力,提高数据传送率
软件
数据库系统的主要软件包括
DBMS
支持DBMS运行的操作系统
具有与数据库接口的高级语言和编译系统,便于开发应用程序
以DBMS为核心的应用开发工具
为特定应用环境开发的数据库应用系统
人员
开发、管理和使用数据库的人员
具体职责
决定数据库中的信息内容和结构,与用户、应用程序开发人员、系统分析人员密切合作和协商,参与数据库设计的全过程。
决定数据库的存储结构和存取策略,以获得较高的存取效率和存储空间利用率
定义数据的安全性要求和完整性约束条件,明确各个用户对数据库的存储权限、保密级别和完整性约束条件。
监控数据库的使用和运行
周期性备份数据库
系统故障恢复
监视审计文件
数据库的改进、重组和重构
性能监控和调优,依据经验改进数据库设计
大量数据插入、删除和修改等操作使得数据库性能降低,定期对数据库进行重组织,以提高系统的性能
需求增加和改变时,数据库需要重构造
系统分析员
负责应用系统的需求分析和规范说明
与用户及DBA协商,确定系统的软硬件配置
参与数据库系统的概要设计
数据库设计人员
参加用户需求调查和系统分析
确定数据库中的数据
设计数据库各级模式
应用程序员
设计和编写应用系统的程序模块
进行调试和安装
用户
用户是指最终用户(End User)。最终用户通过应用系统的用户接口使用数据库。
偶然用户
不经常访问数据库,但往往需要不同的数据库信息,一般是企业或组织机构的高中级管理人员
简单用户
主要工作是查询和更新数据库,如银行的职员、机票预定人员、旅馆总台服务员
复杂用户
直接使用数据库语言访问数据库,甚至能够基于数据库管理系统的API编制自己的应用程序,如工程师、科学家、经济学家、科技工作者
关系数据库
关系数据结构及形式化定义
关系
关系模型的数据结构是关系,在用户看来,关系模型中数据的逻辑结构是一张扁平的二维表
关系(Relation)是一个数据结构,由一个关系头和相同类型的无序元组集合组成。
笛卡尔积
元组
关系中的每个元素是关系中的元祖,通常用t表示
关系中的不同咧可以对应相同额域
为了加以区分,必须对每列起一个名字,称为属性
n目关系必有ng个属性
候选键
若关系中的某一属性组的值呢鞥唯一标识一个元组,则称该属性组为候选键
主键
若一个关系有多个候选键,则选定其中一个为主键
主属性
候选键的各属性
非主属性或非键属性
不包含在任何候选键中的属性
全键
关系模式的所有属性是这个关系模式的候选键,称为全键
关系的表示
关系也是一个二维表
表的每行对应一个元组
表的每列对应一个属性
三类关系
基本关系(基本表或基表)实际存在的表,是实际存储数据的逻辑表示
查询表查询结果对应的表
视图表由基本表或其他视图表导出的表,是虚表,不对应实际存储的数据
基本关系的性质
每一列中的分量是同一类型的数据,来自同一个域
不同的列可出自同一个域,其中的每一列称为一个属性,不同的属性要给予不同的属性名,例如导师和学生来自域“人”
列的顺序无所谓,列的次序可以任意交换
任意两个元组的候选键不能相同
行的顺序无所谓,行的次序可以任意交换
分量必须取原子值,即分量是不可再分的数据项
关系模式(Relation Schema)是对关系的描述
元组集合的结构哪些属性构成属性来自哪些域属性与域之间的映象关系
元组语义以及完整性约束条件
属性间的数据依赖关系集合
在一个给定的应用领域中,所有关系的集合构成一个关系数据库。
关系数据库的型与值
关系数据库的型
也称为关系数据库模式,是对关系数据库的描述。关系数据库模式包括:若干域的定义,在这些域上定义的若干关系模式
关系数据库的值
关系模式在某一时刻对应的关系的集合,简称为关系数据库
关系模型的存储结构
关系数据模型中,实体以及实体之间的联系都是用表来表示,表是关系数据库的逻辑模型
关系数据库的物理组织
有的关系数据库管理系统中一个表对应一个操作系统文件,将物理数据组织交给操作系统完成
有的关系数据库管理系统从操作系统那里申请若干个大的文件,自己划分文件空间,组织表、索引等存储 结构,并进行存储管理
关系操作
基本关系操作
常用的关系操作
数据查询:选择、投影、连接、除、并、交、差、笛卡尔基
数据更新:插入、删除、修改
关系操作的特点
集合操作方式:操作的对象和结果都是集合,一次一集合的方式(set-at-a-time)
关系数据库语言的分类
关系代数语言(代数方式)
用对关系的运算来表达查询要求,如ISBL
关系演算语言(逻辑方式)
域关系演算语言谓词变元的基本对象是域变量,如QBE
关系代数、元组关系演算和域关系演算是抽象的查询语言,用于评估实际的DBMS的查询能力
具有关系代数和关系演算双重特点的语言结构化查询语言SQL(Structured Query Language)
SQL不仅有丰富的查询功能,而且有数据定义和数据控制功能,是集查询、数据定义、数据操作和数据控制与一体的关系数据语言。是关系数据库的标准语言。
关系的完整性
关系的三类完整性约束
实体完整性和引用完整性
关系模型必须满足的完整性约束条件,称为关系的两个不变性,由DBMS自动支持
应用领域需要遵循的约束条件,体现了具体领域中的语义约束
实体完整性规则的说明
实体完整性规则是针对基本关系而言的。一个基本表通常对应现实世界的一个实体集。
现实世界中的实体是可区分的,即它们具有某种唯一性标识。
关系模型中以主键作为唯一性标识。
主键中的属性即主属性不能取空值。主属性取空值,就说明存在某个不可标识的实体,即存在不可区分的实体,这与第(2)点相矛盾
关系间的引用
在关系模型中实体及实体间的联系都是用关系来描述的,这就自然存在着关系和关系间的引用
外键
设F是基本关系R的一个或一组属性,Ks是基本关系S的主键。如果F与Ks相对应,则称F是基本关系R的外键
基本关系R称为引用关系
基本关系S称为被引用关系或目标关系
关系R和S不一定是不同的关系
祝键Ks和外键F必修定义在同一个域上
外键并不一定要与相应的主键同名。当外键与相应的主键属于不用关系时,旺旺取相同的名字,以便于识别
引用完整性规则
若属性(或属性组)F是基本关系R的外键,它与基本关系S的主键Ks相对应(基本关系R和S不一定是不同的关系),则对与R中每个元组在F上的值必须为1.空值2.等于S中某个元组的主键值
针对某一具体关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求
关系模型应提供定义和检验这类完整性的机制,以便用统一的系统的方法处理它们,而不要由应用程序承担这一功能
关系代数
传统的集合运算
并
差
交
专门的关系运算
选择
投影
连接
除
关系数据库标准语言SQL
SQL概述
SQL(Structured Query Language)结构化查询语言,是关系数据库的标准语言
综合统一
集数据定义语言(DDL)、数据操纵语言(DML)、数据控制语言(DCL)功能于一体
可以独立完成数据库生命周期中的全部活动
建立数据库,定义、删除关系架构和视图,插入数据
对数据库中的数据进行查询和更新
数据库重构和维护
数据库安全性、完整性控制以及事务控制
嵌入式SQL和动态SQL定义
用户数据库投入运行后,可根据需要随时逐步修改架构,不影响数据库的运行
数据操作符统一,查找、插入、删除、更新等操作只需要一个操作符(只有关系这一种数据结构)
高度非过程化
非关系数据模型的数据操纵语言是“面向过程”的语句,必须指定存取路径
SQL只要提出“做什么”,无须了解存取路径。存取路径的选择以及SQL的操作过程由系统自动完成
面向集合的操作方式
非关系数据模型采用面向记录的操作方式,操作对象是一条条记录,通常要说明具体处理过程,按照哪条路径,如何循环等
SQL采用集合操作方式
操作对象、查找结果可以是元组的集合
一次插入、删除、更新操作的对象也可以是元组的集合
基本概念
三级模式结构
基本表
本身独立存在的表
一个关系就对应一个基本表
一个(或多个)基本表对应一个存储文件
一个表可以带若干索引
存储文件
存储文件逻辑结构组成了关系数据库的内模式
存储文件的物理结构对用户是透明的
视图
从一个或几个基本表导出的表
数据库中只存放视图的定义而不存放视图对应的数据
视图是一个虚表
用户可以在视图上再定义视图
数据定义
SQL的数据定义功能
架构定义
表定义
视图定义
索引定义
架构的定义与删除
定义架构
CREATE SCHEMA <架构名> AUTHORIZATION <用户名>[<表定义子句>|<视图定义子句>|<授权定义子句>]
删除架构
DROP SCHEMA <架构名> <CASCADE|RESTRICT>
基本表的定义、删除与修改
基本表的定义
架构与表
每一个基本表都属于某一个架构
一个架构包含多个基本表
定义基本表所属架构
在表名中显式地给出架构名
在创建架构语句中同时创建表
先设置所属的架构,在创建表时,表名中就不必给出架构名
用户创建基本表时,如果没有指定架构,系统根据搜索路径来确定该对象所属的架构
搜索路径包含一组架构列表,RDBMS使用架构列表中第一个架构作为新建的数据库对象的架构名
显示当前搜索路径
DBA可以设置搜索路径
修改基本表
删除基本表
索引的建立与删除
索引类型
聚簇索引
聚簇索引根据聚簇索引键值按顺序排序和存储表中的数据行。
聚簇索引按B+树索引结构实现,可以对行进行快速检索。
一个表只能有一个聚簇索引。
非聚簇索引
非聚簇索引中的每个索引行都包含非聚簇键值和行定位符。此定位符指向聚集索引或堆中包含该键值的数据行。
索引中的行按索引键值的顺序存储,但是不保证数据行按任何特定顺序存储。
一个表可以能有多个非聚簇索引。
唯一索引
唯一索引确保索引键不包含重复的值。聚簇索引和非聚簇索引都可以是唯一索引。
索引设计
一个表如果有大量索引会影响插入、更新、删除操作的性能
避免对经常更新的表进行过多的索引,索引的列尽量的少
在大表且更新少的表上建立索引,小表可能不会产生优化效果
选择索引列
为经常用于查询的联接条件的所有列创建非聚簇索引
避免在重复值较多的列上创建索引
如果索引包含多个列,则应考虑列的顺序。用于搜索条件的WHERE子句或者参与联接的列应该放在最前面。其他列应该基于其非重复级别进行排序,就是说,从最不重复的列到最重复的列。
建立索引
删除索引
DROP INDEX <索引名> ON <表名>;
数据字典
数据查询
单表查询
选择表中的若干列
选择表中的若干元组
ORDER BY子句
聚集函数
GROUP BY子句
连接查询
等值与非等值连接、自然连接
自身连接查询
外连接查询
复合条件连接查询
嵌套查询
带有IN谓词的子查询
带有比较运算符的子查询
带有ANY(SOME)或ALL谓词的子查询
带有EXISTS谓词的子查询
集合查询
集合操作的种类
并操作UNION
交操作INTERSECT
差操作EXCEPT
参加集合操作的各查询结果的列数必须相同;对应项的数据类型也必须相同
基于派生表的查询
Select语句的一般形式
数据更新
插入数据
插入元组
插入子查询结果,可以一次插入多个元组
修改数据
功能
SET子句
WHERE子句
删除数据
删除某一个元组的值
删除多个元组的值
带子查询的删除语句
空值的处理
空值的产生
空值是一个很特殊的值,含有不确定性。对关系运算带来特殊的问题,需要做特殊的处理。
空值的判断
判断一个属性的值是否为空值,用IS NULL或IS NOT NULL来表示。
空值的约束条件
空值运算
空值与另一个值(包括另一个空值)的算术运算的结果为空值
空值与另一个值(包括另一个空值)的比较运算的结果为UNKNOWN
有UNKNOWN后,传统二值(TRUE/FALSE)逻辑就扩展成了三值逻辑(TRUE/FALSE/UNKNOWN)
定义视图
建立视图
删除视图
查询视图
更新视图
视图的作用
视图能够简化用户的操作
视图使用户能以多种角度看待同一数据
视图对重构数据库提供了一定程度的逻辑独立性
视图能够对机密数据提供安全保护
适当的利用视图可以更清晰的表达查询
数据库安全性
数据库安全性概述
数据库的不安全因素
安全标准简介
TCSEC(Trusted Computer System Evaluation Criteria)
CC(Common Criteria)
数据库安全性控制
计算机系统中,安全措施是一级一级层层设置
物理安全性
操作系统安全性
操作系统文件安全性
主体与数据库对象安全性
应用程序安全性
用户身份鉴别
用户认证与授权(Identification & Authentication)是系统提供的最外层安全保护措施。
用户标识使用用户名或用户标识号来标识用户身份。
口令系统核对口令以鉴别用户身份
常用的用户身份鉴别方法静态口令、动态口令、生物特征、智能卡等
存取控制
存取控制机制组成
常用存取控制方法
自主存取控制方法
通过SQL的GRANT语句和REVOKE语句实现
用户权限组成
定义用户存取权限
授权与回收
GRANT
语法
WITH GRANT OPTION子句
不允许循环授权
数据库角色
数据库角色:被命名的一组与数据库操作相关的权限
创建角色
给角色授权
将一个角色授予其他的角色或用户
角色权限的收回
强制存取控制方法
主体是系统中的活动实体
客体是系统中的被动实体,是受主体操纵的
敏感度标记
主体的敏感度标记称为许可证级别
客体的敏感度标记称为密级
强制存取控制规则
规则的共同点
视图机制
审计
数据加密
其他安全性保护
数据库完整性
数据库的完整性是指数据的正确性和相容性
正确性:数据是符合现实世界语义、反映当前实际状况的。
相容性:数据库同一对象在不同关系表中的数据是符合逻辑的。
实体完整性定义
实体完整性检查和违约处理
引用完整性定义
引用完整性检查和违约处理
属性上的约束条件的定义
属性上的约束条件检查和违约处理
元组上的约束条件的定义
元组上的约束条件检查和违约处理
完整性约束命名子句
域中的完整性限制
触发器
定义触发器
激活触发器
删除触发器
关系数据理论
问题的提出
规范化
函数依赖
范式
2NF
3NF
BCNF
多值依赖
4NF
数据库设计
数据库设计概述
数据库设计的特点
数据库设计方法
数据库设计的基本步骤
数据库设计过程中的各级模式
需求分析
需求分析的任务
需求分析的方法
数据项
数据流
数据存储
处理过程
概念结构设计
概念结构
概念结构设计的方法与步骤
数据抽象与局部视图设计
视图的集成
逻辑结构设计
E-R图向关系模型的转换
数据模型的优化
设计用户子模式
数据库的物理设计
数据库物理设计的内容和方法
关系模式存取方法选择
确定数据库的存储结构
评价物理结构
数据库实施和维护
数据的载入和应用程序的调试
数据库的试运行
数据库的运行和维护
数据库编程
过程化SQL
PL/SQL的块结构
变量常量的定义
控制结构
存储过程
JDBC编程
系统要求
下载和部署
使用JDBC驱动程序
配置SQLServer服务器实例
创建连接URL
数据类型
使用SQL语句
调用存储过程
结果集
数据库恢复技术
事务的基本概念
事务定义
事务的特性
数据库恢复概述
采取措施保障数据库的安全性和完整性
故障是不可避免的
系统故障:计算机软、硬件故障
人为故障:操作员的失误、恶意的破坏等
故障的种类
事务内部的故障
系统故障
介质故障
计算机病毒
恢复的实现技术
数据备份
静态备份与动态备份
海量备份与增量备份
日志文件
日志文件的格式和内容
日志文件的作用
写日志文件
恢复策略
事务故障的恢复
系统故障的恢复
介质故障的恢复
具有检查点的恢复技术
检查点技术
利用检查点的恢复策略
数据库镜像
并发控制概述
锁定
锁定(Locking)就是事务T在对某个数据对象(例如表、记录等)操作之前,先向系统发出请求,对其加锁。加锁后事务T就对该数据对象有了一定的控制,在事务T释放它的锁之前,其它的事务不能更新此数据对象。
基本锁定类型
排它锁
共享锁
锁定协议
一级锁定协议
二级锁定协议
三级锁定协议
活锁和死锁
并发调度的可串行性
可串行化调度
冲突可串行化调度
两段锁协议
锁定的粒度
多粒度锁定
意向锁
0 条评论
下一页