数据库系统版自考Word文档下载推荐.docx
- 文档编号:21204146
- 上传时间:2023-01-28
- 格式:DOCX
- 页数:16
- 大小:42.18KB
数据库系统版自考Word文档下载推荐.docx
《数据库系统版自考Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《数据库系统版自考Word文档下载推荐.docx(16页珍藏版)》请在冰豆网上搜索。
概念层数据模型:
是数据抽象级别的最高层,其目的是按用户的观点来对世界建模,通常用来抽象、表示现实世界的各种事物及其联系;
信息世界设计的基本概念如下:
实体、属性、码或键、域、实体性、实体集、联系;
概念模型表示方法:
实体性(矩形表示)、属性(椭圆形表示)、联系(菱形表示)
逻辑层数据模型:
逻辑层是数据抽象的中间层,描述数据整体的逻辑结构。
包括层次模型、网状模型、关系模型、面向对象模型;
这里给予关系模型的数据库。
(P41)
物理层数据模型:
其描述数据在储存介质上的组织结构,是逻辑模型的物理实现。
第二章关系数据库
一、关系数据库的基本特征是使用关系数据模型组织数据,这种思想源于数学。
二、关系数据模型:
关系模型三个组成要素,关系数据结构、关系操作集合和关系完整性约束。
以二维表格为例,介绍关系数据库的基本术语:
表、关系、列、属性、行、元组、分量、码或键、超码和超键、候选码和候选键、主码和主键、全码和全键、主属性、外码或外键、参照关系和被参照关系、域、数据类型、关系模式、关系数据库。
(P44)
4、关系操作集合:
常用操作包括查询操作和插入、删除、修改操作两大部分。
关系数据语言的分类:
关系代数语言、关系演算语言、以及兼两种特点的结构化查询语言SQL(将在第四章详细讲解);
5、关系代数:
是关系操作语言的一种传统表示方式,它是集合代数为基础发展起来的。
操作包括三大要素:
操作对象、操作符、操作结果;
(IBM公司研制ISBL的纯代数数据操作语言。
)
A:
传统的集合运算:
是二目运算,具有并、差、交、笛卡尔积4种运算(P51看书理解)
B:
专门的关系运算:
不仅涉及行,还涉及列,它可分为一元专门关系操作和二元专门关系操作;
其中,一元专门关系操作包括对单个关系进行垂直分解的投影运算和进行水平分解选择运算;
二元专门关系操作则是对两个关系进行操作,包括连接运算和除运算。
专门的关系运算有:
选择、投影、连接、除;
6、关系的完整性约束:
有三类完整性约束,实体完整性约束、参照完整性约束、用户定义完整性约束。
关系模型完整性约束的检验:
为了维护关系数据库中的数据的完整性,在对关系数据库执行插入、删除和更新操作时,需要检验是否满足上述三类完整性约束。
(P56,看书进行补充)
7、关系数据库的规范化理论:
关系模型中可能存在的冗余和异常问题:
数据冗余、更新异常、插入异常、删除异常;
现在人们提出许多种类型的数据依赖,其中最重要的是函数依赖FD,多值依赖MVD;
8、函数依赖和关键字:
(P57)
函数依赖:
是指关系中属性间的对应关系。
根据不同性质可分完全函数依赖、部分函数依赖、传递函数依赖;
关键字:
设R为任意给定关系,U为其所含的全部属性集合,X为U的子集,若有完全函数依赖X→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。
第3章数据库设计(P64)
1、数据库设计概述
数据库生命周期:
分两个阶段,数据库分析与设计阶段、数据库实现与操作阶段。
数据库设计的目标:
满足应用功能需求和良好的数据库性能。
数据库设计的内容:
1)数据库结构设计:
是针对给定的应用环境进行数据库的模式或子模式设计,包括数据库的概念结构设计、逻辑结构设计或物理结构设计。
模式定义并给出各应用程序共享的结构,是静态的。
2)数据库行为设计:
是确定数据库用户的行为和动作,它们通常是通过应用程序来实现的,由于用户行为会是数据库的内容发生变化,所以行为设计是动态的。
数据库设计的方法:
(1)直观设计法;
(2)规范设计法:
{新奥尔良设计方法,四个阶段:
需求分析、概念结构设计、逻辑结构设计、物理结构设计}{基于E-R模型的数据库设计方法:
1976年由P.P.S.Chen提出}{基于第三范式的设计方法}
二、数据库设计的过程:
将数据库设计分为这样几个阶段:
需求分析阶段;
结构设计阶段、其中包括概念结构设计、逻辑结构设计和物理结构设计;
行为设计阶段,其包括功能设计、事务设计和程序设计;
数据库实施阶段,其包括加载数据库数据和调试运行应用程序;
数据库运行和维护阶段。
三、数据库设计的基本步骤:
(P67)
需求分析:
是数据库设计的起点,一般分为四个步骤,确定数据库范围、分析数据应用过程、收集与分析数据、编写需求分析报告;
编写需求分析报告:
1)数据库的应用功能目标
2)标明不同用户视图范围
3)应用处理过程需求说明
i:
数据流程图,其主要反映应用部门原始业务处理的工作流程
ii:
任务分类表,其标明不同任务的功能及使用情况
iii:
数据操作特征表,标明任务和数据间的联系及不同数据的不同操作特征与执行频率
iv:
操作过程说明书,其根据数据流程图、任务分类表和各类原始资料
4)数据字典(DD),是数据库系统中存储三级结构定义的数据库,通常指的是数据库系统中各类数据详细描述的集合。
5)数据量:
根据数据分类表中的静态数据量和操作特征表中的动态数据量,进行统计计算,求出数据总量。
6)数据约束
四、概念结构设计
设计任务是在需求分析报告的基础上,按照特定的方法设计满足应用需求的用户信息结构,该信息结构通常称为概念模型。
5、逻辑结构设计的目标是将概念模型转换为等价的、并为特定DBMS所支持数据模型的结构。
数据库逻辑模型一般由层次、网状、关系数据模型表示。
(P71)
(1)逻辑结构设计的输入与输出信息
(2)逻辑结构设计的步骤
六、物理设计
是指对于一个给定的数据库逻辑结构,研究并构造物理结构的过程,其具体任务主要是确定数据库在存储设备上的存储结构及存取方法,因DBMS的不同还可能包括建立索引和聚焦,以及物理块大小、缓冲区个数和大小、数据压缩的选择等。
6、数据库实施
实施阶段主要包括:
加载数据、应用程序设计和数据库试运行。
(P72)
七、数据库运行和维护
系统维护中最困难的工作是数据库重组和重构。
重组适当空间利用率和存取效率下降时进行的,它并不改变数据库的逻辑结构和物理结构,只是利用DBMS提供的设施调整数据库中的数据的存储位置。
重构是指部分修改数据库的逻辑结构或物理结构。
第三节关系数据库设计方法
一、关系数据库:
是一类采用关系模型作为逻辑数据模型的数据库系统,它的设计过程遵从数据库设计基本步骤:
需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库的运行和维护。
二、关系数据库设计过程与各级模式:
在逻辑设计阶段采用E-R图转换成具体数据库产品支持的关系数据模型,形成数据库逻辑模式,然后根据用户处理的要求、安全性的考虑,在基本表的基础上再建立必要的视图,形成数据的外模式;
在物理结构的设计阶段,根据关系数据库管理系统的特点和处理的需要,进行物理存储安排、建立索引,形成数据库内模式,关系数据库各级模式如图:
2、概念结构设计方法:
通常采用自顶向下法,通过两个步骤完成概念设计,即首先建立局部信息结构,然后将局部信息结构合成为全局信息结构并优化。
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图中是不同的类型
三、逻辑结构设计方法
逻辑结构设计任务是把概念结构设计产生的概念模型转换为具体的DBMS所支持的逻辑数据模型,也就是导出特定的DBMS可以处理的数据库逻辑结构(数据库的模式和外模式),这些模式在功能、性能、完整性和一致性约束方面满足应用要求。
那么在关系数据库设计中,逻辑结构设计的任务就是把概念结构设计阶段已设计好的E-R图转换为关系数据库管理系统所支持的关系模型,通常包括以下三项工作:
1.E-R图向关系模型的转换
2.数据模型的优化
3.设计用户子模式
四、物理设计方法(P81看实例讲解)
物理设计的主要任务是通过对关系建立索引和聚集来实现与应用相关数据的逻辑连接和物理聚集,以改善对数据库的存取效率。
1.建立索引(通常有动态和静态两种)
2.建立聚集(聚集是将相关数据集中存放的物理存储技术,借以提高I/O的数据命中率而改善存取速度,其功能由具体的DBMS所提供)数据聚集结构的一种有效方式--块结构方式。
第4章SQL与关系数据库基本操作
关系数据库各种基本操作的SQL语句,包括数据定义、数据更新、数据查询、视图使用。
1、SQL概述:
SQL是1974年由Boyce和Chamberlin提出;
SQL的特点:
1)SQL不是某个特定的数据库供应商专有的语言。
几乎所有重要的关系数据库管理系统都支持SQL,所以掌握SQL可以帮助用户与几乎所有的关系数据库进行交互。
2)SQL简单易学。
它的语句全都是由具有很强的描述性的英语单词所组成,而且这些单词的数目不多。
3)SQL尽管看上去很简单,但它实际上是一种强有力的语言,灵活使用其语言元素,可以进行非常复杂和高级的数据库操作。
SQL的组成:
SQL是集数据查询、数据定义、数据操纵、数据控制四大功能为一体。
核心包括以下几个部分:
1.数据定义语言(DDL):
数据定义语言包括主要SQL语句有以下三个:
1)CREATE:
用于创建数据库或数据库对象
2)ALTER:
用于对数据库或数据库对象进行修改
3)DROP:
用于删除数据库或数据库对象
2.数据操纵语言(DML):
主要用于操纵数据库中各种对象,特别是检索和修改数据。
主要包括语句如下:
1)SELECT:
用于从表或视图中检索数据,其是数据库中使用最为频繁的SQL语句之一。
2)INSERT:
用于将数据插入到表或视图中。
3)UPDATE:
用于修改表或视图中的数据,其即可修改表或视图中一行数据,也可同时修改多行或全部数据。
4)DELETE:
用于从表和视图中删除数据,其中可根据条件删除指定的数据。
3.数据控制语言(DCL):
主要用于安全管理,例如确定哪些用户可以查看或修改数据库中的数据,主要包括以下SQL语句:
1)GRANT:
用于授予权限,可把语句许可或对象许可的权限授予其他用户和角色。
2)REVOKE:
用于收回权限,其功能与GRANT相反,但不影响该用户或角色从其他角色中作为成员继承许可权限。
4.嵌入式和动态SQL规则:
规则规定了SQL语句在高级程序设计语言中使用的规范方法,以便适应较为复杂的应用。
5.SQL调用和会话规则:
SQL调用包括SQL例程和调用规则,以便提高SQL的灵活性、有效性、共享性以及使用SQL具有更多的高级语言的特征。
SQL会话规则则可使应用程序连接到多个SQL服务器中的某个,并与之交互。
2、MySQL预备知识
目前,使用MySQL数据库管理系统构建各种信息管理系统或互联网网站的应用环境主要有如下构架方式:
1)LAMP,Linux作为操作系统,Apache作为Web服务器,MySQL作为数据库管理系统,PHP、Perl或Python语言作为服务器端脚本解释器。
2)WAMP,Windows作为操作系统,Apache作为Web服务器,MySQL作为数据库管理系统,PHP、Perl或Python语言作为服务器端脚本解释器。
3、MySQL中的SQL(P87)
MySQL作为一种关系型数据库管理系统,遵循SQL标准,提供了对数据定义语言DDL,数据操纵语言DML、数据控制语言DCL、并且同样支持关系数据库的三级模式结构。
如图
MySQL在SQL标准的基础上增加了部分扩展语言要素:
包括常量、变量、运算符、表达式、函数、流程控制语句和注释。
1)常量:
是指在程序运行过程中值不变的量,也称为字面值或标量值。
常量的使用格式取决于值的数据类型,可分为字符串常量、数值常量、十六进制常量、时间日期常量、位字段值、布尔值和NULL值。
2)变量:
用于临时存储数据,变量有名字和数据类型两个属性。
其中变量的名字用于标识变量,变量的数据类型用于确定变量中存储数值的格式和可执行的运算。
在MySQL中,变量分为用户变量和系统变量,在使用时,用户变量前常添一个符号“@”,用于将其和列名区分开;
而大多数系统变量应用于其他SQL语句时,必须在系统变量名前加两个“@”
3)运算符(P88)
4)表达式:
表达式是常量、变量、列名、复杂计算、运算符、函数的集合。
5)内置函数:
●数学函数,例如ABS()函数、SORT()函数
●聚合函数,例如COUNT()函数
●字符串函数,例如ASCII()函数、CHAR()函数
●日期和时间函数,例如NOW()函数、YEAR()函数
●加密函数,例如ENCODE()函数、ENCRYPT()函数
●控制流程函数,例如IF()函数、IFNULL函数
●格式化函数,例如FORMAT()函数
●类型转换函数,例如CAST()函数
●系统信息函数,例如USER()函数、VERSION()函数
四、数据定义
SQL的数据定义功能包括数据库模式定义、表定义、索引定义
和视图定义。
(P89)
㈠数据库模式定义:
包含数据库的创建、选择、修改、删除、查看等操作。
1.创建数据库,可以使用CREATEDATABASE或CREATESCHEMA。
2.选择数据库,使用USE语句,指定某个数据库为当前数据库之后,才能对该数据库及其存储的数据对象进行各种操作。
3.修改数据库,可以使用ALTERDATABASE或ALTERSCHEMA,来修改已被创建的数据库的相关参数。
4.删除数据库,可以使用DROPDATABASE或DROPSCHEMA。
5.查看数据库,可以使用SHOWDATABASE或SHOWSCHEMA。
可选项“LIKE”关键字用于匹配指定的数据库名称,可选项“WHERE”从句用于指定数据库名称查询范围的条件。
㈡表定义:
只有成功创建数据库之后,才能在数据库中创建数据表,数据表是关系数据库中最重要、最基本的数据对象,也是数据库存储的基本单位。
1.创建表,MySQL使用CREATETABLE语句创建表。
该语法主要由表的创建定义、表选项、和分区选项等内容构成。
1)临时表与持久表,带TEMPORARY为临时表,不带为持久表
2)数据类型,主要有数值类型、布尔型、日期和时间类型、字符串类型、空间数据类型等。
3)关键字AUTO_INCREMENT
4)指定默认值
5)NULL值,指没有值或缺值。
6)主键,通过PRIMARYKEY关键字来指定,主键值必须唯一,且一定要为NOTNULL。
2.更新表,为了实现数据库表的规范化设计的目的,可以使用ALTERTABLE语句来更改原有表的结构,有以下几个子句:
1)ADD[COLUMN]子句,增加新列,也可增加多个列。
也可在ALTERTABLE下ADDPRIMARYKEY、ADDINDEX和ADDFOREIGNKEY为原表添加一个主键、索引和外键。
2)CHANGE[COLUMN]子句,修改制定列的名称和数据类型,且在ALTERTABLE下同时放入多个CHANGE[COLUMN]子句。
3)ALTER[COLUMN]子句,修改或删除指定列的默认值。
4)MODIFY[COLUMN]子句,与ALTER[COLUMN]不同的是,只是修改列的数据类型,不会干涉列名。
5)DROP[COLUMN]子句,用于卸除多余的列,一旦卸除列,原本存储在该列的一切内容都会跟着被卸除。
6)RENAME[COLUMN]子句,为表重新赋予一个表名。
3.重命名表,除了前面ALTERTABLE语句,也可以直接用RENAMETABLE进行更改表的名字。
4.删除表,通过DROPTABLE语句实现,但操作者必须有该命令权限,删除表时,数据和分区信息均会被删除,但权限不会删除。
5.查看表,1)显示表的名称,使用SHOWTABLES语句;
2)显示表的结构,使用SHOWCOLUMNS语句。
五、索引定义
索引,就是DBMS根据表中的一列或若干列按照一定顺序建立的列值与记录行之间的对应关系表,因而索引实质上是一张描述索引列值与原表中记录行之间一一对应关系的有序表。
索引是提高数据文件访问效率的有效方法,也存在弊端:
1)索引是以文件的形式存储的,DBMS会将一个表的所有索引保存在同一个索引文件中,索引文件需要占用磁盘空间;
2)索引在提高查询速度的同时,会降低更新表的速度。
索引在逻辑上通常包含以下几类:
1)普通索引(INDEX),通常使用关键字INDEX或KEY
2)唯一性索引(UNIQUE),索引列的所有值都只能出现一次
3)主键(PRIMARYKEY),主键是一种唯一性索引,创建主键时,必须指定关键字PRIMARYKEY,且不能有空值。
实际使用中,索引通常索引通常被创建程单列索引和组合索引。
1.索引的创建
1.使用CREATEINDEX语句创建索引,但该句不能创建主键。
语法格式:
CREATE[UNIQUE]INDEXindex_name
ONtbl_name(index_col_name...)
ASC(升序)和DESC(降序),默认时为ASC
2.使用CREATETABLE语句创建索引,索引可以在创建表的同时被创建。
3.使用ALTERTABLE语句创建索引,在使用ALTERTABLE语句修改表的同时,可以向已有的表中添加索引。
(语法项P100)
4.索引的查看,可以使用SHOWINDEX语句
5.索引的删除,可以使用DROPINDEX或ALTERINDEX语句来删除。
7、数据更新(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语句插入子查询数据
子查询不仅可以嵌套在SELECT语句中,用于构造父查询的条件,也可以嵌套在INSERT语句中,用于生成要批量插入的数据。
INSERT[INTO]tbl_name[(col_name,…)]
SELECT…
㈡删除数据
在MySQL中,可以使用DELETE语句删除表中的一行或多行数据,语法格式如下:
DELETEFROMtbl_name
[WHEREwhere_condition]
[ORDERBY…]
[LIMITrow_count]
㈢修改数据
可以使用UPDATE语句来修改更新一个表中的数据,实现对表中行的列数据进行修改,语法格式如下:
UPDATEtbl_name
SETcol_name1={expr1|DEF
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 系统 自考