互联网数据库_第1页
互联网数据库_第2页
互联网数据库_第3页
互联网数据库_第4页
互联网数据库_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第 一 章数 据 库 概 论本章属于根底知识,主要是对一些概念的理解和记忆.没有难点,相对的重点在于ER 模型的设计和关系模型的掌握.一、数据治理技术的开展阶段(识记)数据治理技术共经历了三个阶段:人工治理阶段、文件系统阶段、数据库阶段:1、人工治理阶段的特点:(1)数据不保存在机器中(2)没有专用软件对数据进行治理(3)只有程序的概念,没有文件的概念.2、文件系统阶段的特点与缺陷:(1)数据可长期保存在磁盘上.(2)数据的逻辑结构与物理结构有了区别(3)文件组织呈现多样化(4)数据不再属于某个特定程序,可以重复使用.其缺陷是:数据冗余性 数据不一致性数据联系弱3、数据库阶段的特点采用复杂的数

2、据模型表示数据结构有较高的数据独立性数据结构分成用户的逻辑结构、整体逻辑结构和物理结构三级数据库系统为用户提供方便的用户接口,可以使用查询语言、终端命令或程序方式操作数据库.系统提供了四个方面的数据限制功能:数据库的恢复、并发限制、数 据完整性和数据平安性.对数据的操作不一定以记录为单位,还可以数据项为单位.数据库技术中的四个名词:DB、DBMS DBS数据库技术.其概念是不 同的,要分清.DB数据库Database,DB是统一治理的相关数据的集合.DBMS 数据库治理系统Database ManagementSystem, DBM星位于用户与操作系统之间的一层数据治理软件,为 用户或应用程序

3、提供访问 DB的方法,包括DB的建立、查询、更新及 各种数据限制.DBMS、是基于某种数据模型,可以分为层次型、网 状型、关系型、面向对象型 DBMSDBS数据库系统DatabaseSystem,DBS是实现有组织地、动态地存储大量关联数据,方便多用 户访问的计算机软件、硬件和数据资源组成的系统,即采用了数据库 技术的计算机系统.数据库技术:是一门研究数据库结构、存储、治理和使用的软件学科.二、数据描述的术语领会1、数据描述的三个领域:现实世界、信息世界和机器世界.信息世界中的几个概念:实体即客观存在可以相互区别的事物、实 体集同类实体的集合、属性实体的特性、实体标识符唯一标识 实体的属性集.

4、机器世界中的四个概念:字段、记录、文件、键 关键码.2、数据描述的两种形式:物理描述和逻辑描述.前者是指数据在存 储设备上的存取方式,后者是指程序员或用户以用以操作的数据形式.3、物理描述用到的术语有:位、字节、字、块、桶、卷4、数据联系的描述: 1: 1联系:如果实体集E1中的每个实体最多只能和实体集 E2中的 一个实体有联系,反之亦然,好么实体集 E1对E2的联系称为"一对 一联系",记为"1 : 1".1: N联系:如果实体集E1中每个实体与实体集E2中任意个零个 或多个实体有联系,而E2中每个实体至多和E1中的一个实体有联 系,那么E1对E2的联

5、系是"一对多联系",记为"1: N".M N联系:如果实体集E1中每个实体与实体集E2中任意个零个 或多个实体有联系,反之亦然,那么 E1对E2的联系是"多对多联 系",记为"M: N".三、数据模型1、数据模型的概念领会:表示实体类型及实体类型间联系的模型称为"数据模型".它可分为两 种类型:概念数据模型和结构数据模型.2、概念数据模型简单应用:它是独立于计算机系统的模型,完全不涉及信息在系统中的表示,只 是用来描述某个特定组织所关心的信息结构.应当掌握教材例1.1, 设计简单的ER模型3、结

6、构数据模型:它是直接面向数据库的逻辑结构,是现实世界的第二层抽象.这类模型涉及到计算机系统和数据库治理系统,所以称 为"结构数据模型".结构数据模型应包含:数据结构、数据操作、数 据完整性约束三局部.它主要有:层次、网状、关系三种模型.层次模型识记:用树型结构表示实体间联系的数据模型网状模型识记:用有向图结构表示实体类型及实体间联系的数据模 型.关系模型领会:是由假设干个关系模式组成的集合, 其主要特征是用 二维表格结构表达实体集,用外筵表示实体间联系.4、面向对象模型识记:通过对象和类的概念来建立的数据库模型, 是面向对象技术与数据库技术结合的产物,本节了解一下即可.四、

7、数据库的体系结构领会1、三级结构模式:数据库的体系结构分为三级:内部级、概念级和外部级:外部级:单个用户所能看到的数据特性,称外模式.概念级:涉及到所有用户的数据定义,是全局的数据视图,称"概念模 式.内部级:最接近于物理存储,涉及到实际数据存储的结构,称 "内模式.2、两级映象:模式/内模式映象:用于定义概念模式和内模式之间的对应性.一般在内模式中描述.外模式/模式映象:用于定义外模式和概念模式间的对应性.一般在外模式中描述.3 .两级数据独立性:物理数据独立性:修改内模式时尽量不影响概念模式及外模式,那么达到物理数据独立性.逻辑数据独立性:修改概念模式时尽量不影响外模式

8、和应用程序.4 .用户及用户界面:这里插一句,数据库模式可以理解为数据库结构.五、数据库治理系统(DBMS领会)1、DBMS勺主要功能:(1)数据库的定义功能(2)数据库的操纵功能 (3)数据库的保护功能(4)数据库的存储治理(5)数据库的维护功能(6)数据字典2、DBMS勺组成:由两大局部组成:查询处理器和存储治理器,前者包括DD印译器、DM牖译器、嵌入型DM顷编译器、查询运行核心程序.后者包括授 权和完整性治理器,事务治理器、文件治理器,缓冲区治理器.六、数据库系统(DBS领会)DBS由四局部组成:数据库、硬件、软件、数据库治理员.DBS勺全局2构及DBS勺效益,了解一下.第二章关系模型本

9、章为次重点章,我们经常使用的数据库均采用关系模型, 本章主要 介绍了关系模型的关系运算理论,主要在于对关系演算运算的理解, 为后面章节的SQL作准备.一、关系模型的根本概念(识记)1、关系模型的根本?5语:用二维表格结构表示实体集、外键表示实体间联系的数据模型称为关 系模型.根本术语有:字eB6幅,性、字段值属性值、记录元组、二维表 格元组集合、关系或实例.在这里,括号中的表述为关系模型中的 术语.它与表格中术语可以一一对应.还有,关系中属性个数称为元 数,元组个数为基数.键:由一个或几个属性组成.注意键不一定是唯一的一个属性.超键:在关系中能唯一标识元组的属性集称为关系模式的超键.注意,超键

10、也是一个属性集,不一定只是一个属性 候选键:不含有多余属性的超键称为候选键.主键:用户选作元组标识的一个候选键为主键.外键:某个关系的主键相应的属性在另一关系中出现, 此时该主键在 就是另一关系的外键,如有两个关系S和SC,其中S腥关系S的主键, 相应的属性S解关系SC中也出现,此时S僦是关系SC的外键.2、关系模式、关系子模式和存储模式关系模式:关系模式实际上就是记录类型.它包括:模式名,属性名, 值域名以及模式的主键.关系模式仅是对数据特性的描述.这通常 在数据库中表现为一个数据表的结构关系子模式:就是用户所用到那局部数据的描述.存储模式:关系存储时的根本组织方式是文件,元组是文件中的记录

11、.3、关系模型的三类完整性规那么实体完整性规那么:要求关系中组成主键的属性上不能有空值.参照完整性规那么:要求不引用不存在的实体.用户定义完整性规那么:由具体应用环境决定,系统提供定义和检验这 类完整性的机制.4、关系模型的形式定义:数据结构、数据操作和完整性规那么.二、关系代数运算简单应用1、关系代数的五个根本操作:并、差、笛卡尔积、投影和选择.并U:两个关系需有相同的关系模式,并的对象是元组,由两个关 系所有元组构成.差-:同样,两个关系有相同的模式,R和S的差是由属于R但不 属于S的元组构成的集合.投影.:对关系进行垂直分割,消去某些列,并重新安排列的顺序.选择兀:根据某些条件关系作水平

12、分割,即选择符合条件的元组.2、关系代数的四个组合操作:交、联接、自然联接和除法交A: R和S的交是由既属于R又属于S的元组构成的集合.联接包括0联接和F联接,是选择RXS中满足i 0 r+j或F条件 的元组构成的集合,特别注意等值联接0为等号"=".自然联接R|X|S:在RX S中,选择R和S公共属性值均相等的元组, 并去掉RXS中重复的公共属性列.如果两个关系没有公共属性,那么 自然联接就转化为笛卡尔积.除法+:首先除法的结果中元数为两个元数的差,以例 2.6为例, 我们可以直接用观察法来得到结果, 把S看作一个块,拿到R中去和 相同属性集中的元组作比拟,如果有相同的块

13、,且除去此块后留下的 相应元组均相同,那么可以得到一条元组,所有这些元组的集合就是 除法的结果.对于上述的五个根本操作和组合操作,应当从实际运算方面进行理解 和运用,对其形式定义可不必深究.注意课本上的例子.3、关系代数表达式及应用在关系代数表达式中,复合了上述五个根本操作,在给出相应的表格 关系中,应该能够根据给出的关系代数表达式计算关系值, 也要能 根据相应查询要求列出关系表达式.在列关系表达式时,通常有以下形式:兀.(T .(R x S)或者兀.(T .(R|X|S)首先把查询涉及到的关系取来,执行笛卡尔积或自然联接操作得到一 张大的表格,然后对大表格执行水平分割(选择)和垂直分割(投影

14、) 操作.但是注意当查询涉及到否认或全部值时,就不能用上述形式, 而要用到差或除法操作.三、关系演算(领会)关系演算分为元组关系演算或域关系演算,前者以元组为变量,后者以域为变量.元组演算表达式的一般形式为:t|P(t),其含义为:这是一个元组 集合,其中的每个元组t(t是元组变量)满足公式P所规定的条件. 所以在书写演算表达式时,应该注重理解公式P如何表达.域演算表达式的一般形式为:t1.tk|P(t1.,tk), 其含义为:这 是一个域集合,其中每个域变量的取值关系满足公式 P所规定的条件. 也是注意公式P的表达.以上两类演算需要一定的离散数学根底,如果不能很深刻的掌握,问题也不大,主要应

15、看懂表达式即可,对于给定的表达式和给定的关系, 应当能计算表达式的结果(得到一个关系)四、查询优化 查询优化的目的就是为了系统在执行时既省时间又能提升效率, 在关 系代数运算中,通常是先进行笛卡尔积或联接运算,再进行选择和投 影,恰当地安排选择、投影和联接的顺序,就可实现查询优化.优化的策略主要有以下几点:(1)在关系代数表达式中尽可能早地执行选择操作 (早选择).(2)把笛卡尔积和随后的选择操作合并成 F联接运算(F联接)(3)同时计算一连串的选择和投影操作(同时算)(4)保存同一子表达式的结果(5)适当对关系文件进行预处理(6)计算表达式之前先估计一下怎么计算合算.以上几点需要理解.根据表

16、达式优化的算法步骤对给定表达式进行优化第三章关系数据库SQL语言本章为重点章,应熟悉和掌握SQL的数据定义、数据查询、数据更新 的句法及其应用,特别是数据查询的应用.结合上机操作进行理解和 掌握.、SQL概述1、sql展历程(识记)SQLR 1970年美国 旧M研究中央的E.F.Codd发表论文到1974年Boyce和Chamberlin把SQUARE言改为SEQUE语言,到现在还在 不断完善和开展之中,SQL&吉构式查询语言)虽然名为查询,但实际 上具有定义、查询、更新和限制等多种功能.2、SQLB据库的体系结构(领会)SQ段据库的体系结构也是三级结构,但术语与传统关系模型术语不 同

17、,在SQL中,关系*II式称为“根本表",存储模式称为“存储文件", 子模式称为“视图",元组称"行",属性称"列".SQLB据库体系的结构要点如下:(1) 一个SQL数据库是表的聚集.(2) 一个SQLg由行集构成,行是列的序列,每列对应一个数据项.(3)表或者是根本表,或者是视图.根本表是实际存储在数据库中的 表,视图由是由假设干根本表或其他视图构成的表的定义.(4) 一个根本表可以跨一个或多个存储文件,一个存储文件也可存放 一个或多个根本表.存储文件与物理文件对应. 用户可以用SQLg句对表进行操作,包括视图和根本表.

18、(6)SQL的用户可以是应用程序,也可以是终端用户.3、SQL的组成(识记)SQL由四局部组成:(1)数据定义:SQL DDL定义SQLM式,根本表、视图和索引.(2)数据操纵:SQL DML包括数据查询和数据更新(增、删、改)(3)数据限制:包括对根本表和视图的授权、完整性规那么的描述,事 务限制等.(4)嵌入式SQL的使用规定.二、SQL的数据定义(简单应用)1、SQLM式的创立和撤消:SQL模式的创立可简单理解为建立一个数据库,定义一个存储空间, 其句法是:CREATSCHEMA模式名 AUTHORIZATION用户名撤消SQLM式的句法为:CASCADE|RESTRICT方括号中的选项

19、参数CASCADE示连锁方式,执行时将模式下所有基 本表、视图、索引等元素全部撤消. RESTRICT!示约束式,执行时 必须在SQL模式中没有任何下属元素时方可撤消模式.2、SQL供的根本数据类型数值型:包括 integer 、smallint、real、double precision 、 float(n),numeric(p , d)字符串型:char(n)、varchar(n),前者是定长,后者为变长串位串型:bit(n),bit varying(n) ,同上.时间型:date、time.3、根本表的创立、修改和撤消根本表的创立:(可理解为建立表结构)CREAT TABLE SQ膜式名

20、.根本表名(列名,类型,完整性约束) 完整性约束包括主键子句PRIMARYKEY卜检查子句CHECK和外键子 句Foreign KEY.根本表结构的修改ALTER TABLES本表名ADD/DROPI力口/删除列名类型名增加时写出删除时有子句CASCADE|RESTRICT前者为连锁删除,后者为约束 删除,即没有对本列的任何引用时才能删除.根本表的撤消DROP TABLES本表名CASCADE|RESTRICT4、视图的创立和撤消创立:CREAT VIEW视图名列名表AS SELECT查询语句撤消:DROP VIEW视图名5、索引的创立和撤消创立:CREAT UNIQUE INDE燎引名ON根

21、本表名列名表ASC|DESC撤消:DROP INDE臻引名总结:凡创立都用CREAT删除都用DRO改变用alter,再跟类型和 名字,附加子句很容易了.三、SQL的数据查询综合应用这一段是本章的重点内容,应该熟练掌握.首先了解根本句法:1、SELECT-FROM-WHERESELECTS名表逗号隔开FROM根本表或视图序列 WHER磔件表 达式在这里,重点要掌握条件表达式中各种运算符的应用,如 =>,<,<> 等算术比拟运算符、逻辑运算符 AND OR NOT集合成员资格运算符:IN, NOTIN,以及嵌套的SELECTS句的用法要特别注意理解.针对课本的例 题和课后习

22、题进行掌握.在查询时,SELECTS句可以有多种写法,如联接查询、嵌套查询和 使用存在量词的嵌套查询等.最好都掌握,但是起码应能写出一种正 确的查询语句.2.SELECT语句完整的句法:SELECTS名表逗号隔开FRO睚本表或视图序列WHER磔件表达式此为和条件子句 GROUP BYJ名序列分组子句HAVING组条件表达式组条件子句ORDER B洌名ASC|DESC.排序子句这段关于完整句法的内容能够理解也就问题不大了.3、SELEC曲句中的限定这一段内容主要是对SELEC话句进一步使用进行的深入学习,领会 以下各种限定的使用目的和方法.要求输出表格中不出现重复元组,那么在 SELECTED

23、DISTINCTSELECT子句中允许出现加减乘除及列名,常数的算术表达式WHEREF句中可以用BETWEEN.AND.来限定一个值的范围同一个根本表在SELECT®句中屡次弓I用时可用 AS来增加别名WHERE句中字符串匹配用LIKE和两个通配符,嗨口下划线.查询结果的结构完全一致时可将两个查询进行并 UNION茂INTERSEC偌EXCPT臊作查询空值操作不是用='null', 而是用IS NULL来测试.集合成员资格比拟用IN/NOT IN ,集合成员算术比拟用元组0 SOME/ALL可以用子查询结果取名表名列名序列来作为导出表使用根本表的自然联接操作是用 NA

24、TURAL INNER JOI陈实现的.四、SQL的数据更新简单应用简单应用就是掌握根本的句型并能套用在一些简单的查询要求上.1、数据插入:INSERT INTO根本表名列名表valueS 元组值或INSERT INTO根本表名列名表SELECT询语句其中元组值可以连续插入.用查询语句可以按要求插入所需数据.2、数据删除:DELETE FRO座本表名WHER磔件表达式 3、数据修改:UPDAT恚本表名SET列名=值表达式,列名=值表达式.WHER磔件表达式4、对视图的更新:我们知道,对视图的查询是和根本表相同的, 但是更新操作那么受到下 列三条规那么的限制:领会一下如果视图是从多个根本表使用联

25、接操作导出的,那么不允许更新.如果导出的视图使用了分组和聚合操作,也不允许更新.如果视图是从单个根本表使用选择和投影操作导出的, 并且包括了基 本表的主键或某个候选键,那么可以执行操作.这就相当于在根本表 上操作.这一节的关于增删改的操作要和前面关于数据库模式、表的增删改操 作进行比照学习,以加深理解.不要忘记上机实践.第四章 关系数据库的模式设计本章的理论性较强,学习时有无从下手的感觉,在学习时应多加思考, 从概念出发去理解理论,前后的理论有较强的联系,因此要逐个理解, 但对于理论的证实等内容那么不必深究, 本章重点是函数依赖,无损联 接、保持依赖和范式的概念.一、关系模式的设计问题识记关系

26、数据库是以关系模型为根底的数据库, 它利用关系来描述现实世 界.一个关系既可以用来描述一个实体及其属性,也可以用来描述实体间的联系.关系实质上就是一张二维表,表的行称为元组,列称为 属性.关系模式是用来定义关系的,这里的关系模式我们可以简单地理解为 一个表的结构,一个关系数据库包含一组关系,也就是包含一组二维 表,这些二维表结构体的集合就构成数据库的模式 也可以理解为数 据库的结构.关系数据库设计理论包括三个方面内容:数据依赖、范式、模式设计 方法.核心内容是数据依赖.泛关系模式:把现实问题的所有属性组成一个关系模式RU,这个关系模式就称为泛关系模式.数据库模式:把泛关系模式用一组关系模式的集

27、合p来表示时,这个p就是数据库模式.下面我们总结一下关系模式的相关内容从"大“至'小"的排列 泛关系模式-数据库模式-关系数据库-表结构-关系模式实例表记录行、列.关系模式的存储异常:数据冗余、更新异常、插入异常和删除异常二、函数依赖(FD)1、函数依赖的定义(领会):设有关系模式R(A1, A2, .An)或简记 为R(U), X, Y是U的子集,r是R的任一具体关系,如果对r的任 意两个元组t1,t2,由t1X=t2X导致t1Y=t2Y,那么称X函数决 定Y,或Y函数依赖于X,记为X-Y.X-Y为模式R的一个函数依赖.这个定义可以这样理解:有一张设计好的二维表,

28、X, Y是表的某些列(可以是一列,也可以是多列),假设在表中的第t1行,和第t2行上 的X值相等,那么必有t1行和t2行上的Y值也相等,这就是说Y函 数依赖于X.如以下图所示:A1A2A非目名(X)课程A6A7网立if名(Y) t1晓津专栏数据库原理计算机自考自测试卷计算机自考t2晓津专栏数据结构计算机自考自测试卷计算机自考t3晓津专栏面向对象计算机自考自测试卷计算机自考在表中,凡栏目名相同的,对应的网站名也必是相同的,那么此时说栏目名函数决定网站名,或“网站名"函数依赖于"栏目名".但是反过 来不一定,网站名相同时并不一定栏目名相同,所以这里的 Y-X是 不成立

29、的.要特别注意的是,在这张表中,任何一行的关系均应符合上述条件, 如果有一行不符合函数依赖的条件,那么函数依赖对于这个关系就不成 立.还有应该了解的是,函数依赖是否成立是不可证实的,只能通过属性 的含义来判断,上述表是一个关系实例,可以一条条进行验证,但是 对于模式设计来说,开始时并没有数据插入,我们只能附属性的含义 出发,如这个关系模式不仅是指一个站点,而是包括所有站点,那么有 可能出现相同的栏目名而网站名不是一样的情况,那么 "栏目名一网 站名"这个函数依赖就不成立了.上述例子可对照课本理论进行领会.2、函数依赖的逻辑蕴涵识记设F是关系模式R的一个函数依赖集,X,Y是R

30、的属性子集,如果从 F中的函数依赖能够推出 X-Y,那么称F逻辑蕴涵X-Y,记为F|=X-Y.如前面的例子,如果还有一属性"网址Z",且网站名是唯一的,那么,"网站名一网址"成立,同时 "专栏名一网站名"成立,根据我们对事实的掌握,可知"专栏名一网 址也是成立的.所以在这里,设 F=网站名Yf网址Z,专栏名 X一网站名Y,那么F逻辑蕴涵专栏名X网址Z.而函数依赖的闭包F堤指被F逻辑蕴涵的函数依赖的全体构成的集 合.3、键和FD的关系领会键是唯一标识实体的属性集.对于键和函数依赖的关系:有两个条件: 设关系模式RA1,A2.A

31、n , F是R上的函数依赖集,X是R的一个 子集,1X-A1A2.An 6 F+ 它的意思是X能够决定唯一的一个元组 不存在X的真子集Y,使得Y也能决定唯一的一个元组,那么 X就 是R的一个候选键.它的意思是X能决定唯一的一个元组但又没有 多余的属性集包含在任何一个候选键中的属性称为主属性,不包含在任何键中的属性为非主属性非键属性,注意主属性应当包含在候选键中.4、函数依赖FD的推理规那么简单应用前面我们举的例子中是以实际经验来确定一个函数依赖的逻辑蕴涵,但是我们需要一个推理规那么才能完全确定 F或F+的所有函数依赖.设有关系模式RU, X, Y, Z, W均是U的子集,F是R上只涉及到U 中

32、属性的函数依赖集,推理规那么如下:自反律:如果Y X U,那么X-Y在R上成立.增广律:如果X-Y为F所蕴涵,Z U,那么XZYZ在R上成立.XZ 表示XU Z,下同传递律:如果XY和YZ在R上成立,那么XZ在R上成立.合并律:如果X-Y和X-Z成立,那么X-YZ成立.伪传递律:如果XY和WY>Z成立,那么 WX>Z成立.分解律:如果X-Y和Z Y成立,那么X-Z成立.5、函数依赖推理规那么的完备性识记函数依赖推理规那么系统自反律、增广律和传递律是完备的.由推理 规那么的完备性可得到两个重要结论:属性集X+中的每个属性A,都有XA被F逻辑蕴涵,即X隹所有由F逻辑蕴含XA的属性A的集

33、合.F+是所有利用Amstrong推理规那么从F导出的函数依赖的集合6、函数依赖集的等价和覆盖(识记)在关系模式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中的任一函数依赖XfA, Z为X的子集.(F-X-A) UZ-A与F不等价.那么称F为最小函数依赖集合.如果函数依赖集F和G等价,并且G是最小集,那么称G是F的一个 最小覆盖.这一段并

34、不要求掌握最小集的求法,但是应当通过其求法理解最小集 的概念.三、关系模式的分解特性1、模式分解中存在的问题:(识记)模式分解就是将一个泛关系模式 R分解成数据库模式p ,以p代替 R的过程.它不仅仅是属性集合的分解,它是对关系模式上的函数依 赖集、以及关系模式的当前值分解的具体表现.分解一个模式有很多方法,但是有的分解会出现失去函数依赖、或出 现插入、删除异常等情况,而有的分解那么不出现相关问题.衡量一个分解的标准有三种:分解具有无损联接;分解要保持函数依 赖;分解既要保持依赖,又要具有无损联接.那么什么是无损联接呢?什么又是彳持依赖?2、无损联接的定义和性质(识记)设R是一关系模式,分解成

35、p =R1,R2, .,Rk , F是R上的一个函 数依赖集.无损联接就是指R中每一个满足F的关系r(也就是一个 关系实例)都有r=兀R1(r)|X|兀R2(r).|X| 兀R3(r),即r为它在Ri 上的投影的自然联接.最简单的理解,也就是说,分解后的关系自然连接后完全等于分解前 的关系,那么这个分解相对于F是无损联接分解.设R的分解为p=R1,R2,F为R所满足的函数依赖集,那么分解p具 有无损联接性的充分必要条件是:R1A R2H(R1-R2)R1A R2HR2-R1也就是说,分解后的两个模式的交能决定这两个模式的差集即 R1、 Rr的公共属性能够函数决定 R1或R2中的其他属性,这样的

36、分解就 必定是无损联接分解.3、保持函数依赖的分解识记在分解过程中,要求模式分解的无损联接是必要的, 只有无损联接分 解才能保证任何一个关系能由它的那些投影进行自然联接得到恢复.同时,分解关系模式时还应保证关系模式的函数依赖集在分解后仍在 数据库模式中保持不变,这就是保持函数依赖的问题.也就是所有分 解出的模式所满足的函数依赖的全体应当等价于原模式的函数依赖 集.只有这样才能保证整个数据库中数据的语义完整性不受破坏.四、关系模式的范式领会1、 1NF 2NF 3NF BCN用勺定义:1NF:第一范式.即关系模式中的属性的值域中每一个值都是不可再分解的值.如果某个数据库模式都是第一范式的,那么称

37、该数据库模式是属于第一范式的 数据库模式.比方有一个关系 串讲笔记=作者,课程,假设有这样几行记录: 作者课程晓津数据结构、数据库原理阿猫网络与通信这时的第一条记录就表示本关系模式不是 1NF的,由于课程中的值域 还是可以分解的,它包括了两门课程,如分为:作者课程晓津数据结构晓津数据库原理就成为第一范式的关系模式.2NF:第二范式.如果关系模式R为第一范式,并且R中每一个非主属性完全函数依赖 于R的某个候选键,那么称为第二范式模式.在这里要先了解"非主属性"、"完全函数依赖"、"候选键这三个名词 的含义.候选键就是指可以唯一决定关系模式 R中某

38、元组值且不含有多余属性的属性集.非主属性也就是非键属性,指关系模式R中不包含在任何建中的属性.设有函数依赖 此A,假设存在X W 有X-A成立,那么称 W>A是局部 依赖,否那么就称V-A是完全函数依赖.在分析是否为第2范式时,应首先确定候选键,然后把关系模式中的 非主属性与键的依赖关系进行考察,是否都为完全函数2览担维牵蛇 斯叵的J轿?NE如果数据库模式中每个关系模式都是 2NF的,那么此 数据库模式属于2NF的数据eBF悖J健? 3NF:第三范式.如果关系模式R是第二范式,且每个非主属性都不传递依赖于 R的候 选键,那么称R为第三范式的模式.这里首先要了解传递依赖的含义: 在关系模式

39、中,如果 力X, X-A, 且X不决定Y和A不属于X,那么Y-A是传递依赖.注意的是,这里要求非主属性都不传递依赖于候选键.BCNF这个范式和第三范式有联系,它是3NF的改良形式.假设关系模 式R是第一范式,且每个属性都不传递依赖于 R的候选键.这种关系 模式就是BCN蟆式.纵观四种范式,可以发现它们之间存在如下关系:BCNF 3NF 2NF 1NF1NF;消去非主属性对键的局部函数依赖2NF;消去非主属性对键的传递函数依赖3NF;消去主属性对键的传递函数依赖BCNF5、分解成BCNFt式集的算法(识记)对于任一关系模式,可找到一个分解到达 3NF且具有无损联接和保 持函数依赖性.而对于BCN

40、吩解,那么可以保证无损联接但不一定能 保证保持函数依赖集.无损联接分解成BCNF1式集的算法:置初值p =R;(2)如果p中所有关系模式都是BCNF那么转(4);如果p中有一个关系模式S不是BCNF那么S中必能找到一个函数依赖集X-A有X不是S的键,且A不属于X,设S1=XA S2=S-A, 用分解S1,S2代替S,转(2);(4)分解结束.输出 在这个过程中,重点在于3步,判断哪个关系不是BCNF并找到X 和A.这里,S的判断用BCN用勺定义,而X不是S的键那么依靠分析.6、分解成3NF模式集识记算法:1如果R中的某些属性在F的所有依赖的左边和右边都不出现,那 么这些属性可以从R中分出去,单

41、独构成一个关系模式.如果F中有一个依赖X-A有XZR,那么p =R,转43对于F中每一个X A,构成一个关系模式XA,如果F有有X A1,X A2.X An,那么可以用模式 XA1A2.An代替n个模式XA1,XA2.XAn;4w分解结束,输入p.这个过程的重点是这一句"对于F中每一个X A,构成一个关系模式 XA",这使我们的分解十分容易,然后依据合并律合并律:如果X-Y 和X-Z成立,那么X-YZ成立将有关模式合并即得到所需3NF模式.7、模式设计方法的原那么识记关系模式R相对于函数依赖集F分解成数据库模式p=R1,R2.Rk, 一般具有下面四项特性:P中每个关系模式R

42、i上应具有某种范式性质3NF或BCNF无损联接性.保持函数依赖集.最小性,即P中模式个数应最少且模式中属性总数应最少.一个好的模式设计方法应符合以下三条原那么:表达性别离性最小冗余性8、多值依赖.简单了解一下.第五章数据库设计与上一章不同,本章的实用性较强,详细讲述了数据库应用系统设计 的全过程.重点是概念设计中ER模型的设计方法,逻辑设计中ER模 型向关系模型的转换方法.一、数据库设计概述识记1、软件生存期:是指从软件的规划、研制、实现、投入运行后的维护、直到它被新的软件所取代而停止使用的整个期间.它包括六个阶段:规需设编试运维1规划阶段(2)需求分析阶段设计阶段(4)程序编制阶段调试阶段(

43、6)运行维护阶段2、数据库系统生存期数据库应用系统的开发也是一项软件工程,称为数据库工程,数据库应用系统也有生存期的概念,通常包括七个阶段:(1)规划阶段(2)需求分析阶段(3)概念设计阶段(4)逻辑设计阶段(5)物理设计阶段(6)实现阶段(7)运行维护阶段3、数据库设计方法学一个好的数据库设计方法应该能在合理的期限内, 以合理的工作量产 生一个有实用价值的数据库结构.数据库及其应用系统的设计分为以下几个阶段:规划、需求分析、概 念设计、逻辑设计、物理设计.二、规划识记数据设计中的规划阶段的主要任务是进行建立数据库的必要性及可 性性分析,确定数据库系统在组织中和组织中和信息系统中的地位, 以及

44、各个数据库之间的联系.三、需求分析识记需求分析阶段应对系统的整个应用情况作全面的、详细的调查、确定 用户的目标,收集支持系统总的设计目标的根底数据和对这些数据的 要求,确定用户需求,并把这些要求写成用户和数据库设计者都能够 接受的文档.确定用户需求可以通过对不同层次的企业治理人员进行个人访问得 到.还应了解系统将来要发生的变化,充分考虑系统的可能的扩充和 变动,使系统设计更符合未来开展方向.需求分析的步骤大致分为三步:即需求信息的收集、分析整理和评审 数据字典:是对系统中数据的详尽描述,它提供对数据库数据描述的 集中治理.它包含以下几个局部:数据项、数据结构、数据流、数据 存储和加工过程.四、

45、概念设计识记1、概念模型:可以看成是现实世界到机器世界的一个过渡的中间层 次.在设计数据库系统时,要把现实世界的事物通过熟悉和抽象转换 为信息世界的概念模型,再把概念模型转换为机器世界的数据模型.2、概念设计的主要步骤:分三步完成:1进行数据抽象,设计局部 概念模式;2将局部概念模式综合成全局概念模式;3评审.3、数据抽象:数据抽象的两种形式:聚集和概括:聚集:其数学意义就是笛卡尔积的概念,通过聚集,形成对象之间的一个联系对象.如有一些对象:"老师,课程,班级,上课时间 通过 聚集可以得到一个联系对象"课程表".聚集表示的是"is_part_of&quo

46、t; 的关系.概括:是从一类其他对象形成一个对象.如有桃树、李树、杏树等对象,我们通过概括或以得到一个对象"树".概括表示的是“is_a"的关 系,如"李树"是一种"树".4、根本ER模型的扩展领会ER实体联系模型是对现实世界的一种抽象,它的主要成份是实体、联系和属性.但是在现实世界中还有一些特殊的语义.需要扩展ER模型的概念才能更好地模拟现实世界.依赖联系:在现实世界中,有些实体对一另一些实体有很强的依赖关 系,即一个实体的存在必须以另一实体的存在为前提.前者就称为 " 弱实体",如在人事治理系统中,职

47、工子女的信息就是以职工的存在 为前提的,子女实体是弱实体,子女与职工的联系是一种依赖联系.在ER图中用双线框表示弱实体.用箭头表示依赖联系.子类:在现实中,存在某个实体类型中所有实体同时也是另一实体类 型中的实体,此时,我们称前一实体类型为者的子类,后一实体类型 称为超类.子类有一个很重要的性质继承性.在 ER图中,超类用两 端双线框表示,并用加圈的线与子类相连.5、ER模型的操作领会ERJI型在数据库概念设计过程中经常需要进行变换,包括实体类型、 联系类型和属性的分裂、合并和增删等.实体类型的分裂包括垂直分割、水平分割.注意在垂直分割时,键必须在分裂后的每个实体类型中出现. 在联系 类型合并

48、时,所合并的联系类型必须是定义在相同的实体类型中.6、采用ER方法的数据库概念设计领会采用ER方法进行数据库概念设计分成三步进行: 首先设计局部ER模式然后把各局部ER模式综合成全局ER模式最后对全局ER模式进行优化五、逻辑设计1、概念设计的结果是得到一个与 DBMSE关的概念模式.而逻辑设计 的目的是把概念设计阶段设计好的根本 ER图转换为与选用的具体机 器上的DBMSf支持的数据模式相符合的逻辑结构包括数据库模式 和外模式.第六章数据库保护本章不是重点章节,主要内容包括数据库保护的四种举措, 数据库的 恢复、并发限制、完整性和平安性.了解这些内容及其在 SQL语言中 的实现方式.一、数据库

49、的恢复领会1、事务的概念:事务是一个操作序列.这些操作要么什么都做,要 么都不做,是一个不可分割的工作单位.事务以 BEGINTRANSACTION句开始,以COMMITg交语句或ROLLBAC题退或撤 消语句结束.一个程序的执行可通过假设干事务的执行序列来完成.2、事务的性质:原子性(atomicity)、一致性(consistency)、隔离 性(isolation) 和持久性(durability) .称为事务的ACID性质.通过教材的例子来理解事务的性质.3、故障类型和恢复方法故障类型恢复方法事务故障应用程序自动进行恢复系统故障重新启动时那么恢复子系统将所有 7钦As终止的事务回退,恢

50、复到正确状态.介质故障通过DBMSE其他务份磁盘或第三级介质中的内8菰俑Bt制回来4、恢复的根本原那么和实现方法恢复的根本原那么很简单,就是“冗余",即数据的重复存储.实现方法有:(1)定期对数据库进行复制或转储(dump).注意几个概念:静态转储、动态转储、海量转储和增量转储.建立"日志"文件3恢复.发生故障时有两种处理方法,如数据库已破坏,那么由 DBA 装入最近备份的数据库然后利用"日志文件"执行REDC®做操作.如数据库未被损坏,但某些数据不可靠,那么系统会自动执行UNDO!作恢复数据.5、运行记录优先原那么即先记录,再更新,

51、先记完,再结束1至少要等相应的运行记录已经写入“日志文件后,才能允许事务 往数据库在写数据.2直到事务的所有运行记录都已写入运行"日志"文件后,才能允许 事务完成"END TRANSACTION®.6、SQL中的恢复操作,可上机观察.二、数据库的并发限制领会1、并发限制带来的三类问题:1丧失更新的问题2不一致分析问题3"脏数据"的读出.在数据库技术中,未提交的随后又被撤消的数 据为“脏数据.2、为解决并发限制带来的问题,通常要采用封锁locking技术,常 用的封锁有:排它型封锁X封锁和共享型封锁S封锁两种.X封锁的规那么称为PX协议

52、,其内容为:任何企图更新记录 R的事务必须先执行LOCKX(R)操作,以获得对该记录进行寻址的水平,并对它取得 X封锁.如 果未获得X封锁,那么这个事务进入等待状态,一直到获准 X封锁, 事务继续进行.简记为:先锁X,再执行,取不到,就等待.PXCB议:它由PX协议及一条规那么X封锁必须保存到事务终点 (COMMIT ROLLBACK群成.S封锁的规那么称为PS协议:其内容为:任何要更新记录 R的事务必 须先执行LOCKS(R)操作,以获得对该记录寻址的水平并对它取得 S封锁.如果未获 准S封锁,那么这个事务进入等待状态,一直到获准 S封锁,事务才 继续进行下去.当事务获准对记录R的要封锁后,

53、在记录R修改前必 须把S封锁升级为X封锁.简记为:先锁S,再执行,锁不到,就等待,假设要修改那么升 X.PSCB议:由PS协议和"将S封锁保持到事务终点"组成.3、活锁:是指某个事务永远处于等待状态,得不到执行的现象.避 免活锁的方法是采用"先来先效劳"策略.死锁:有两个或以上的事务处于等待状态, 每个事务都在等待另一个 事务解除封锁,它才能继续执行下去,结果任何一个事务都无法执行, 这种现象就是死锁.解除死锁的方法是由DBM外的"死锁测试程序"来检查,如发现死锁 那么牺牲一个事务,并做回退操作,解除它的所有封锁.4、两段封锁法识记两

54、段封锁协议规定所有事务都要遵守以下规那么:1在对任何数据进 行读写操作之前,事务首先要获得对该数据的封锁; 2在释放一个 封锁之后,事务不再获得任何其他封锁.针对课本的例子来理解.三、数据库的完整性领会1、数据库的完整性是指数据的正确性和相容性.数据库中数据发生 错误,往往是由非法更新引起的.数据库完整性是通过DBMS勺完整性子系统实现的,它有两个功能:1监督事务的执行,并测试是否违反完整性规那么.2如有违反,那么采取恰当的操作,如拒绝、报告违反情况,改正错 误等方法进行处理.数据库完整性子系统是根据"完整性规那么集"工作的,这些完整性规那么包括:域完整性规那么、域联系的规

55、那么、关系完整性规那么一个比一个大2、SQL中的完整性约束在SQL中,表达完整性约束的规那么有主键约束、外键约束、属性值约 束和全局约束等多种形式.主键约束:可用主键子句或主键短语 PRIMARY KE侏定义.外键约束:可用外键子句来定义如FOREIGNKEY(S#) REFERN(S#)属性值约束:包括非空值约束NOT NULL和基于属性的检查子句CHECK及域约束子句 如 CREAT DOMAIN AGE SMALLINT CHECK value>10全局约束:包括基于元组的检查子句CHECK口断言CREATEASSERTIONS言名 CHECK条件.四、数据库的平安性识记数据库的平

56、安性是指保护数据库预防不合法的使用,以免数据的泄漏、非法更改和破坏.1、平安性级别:包括环境级、职员级、.缴、网络级和数据库系统级.2、用户或应用程序使用数据库的方式称为权限,权限的种类:访问数据权限:读、插入、修改、删除四种 修改数据库模式权限:索引创立或删除索引、资源创立新关系、 修改增删关系结构属性和撤消权限撤消关系3、权限的转授与回收:画一个权限图,只要根结点到用户结点之间 存在一条路径,那么它就有权限,回收时就是删去某些路径.4、SQL中的平安性限制SQL中有两个平安机制:一是视图机制、二是授权子系统.视图是从一个或几个根本表导出的表, 是虚表,视图定义后可以像基 本表一样用于查询和删除,但其更新操作增、删、改会受到限制.视图机制把用户可以使用的数据定义在视图中, 这样用户就不能使用 视图定义外的其他数据,从而保证了数据库的平安性.视图机制使系 统具有三个优点:数据平安性、数据独立性和操作简便性.授权机制可以保证用户只能进行其权限范

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论