计算机三级数据库.docx
- 文档编号:8221665
- 上传时间:2023-01-29
- 格式:DOCX
- 页数:16
- 大小:28.54KB
计算机三级数据库.docx
《计算机三级数据库.docx》由会员分享,可在线阅读,更多相关《计算机三级数据库.docx(16页珍藏版)》请在冰豆网上搜索。
计算机三级数据库
数据库原理需掌握资料整理
第一章数据库系统概述
本章属于基础知识,主要是对一些概念的理解和记忆。
没有难点,相对的重点在于ER模型的设计和关系模型的掌握。
一、数据管理技术的发展阶段(识记)
数据管理技术共经历了三个阶段:
人工管理阶段、文件系统阶段、数据库阶段。
1、人工管理阶段的特点:
(1)数据不保存在机器中
(2)没有专用软件对数据进行管理
(3)只有程序的概念,没有文件的概念。
2、文件系统阶段的特点与缺陷:
(1)数据可长期保存在磁盘上。
(2)数据的逻辑结构与物理结构有了区别
(3)文件组织呈现多样化
(4)数据不再属于某个特定程序,可以重复使用。
其缺陷是:
数据冗余性、数据不一致性、数据联系弱。
3、数据库阶段的特点
采用复杂的数据模型表示数据结构
有较高的数据独立性(数据结构分成用户的逻辑结构、整体逻辑结构和物理结构三级)
数据库系统为用户提供方便的用户接口,可以使用查询语言、终端命令或程序方式操作数据库。
系统提供了四个方面的数据控制功能:
数据库的恢复、并发控制、数据完整性和数据安全性。
对数据的操作不一定以记录为单位,还可以数据项为单位。
数据库技术中的四个名词:
DB、DBMS、DBS、数据库技术。
其概念是不同的,要分清。
DB:
数据库(Database),DB是统一管理的相关数据的集合。
DBMS:
数据库管理系统(DatabaseManagementSystem),DBMS是位于用户与操作系统之间的一层对数据进行管理的系统软件,为用户或应用程序提供访问DB的方法,包括DBS的建立、查询、更新及各种数据控制。
DBMS总是基于某种数据模型,可以分为层次型、网状型、关系型、面向对象型DBMS。
DBS:
数据库系统(DatabaseSystem),DBS是实现有组织地、动态地存储大量关联数据,方便多用户访问的计算机软件、硬件和数据资源组成的系统,采用了数据库技术的计算机系统。
数据库技术:
是一门研究数据库结构、存储、管理和使用的软件学科。
二、数据描述的术语(领会)
1、数据描述的三个领域:
现实世界、信息世界和机器世界。
信息世界中的几个概念:
实体(即客观存在可以相互区别的事物)、实体集(同类实体的集合)、属性(实体的特性)、实体标识符(唯一标识实体的属性(集))。
机器世界中的四个概念:
字段、记录、文件、键(关键码)。
2、数据描述的两种形式:
物理描述和逻辑描述。
前者是指数据在存储设备上的存取方式,后者是指程序员或用户用以操作的数据形式。
3、物理描述用到的术语有:
位、字节、字、块、桶、卷
4、数据联系的描述:
1:
1联系:
如果实体集A中的每个实体最多只能和实体集B中的一个实体有联系,反之亦然,好么实体集A对B的联系称为“一对一联系”,记为“1:
1”。
1:
N联系:
如果实体集A中每个实体与实体集B中任意个(零个或多个)实体有联系,而A中每个实体至多和B中的一个实体有联系,那么A对B的联系是“一对多联系”,记为“1:
N”。
M:
N联系:
如果实体集A中每个实体与实体集B中任意个(零个或多个)实体有联系,反之亦然,那么A对B的联系是“多对多联系”,记为“M:
N”。
三、数据模型
1、数据模型的概念(领会):
表示实体类型及实体类型间联系的模型称为“数据模型”。
它可分为两种类型:
概念数据模型和结构数据模型。
2、概念数据模型(简单应用):
它是独立于计算机系统的模型,完全不涉及信息在系统中的表示,只是用来描述某个特定组织所关心的信息结构。
实体联系模型及E-R图。
3、结构数据模型:
它是直接面向数据库的逻辑结构,是现实世界的第二层抽象。
这类模型涉及到计算机系统和数据库管理系统,所以称为“结构数据模型”。
结构数据模型应包含:
数据结构、数据操作、数据完整性约束三部分。
结构数据模型主要有:
层次、网状、关系三种模型。
层次模型(识记):
用树型结构表示实体间联系的数据模型
网状模型(识记):
用有向图结构表示实体类型及实体间联系的数据模型。
关系模型(领会):
是由若干个关系模式组成的集合,其主要特征是用二维表格结构表达实体集,用外鍵表示实体间联系。
4、面向对象模型(识记):
通过对象和类的概念来建立的数据库模型,是面向对象技术与数据库技术结合的产物。
四、数据库的体系结构(领会)
1、三级结构模式:
数据库的体系结构分为三级:
内部级、概念级和外部级:
外部级:
单个用户所能看到的数据特性,称外模式。
概念级:
涉及到所有用户的数据定义,是全局的数据视图,称“概念模式”。
内部级:
最接近于物理存储,涉及到实际数据存储的结构,称“内模式”。
2、两级映象:
模式/内模式映象:
用于定义概念模式和内模式之间的对应性。
一般在内模式中描述。
外模式/模式映象:
用于定义外模式和概念模式间的对应性。
一般在外模式中描述。
3.两级数据独立性:
物理数据独立性:
修改内模式时尽量不影响概念模式及外模式,则达到物理数据独立性。
逻辑数据独立性:
修改概念模式时尽量不影响外模式和应用程序。
4.数据库模式可以理解为数据库结构。
五、数据库管理系统(DBMS领会)
1、DBMS的主要功能:
(1)数据库的定义功能
(2)数据库的操纵功能
(3)数据库的保护功能
(4)数据库的存储管理
(5)数据库的维护功能
(6)数据字典
2、DBMS的组成:
由两大部分组成:
查询处理器和存储管理器,前者包括DDL编译器、DML编译器、嵌入型DML预编译器、查询运行核心程序。
后者包括授权和完整性管理器,事务管理器、文件管理器,缓冲区管理器。
六、数据库系统(DBS领会)
DBS由四部分组成:
数据库(DB)、硬件、软件(DBMS)、用户。
DBS的全局结构及DBS的效益,了解一下。
第二章关系模型
本章为次重点章,我们经常使用的数据库均采用关系模型,本章主要介绍了关系模型的关系运算理论,主要在于对关系演算运算的理解,为后面章节的SQL作准备。
一、关系模型的基本概念(识记)
1、关系模型的基本术语:
关系模型:
用二维表格结构表示实体集、外键表示实体间联系的数据模型称。
基本术语有:
字段(属性)、字段值(属性值)、记录(元组)、二维表格(元组集合、关系或实例)。
在这里,括号中的表述为关系模型中的术语。
它与表格中术语可以一一对应。
还有,关系中属性个数称为元数,元组个数为基数。
键:
由一个或几个属性组成。
(注意键不一定是唯一的一个属性)。
超键:
在关系中能唯一标识元组的属性集称为关系模式的超键。
(注意,超键也是一个属性集,不一定只是一个属性)
候选键:
不含有多余属性的超键称为候选键。
主键:
用户选作元组标识的一个候选键为主键。
外键:
某个关系的主键相应的属性在另一关系中出现,此时该主键在就是另一关系的外键。
2、关系模式、关系子模式和存储模式
关系模式:
关系模式实际上就是记录类型。
它包括:
模式名,属性名,值域名以及模式的主键。
关系模式仅是对数据特性的描述。
(这通常在数据库中表现为一个数据表的结构)
关系子模式:
就是用户所用到那部分数据的描述。
存储模式:
关系存储时的基本组织方式是文件,元组是文件中的记录。
3、关系模型的三类完整性规则
实体完整性规则:
要求关系中组成主键的属性上不能有空值。
参照完整性规则:
要求不引用不存在的实体。
用户定义完整性规则:
由具体应用环境决定,系统提供定义和检验这类完整性的机制。
4、关系模型的形式定义:
数据结构、数据操作和完整性规则。
二、关系代数运算(简单应用)
1、关系代数的五个基本操作:
并、差、笛卡尔积、投影和选择。
并(∪):
两个关系需有相同的关系模式,并的对象是元组,由两个关系所有元组构成。
差(-):
同样,两个关系有相同的模式,R和S的差是由属于R但不属于S的元组构成的集合。
投影(π):
对关系进行垂直分割,消去某些列,并重新安排列的顺序。
选择(σ):
根据某些条件关系作水平分割,即选择符合条件的元组。
2、关系代数的四个组合操作:
交、联接、自然联接和除法
交(∩):
R和S的交是由既属于R又属于S的元组构成的集合。
可用R-(R-S)来表示。
联接:
包括θ联接和F联接,是选择R×S中满足iθ(r+j)或F条件的元组构成的集合,特别注意等值联接(θ为等号“=”)。
自然联接:
(R|X|S):
在R×S中,选择R和S公共属性值均相等的元组,并去掉R×S中重复的公共属性列。
如果两个关系没有公共属性,则自然联接就转化为笛卡尔积。
除法(÷):
首先除法的结果中元数为两个元数的差。
对于上述的五个基本操作和组合操作,应当从实际运算方面进行理解和运用,对其形式定义可不必深究。
3、关系代数表达式及应用
在关系代数表达式中,复合了上述五个基本操作,在给出相应的表格(关系)中,应该能够根据给出的关系代数表达式计算关系值,也要能根据相应查询要求列出关系表达式。
在列关系表达式时,通常有以下形式:
π...(σ...(R×S))或者π...(σ...(R|X|S))
首先把查询涉及到的关系取来,执行笛卡尔积或自然联接操作得到一张大的表格,然后对大表格执行水平分割(选择)和垂直分割(投影)操作。
但是注意当查询涉及到否定或全部值时,就不能用上述形式,而要用到差或除法操作。
第三章关系数据库SQL语言
本章为重点章,应熟悉和掌握SQL的数据定义、数据查询、数据更新的句法及其应用,特别是数据查询的应用。
结合上机操作进行理解和掌握。
一、SQL概述。
1、SQL发展历程(识记)
SQL从1970年美国IBM研究中心的E.F.Codd发表论文到1974年Boyce和Chamberlin把SQUARE语言改为SEQUEL语言,到现在还在不断完善和发展之中,SQL(结构式查询语言)虽然名为查询,但实际上具有定义、查询、更新和控制等多种功能。
2、SQL数据库的体系结构(领会)
SQL数据库的体系结构也是三级结构,但术语与传统关系模型术语不同,在SQL中,关系模式称为“基本表”,存储模式称为“存储文件”,子模式称为“视图”,元组称“行”,属性称为“列”。
SQL数据库体系的结构要点如下:
(1)一个SQL数据库是表的汇集。
(2)一个SQL表由行集构成,行是列的序列,每列对应一个数据项。
(3)表或者是基本表,或者是视图。
基本表是实际存储在数据库中的表,视图由是由若干基本表或其他视图构成的表的定义。
(4)一个基本表可以跨一个或多个存储文件,一个存储文件也可存放一个或多个基本表。
存储文件与物理文件对应。
(5)用户可以用SQL语句对表进行操作,包括视图和基本表。
(6)SQL的用户可以是应用程序,也可以是终端用户。
3、SQL的组成(识记)
四部分组成:
(1)数据定义:
SQLDDL。
定义SQL模式,基本表、视图和索引。
(2)数据操纵:
SQLDML。
包括数据查询和数据更新(增、删、改)。
(3)数据控制:
包括对基本表和视图的授权、完整性规则的描述,事务控制等。
(4)嵌入式SQL的使用规定。
二、SQL的数据定义(简单应用)
1、SQL模式的创建和撤消:
SQL模式的创建可简单理解为建立一个数据库,定义一个存储空间,其句法是:
CREATSCHEMA<模式名>AUTHORIZATION<用户名>
撤消SQL模式的句法为:
DROPSCHEMA<模式名>[CASCADE|RESTRICT]
方括号中的选项参数CASCADE表示连锁方式,执行时将模式下所有基本表、视图、索引等元素全部撤消。
RESTRICT表示约束式,执行时必须在SQL模式中没有任何下属元素时方可撤消模式。
2、SQL提供的基本数据类型
数值型:
包括integer、smallint、real、doubleprecision、float(n),numeric(p,d)
字符串型:
char(n)、varchar(n),前者是定长,后者为变长串
位串型:
bit(n),bitvarying(n),同上。
时间型:
date、time。
3、基本表的创建、修改和撤消
基本表的创建:
(可理解为建立表结构)
CREATTABLESQL模式名.基本表名
(列名,类型,
……
完整性约束...)
完整性约束包括主键子句(PRIMARYKEY)、检查子句(CHECK)和外键子句(ForeignKEY).
基本表结构的修改
ALTERTABLE基本表名ADD/DROP(增加/删除)列名类型名(增加时写出)
基本表的撤消
DROPTABLE基本表名[CASCADE|RESTRICT]
4、视图的创建和撤消
视图创建:
CREATVIEW视图名(列名表)ASSELECT查询语句
视图撤消:
DROPVIEW视图名
5、索引的创建和撤消
索引创建:
CREAT[UNIQUE]INDEX索引名ON基本表名(列名表[ASC|DESC])
索引撤消:
DROPINDEX索引名
总结:
凡创建都用CREAT,删除都用DROP,改变用alter,再跟类型和名字,附加子句。
三、SQL的数据查询(综合应用)
这一段是本章的重点内容,应该熟练掌握。
首先了解基本句法:
1、SELECT–FROM-WHERE句型
SELECT列名表(逗号隔开)FROM基本表或视图序列WHERE条件表达式
在这里,重点要掌握条件表达式中各种运算符的应用,如=,>,<,<>等算术比较运算符、逻辑运算符AND、OR、NOT,集合成员资格运算符:
IN,NOTIN,以及嵌套的SELECT语句的用法要特别注意理解。
针对课本的例题和课后习题进行掌握。
在查询时,SELECT语句可以有多种写法,如联接查询、嵌套查询和使用存在量词的嵌套查询等。
最好都掌握,但是起码应能写出一种正确的查询语句。
2.SELECT语句完整的句法:
SELECT列名表(逗号隔开)
FROM基本表或视图序列
[WHERE条件表达式](此为和条件子句)
[GROUPBY列名序列](分组子句)
[HAVING组条件表达式](组条件子句)
[ORDERBY列名[ASC|DESC]..](排序子句)
这段关于完整句法的内容能够理解也就问题不大了。
3、SELECT语句中的限定
主要是对SELECT语句进一步使用进行的深入学习,领会下列各种限定的使用目的和方法。
要求输出表格中不出现重复元组,则在SELECT后加一DISTINCT
SELECT子句中允许出现加减乘除及列名,常数的算术表达式
WHERE子句中可以用BETWEEN...AND...来限定一个值的范围
同一个基本表在SELECT语句中多次引用时可用AS来增加别名
WHERE子句中字符串匹配用LIKE和两个通配符:
%和下划线_。
查询结果的结构完全一致时可将两个查询进行并(UNION)交(INTERSECT)差(EXCPT)操作
查询空值操作不是用='null',而是用ISNULL来测试。
集合成员资格比较用IN/NOTIN,集合成员算术比较用元组θSOME/ALL
可以用子查询结果取名(表名(列名序列))来作为导出表使用
基本表的自然联接操作是用NATURALINNERJOIN来实现的。
四、SQL的数据更新(简单应用)
简单应用就是掌握基本的句型并能套用在一些简单的查询要求上。
1、数据插入:
INSERTINTO基本表名(列名表)
VALUES(元组值)
或
INSERTINTO基本表名(列名表)
SELECT查询语句
其中元组值可以连续插入。
用查询语句可以按要求插入所需数据。
2、数据删除:
DELETEFROM基本表名[WHERE条件表达式]
3、数据修改:
UPDATE基本表名
SET列名=值表达式,[列名=值表达式...]
[WHERE条件表达式]
4、视图的更新:
对视图的查询是和基本表相同的,但是更新操作则受到下列三条规则的限制:
(领会一下)
如果视图是从多个基本表使用联接操作导出的,则不允许更新。
如果导出的视图使用了分组和聚合操作,也不允许更新。
如果视图是从单个基本表使用选择和投影操作导出的,并且包括了基本表的主键或某个候选键,则可以执行操作。
(这就相当于在基本表上操作)。
关于增删改的操作要和前面关于数据库模式、表的增删改操作进行对比学习,以加深理解。
第四章关系数据库理论
本章的理论性较强,学习时有无从下手的感觉,在学习时应多加思考,从概念出发去理解理论,前后的理论有较强的联系,因此要逐个理解,但对于理论的证明等内容则不必深究,本章重点是函数依赖,无损联接、保持依赖和范式的概念。
一、关系模式的设计问题(识记)
关系数据库是以关系模型为基础的数据库,它利用关系来描述现实世界。
一个关系既可以用来描述一个实体及其属性,也可以用来描述实体间的联系。
关系实质上就是一张二维表,表的行称为元组,列称为属性。
关系模式是用来定义关系的,我们可以把关系模式简单地理解为一个表的结构,一个关系数据库包含一组关系,也就是包含一组二维表,这些二维表结构体的集合就构成数据库的模式(也可以理解为数据库的结构)。
关系数据库设计理论包括三个内容:
数据依赖、范式、模式设计方法。
核心内容是数据依赖。
泛关系模式:
把现实问题的所有属性组成一个关系模R(U),这个关系模式就称为泛关系模式。
数据库模式:
把泛关系模式用一组关系模式的集合ρ来表示时,这个ρ就是数据库模式。
下面我们总结一下关系模式的相关内容从"大"到"小"的排列
泛关系模式→数据库模式→关系数据库→表结构→关系模式实例(表)→记录(行、列.)
关系模式的存储异常:
数据冗余、更新异常、插入异常和删除异常
二、函数依赖(FD)
1、函数依赖的定义(领会):
设R(U)是属性集U上的关系模式。
X,Y是U的子集,r是R的任一可能的关系,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不相等,则称X函数决定Y,或Y函数依赖于X,记为X→Y。
X→Y为模式R的一个函数依赖。
(1)平凡函数依赖和非平凡函数依赖
(2)函数依赖是语义范畴
(3)函数依赖与属性之间的联系类型有关:
X与Y是1:
1的联系,XY
X与Y是m:
1的联系,X-Y
X与Y是m:
n的联系,X与Y之间无函数名依赖关系
(4)函数依赖关系的存在与时间无关。
(5)函数依赖可以保证关系分解的无损连接性。
2、函数依赖的逻辑蕴涵(识记)
设F是关系模式R的一个函数依赖集,X,Y是R的属性子集,如果从F中的函数依赖能够推出X→Y,则称F逻辑蕴涵X→Y,记为F|=X→Y.
而函数依赖的闭包F+是指被F逻辑蕴涵的函数依赖的全体构成的集合。
3、键和FD的关系(领会)
键是唯一标识实体的属性集。
对于键和函数依赖的关系有两个条件:
设关系模式R(A1,A2...An),F是R上的函数依赖集,X是R的一个子集,
(1)X→A1A2...An∈F+(它的意思是X能够决定唯一的一个元组)
(2)不存在X的真子集Y,使得Y也能决定唯一的一个元组,则X就是R的一个候选键。
(它的意思是X能决定唯一的一个元组但又没有多余的属性集)
包含在任何一个候选键中的属性称为主属性,不包含在任何键中的属性为非主属性(非键属性),注意主属性应当包含在候选键中。
4、函数依赖(FD)的基本性质(简单应用)
(1)投影性:
一组属性函数决定它的所有子集。
(2)扩张性:
若XY且WZ,则(X,W)(Y,Z)
(3)合并性:
若XY且XZ,则必有X(Y,Z)
(4)分解性:
若X(Y,Z),则XY且XZ
5、函数依赖的等价和覆盖(识记)
在关系模式R(U)上的两个函数依赖集F和G,如果满足F+=G+,则称F和G是等价的,称F和G等价也称F覆盖G或G覆盖F。
每个函数依赖集F都可以被一个右部只有单属性的函数依赖集G所覆盖。
如果函数依赖集合F满足:
(1)F中每一个函数依赖的右部都是单属性;
(2)F中的任一函数依赖X→A,其F-{X→A}是不等价的;
(3)F中的任一函数依赖X→A,Z为X的子集。
(F-{X→A})∪{Z→A}与F不等价。
则称F为最小函数依赖集合。
三、关系模式的分解特性
1、模式分解中存在的问题:
(识记)
模式分解就是将一个泛关系模式R分解成数据库模式ρ,以ρ代替R的过程。
它不仅仅是属性集合的分解,它是对关系模式上的函数依赖集、以及关系模式的当前值分解的具体表现。
分解一个模式有很多方法,但是有的分解会出现失去函数依赖、或出现插入、删除异常等情况,而有的分解则不出现相关问题。
衡量一个分解的标准有三种:
分解具有无损联接;分解要保持函数依赖;分解既要保持依赖,又要具有无损联接。
2、无损联接的定义和性质(识记)
设R是一关系模式,分解成ρ={R1,R2,...,Rk},F是R上的一个函数依赖集。
无损联接就是指R中每一个满足F的关系r(也就是一个关系实例)都有r=πR1(r)|X|πR2(r)...|X|πR3(r),即r为它在Ri上的投影的自然联接。
最简单的理解,也就是说,分解后的关系自然连接后完全等于分解前的关系,则这个分解相对于F是无损联接分解。
设R的分解为ρ={R1,R2},F为R所满足的函数依赖集,则分解ρ具有无损联接性的充分必要条件是:
R1∩R2→(R1-R2)
R1∩R2→(R2-R1)
也就是说,分解后的两个模式的交能决定这两个模式的差集,即R1、R2的公共属性能够函数决定R1或R2中的其他属性,这样的分解就必定是无损联接分解。
3、保持函数依赖的分解(识记)
在分解过程中,要求模式分解的无损联接是必要的,只有无损联接分解才能保证任何一个关系能由它的那些投影进行自然联接得到恢复。
同时,分解关系模式时还应保证关系模式的函数依赖集在分解后仍在数据库模式中保持不变,这就是保持函数依赖的问题。
也就是所有分解出的模式所满足的函数依赖的全体应当等价于原模式的函数依赖集。
只有这样才能确保整个数据库中数据的语义完整性不受破坏。
四、关系模式的范式(领会)
1、1NF、2NF、3NF、BCNF的定义:
1NF:
第一范式。
即关系模式中的属性的值域中每一个值都是不可再分解的值。
如果某个数据库模式都是第一范式的,则称该数据库
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 三级 数据库