《数据库系统原理教程》复习重点
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数据库系统原理教程》复习重点
《数据库系统原理教程》
第1章绪论
1、1、引⾔
1、数据:数据就是描述事物得符号记录。
数据与其语义就是不可分得。
数据得形式本⾝并不能完全表达其内容,需要经过语义解释。
2、数据库(database,简称DB):长期存储在计算机内、有组织得、可共享得数据集合。
数据库中得数据按⼀定得数据模型组织、描述与存储,具有较⼩得冗余度,较⾼得数据独⽴性与易扩展性,并可为各种⽤户共享。
3、数据库管理系统(database management system,简称DBMS):就是位于⽤户与操作系统之间得⼀层数据管理软件。
数据库在建⽴、运⽤与维护时由数据库管理系统统⼀管理、统⼀控制。
数据库管理系统使⽤户能⽅便地定义数据与操纵数据,并能够保证数据得安全性、完整性、多⽤户对数据得并发使⽤及发⽣故障后得系统恢复。
4、数据库系统(database system,简称DBS):指在计算机系统中引⼊数据库后得系统构成,⼀般由数据库、数据库管理系统、应⽤系统、数据库管理员与⽤户构成。
5、数据库管理员(database administrator,简称DBA):完成数据库得建⽴、使⽤与维护等⼯作得专业⼈员。
6、数据管理:指如何对数据进⾏分类、组织、编码、存储、检索与维护,它就是数据处理得中⼼问题。
随着计算机硬件与软件得发展,数据管理经历了⼈⼯管理、⽂件系统与数据库系统三个发展阶段。
7、⼈⼯管理数据得特点:(1)数据不保存。
(2)数据需要由应⽤程序⾃⼰管理,没有相应得软件系统负责数据得管理⼯作。
(3)数据不共享。
(4)数据不具有独⽴性,数据得逻辑结构或物理结构发⽣变化后,必须对应⽤程序做相应得修改。
8、⽂件系统管理数据得特点:(1)数据可以长期保存。
(2)由专门得软件即⽂件系统进⾏数据管理,程序与数据之间由软件提供得存取⽅法进⾏转换,应⽤程序与数据之间有了⼀定得独⽴性。
(3)数据共享性差。
(4)数据独⽴性低。
不具有弹性得⽆结构得数据集。
⽂件记录之间没有联系。
9、数据库系统管理数据得特点:(1)数据结构化。
(2)数据得共享性好,冗余度低。
(3)数据独⽴性⾼。
(4)数据由DBMS统⼀管理与控制。
10、数据得不⼀致性:指同⼀数据不同拷贝得值不⼀样。
11、数据得逻辑独⽴性:数据库系统得⼀个映像功能就是数据得总体逻辑结构与某类应⽤所涉及得局部逻辑结构之间得映像功能。
这⼀映像功能保证了当数据得总体逻辑结构改变时,通过对映像得相应改变可以保持数据得局部逻辑结构不变,由于应⽤程序就是依赖数据得局部逻辑结构编写得,所以应⽤程序不必修改。
12、数据得物理独⽴性:数据库系统得另⼀个映像功能就是数据得存储结构与逻辑结构之间得映像或转换功能。
这⼀映像功能保证了当数据得存储结构改变时,通过对映像得相应改变可以保持数据得逻辑结构不变,从⽽应⽤程序也不必改变。
13、除了管理功能外,DBMS还提供以下功能:(1)数据得安全性。
(2)数据得完整性。
(3)并发控制。
(4)数据库恢复。
14、数据库技术得研究领域:(1)数据库管理系统软件得研制。
(2)数据库设计。
(3)数据库
理论。
1、2、数据模型
1、数据模型:就是严格定义得概念得集合。
这些概念必须能够精确地描述系统得静态特性、动态特性与完整性约束条件。
通常由数据结构、数据操作与完整性约束三个要素组成。
2、数据结构:所研究得对象类型得集合。
这些对象就是数据库得组成成分,包括与数据类型、内容、性质有关得对象与与数据之间联系有关得对象。
3、数据操作:指对数据库中各种对象得实例允许执⾏得操作得集合,包括操作及有关得操作规则。
4、数据得约束条件:就是⼀组完整性规则得集合。
完整性规则就是给定得数据模型中数据及其联系所具有得制约与依存规则,⽤以限定符合数据模型得数据库状态以及状态得变化,以保障数据得正确、有效与相容。
5、信息世界涉及得概念:实体、属性、码、域、实体型、实体集、联系。
6、两个实体型之间得联系分为:1:1联系、1:n联系、m:n联系。
7、ER图:提供了表⽰实体型、属性与联系得⽅法。
8、常⽤数据模型:层次模型、⽹状模型、关系模型。
层次模型与⽹状模型统称为⾮关系模型。
9、基本层次联系:指两个记录以及它们之间得⼀对多(包括⼀对⼀)得联系。
10、层次模型:⽤树形结构表⽰各类实体以及实体间得联系。
优点:模型简单、实体间联系固定、提供良好得完整性⽀持。
缺点:表⽰多对多联系时很笨拙、对插⼊删除操作限制较多、查询⼦节点必须通过⽗节点、层次命令趋于程序化。
11、邻接法:按照层次树前序遍历得顺序把所有记录值依次邻接存放,即通过物理空间得位置相邻来实现层次顺序。
12、链接法:⽤指引元反映数据之间得层次联系,每个记录设两类指引元,分别指向最左边得⼦节点与最近得兄弟节点,这种链接⽅法称为⼦⼥——兄弟链接法;按树得前序穿越顺序链接各记录值,这种链接⽅法称为层次序列链接法。
13、⽹状数据模型:就是⼀种⽐层次模型更具普遍性得结构,去掉了层次模型得两个限制,允许多个结点没有双亲结点,允许结点有多个双亲结点,允许两个结点之间有多种关系,允许插⼊双亲不明确得⼦⼥结点,允许只删除双亲结点值,更新只需更新指定记录。
优点:能更为直接得描述现实世界、具有良好得性能与存取效率。
缺点:其DDL语⾔极其复杂、数据独⽴性较差。
14、⼀个关系模型涉及以下概念:关系、元组、属性、主码、域、分量、关系模式、关系名。
15、关系数据模型:实体及实体间得联系都⽤关系表⽰,它得操纵主要包括查询、插⼊、删除与更新数据。
关系得完整性约束条件包括:实体完整性、参照完整性与⽤户定义完整性。
关系模型优点:建⽴在严格得数学基础上、概念单⼀、存取路径对⽤户透明,具有较好得数据独⽴性,安全保密性。
缺点:由于存取路径对⽤户透明,查询效率往往不如⾮关系数据模型。
16、⽹状数据模型得典型代表就是DBTG系统。
1、3、数据库系统结构
1、模式:也称逻辑模式,就是数据库中全体数据得逻辑结构与特征得描述,就是所有⽤户得公共数据视图。
它就是数据库系统模式结构得中间层,就是数据库数据在逻辑级上得视图。
⼀个数据库只有⼀个模式。
2、外模式:也称⼦模式或⽤户模式,它就是数据库⽤户(包括应⽤程序员与最终⽤户)瞧见与使⽤得局部数据得逻辑结构与特征得描述,就是数据库⽤户得数据视图,就是与某⼀应⽤有关得数据得逻辑表⽰。
外模式通常就是模式得⼦集。
⼀个数据库可以有多个外模式。
⼀个应⽤程序只能使⽤⼀个外模式。
同⼀外模式可以被多个应⽤系统使⽤。
3、内模式:也称存储模式,它就是数据物理结构与存储结构得描述,就是数据在数据库内部得表⽰⽅式。
⼀个数据库只有内模式。
4、数据库系统得三级模式结构:就是指数据库系统就是由外模式、模式与内模式三级构成。
5、⼆级映像功能:外模式/模式映像与模式/内模式映像。
正就是这两层映像保证了数据库系统中得数据能够具有较⾼得逻辑独⽴性与物理独⽴性。
6、三级模式与两级映像得作⽤:(1)对于每个外模式,数据库系统都有⼀个外模式/模式映像,它定义了该外模式与模式之间得对应关系。
当模式改变时,只需对各个外模式/模式得映像作出相应得改变,可以保持外模式不变,从⽽应⽤程序不必修改,保证了数据得逻辑独⽴性。
(2)数据库中只有⼀个模式与内模式,所以模式/内模式映像就是唯⼀得,它定义了数据全局逻辑结构与存储结构之间得对应关系。
当数据库得存储结构改变了,只需对模式/内模式映像作出相应得改变,可以使模式保持不变,从⽽保证了数据得物理独⽴性。
7、数据库系统体系结构包括:
(1)单⽤户数据库系统:就是⼀种早期得最简单得数据库系统。
在单⽤户系统中,整个数据库系统,包括应⽤程序、DBMS、数据,都装在⼀台计算机上,由⼀个⽤户独占,不同机器之间不能共享数据。
(2)主从式结构得数据库系统:就是指⼀个主机带多个终端得多⽤户结构。
在这种结构中,数据库系统,包括应⽤程序、DBMS、数据,都集中存放在主机上,所有处理任务都由主机来完成,各个⽤户通过主机得终端并发地存取数据库,共享数据资源。
(3)分布式结构得数据库系统:指数据库中得数据在逻辑上就是⼀个整体,但物理地分布在计算机⽹络得不同结点上。
数据存放、管理、维护困难。
(4)客户/服务器结构得数据库系统:将DBMS与应⽤功能分开,⽹络中某些结点上得计算机专门⽤于执⾏DBMS功能,称为数据库服务器,其她结点上得计算机安装DBMS得外围应⽤开发⼯具,⽀持⽤户得应⽤,称为客户机。
分为集中与分布两种。
1、4、数据库管理系统
1、DBMS得功能主要包括:
(1)数据定义,数据定义包括定义各种模式、映射、约束条件。
(2)数据操纵,数据操纵包括对数据库数据得检索、插⼊、修改与删除等基本操作。
(3)数据库运⾏管理,包括对数据库进⾏并发控制、安全性检查、完整性约束条件检查、数据库内部维护等等。
(4)数据组织、存储与管理,DBMS负责分门别类地组织、存储与管理各种数据,确定⽂件结构。
(5)数据库得建⽴与维护,建⽴数据库包括数据库初始数据得输⼊与数据转换等,数据库维护包括数据库得转储、恢复、重构、监视等。
(6)数据通信接⼝,DBMS提供与其她软件系统进⾏通信得功能。
2、DBMS通常由4部分组成:
(1)数据定义语⾔及其翻译处理程序,DDL供⽤户定义数据库得模式、存储模式、外模式、各级模式之间得映射、有关得约束条件等。
(2)数据操纵语⾔及其编译程序,DML实现对数据库得检索、插⼊、修改、删除等基本操作。
(3)数据库运⾏控制程序,DBMS提供⼀些系统运⾏控制程序负责数据库运⾏过程中得控制与管理。
(4)实⽤程序,DBMS提供⼀些实⽤程序,包括数据初始装⼊程序、数据转储程序等。
3、实现DBMS得⽅法:
(1)N⽅案:DBMS模块被⽤户进程按⼦程序调⽤,DBMS与应⽤程序融合在⼀起,N个⽤户得系统中只有N个进程。
(2)2N⽅案:每个⽤户进程均有⼀个影⼦进程为之服务,系统中还有若⼲后台进程。
由于系统中进程总数接近于⽤户数得2倍,所以称为2N⽅案。
(3)M+N⽅案:就是2N⽅案得⼀种改进,在N个⽤户进程得系统中,有M个DBMS进程为之服务(M
(4)N+1⽅案:整个DBMS仅使⽤⼀个进程,多个数据库⽤户向其发消息以申请数据库服务,这些消息挂在DBMS进程得消息队列中。
1、5、数据库⼯程与应⽤
1、数据库设计:包含两⽅⾯得内容,⼀就是结构(数据)设计,也就就是设计数据库框架或数据库结构;⼆就是⾏为(处理)设计,即设计应⽤程序、事务处理等。
2、数据库设计⽅法:在规范设计法中,数据库设计得核⼼与关键就是逻辑数据库设计与物理数据库设计。
逻辑数据库设计就是根据⽤户要求与特定数据库管理系统得具体特点,以数据库设计理论为依据,设计数据库得全局逻辑结构与每个⽤户得局部逻辑结构。
物理数据库设计就是在逻辑结构确定之后,设计数据库得存储结构以及其她实现细节。
3、数据库设计步骤:
(1)需求分析,进⾏数据库设计⾸先必须准确了解与分析⽤户需求。
(2)概念结构设计,以⼀种独⽴于数据库管理系统得逻辑描述⽅法来描述数据库得逻辑结构。
(3)逻辑结构设计,将抽象得概念结构转换为所选⽤得DBMS⽀持得数据模型,并对其进⾏优化。
(4)数据库物理设计,为逻辑数据模型选取⼀个最适合应⽤环境得物理结构。
(5)数据库实施,建⽴数据库、编制与调试应⽤程序、组织数据⼊库、试运⾏。
(6)数据库运⾏与维护,不断对数据库进⾏评价、调整与修改。
4、数据库设计过程中需注意得问题:要充分调动⽤户积极性、充分考虑到系统得可扩充性、系统得可扩充性最终都就是有⼀定限度得。
5、DBA得主要职责:设计与定义数据库系统、帮助最终⽤户使⽤数据库系统、监督与控制数据库系统得使⽤与运⾏、改进与重组数据库系统,调优数据库系统得性能、转储与恢复数据库、重构数据库。
第2章关系数据库
2、1、关系数据库概概述
1、关系数据库:关系数据库系统就是⽀持关系模型得数据库系统。
关系模型由关系数据结构、关系操作集合与完整性约束三部分组成。
2、关系数据结构:关系模型得数据结构⾮常单⼀,在⽤户瞧来,关系模型中数据得逻辑结构就是⼀张扁平得⼆维得表。
关系模型得这种简单得数据结构能够表达丰富得语义,描述出现实世界得实体以及实体间得各种联系。
3、关系操作:采⽤集合操作⽅式,即操作得对象与结果都就是集合。
4、关系代数:⽤对关系得运算来表达查询要求得⽅式。
5、关系演算:⽤谓词来表达查询要求得⽅式。
2、2、关系数据结构
1、域:⼀组具有相同数据类型得值得集合。
2、候选码:若关系中得某⼀属性组得值能唯⼀地标识⼀个元组,⽽其真⼦集不⾏,则称该属性组为候选码。
3、主码:若⼀个关系有多个候选码,则选定其中⼀个为主码。
4、主属性:候选码得诸属性称为主属性。
5、⾮码属性:不包含在任何候选码中得属性,也称为⾮主属性。
6、全码:关系模式得所有属性组就是这个关系模式得候选码,称为全码。
7、关系得三种类型:基本表、查询表、视图表。
基本表就是实际存在得表,它就是实际存储数据得逻辑表⽰。
查询表就是查询结果对应得表。
视图表就是由基本表或其她视图表导出得表,就是虚表,不对应实际存储得数据。
8、基本关系得六条性质:
(1)每⼀列中得分量就是同⼀类型得数据,来⾃同⼀个域。
(2)不同得列可以出⾃同⼀个域,称其中得每⼀列为⼀个属性,属性名不能重复。
(3)列得顺序⽆所谓。
(4)⾏得顺序⽆所谓。
(5)任意两个元组不能完全相同。
(6)每⼀个分量必须就是不可再分得数据项。
9、关系模式:关系模式必须指出这个元组集合得结构,即它由哪些属性构成,这些属性来⾃哪些域,以及属性与域之间得映像关系。
2、3、关系得完整性
1、关系得完整性:就是对关系得某种约束条件。
关系模型中可以有三种完整性约束:实体完整性、参照完整性、⽤户定义完整性。
其中实体完整性与参照完整性就是关系模型必须满⾜得完整性约束条件,被称作关系得两个不变性,应该由关系系统⾃动⽀持。
(1)实体完整性:⼀个基本关系通常对应现实世界得⼀个实体集。
若属性A就是基本关系R 得主属性,则属性A不能取空值。
(2)参照完整性:设F就是基本关系R得⼀个或⼀组属性,但不就是关系R得码,如果F与基本关系S得主码Ks相对应,则称F 就是基本关系R得外码,并称基本关系R为参照关系,基本关系S为被参照关系。
关系R与S不⼀定就是不同得关系。
此时,F 取空值或等于S中某个元组得主码值。
(3)⽤户定义得完整性:就是针对某⼀具体关系数据库得约束条件,它反映某⼀具体应⽤所涉及得数据必须满⾜得语义要求。
2、4、关系代数
1、并:设关系R与关系S具有相同得n个属性,且相应得属性取⾃同⼀个域,则关系R与关系S得并由属于R或属于S得元组组成。
2、差:设关系R与关系S具有相同得n个属性,且相应得属性取⾃同⼀个域,则关系R与关系S得差由属于R⽽不属于S得元组组成。
3、交:设关系R与关系S具有相同得n个属性,且相应得属性取⾃同⼀个域,则关系R与关系S得交由既属于R⼜属于S得元组组成。
4、⼴义笛卡尔积:两个分别为n个属性与m个属性得关系R与S得⼴义笛卡尔积就是⼀个n+m列得元组得集合。
元组得前n列就是关系R得⼀个元组,后m列就是关系S得⼀个元组。
若R有k1个元组,S有k2个元组,则关系R与S得⼴义笛卡尔积有k1*k2个元组。
5、选择:⼜称限制,它就是在关系R中选择满⾜给定条件得诸元组。
选择就是从⾏得⾓度进⾏得运算。
6、投影:关系R上得投影就是从R中选择出若⼲属性列组成新得关系。
投影就是从列得⾓度进⾏得运算。
7、连接:它就是从两个关系得笛卡尔积中选取属性间满⾜⼀定条件得元组。
连接就是从⾏与列得⾓度进⾏得运算。
8、等值连接:连接运算中得连接运算符为“=”,从关系R与S得笛卡尔积中选取A,B属性值相等得元组。
9、⾃然连接:⼀种特殊得等值连接,它要求两个关系中进⾏⽐较得分量必须就是相同得属性组,并且要在结果中把重复得属性去掉。
10、除:给定关系R(X,Y)与S(Y,Z),其中X,Y,Z为属性组。
R中得Y与S中得Y 可以有不同得属性名,但必须出⾃相同得域集。
R与S得除运算得到⼀个新得关系P(X),P就是R中满⾜下列条件得元组在X属性列上得投影:元组在X上分量值x得象集Yx包含S在Y上得投影得集合。
除操作就是同时从⾏与列得⾓度进⾏得运算。
2、5、关系演算
1、定额检索:ALPHA中,指定检索出元组得个数,⽅法就是在W后括号中加上定额数量。
2、元组变量:主要⽤于1、简化关系名。
2、操作条件中使⽤量词时必须⽤元组变量。
3、集函数:关系演算中提供了COUNT,TOTAL,MAX,MIN,A VG等集函数。
4、域关系演算语⾔QBE:QBE就是query by example得简称,其最突出得特点就是它得操作⽅式。
它就是⼀种⾼度⾮过程化得基于屏幕表格得查询语⾔,⽤户通过终端屏幕编辑程序以填写表格得⽅式构造查询请求,⽽查询结果也就是以表格形式显⽰,因此⾮常得直观,易学易⽤。
2、6、关系数据库管理系统
1、E、F、CODD对关系系统分类:
(1)表式系统,这类系统仅⽀持关系数据结构,不⽀持集合级得操作。
表式系统实际上不能算关系系统。
倒排表列系统就属于这⼀类。
(2)最⼩关系系统,满⾜关系数据库与⽀持选择、投影与⾃然连接运算。
许多微机关系系统
如FoxPro就属于这⼀类。
(3)关系完备系统,这类系统⽀持关系数据结构与所有得关系代数操作。
DB2、ORACLE就属于这⼀类。
(4)全关系系统,这类系统⽀持关系模型得所有特征,特别就是数据结构中域得概念,实体完整性与参照完整性。
⽬前没有系统就是全关系系统。
第3章关系数据库标准语⾔SQL
3、1、SQL概述
1、结构化查询语⾔:structured query language,简称SQL,就是⼀种介于关系代数与关系演算之间得语⾔,其功能包括查询、操纵、定义与控制4个⽅⾯,就是⼀个通⽤得、功能极强得关系数据库语⾔。
⽬前已成为关系数据库得标准语⾔。
2、SQL得主要特点:
(1)综合统⼀。
SQL语⾔集DDL、DML、DCL得功能于⼀体,语⾔风格统⼀,可以独⽴完成数据库⽣命周期得全部活动,为数据库应⽤系统开发提供了良好得环境。
(2)⾼度⾮过程化。
SQL使⽤户⽆需了解存取路径,存取路径得选择以及SQL语句得操作过程由系统⾃动完成。
(3)⾯向集合得操作⽅式。
SQL语⾔采⽤集合操作⽅式,查找、插⼊、删除、更新操作得对象与结果都就是集合。
(4)以同⼀种语法结构提供两种使⽤⽅式。
SQL语⾔既就是⾃含式语⾔,⼜就是嵌⼊式语⾔,为⽤户提供了极⼤得灵活性与⽅便性。
(5)语⾔简洁,易学易⽤。
SQL语⾔语法简单,接近英语,易学易⽤。
3、2、数据定义
1、关系数据库:由模式、内模式、外模式组成,即关系数据库得基本对象就是表、视图、索引。
2、聚簇索引:就是指索引项得顺序与表中记录得物理顺序⼀致得索引组织。
⽤户可以在最常查询得列上建⽴聚簇索引以提⾼查询效率。
⼀个基本表只能建⽴⼀个聚簇索引。
经常更新得列不适合建⽴聚簇索引。
3、3、查询
1、单表查询:就是指仅涉及⼀个数据库表得查询,⽐如选择⼀个表中得某些列值。
2、全表查询:指⽆条件地把表中得全部信息都查询出来。
3、ESCAPE‘\’:表⽰\为换码字符,这样匹配字符串紧跟在\后⾯得字符不再具有通配符得含义,⽽就是取其本⾝含义。
4、连接查询:⼀个查询同时涉及两个以上得表。
连接查询就是关系数据库中最主要得查询,主要包括等值连接查询、⾮等值连接查询、⾃⾝连接查询、外连接查询与复合条件查询。
5、卡⽒积连接:就是不带连接谓词得连接。
两个表得卡⽒积连接就是两表中元组得交叉乘积,结果往往很⼤。
6、⾃⾝连接:⼀个表与其⾃⼰进⾏连接。
7、外连接:左外连接(连接符在连接运算符得右边)、右外连接(连接符在连接运算符得左边)。
8、复合条件查询:WHERE⼦句中有多个条件得连接操作。
9、查询块:⼀个SELECT-FROM-WHERE语句称为⼀个查询块。
10、嵌套⼦查询:将⼀个查询块嵌套在另⼀个查询块得WHERE⼦句或HAVING短语得条件中得查询。
3、4、数据更新
1、DELETE与DROP得区别:DELETE删除得就是表中得元组,没有删除数据字典中表得定义;DROP删除了表得所有元组及其定义。
3、5、视图
1、视图:视图就是关系数据库系统提供给⽤户以多种⾓度观察数据库中数据得重要机制。
视图就是从⼀个或⼏个基本表导出得表,它与基本表不同,就是⼀个虚表。
视图就像⼀个窗⼝,透过它可以瞧到数据库中⾃⼰感兴趣得数据及其变化。
视图⼀经定义就可以与基本表⼀样被查询、被删除,也可以在视图上定义新得视图。
2、虚拟列:由于视图中并不实际存储数据,所以定义视图时可以根据应⽤得需要,设置⼀些派⽣属性列,称它们为虚拟列。
3、分组视图:带有集函数与GROUP BY⼦句得查询视图。
4、视图得消解:DBMS在执⾏视图得查询时,⾸先进⾏有效性检查,检查查询涉及得表、视图就是否存在,如果存在,则从数据字典中取出查询涉及得视图得定义,把定义中得⼦查询与⽤户对视图得查询结合起来,转换为对基本表查询,然后再执⾏这个经过修正得查询。
将对视图得查询转换为对基本表得查询得过程称为视图得消解。
5、视图得⽤途:
视图能到来许多好处:
(1)视图能够简化⽤户得操作。
视图机制使⽤户可以将注意⼒集中在她所关⼼得数据上。
(2)视图使⽤户能以多种⾓度瞧待同⼀数据。
视图机制能使不同得⽤户以不同得⽅式瞧待同⼀数据。
(3)视图对重构数据库提供了⼀定程度得逻辑独⽴性。
逻辑结构改变后,修改视图即可,不必修改应⽤程序。
(4)视图能够对机密数据提供安全保护。
对不同得⽤户定义不同得视图,使机密数据不出现在不应该出现得视图上。
3、6、数据控制
1、数据控制:也称数据保护,包括数据得安全性控制、完整性控制、并发控制与恢复。
数据得完整性就是指数据库中得数据
得正确性与相容性。
并发控制就是指当多个⽤户并发地对数据库进⾏操作时,对她们加以控制、协调,以保证并发操作正确实⾏,并保证数据库得⼀致性。
恢复就是指当发⽣各种类型得故障,使数据库处于不⼀致状态时,将数据库恢复到⼀致状态得功能。
安全性就是指保护数据库,防⽌不合法得使⽤所造成得数据泄露与破坏。
3、7、嵌⼊式SQL
1、数据库⼯作单元与源程序⼯作单元之间得通信包括:
(1)向主语⾔传递SQL语句得执⾏状态信息,使主语⾔能够据此控制程序流程。
(2)主语⾔向SQL语句提供参数。
(3)将SQL语句查询数据库得结果交主语⾔进⼀步处理。
2、嵌⼊式SQL:将SQL语⾔嵌⼊到某种⾼级语⾔中,如C、COBOL等,利⽤⾼级语⾔得过程性结构弥补SQL语⾔在实现复杂应⽤⽅⾯得不⾜,在这种⽅式下使⽤得SQL语⾔称为嵌⼊式SQL,⽽嵌⼊SQL得⾼级语⾔称为宿主语⾔。
3、SQLCA:SQL语句执⾏后,系统要反馈给应⽤程序若⼲信息,主要包括描述系统当前⼯作状态与运⾏环境得各种数据,这些信息将送到SQL通信区SQLCA中。
应⽤程序从SQLCA中读取这些状态信息,据此决定接下来执⾏得语句。
4、主变量:嵌⼊式SQL语句中可以使⽤主语⾔得程序变量来输⼊或输出数据。
把在SQL语句中使⽤得主语⾔程序变量称为主变量。
5、指⽰变量:就是⼀个整形变量,⽤来指⽰所指主变量得值或条件。
⼀个主变量可以附带⼀个任选得指⽰变量。
6、游标:系统为⽤户开设得⼀个数据库缓冲区,存放SQL语句得执⾏结果。
每个游标区都有⼀个名字。
⽤户可以⽤SQL语句逐⼀从游标中获取记录,并赋给主变量,交由主语⾔进⼀步处理。
7、使⽤游标得步骤:
以游标机制作为桥梁,将多条记录⼀次⼀条送⾄宿主程序处理,从⽽把对集合得操作转换为对单个记录得处理。
使⽤游标得步骤就是:
(1)说明游标,⽤DECLARE语句为⼀条SELECT语句定义游标。
(2)打开游标,⽤OPEN语句将上⾯定义得游标打开。
(3)推进游标指针并取当前记录,⽤FETCH语句把游标推进。
(4)关闭游标,⽤COLSE语句关闭游标,释放缓冲区。
8、静态SQL语句:语句中主变量得个数与数据类型在预编译时都就是确定得,只有主变量得值就是程序运⾏过程中动态输⼊得。
9、动态SQL语句:允许⽤户在程序运⾏时临时组装SQL语句,主要有三种形式:语句可变,允许⽤户在程序运⾏时临时输⼊完整得SQL语句;条件可变,对于查询语句,条件⼦句有⼀定得可变性;数据库对象、查询条件均可变。
第4章关系数据库设计理论
4、1、数据依赖
1、数据依赖:就是通过⼀个关系中属性间值得相等与否体现出来得数据间得相互关系,就是现实世界属性间相互联系得抽象,就是数据内在得性质,就是语义得体现。
最重要得有函数依赖(FD),多值依赖(MVD)。
4、2、范式
1、1NF:如果⼀个关系模式R得所有属性都就是不可分得基本数据项,则R满⾜1NF。
在任何⼀个关系数据库系统中,1NF就是对关系模式得⼀个最起码得要求。
不满⾜1NF得数据库模式不能称之为关系数据库。
1NF存在得问题包括:插⼊异常、删除异常、数据冗余度⼤、修改复杂。
2、2NF:若关系模式R满⾜1NF,并且每⼀个⾮主属性都完全函数依赖于R得码,则R满⾜2NF。
2NF就就是不允许关系模式得属性之间有这样得函数依赖x->y,其中x就是码得真⼦集,y 就是⾮主属性。
2NF存在得问题包括:插⼊异常、删除异常、数据冗余度⼤、修改复杂。
3、3NF:如果关系模式R中不存在候选码X、属性组Y以及⾮主属性Z使得X决定Y,Y决定Z与Y不决定X成⽴,则R满⾜3NF。
3NF存在得问题包括:插⼊异常、删除异常、数据
冗余度⼤、修改复杂。