专题三 数据库知识.docx
- 文档编号:17544362
- 上传时间:2023-07-26
- 格式:DOCX
- 页数:19
- 大小:27.71KB
专题三 数据库知识.docx
《专题三 数据库知识.docx》由会员分享,可在线阅读,更多相关《专题三 数据库知识.docx(19页珍藏版)》请在冰点文库上搜索。
专题三数据库知识
专题三:
数据库知识
数据库管理系统的功能和特征
·数据库模型(概念模式、外模式、内模式)
·数据模型,ER图
·数据操作(集合运算和关系运算)
·数据库语言(SQL)
·数据库的控制功能(并发控制、恢复、安全性、完整性)
一、数据库基础知识
1.数据管理技术的发展
数据处理是对各种数据进行处收集、存储、加工和传输的一系列活动,数据管理是对数据进行分类、组织、编码、存储、检索和维护,经历了三个阶段。
人工阶段:
数据处理方式是批处理。
其特点是:
◆ 数据不保存
◆ 没有专用的软件对数据进行管理
◆ 只有程序概念,没有文件概念
◆ 一组数据对应一个程序,即数据是面向程序的
文件系统阶段:
数据处理方式有批处理,也有联机实时处理。
其特点是:
◆ 数据可长期保存在外存上
◆ 数据的逻辑结构与物理结构有了区别,但简单
◆ 文件组织已多样化,有索引文件、链接文件和直接存取文件等,但文件之间相互独立,没有联系
◆ 数据不再属于某个特定的程序,可重复使用,但数据结构和程序之间的依赖关系并未根本改变。
其缺点是:
◆ 数据冗余性
◆ 数据不一致性
◆ 数据联系弱
数据库阶段:
其特点是:
◆ 用关系模型表示复杂的数据模型
◆ 有较高的数据独立性
◆ 数据库系统为用户提供了方便的用户接口
◆ 数据库管理系统提供了四个方面的数据控制能力-数据完整性、数据安全性、数据库的并发控制、数据库的恢复
2.数据库的基本概念
数据库(DB):
是存储在一起的相关数据的集合。
DB能为各种用户共享,具有最小冗余度,数据间联系密切,而又有较高的程序与数据的独立性。
数据库管理系统(DBMS):
DBMS是位于用户与操作系统之间的一层数据管理软件,为用户或应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据控制。
DBMS可分为层次型、网状型、关系型、面向对象型。
数据库系统(DBS):
即是采用了数据库技术的计算机系统,是实现有组织地、动态存储大量关联数据,方便多用户访问的计算机软件、硬件和数据资源而组成的系统。
数据库技术:
研究数据库的结构、存储、设计、管理和使用的一门软件学科。
数据库系统的组成:
数据库、硬件、软件、人员(系统分析员和数据库设计人员,应用程序员,最终用户,数据库管理员)。
3.数据模型
对现实世界数据特征的抽象,表示实体类型及实体之间联系的模型称为“数据模型”。
数据模型是严格定义的概念的集合,数据库的数据模型应包括数据结构(数据类型的集合,是静态特性)、数据操作(操作及操作规则的集合,是动态特性)和完整性约束(完整性规则的集合)3个部分。
数据模型的种类很多。
目前广泛使用的数据模型可分为两种:
概念数据模型和结构数据模型。
概念数据模型
这是一种独立于任何计算机系统的模型,完全不涉及信息在计算机系统中的表示,用于建立信息世界的数据模型,是现实世界的第一层抽象,是用户和数据库设计人员进行交流的工具,其中最著名的模型是“实体联系模型”(ER模型)。
ER模型直接从现实世界中抽取出实体类型及实体间联系图(ER图)表示数据模型。
一般遇到实际问题时,总是先设计一个ER模型,然后再把ER模型转换成与DBMS关联的数据模型。
E-R模型中的主要概念:
实体、联系和属性。
两个实体集之间的联系:
一对一、一对多、多对多的联系,举例说明。
三个实体集之间的联系:
1:
1:
1,1:
1:
n,1:
m:
n,r:
m:
n,举例说明。
属性是实体某方面的特性,在同一实体集中,每个实体的属性及其域是相同的,但可取不同的值。
E-R模型描述现实世界到信息世界。
结构数据模型(亦称基本数据模型):
这是直接面向数据库的逻辑数据结构,通常有一组严格定义了语法和语义的数据库语言,用来定义、操纵数据库中的数据。
其主要有层次、网状、关系模型三种。
◆层次模型:
用树型(层次)结构表示实体类型及实体之间联系的数据模型称为层次模型。
层次结构是一棵树,树的结点是记录类型,非根结点有且只有一个父结点。
上一层记录类型和下一层记录类型的联系是1:
M联系。
◆网状模型:
用从结构(网络结构)表示实体类型及实体间联系的数据模型称为网状模型。
记录之间的联系通过指针实现,M:
N联系容易实现(一个M:
N联系可拆成两个1:
M联系),查询效率高。
◆关系模型:
用规范化了的二维表格结构表示实体集,用键表示实体间联系。
通常是若干个关系模型组成的集合。
数据库管理系统的主要目标:
把数据作为可管理的资源处理。
数据库管理系统的5个重要功能:
数据库的定义功能、数据库的操纵功能、数据库的保护功能、数据库的维护功能、数据字典。
数据库的全局结构:
DBS的某些功能是由计算机的OS提供的,OS提供了DBS最基本的服务,因此DBS必须在OS基础上工作。
在DBS中就应包含DBMS和OS之间的界面。
DBS的全局结构由数据库用户、数据库管理系统的查询处理器、数据库管理系统的存储管理器和磁盘存储器中的数据结构等部分组成。
4.数据库系统的结构
⏹ 数据库的数据体系结构
数据库的数据体系结构分成3个级别:
内部级、概念级、外部级。
从某个角度看到的数据特性称为数据视图。
Ø 外部级最接近用户,是用户与数据库系统的接口,是用户用到的那部分数据的描述,用户的数据视图称为外模型。
Ø 概念级是涉及到所有用户的数据定义,是数据库中全部数据的逻辑结构和特征的描述,由若干个概念记录类型组成,只涉及到行的描述,不涉及到具体的值。
概念模式的一个具体值称为模式的一个实例,同一个模式可以有很多实例。
Ø 内部级是最接近于物理存储设备,涉及到实际数据的存储方式。
是数据物理结构和存储方式的描述,是数据在在数据库内部的表示方法,定义所有的内部记录类型、索引和文件的组织方式,以及数据控制方面的细节。
物理存储的数据视图称为内模型。
这些模型用数据库的数据定义语言(DDL)描述后,分别得到外模式、概念模式、内模式。
为实现这3个抽象级别的转换,数据库和管理系统在这3级结构之间提供了两层映象:
外模式/概念模式映象和概念模式/内模式映象
二.关系模型和关系运算
1.基本概述
关系数据库是应用关系数据模型来建立和处理数据库中的数据。
这其中主要涉及几个重要的概念。
◆关系
关系实际上就可以看作是一个二维表。
其中,表的每一列称为属性,并用属性名来标识。
每个属性的取值范围,就是该属性所对应的值域。
表的每一行称为元组。
约定该表的行、列的次序的改变,不改变关系的语义性质。
对于一个关系,应该具备下列性质:
Ø 关系中每一个属性值都是不可分解的;
Ø 关系中不允许出现相同的元组;不让用户考虑元组的顺序;
Ø 用户在使用时应考虑列的顺序。
◆关系模型
关系模型是目前最流行的一种数据模型,它是用二维表格结构表示实体集,关键码表示实体间的联系。
◆ 关键字(键)
I. 候选键
关系中的某一属性或属性组,若它的值可以唯一标识关系中的一个元组而又不含有多余的属性,则称该属性或属性组为候选关键字。
II. 主键
关系模式中用户正使用的候选关键字称为主关键字。
III.外关键字
若模式R中某属性集是其他模式的候选键,那么该属性集对模式R而言就是外关键字。
关系模型有3个部分构成:
◆ 数据结构
关系模型采用的数据结构是关系。
◆ 关系操作
关系模型提供一组完备的关系运算,以支持对数据库的各种操作。
关系运算的理论是关系代数和关系演算。
◆关系的完整性
在关系模型中,数据的约束条件通过三类完整性约束条件来描述。
即:
I. 实体完整性
要求关系中的元组的主键值不能是空值。
II. 参照完整性
要求在关系中不允许引用不存在的实体。
III.用户定义的完整性
这是针对某一具体数据的约束条件,由应用环境决定,例如属性的值限制。
2.关系代数
关系查询语言根据其理论基础的不同分成两大类:
◆ 关系代数语言:
查询操作是以集合操作为基础的运算。
◆ 关系演算语言:
查询操作是以谓词演算为基础的运算。
其中,关系代数是以集合代数为基础发展起来的,它是以关系为运算对象的一组高级运算的集合。
关系代数的运算可分为两类:
基本运算操作:
并、差、笛卡尔积、投影和选择。
组合运算操作:
交、联接、自然联接和除。
另外,还有几种扩充的关系代数操作:
外联接(左外联接和右外联接)、外部并和半联接。
以下对几种常用的关系运算作一个简单的介绍。
◆ 基本运算
(1)并
设有两个关系R和S具有相同的关系模式,关系R和S的并是由属于R或属于S的元组组成的集合,记为R∪S。
形式定义如下:
R∪S≡{t│t∈R∨t∈S}
(2)差
设有两个关系R和S具有相同的关系模式,关系R和S的差是由属于R但不属于S的元组组成的集合,记为R-S。
形式定义如下:
R-S≡{t│t∈R∧t ̄∈S}
(3)笛卡儿积
设关系R和S元数分别为r和s。
定义R和S的笛卡儿积是一个(r+s)元的元组集合,每个元组的前r个分量来自R的一个元组,后s个分量来自S的一个元组,记为R×S形式定义如下:
R×S≡{t│t=<tr,ts>tr∈R∧ts∈S}
若R有m个元组,S有n个元组,则R×S有(mn)个元组。
(4)投影
该操作是对关系进行垂直分割,消去某些列,并重新安排列的顺序,再删去重复元组。
(5)选择
这个操作是根据某些条件对关系作水平分割,即选择符合条件的元组。
条件可用命题公式F表示,F中的运算对象是常数(用引号括起来)或元组分量(属性名或列的序号)。
运算符有算术比较运算符(≤,<,≥,>,=,≠)和逻辑运算符(∧,∨,┐)。
δF(R)≡{t│t∈R∧F(t)=true}
δ为选择运算符,δF(R)表示从R中挑选满足公式F的元组所构成的集合。
常量用引号括起来,而属性号或属性名不要用引号括起来。
◆ 组合运算
(1) 交
设有两个关系R和S具有相同的关系模式,关系R和S的交是由属于R又属于S的元组组成的集合,记为R∩S。
形式定义如下:
R∩S≡{t│t∈R∧t∈S}
(2)联接(又称θ联接)
从关系R和S的笛卡尔积中选取属性值之间满足一定条件的元组,记为:
R│×│S≡δiθ(i+j)(R×S)ijθ
这里R的元数是r,θ是算术比较运算符。
R│×│S操作是在R和Sijθ的笛卡尔积中挑选第i个分量和第(r+j)个分量满足θ运算的元组组成的新的关系。
(3)自然联接
两个关系R和S的自然联接用R│×│S表示,具体计算过程如下:
A) 计算R×S
B) 设R和S的公共属性是A1,A2,A3,..Ak.,挑选R×S中满足R.A1=S.A1,R.A2,...,R.Ak=S.Ak的那些元组
C) 去掉S.A1,S.A2,..S.Ak
R│×│S可用下列形式定义:
R│×│S≡πi1i2,...,im(δR.A1=S.A1∧...∧R.Ak=S.Ak(R×S)。
(4)除法
设两个关系R和S的元数分别为r和s(r>s>0),那么R÷S是一个(r-s)元的元组的集合。
(R÷S)是满足下列条件的最大关系,其中每个元组t与S中每个元组u组成的新元组
R÷S的具体计算过程如下:
A) T=π1,2,..r-s(R)
B) W=(T×S)-R求出T×S中不在R的元组
C) V=π1,2,...r-s(W)
D) R÷S=T-V
因此R÷S≡π1,2,..r-s(R)-π1,2,..r-s((π1,2,..r-s(R)×S)-R)。
三.关系数据库SQL语言
SQL数据库的数据体系结构
SQL数据库的数据体系结构基本上也是3级结构,但术语与传统关系模型术语不同。
SQL中,关系模型称为“基本表”,存储模式称为“存储文件”,子模式称为“视图”,元组称为“行”,属性称为“列”。
SQL语言的组成
一个SQL数据库是表的汇集,它用一个或多个SQL模式定义。
一个SQL表由行集构成,一行是列的序列,每列对应一个数据项。
一个表或者是一个基本表,或者是一个视图。
基本表是实际存储在数据库的表,视图是由若干基本表或其他视图构成的表的定义。
SQL包括了所有对数据库的操作,主要有4个部分:
数据定义(SQL DDL)、数据操纵(SQL DML)、访问数据控制、嵌入式SQL语言的规定。
SQL DDL主要是定义基本表、视图、索引3个部分:
◆基本表的定义、修改、撤销
基本表的定义可用“CREATETABLE”语句实现,增加属性可以用“ALTER...ADD...”语句,删除属性可以用“ALTER...DROP...”语句;删除已存在的表可用“DROPTABLE...”语句。
◆视图的定义和撤销
视图的定义可以用CREATE VIEW语句实现。
视图的撤消可以用DROP VIEW语句实现。
◆索引的定义和撤销
索引的定义可以用CREATE,用DROP撤销。
◆SQLDML数据查询语句
SQL的查询语句只有SELECT语句。
◆SELECT查询语句
在关系代数中最常用的式子是“投影选择联接表达式”:
πA1,A2,,...An(δF(R1×R2×...×Rm)),这里R1,R2,...Rm为基本表,F是公式,A1,A2,...An为属性。
针对这个表达式,SQL设计了SELECT句型:
SELCET A1,A2,...An
FROM R1,R2,...Rm
WHERE F
在WHERE子句的条件表达式F中可出现下列操作符和运算特点:
算术比较符、逻辑运算符、集合运算符、集合成员资格运算符、谓词和聚合函数。
◆库函数
COUNT(*) 计算元组的个数
COUNT(列名) 对某一列中的值计算个数。
SUM(列名) 求某一列值的总和
AVG(列名) 求某一列值的平均值
MAX(列名) 求某一列值中的最大值
MIN(列名) 求某一列值中的最小值
◆SELECT语句完整的句法
SELECT 目标表的列名或列表达式序列
FROM 基本表或(和)视图序列
[WHERE 行条件表达式
[GROUTBY 列名序列
[HAVING 组条件表达式
[DRDERBY 列名[序]...
前两个句子是必不可少的,后面的4个句子可以缺省。
整个语句的语义如下:
从FROM子句中列出的表,选取满足WHERE子句中给出的行条件表达式的元组,然后按GROUP子句(分组子句)中指定列的值分组,再提取满足HAVING子句中组条件表达式的那些组,按SELECT子句给出的列名或列表达式求值输出。
ORDER子句(排序子句)是对输出的目标表进行排序,可附加说明ASC(升序)或DESC(降序)
◆SQLDML的数据更新语句
INSERT 插入语句
DELETE 删除语句
UPDATE 修改语句
◆SQL的访问控制
SQL的访问控制功能主要是指对用户访问数据的控制。
有授权语句和回收语句。
授权语句的格式如下:
GRANT权限表
ON表名
TO用户名表
[WITHGRANTOPTION]
该语句把表的使用权授予指定的若干用户。
在有WITHGRANTOPTION短语时,被授权的用户还可将获得的权限再转授给其他用户。
权限表中的权限可以有:
SELECT,INSERT,DELETE,UPDATE,EXPAND,INDEX,ALLPRIVILEGES。
回收语句格式:
REVOKE 权限表
ON表名
FROM用户名表
该语句把已授给指定用户的在指定表上的使用权限收回。
◆嵌入式SQL
由于SQL是基于关系模型的语言,而高级语言是基于整数、实数、字符、记录、数组等的数据类型,因此两者之间有很大的区别,称为有缝隙。
为了能在宿主语言的程序中嵌入SQL语句,有一些规定:
I.在程序中要区分SQL语句和宿主语言的语句;
II.在嵌入的SQL语句中可以引用宿主语言的程序变量,但主语言的语句不能引用数据库中的各种变量(属性名、关系名),SQL的集合处理方式与宿主语言的单记录处理方式之间的协调用游标技术实现。
四、数据库设计
数据库应用系统的开发是一项软件工程,但又有自身的特点,所以称为“数据库工程”。
数据库系统从开始规划、设计、实现、维护到最后被新的系统取代而停止使用的整个期间,称为数据库系统生存期。
此生存期可分为7个阶段:
规划、需求分析、概念设计、逻辑设计、物理设计、实现、运行和维护。
按照规范设计的方法,考虑数据库及其应用系统开发全过程,将数据库设计分为以下六个阶段:
◆需求分析阶段
需求收集和分析,结果得到数据字典描述的数据需求(和数据流图描述的处理需求)。
◆概念结构设计阶段
通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型,可以用E-R图表示。
◆逻辑结构设计阶段
将概念结构转换为某个DBMS所支持的数据模型(例如关系模型),并对其进行优化。
◆数据库物理设计阶段
为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。
◆数据库实施阶段
运用DBMS提供的数据语言(例如SQL)及其宿主语言(例如C),根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。
◆数据库运行和维护阶段
数据库应用系统经过试运行后即可投入正式运行。
在数据库系统运行过程中必须不断地对其进行评价、调整与修改。
设计一个完善的数据库应用系统不可能一蹴而就,它往往是上述六个阶段的不断反复。
2.数据库重点和难点:
2.1数据库管理系统(DBMS)
数据库管理系统(DBMS)是指DBS中对数据进行管理的软件系统,它是DBS的核心成分。
DBS中所有与数据库打交道的操作,包括建库、查询、更新及数据控制,都是通过DBMS进行的。
数据库管理系统总是基于某种数据库模型,可分为网状型、层次型、关系型和面向对象型DBMS。
数据库管理系统的主要目标:
把数据作为可管理的资源处理。
数据库管理系统的5个重要功能:
◆数据库的定义功能:
DBMS提供数据定义语言(DDL)定义数据库的3级结构,包括外模式、概念模式、内模式及其相互之间的映象,定义数据的完整性约束、保密限制等条件。
因此在DBMS中包括DDL的编译程序。
◆数据库的操纵功能:
提供数据操纵语言(DML)实现对数据的操作。
有4种基本操作:
检索(查询)、插入、删除、修改。
在DBMS中包括DML的编译程序或解释程序。
◆数据库的保护功能:
DBMS对数据库的保护主要通过4个子系统:
A.数据库恢复(在数据库被破坏或数据不正确时,系统有能力把数据库恢复到最近某个正确的状态
B.数据完整性控制(保证数据库中数据及语义的正确性和有效性,防止任何对数据错误的操作)
C.多用户环境下的并发控制。
D.数据安全性控制(防止未被授权的用户蓄谋或无意地存取数据库中的数据,以免数据的泄露或破坏)。
◆数据库的维护功能:
这部分包括数据库的初始数据载入、转换功能、存储功能、数据库的改组、性能监视功能。
◆数据字典(DD):
DD管理数据库3级结构的定义。
对于数据库的操作都要通过查阅DD才能进行。
现在有的大型系统中,把DD单独抽出来自成一个系统,成为一个系统工具,使得DD成为一个比DBMS更高级的用户与数据库之间的接口。
要注意的是:
应用程序并不属于DBMS的范围。
应用程序是用主语言和DML编写的,程序中的DML语句由DBMS执行,而其余部分仍由主语言编译程序完成。
数据库系统(DBS)
数据库系统是一个复杂的系统,它是采用了数据库技术的计算机系统。
因此,它不仅仅是一组对数据进行管理的软件(即DBMS),也不仅仅是一个数据库。
它是一个实际可运行的、按照数据库方法存储、维护和向应用系统提供数据支持的系统。
它是存储介质、处理对象和管理系统的集合体,由数据库DB、硬件支持系统、软件支持系统和数据库管理员DBA这四部分组成。
2.2SQL语句
◆ 基本表的定义可用“CREATETABLE”语句实现,增加属性可以用ALTER...ADD...”语句,删除属性可以用“ALTER...DROP...”语句;删除已存在的表可用“DROPTABLE...”语句。
◆ 视图的定义和撤消
◆ 索引的定义和撤销
◆ SELECT查询语句
◆ DELETE删除语句
◆ INSERT插入语句
◆ UPDATE语句
2.3关系运算
用例子说明前面的概念
设关系R:
-------------------------------
A B C
-------------------------------
a b c
d a f
c b d
关系S:
----------------------------------
A B C
----------------------------------
b g a
d a f
则R∪S为:
------------------------------
A B C
------------------------------
a b c
d a f
c d b
b g a
R-S为:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 专题三 数据库知识 专题 数据库 知识