




已阅读5页,还剩54页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1,软件设计师教程,宋安平上海大学计算机学院Apsong021-563316722004年10月24日,2,数据库技术基础,基本概念数据模型关系代数关系数据库SQL语言关系数据库规范化数据库的控制功能,2020/6/15,3,第一节基本概念,数据库与数据库管理系统数据管理技术的发展DBMS的功能DBMS的特征数据库的三级模式结构,4,一、数据库与数据库管理系统,1、数据库管理系统(DBMS):是位于用户与操作系统之间的一层数据管理软件,为用户和应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据控制。2、数据库(DB):是统一管理的相关数据的集合。,5,二、数据管理技术的发展,发展经过三个阶段:人工管理阶段文件系统阶段三个缺陷:数据的冗余性、数据不一致性、数据联系弱。数据库阶段采用复杂的数据模型表示数据结构、有较高的数据独立性。,6,三、DBMS的功能,数据定义数据库操作功能(检索和更新)数据库运行管理(数据库的恢复、并发性、完整性、安全性)数据组织、存储和管理数据库的建立和维护其他功能,7,四、DBMS的特征,特征数据结构化且统一管理较高的数据独立性数据控制功能RDBMSOODBSORDBS,8,五、数据库的三级模式结构,1、外模式:又称子模式、用户模式,是用户和数据库系统的接口,是用户用到的那部分数据的描述。概念模式:又称模式,是数据库中全部数据的整体逻辑结构的描述。内模式:又称存储模式,是数据库在物理存储方面的描述。2、两级映象模式/内模式映象,外模式/模式映象。3、两级数据独立性物理数据独立性,逻辑数据独立性。,9,第二节数据模型,数据模型的基本概念数据模型的三要素问题实体联系模型(ER图)层次模型网状模型关系模型,10,1、数据描述的三个领域现实世界:存在与人们头脑以外客观世界。信息世界:现实世界在人们头脑中的反映。机器世界:信息世界的信息在机器世界中以数据形式存储。2、信息世界和机器世界术语的关系:信息世界机器世界实体记录属性字段实体集文件实体标识符关键码,一、数据模型的基本概念,11,二、数据模型的三要素问题,数据库的逻辑结构,与硬件、DBMS有关,有三部分构成:数据结构数据操作数据完整性四种数据模型:层次模型网状模型关系模型面向对象模型,12,三、实体联系模型(ER图),实体的联系有两类一类是实体内部(属性之间)的联系(第5节讨论)一类是实体集内部(实体和实体之间)的联系(本节讨论)实体间的联系有三种:两个实体集中各实体之间的联系:一对一(1:1)、一对多(1:N)、多对多(M:N)三个实体集中各实体之间的联系。同一实体集内部各实体之间的联系。,13,三、实体联系模型(续),属性:简单属性和复合属性单值属性和多值属性NULL属性派生属性E-R方法扩充的E-R模型弱实体超类和子类,14,四、层次模型,创始:1968年美国IBM公司的IMS系统数据结构:树结构特点:数据联系通过指针实现缺点:不能直接表示多对多,15,五、网状模型,创始:1969年CODASYL的DBTG报告数据结构:有向图结构特点:数据联系通过指针实现缺点:结构复杂,16,六、关系模型,创始:1970年E.F.Codd提出关系模型数据结构:二维表特点:表间公共属性缺点:效率低,17,第三节关系代数,关系模型的基本概念关系代数扩充的关系代数,18,一、关系模型的基本概念,属性和域属性:描述实体的特征域:属性的取值范围笛卡尔积和关系,19,一、关系模型的基本概念(续),术语超键:在关系中能惟一标识元组的属性集称为关系模型的超键。候选键:不含有多余属性的超键称为候选键。主键:用户选作元组标识的一个候选键称为主键。主属性:包含在任何候选键中的属性。外键:该属性不是本关系的主键,正好是另外一个关系的主键,则该属性称为本关系的外键。全码:所有属性组是这个关系模式的候选码。,20,一、关系模型的基本概念(续),关系的3种类型基本关系查询表视图关系数据库模式完整性约束实体完整性参照完整性用户定义完整性,21,二、关系代数,关系运算理论分为关系代数和关系演算两种关系代数是由一组以关系作为运算对象的特定的运算符组成常用的运算为九种:并、交、差、笛卡尔积、联接、自然联接、投影、选择、除运算等,其中五种为基本运算:并、交、笛卡尔积、投影、选择运算。,22,二、关系代数(续1),关系代数的五种基本运算设有两个关系R和S具有相同的关系模式。并()RSttRtS,t为元组变量,R和S结构相同。差(-)R-SttRtS,t为元组变量,R和S结构相同。笛卡尔积()RStt=tr,tstrRtsS投影()i1,im(R)tt=ti1,timt1,tkR选择()F(R)ttRF(t)true,F是由逻辑运算符和比较运算符连接运算对象构成的表达式。,23,二、关系代数(续2),关系代数的四种组合运算交RSR-(R-S)或RSS-(S-R)联接RSAB(RS)其中A是R的AB属性,B是S的属性。自然联接RS去掉S中公共属性(公共属性上值相等(RS)除RS可以视为笛卡尔积的逆运算。,24,三、扩充的关系代数,广义投影外联接左外联接右外联接全外联接外部并,25,第四节关系数据库SQL语言,SQL数据库体系结构SQL的基本组成SQL数据定义SQL数据查询SQL数据更新嵌入式SQL,26,一、SQL数据库体系结构,1、SQL发展1986年10月,ANSI颁布美国标准的SQL语言,1987年6月,ISO采纳为国际标准,1992年推出SQL2,1999年推出SQL3,本章介绍SQL2。2、SQL数据库的体系结构SQL数据库的体系结构基本上也是三级结构。SQL数据库是表的汇集,表或是基本表,或是视图,基本表是实际存储在数据库中的表,而视图是若干基本表或其它视图构成的表的定义。一个基本表可以跨一个或多个存储文件,一个存储文件也可以放一个或多个基本表。用户可以用SQL语句对视图和基本表进行查询等操作。,27,二、SQL的基本组成,SQL分四部分:数据定义DDL:CREATE,DROP,ALTER数据操纵DML:SELECT,INSERT,DELETE,UPDATE数据控制DCL:GRANT,REVOKE嵌入式SQL,28,三、SQL数据定义,SQL数据定义部分包括对SQL模式、基本表、视图和索引的创建和撤消操作。(1)SQL模式的创建和撤消SQL模式的创建:CREATESCHEMA模式名AUTHORIZATION用户名SQL模式的撤消:DROPSCHEMA模式名CASCADE|RESTRICT(2)基本表的创建、修改和撤消基本表的创建:CREATETABLE基本表名(列名类型完整性约束)类型为基本数据类型,完整性约束有三个子句:主键子句(PRIMARYKEY)、检查子句(CHECK)、外键子句(FOREIGNKEY)。基本表的修改:ALTERTABLE基本表名ADD列名类型ALTERTABLE基本表名DROP列名CASCADE|RESTRICT基本表的撤消:DROPTABLE基本表名CASCADE|RESTRICT,29,三、SQL数据定义(续),SQL数据定义部分包括对SQL模式、基本表、视图和索引的创建和撤消操作。(3)视图的创建和撤消视图的创建:CREATEVIEW视图名(列名表)ASSELECT查询语句视图的撤消:DROPVIEW视图名(4)索引的创建和撤消索引的创建:CREATEUNIQUEINDEX索引名ON基本表名(列名表)索引的撤消:DROPINDEX索引名,30,四、SQL数据查询,SELECT语句的完整句法:SELECTDISTINCT目标列的列名或列表达式序列FROM基本表和视图序列WHERE行条件表达式GROUPBY列名序列HAVING组条件表达式ORDERBY列名ASC|DESC,31,五、SQL数据更新,SQL的数据更新包括:数据插入、删除和修改。(1)数据插入单元组值的插入:INSERTINTO基本表名(列名表)VALUES(元组值)多元组值的插入:INSERTINTO基本表名(列名表)(TABLE(元组值),(元组值),)查询结果的插入:INSERTINTO基本表名(列名表)SELECT查询语句(2)数据删除DELETEFROM基本表名WHERE条件表达式(3)数据修改UPDATE基本表名SET列名=值表达式,列名=值表达式WHERE条件表达式,32,五、SQL的访问控制,SQL中的用户权限及操作六类权限:SELECT,INSERT,DELETE,UPDATE,REFERENCES,USAGE。授权(GRADE)语句:将关系和视图操作权授予特定用户GRANTONTOWITHGRANTOPTION;回收(REVOKE)语句:回收已授给某用户的权限。REVOKEONFROM;,33,六、嵌入式SQL,(1)SQL语言的运行环境SQL语言有两种使用方式:交互式SQL和嵌入式SQL。SQL语言和宿主语言(高级语言)在数据类型上有很大的差别。嵌入式SQL的实现有两种处理方式:扩充宿主语言的编译程序和预处理方式。SQL语句与宿主语言程序间信息的传递是通过共享变量实现的。(2)嵌入式SQL的使用规定在程序中要区分SQL语句与宿主语言语句,所有SQL语句前必须加上前缀“EXECSQL”和结束标志“;”。允许嵌入的SQL语句引用的程序变量(共享变量)。SQL的集合处理方式与宿主语言单记录处理方式之间的协调用游标(CURSOR)机制。与游标有关的语句有四个:游标定义(DECLARE)、打开(OPEN)、推进(FETCH)、关闭(CLOSE)。,34,六、嵌入式SQL(续),(3)嵌入式SQL的使用技术SQLDDL语句只要加上前缀标识“EXECSQL”和结束标识“ENDEXEC”,就能使用。SQLDML语句使用时有两种技术:不涉及游标的SQLDML语句如果是INSERT、DELETE和UPDATE语句,加上前缀标识“EXECSQL”和结束标识“ENDEXEC”,就能嵌入在宿主语言程序中使用。对于SELECT语句,如果查询结果是单元组时,也可以嵌入在宿主语言程序中使用。涉及游标的SQLDML语句当SELECT语句查询结果是多个元组时,一定要用游标机制把多个元组一次传送给宿主语言程序中使用。对游标指向元组时,可以进行修改和删除操作。,35,第五节关系数据库规范化,函数依赖规范化模式分解及其特性,36,一、函数依赖,函数依赖(FD)的定义设有关系模式R(A1,A2,An),X,Y是U的子集,r是R的任一具体关系,如果对r的任意两个元组t1,t2,由t1X=t2X导致t1Y=t2Y,则称X函数决定Y,记为XY。非平凡的函数依赖平凡的函数依赖完全函数依赖部分函数依赖传递函数依赖,37,一、函数依赖(续),键设有关系模式R(A1,A2,An),F是R的一个函数依赖集,X是A1,A2,An的一个子集。如果XA1A2AnF+,且不存在X真子集Y,使得YA1A2An成立,则称X是R的候选键。包含在任何一个候选键中的属性称为主属性不包含在任何一个候选键中的属性称为非主属性。,38,一、函数依赖(续),多值依赖MVD多值依赖:设R(U)是属性集U上的一个关系模式,X,Y是U的子集,若对R(U)的任一关系r,对于X的一个给定的值存在着Y的一组值与其对应,同时Y的这组值又不以任何方式与U-X-Y中的书香相关,那么称Y多值依赖于X,记XY。,39,一、函数依赖(续),函数依赖的推理规则设有关系模式R(A1,A2,An)和属性集U=A1A2An,X,Y,Z,W是U的一个子集,F是R的一个函数依赖集,推理规则如下:自反律:如果YXU,则XY在R上成立。增广律:如果XY为F所蕴涵,ZU,则XZYZ在R上成立。传递律:如果XY和YZ在R上成立,则XZ在R上成立。FD的其它三个推理规则:合并律:如果XY和XZ成立,则XYZ也成立。伪传递律:如果XY和WYZ成立,则WXZ也成立。分解律:如果XY和ZY,则XZ成立。,40,二、规范化,第一范式1NF如果关系模式R的所有的属性的值域中每一个值都是不可分解的值,则称R是属于1NF。第二范式2NF如果关系模式R为1NF,并且R中的每一个非主属性完全函数依赖于R的某个候选键,则称R是属于2NF。第三范式3NF如果关系模式R为2NF,并且R中的每一个非主属性都不传递依赖于R的候选键,则称R是属于3NF。,41,二、规范化(续),巴克斯范式BCNF如果关系模式R为1NF,并且R中的每一个属性都不传递依赖于R的候选键,则称R是属于BCNF。第四范式4NF关系模式R,D是一个多值依赖集,如果D中存在一个非平凡的多值依赖XY,并且X必是R的码,那么称R是4NF。,42,三、模式分解及其特性,无损联结设有关系模式R,分解成关系模式=R1,R2,RK,F是R的一个函数依赖集。如果对R中满足F的每一个关系r都有:r=R1(r)R2(r)Rk(r)则称这个分解是无损联结分解。其中m(r)=R1(r)R2(r)Rk(r)称为关系r的投影联结变换。保持函数依赖的分解设F是属性集U上的一个函数依赖集,Z是U上的一个子集,F在Z上的一个投影定义为:Z(F)=XYXYF+且XYZ设关系模式R的一个分解为=R1,R2,RK,F是R的一个函数依赖集,如果F+=(URi(F)则称分解保持函数依赖。,43,三、模式分解及其特性(续),无损联结的测试:关系模式R,F是R的一个函数依赖集,R分解成关系模式=R1,R2,RK,判断是否是无损联结的方法:构造一张K行N列的表格,每列对应一个属性Aj,每行对应一个模式Ri,如果Aj在Ri中,那么在表格的交叉处填上aj,否则填上bij。反复检查F中的每一个函数依赖,并修改表格中的元素。若表格中有一行是全a,则是无损联结,否则不是。如果R分解成关系模式=R1,R2,分解是否是无损联结的充分必要条件为:R1R2(R1R2)或R1R2(R2R1),44,第六节数据库的控制功能,事务管理数据库的备份与恢复并发控制安全性和授权,45,一、事务管理,事务的概念事务是由若干数据库操作组成的一个逻辑工作单位,是一个不可分割的工作单位。事务是DBS的主要处理对象,事务在DBS中的地位类似进程在OS中的地位。一个应用程序可以包括多个事务。事务以BEGINTRANSACTION语句的成功执行开始,以COMMIT或ROLLBACK语句的成功执行结束。COMMIT(提交)语句表示一事务的全部操作都已成功,它对DB的所有更新可真正写到DB中。ROLLBACK(回退)语句表示事务没有成功地完成全部操作,系统将撤消该事务对DB已作的更新。,46,一、事务管理(续),事务有四个重要性质:原子性、一致性、隔离性和持久性。通常称为“ACID性质”。原子性(atomicity):事务对数据库的更新要么全部起作用,要么完全不起作用。DBMS的事务管理子系统一致性(consistency):事务将数据库从一个一致性状态转变为另一个一致性状态。程序员(正确地编写事务)DBMS的完整性子系统隔离性(isolation):事务相互隔离,在多个事务并发执行时,任一事务的更新操作在该事务成功提交前对其他事务都是不可见的。DBMS的并发控制子系统持久性(durability):事务一旦成功提交,其对数据库的更新就永久有效,不会因系统崩溃等而丢失。DBMS的恢复管理子系统,47,二、数据库的备份与恢复,数据库备份的必要性非预期事务故障:运算错误、数据错误、死锁等,故障事务夭折可预期事务故障:在事务中可预期出错的地方所加的ROLLBACK语句系统故障:硬件、系统软件出错,停电等,事务执行被打断,内存中数据被破坏介质故障:磁头、磁盘控制器或磁盘损坏,盘上数据丢失,病毒破坏等,DB遭破坏计算机病毒,48,二、数据库的备份与恢复,数据库恢复的基本策略和实现方法恢复的基本策略:冗余(数据重复存储)实现方法:备份定期对数据库复制或转储(静态转储和动态转储,海量转储和增量转储)。日志执行事务时,记录其开始、结束和对DB的每次更新操作。,49,二、数据库的备份与恢复,数据库恢复的基本策略和实现方法恢复出故障时利用备份和日志进行恢复。事务故障:对故障事务作撤消(UNDO)操作系统故障:重启DBMS,利用日志:对未完成事务做撤消(UNDO)操作对已提交但其更新结果尚留在系统缓冲区的事务作重做(REDO)操作,重新执行故障发生时未完成的事务。介质故障:重装最新的备份,利用日志对此备份以来的全部成功事务进行REDO操作,以使DB恢复到故障发生前的正确状态。,50,二、数据库的备份与恢复,数据库镜像在现有的SQL标准中,没有显式的事务开始语句(今后的SQL标准中将包含BEGINTRANSACTION),当程序中没有事务存在而执行一个能启动事务的SQL语句时就是一个事务的开始。SQL中的COMMIT或ROLLBACK都意味着一个事务结束,但支持SQL的不同DBMS有些差异。,51,三、并发控制,为了充分利用数据库这个共享资源,DBMS允许多个事务并发地存取数据库。如果不对并发操作进行恰当的控制,可能导致如下的数据不一致性问题:丢失更新问题:一事务所作的更新操作因另一事务的操作而丢失。读“脏数据”问题:又称为未提交依赖,指一事务取用了别的事务未提交随后又被撤消的数据。不一致分析问题:指事务从数据库中读取了处于不一致状态的数据,并因此进行了不一致的分析。,52,三、并发控制,封锁是实现并发控制的重要技术。所谓封锁,是指事务向系统发出对某数据对象加锁的请求,以取得对该对象一定的控制权。基本的封锁有两类:排它型封锁(写锁,X封锁):一个事务对数据对象加了X锁后,在它释放X锁之前不允许其他事务再对该数据对象加任何锁。共享型锁(读锁,S封锁):一个事务对数据对象加了S锁后,允许其他事务再对该数据对象加S锁,但在它释放S锁之前不允许其他事务加X锁。,53,三、并发控制,封锁协议PX协议主要内容是:事务若要更新数据,则必须先提出对此数据对象的X封锁请求;事务如果未获准X封锁,那么进入等待状态,直至获准在此数据对象上的X封锁,才能继续执行。PX协议可以解决因多事务同时更新同一数据对象而引起的更新丢失问题。PS协议主要内容是:事务若要存取数据,则必须先提出对此数据对象的S封锁请求;事务如果未获准S封锁,那么进入等待状态,直至获准在此数据对象上S封锁,才能继续执行;事务在更新数据前必须先将它在该数据对象上的S封锁升级(UPGRADE)为X封锁。,54,三、并发控制,活锁和死锁恰当地运用封锁技术,可以保证并发调度的正确性、有效地避免数据
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- mtbe考试试卷及答案
- 电网业务知识培训课件
- 电缆厂知识培训课件
- 电磁兼容原理课件接地
- 高端酒销售基础知识培训课件
- 新解读《GB-T 32151.11-2018温室气体排放核算与报告要求 第11部分- 煤炭生产企业》
- Ochracenomicin-B-生命科学试剂-MCE
- Acetohexamide-d11-生命科学试剂-MCE
- MLN-591-MLN2704-antibody-生命科学试剂-MCE
- 保育大赛考试试题题库及答案
- 北师大版初中物理九年级全册第十章《机械能,内能及其转化》检测题(包含答案解析)
- JJF 1959-2021 通用角度尺校准规范 高清晰版
- 通信原理第7版樊昌信版新版
- 口腔预防医学第九章其他口腔疾病的预防
- 盂兰盆供简易仪轨
- 一汽商用车企业级BOM技术方案V1.7
- JJF 1117-2010计量比对
- FZ/T 01093-2008机织物结构分析方法织物中拆下纱线线密度的测定
- 中国马克思主义与当代(社会问题)
- EMR术的配合要点
- 1844年经济学哲学手稿课件
评论
0/150
提交评论