数据库系统版自考.docx
- 文档编号:6794266
- 上传时间:2023-01-10
- 格式:DOCX
- 页数:16
- 大小:60.72KB
数据库系统版自考.docx
《数据库系统版自考.docx》由会员分享,可在线阅读,更多相关《数据库系统版自考.docx(16页珍藏版)》请在冰豆网上搜索。
数据库系统版自考
数据库系统原理(复习资料)
第一章数据库系统概述
一、识记:
1)数据(Data):
是描述事物的符号记录,是指用物理符号记录下来的、可以鉴别的信息。
(P27)
2)数据库(DataBase,DB:
通俗的被称作存储数据的仓库。
3)数据库管理系统(DBM)是专门用于建立和管理数据库的一套软件,介于应用程序和操作系统之间。
4)数据库系统(DBS:
是指在计算机中引入数据库技术之后的系统。
二、数据管理技术发展阶段:
1)人工管理阶段、2)文件系统阶段、3)数据库系统阶段
数据库系统阶段,与人工管理、文件系统管理相比有如下特点:
数据集成、数据共享性高、数据冗余度小、数据一致性、数据独立性高P32
三、数据库系统的三级模式结构:
是指数据库系统是由模式、外模式和内模式三级构成(P34)
模式:
也称为概念模式或逻辑模式,它是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图;
外模式:
也成为子模式或用户模式,它是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是与某一应用有关的逻辑表示;
内模式:
也称储存模式,它是对数据库中数据物理结构和储存方式的描述,是数据在数据库内部的表示形式;
三级模式结构的两层映像与数据独立性:
(1)外模式/模式映像
(2)模式/内模式映像:
定义了数据库全局逻辑结构与物理储存之间的对应关系(3)实现
概念模式(模式)不受内模式变化影响,正是这两层映像保证了数据库系统中数据能够具有较高的逻辑独立性和物理独立性,使得数据的定义和描述可以从应用程序中分离出去,从而简化了数据库应用程序的开发。
(P36)
四、数据库系统的运行与应用结构:
目前两种,客户/服务器结构、浏览器/服务器结构
五、数据模型:
通常由数据结构、数据操作和数据约束三个要素组成;
数据模型分类:
第一类:
概念层数据模型,第二类:
逻辑层数据模型和物理层数据模型。
概念层数据模型:
是数据抽象级别的最高层,其目的是按用户的观点来对世界建模,通常用来抽象、表示现实世界的各种事物及其联系;
信息世界设计的基本概念如下:
实体、属性、码或键、域、实体性、实体集、联系;
概念模型表示方法:
实体性(矩形表示)、属性(椭圆形表示)、联系(菱形表示)逻辑层数据模型:
逻辑层是数据抽象的中间层,描述数据整体的逻辑结构。
包括层次模型、网状模型、关系模型、面向对象模型;这里给予关系模型的数据库。
(P41)
物理层数据模型:
其描述数据在储存介质上的组织结构,是逻辑模型的物理实现。
第二章关系数据库
一、关系数据库的基本特征是使用关系数据模型组织数据,这种思想源于数学。
二、关系数据模型:
关系模型三个组成要素,关系数据结构、关系操作集合和关-系完整性约束。
以二维表格为例,介绍关系数据库的基本术语:
表、关系、列、属性、行、
元组、分量、码或键、超码和超键、候选码和候选键、主码和主键、全码和全键、主属性、外码或外键、参照关系和被参照关系、域、数据类型、关系模式、关系数据库。
(P44)
四、关系操作集合:
常用操作包括查询操作和插入、删除、修改操作两大部分。
关系数据语言的分类:
关系代数语言、关系演算语言、以及兼两种特点的结构
化查询语言SQL(将在第四章详细讲解);
五、关系代数:
是关系操作语言的一种传统表示方式,它是集合代数为基础发展
起来的。
操作包括三大要素:
操作对象、操作符、操作结果;(IBM公司
研制ISBL的纯代数数据操作语言。
)
A:
传统的集合运算:
是二目运算,具有并、差、交、笛卡尔积4种运算(P51看书理解)
B:
专门的关系运算:
不仅涉及行,还涉及列,它可分为一元专门关系操作和二元专门关系操作;其中,一元专门关系操作包括对单个关系进行垂直分解的投影运算和进行水平分解选择运算;二元专门关系操作则是对两个关系进行操作,包括连接运算和除运算。
专门的关系运算有:
选择、投影、连接、除;六、关系的完整性约束:
有三类完整性约束,实体完整性约束、参照完整性约束、用户定义完整性约束。
关系模型完整性约束的检验:
为了维护关系数据库中的数据的完整性,在对关系数据库执行插入、删除和更新操作时,需要检验是否满足上述三类完整性约束。
(P56,看书进行补充)
七、关系数据库的规范化理论:
关系模型中可能存在的冗余和异常问题:
数据
冗余、更新异常、插入异常、删除异常;
现在人们提出许多种类型的数据依赖,其中最重要的是函数依赖FD,多值
依赖MVD
八、函数依赖和关键字:
(P57)
函数依赖:
是指关系中属性间的对应关系。
根据不同性质可分完全函数依赖、部分函数依赖、传递函数依赖;
关键字:
设R为任意给定关系,U为其所含的全部属性集合,X为U的子集,若有完全函数依赖心U,则X为R的一个候选关键字。
九、范式与关系规范化过程:
关系数据库中的关系需要满足一定的要求,不同程度的要求称为不同的范式(NF)。
满足最低要求的称为第一范式(1NF),这是最基本的范式;在第一范式的基础上进一步满足一些新要求的称为第二范式(2NF);以此类推,再进一步的范式成为第三范式(3NF)。
第一范式:
设定R为任一给定关系,如果R中每个列与行的交点处的取值都是不可再分的基本元素,则R为第一范式。
第二范式:
设定R为任一给定关系,若R为1NF,且其所有非主属性都完全函数依赖于候选关键字,则R为第二范式。
第三范式:
设定R为任一给定关系,若R为2NF,且其每一个非主属性都不传递函数依赖于候选关键字,则R为第三范式。
BCNF为了解决3NF有时会出现的插入及删除操作异常等问题,R.F.Boyce和E.F.Cold提出了第3范式的改进形式BCNF
第三章数据库设计(P64)
一、数据库设计概述
数据库生命周期:
分两个阶段,数据库分析与设计阶段、数据库实现与操作阶段。
—数据库设计的目标:
满足应用功能需求和良好的数据库性能。
数据库设计的内容:
1)数据库结构设计:
是针对给定的应用环境进行数据库的模式或子模式设计,包括数据库的概念结构设计、逻辑结构设计或物理结构设计。
模式定义并给出各应用程序共享的结构,是静态的。
2)数据库行为设计:
是确定数据库用户的行为和动作,它们通常是通过应用程序来实现的,由于用户行为会是数据库的内容发生变化,所以行为设计是动态的..。
数据库设计的方法:
(1)直观设计法;
(2)规范设计法:
{新奥尔良设计方法,四个阶段:
需求分析、概念结构设计、逻辑结构设计、物理结构设计}{基于E-R模型的数据库设计方法:
1976年由P.P.S.Chen提出}{基于第三范式的设计方法}
二、数据库设计的过程:
将数据库设计分为这样几个阶段:
需求分析阶段;结构设计阶段、其中包括概念结构设计、逻辑结构设计和物理结构设计;行为设计阶段,其包括功能设计、事务设计和程序设计;数据库实施阶段,其包括加载数据库数据和调试运行应用程序;数据库运行和维护阶段。
三、数据库设计的基本步骤:
(P67)
需求分析:
是数据库设计的起点,一般分为四个步骤,确定数据库范围、分—数据应用过程、收集与分析数据、编写需求分析报告;
编写需求分析报告:
1)数据库的应用功能目标
2)标明不同用户视图范围
3)应用处理过程需求说明
i:
数据流程图,其主要反映应用部门原始业务处理的工作流程
ii:
任务分类表,其标明不同任务的功能及使用情况
iii:
数据操作特征表,标明任务和数据间的联系及不同数据的不同操作特征与执行频率
iv:
操作过程说明书,其根据数据流程图、任务分类表和各类原始资料
4)数据字典(DD,是数据库系统中存储三级结构定义的数据库,通常指的是数据库系统中各类数据详细描述的集合。
5)数据量:
根据数据分类表中的静态数据量和操作特征表中的动态数据量,进行统计计算,求出数据总量。
6)数据约束
四、概念结构设计
设计任务是在需求分析报告的基础上,按照特定的方法设计满足应用需求的用户信息结构,该信息结构通常称为概念模型。
五、逻辑结构设计的目标是将概念模型转换为等价的、并为特定DBMS所支持
数据模型的结构。
数据库逻辑模型一般由层次、网状、关系数据模型表示。
(P71)
(1)逻辑结构设计的输入与输出信息
(2)逻辑结构设计的步骤
L1除逊[WWW
六、物理设计
是指对于一个给定的数据库逻辑结构,研究并构造物理结构的过程,其具体任务主要是确定数据库在存储设备上的存储结构及存取方法,因DBMS勺不同还可能包括建立索引和聚焦,以及物理块大小、缓冲区个数和大小、数据压缩的选择等。
六、数据库实施
实施阶段主要包括:
加载数据、应用程序设计和数据库试运行。
(P72)
七、数据库运行和维护
系统维护中最困难的工作是数据库重组和重构。
重组适当空间利用率和存取效
率下降时进行的,它并不改变数据库的逻辑结构和物理结构,只是利用DBMS提
供的设施调整数据库中的数据的存储位置。
重构是指部分修改数据库的逻辑
结构或物理结构。
第三节关系数据库设计方法
一、关系数据库:
是一类采用关系模型作为逻辑数据模型的数据库系统,它的设
计过程遵从数据库设计基本步骤:
需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库的运行和维护。
二、关系数据库设计过程与各级模式:
在逻辑设计阶段采用E-R图转换成具体数据库产品支持的关系数据模型,形成数据库逻辑模式,然后根据用户处理的要求、安全性的考虑,在基本表的基础上再建立必要的视图,形成数据的外模式;在物理结构的设计阶段,根据关系数据库管理系统的特点和处理的需要,进行物理存储安排、建立索引,形成数据库内模式,关系数据库各级模式如图:
wiF 应尉应胪应胎应用4 应肌 BEK 应阻\ 酬3/ UWT: 朗斗/ dwy 二、概念结构设计方法: 通常采用自顶向下法,通过两个步骤完成概念设计,即首先建立局部信息结构,然后将局部信息结构合成为全局信息结构并优化。 1、E-R图的表示方法i)实体性,用矩形表示: ii)属性,用椭圆形表示: iii)联系,用菱形表示。 2、两个实体型之间的联系: ①一对一联系(1: 1);②一对多联系(1: N) ③多对多联系(M: N) 3、两个以上的实体型之间的联系: (P75)也存在一对一;一对多;多对多; 4、单个实体型内的联系: 同一个实体集内各实体之间也可以存在一对一,一对多,多对多的联系。 5、局部信息结构设计: 根据需求分析报告中标明的不同用户视图范围所建 立的满足该范围内用户需求的信息结构称为局部信息结构。 局部信息结构设 计步骤如下: (P77看实例演示) (1)确定局部范围 (2)选择实体(3)选择实体的关键字属性(4)确定实体间联系(5)确定实体的属性 6、全局信息结构设计: 是将上述产生的所有局部信息结构合并成为一个全局信息结构。 合并过程是一个不断发现和解决冲突的过程,通常,各局部E-R图之间的冲突主要表现在三个方面: 属性冲突、命名冲突、结构冲突。 (P79看具体理解) (1)属性冲突: 属性域冲突和属性取值单位冲突; (2)命名冲突: 同名异义和异名同义: (3)结构冲突: i)同一对象在一个局部E-R图中作为实体,而在另一个局部E-R图中作为属性 ii)同一个实体在不同的E-R图中属性个数和类型不同 iii)实体之间的联系在不同的E-R图中是不同的类型 三、逻辑结构设计方法 逻辑结构设计任务是把概念结构设计产生的概念模型转换为具体的DBM新 支持的逻辑数据模型,也就是导出特定的DBM测以处理的数据库逻辑结构(数据库的模式和外模式),这些模式在功能、性能、完整性和一致性约束方面满足应用要求。 那么在关系数据库设计中,逻辑结构设计的任务就是把概念结构设计阶段已设计好的E-R图转换为关系数据库管理系统所支持的关系模型,通常包括 以下三项工作: 1.E-R图向关系模型的转换 2.数据模型的优化 3.设计用户子模式 四、物理设计方法(P81看实例讲解) 物理设计的主要任务是通过对关系建立索引和聚集来实现与应用相关数据的逻辑连接和物理聚集,以改善对数据库的存取效率。 1.建立索引(通常有动态和静态两种) 2.建立聚集(聚集是将相关数据集中存放的物理存储技术,借以提高I/O的数据命中率而改善存取速度,其功能由具体的DBMS所提供)数据聚集结构的一种有效方式--块结构方式。 第四章SQL与关系数据库基本操作 关系数据库各种基本操作的SQL语句,包括数据定义、数据更新、数据查询、视图使用。 一、SQL概述: SQL是1974年由Boyce和Chamberlin提出; SQL的特点: 1)SQL不是某个特定的数据库供应商专有的语言。 几乎所有重要的关系数据库管理系统都支持SQL所以掌握SQL可以帮助用户与几乎所有的关系数据库进行交互。 2)SQL简单易学。 它的语句全都是由具有很强的描述性的英语单词所组成,而且这些单词的数目不多。 3)SQL尽管看上去很简单,但它实际上是一种强有力的语言,灵活使用其语言元素,可以进行非常复杂和高级的数据库操作。 SQL的组成: SQL是集数据查询、数据定义、数据操纵、数据控制四大功能为一体。 核心包括以下几个部分: 1.数据定义语言(DDL: 数据定义语言包括主要SQL语句有以下三个: 1)CREATES于创建数据库或数据库对象 2)ALTER用于对数据库或数据库对象进行修改 3)DROP用于删除数据库或数据库对象 2.数据操纵语言(DML: 主要用于操纵数据库中各种对象,特别是检索和修_数据。 主要包括语句如下: 1)SELECT用于从表或视图中检索数据,其是数据库中使用最为频繁的SQL语句之一o 2)INSERT用于将数据插入到表或视图中。 3)UPDATE用于修改表或视图中的数据,其即可修改表或视图中一行数据,也可同时修改多行或全部数据。 4)DELETE用于从表和视图中删除数据,其中可根据条件删除指定的数据。 3.数据控制语言(DCL: 主要用于安全管理,例如确定哪些用户可以查看或修改数据库中的数据,主要包括以下SQL语句: 1)GRANT用于授予权限,可把语句许可或对象许可的权限授予其他用户和角色。 2)REVOKE用于收回权限,其功能与GRAN相反,但不影响该用户或角色从其他角色中作为成员继承许可权限。 4.嵌入式和动态SQL规则: 规则规定了SQL语句在高级程序设计语言中使用的规范方法,以便适应较为复杂的应用。 5.SQL®用和会话规则: SQL调用包括SQL例程和调用规则,以便提高SQL的灵活性、有效性、共享性以及使用SQL具有更多的高级语言的特征。 SQL会话规则则可使应用程序连接到多个SQL®务器中的某个,并与之交互。 二、MySQ预备知识 目前,使用MySQ数据库管理系统构建各种信息管理系统或互联网网站的应用环境主要有如下构架方式: 1)LAMPLinux作为操作系统,Apache作为Wet®务器,MySQ作为数据库管理系统,PHRPerl或Python语言作为服务器端脚本解释器。 2)WAMPWindows作为操作系统,Apache作为Web服务器,MySQ作为数据库管理系统,PHPPerl或Python语言作为服务器端脚本解释器。 三、MySQl中的SQL(P87) MySQL乍为一种关系型数据库管理系统,遵循SQL标准,提供了对数据定义语言DDL数据操纵语言DML数据控制语言DCL并且同样支持关系数据库的三级模式结构。 如图 SQL MySQL在SQL标准的基础上增加了部分扩展语言要素: 包括常量、变量、运算符、表达式、函数、流程控制语句和注释。 1)常量: 是指在程序运行过程中值不变的量,也称为字面值或标量值。 常量的使用格式取决于值的数据类型,可分为字符串常量、数值常量、十六进制常量、时间日期常量、位字段值、布尔值和NULL值。 2)变量: 用于临时存储数据,变量有名字和数据类型两个属性。 其中变量的名 字用于标识变量,变量的数据类型用于确定变量中存储数值的格式和可执行的运算。 在MySQ中,变量分为用户变量和系统变量,在使用时,用户变量前 常添一个符号“@,用于将其和列名区分开;而大多数系统变量应用于其他SQL 语句时,必须在系统变量名前加两个“@ 3)运算符(P88) 4)表达式: 表达式是常量、变量、列名、复杂计算、运算符、函数的集合。 5)内置函数: •数学函数,例如ABS()函数、SORT()函数•聚合函数,例如COUNT)函数 •字符串函数,例如ASCII()函数、CHAR()函数•日期和时间函数,例如NOW(函数、YEAR()函数 •加密函数,例女口ENCODE函数、ENCRYPT函数 •控制流程函数,例如IF()函数、IFNULL函数•格式化函数,例如FORMAT)函数•类型转换函数,例如CAST()函数 •系统信息函数,例如USER()函数、VERSION)函数 四、数据定义 SQL的数据定义功能包括数据库模式定义、表定义、索引定义和视图定义。 (P89) ㈠数据库模式定义: 包含数据库的创建、选择、修改、删除、查看等操作。 1.创建数据库,可以使用CREATEDATABA或ECREATESCHEMA 2.选择数据库,使用USE语句,指定某个数据库为当前数据库之后,才能对该数据库及其存储的数据对象进行各种操作。 3.修改数据库,可以使用ALTERDATABASEALTERSCHEM来;修改已被创建的数据库的相关参数。 4.删除数据库,可以使用DROPDATABASEDROPSCHEMA 5.查看数据库,可以使用SHOVDATABAS或SHOWCHEMAJ选项“LIKE” 关键字用于匹配指定的数据库名称,可选项“WHERE从句用于指定数据库名称 查询范围的条件。 ㈡表定义: 只有成功创建数据库之后,才能在数据库中创建数据表,数据表是关系数据库中最重要、最基本的数据对象,也是数据库存储的基本单位。 1.创建表,MySQL®用CREAT圧ABLE语句创建表。 该语法主要由表的创建 定义、表选项、和分区选项等内容构成。 1)临时表与持久表,带TEMPORARY临时表,不带为持久表 2)数据类型,主要有数值类型、布尔型、日期和时间类型、字符串类型、空_间数据类型等。 3)关键字AUTO_INCREMENT 4)指定默认值 5)NULL值,指没有值或缺值。 6)主键,通过PRIMARKEY关键字来指定,主键值必须唯一,且一定要为NOTNULL 2.更新表,为了实现数据库表的规范化设计的目的,可以使用ALTERTABLED句来更改原有表的结构,有以下几个子句: 1)ADD[COLUM子句,增加新列,也可增加多个列。 也可在ALTERTABLETADDPRIMARYKEYKDDINDEX和ADDFOREIGNKEY原表添加一个主键、索引和 外键。 2)CHANGE[C0LUM子句,修改制定列的名称和数据类型,且在ALTERTABLE下同时放入多个CHANGE[COLUM子N句。 3)ALTER[C0LUM子句,修改或删除指定列的默认值。 4)M0DIFY[C0LUM子句,与ALTER[COLUM不|同的是,只是修改列的数据类型,不会干涉列名。 5)DR0P[C0LUM子句,用于卸除多余的列,一旦卸除列,原本存储在该列的一切内容都会跟着被卸除。 6)RENAME[C0LUM子句,为表重新赋予一个表名。 3.重命名表,除了前面ALTERTABLE语句,也可以直接用RENAMETAB进行更改表的名字。 4.删除表,通过DR0PTABL语句实现,但操作者必须有该命令权限,删除表时,数据和分区信息均会被删除,但权限不会删除。 5.查看表,1)显示表的名称,使用SHOWTABLES句; 2)显示表的结构,使用SHOWCOLUM语句。 五、索引定义 索引,就是DBMS艮据表中的一列或若干列按照一定顺序建立的列值与记录行之间的对应关系表,因而索引实质上是一张描述索引列值与愿表中记录行之间一对应关系的有序表。 .. 索引是提高数据文件访问效率的有效方法,也存在弊端: 1)索引是以文件的形式存储的,DBM陰将一个表的所有索引保存在同一个索引文件中,索引文件需要占用磁盘空间; 2)索引在提高查询速度的同时,会降低更新表的速度。 索引在逻辑上通常包含以下几类: 1)普通索引L(INDEX,通常使用关键字INDEX或KEY 2)唯一性索引(UNIQUE,索引列的所有值都只能出现一次 3)主键(PRIMARYKEY,主键是一种唯一性索引,创建主键时,必须指定关键字PRIMARYKE,Y且不能有空值。 实际使用中,索引通常索引通常被创建程单列索引丄和纽合索引。 — 1.索引的创建 1.使用CREATEINDE语句创建索引,但该句不能创建主键。 语法格式: CREATE[UNIQUE]INDEXindex_name ONtbl_name(index_col_name...) 关键字: ASC升序)和DESC降序),默认时为ASC 2.使用CREATETABL语句创建索引,索引可以在创建表的同时被创建。 3.使用ALTERTABL语句创建索引,在使用ALTERTABL语句修改表的同时,可以向已有的表中添加索引。 (语法项P100 4.索引的查看,可以使用SHOWINDE语句 5.索引的删除,可以使用DROPINDE或ALTERINDEXS句来删除。 七、数据更新(P102) 数据更新在SQL中三类相应语句,插入数据(INSERT)修改数据(UPDATE删除数据(DELETE ㈠插入数据_(详细看书) 1.使用INSERT...VALUES语句插入单行或多行元组数据 语法格式: INSERT[INTO]tbl_name[(col_name,…)] {VALUES|VALUE}({expr|DEFAULT}/•),(…),… 语法中: 1)”tbl_name”指定欲被插入数据的表名 2)”col_name”指定需要插入数据的列名列表 3)通过关键字”VALUES或”VALUE引导的子句,其包含各列需要插入的数据单• I)”expr”表示常量、变量或一个表达式,也可以是空值NULL,其值的数据类型要与列的数据类型一致。 II)关键字“default即用于指定此列值为该列的默认值,前提是该列之前已经明确指定了默认值,否则插入语句会出错。 2.使用INSERT...SET语句插入部分列值数据 可以使用INSERT...SET语句直接给表中的某(些)列指定对应的列值,既要插入数据的列名在SET子句中指定,这种方式更灵活,语法格式如下: INSERT[INTO]tbl_name SETcol_name={expr|DEFAULT},•• 3.使用INSERT...SELECT语句插入子查询数据 子查询不仅可以嵌套在SELECTS句中,用于构造父查询的条件,也可以嵌套在INSERT语句中,用于生成要批量插入的数据。 语法格式: INSERT[INTO]tbl_name[(col_na
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 系统 自考