还剩17页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
PAGE单位代码01学号040101086分类号密级________文献翻译数据库管理系统概述院(系)名称信息工程学院专业名称计算机科学与技术学生姓名指导教师2008年4月15日英文译文数据库管理系统概述赫克托加西亚-莫利纳,杰夫乌尔曼,珍妮佛
1.2数据库管理系统概述从图
1.1我们可以看到一个完整的数据库管理系统概况单框代表系统组件,而双框代表内存数据结构实线显示控制流和数据流,而虚线仅表示数据流由于这个图很复杂,我们将分几个阶段来考虑细节首先,在顶部,我们认为应该有两个不同的命令来源到达数据库1请求或修改数据的传统用户和应用程序2数据库___负责数据库结构或模型的个人或__
1.
2.1数据定义语言命令第二种命令是简单的进程,从图
1.1的右上侧开始,我们可以看见它的路径例如,为一所大学搞注册的数据库___,或简称DBA,应该为每个学生建一张表或关系,从而说明这个学生所参加的课程以及那门课程的分数数据库___还要规定学生的成绩只能是A、B、C、D和F这个结构和约束信息就是数据库的全部这表明在图
1.1中,数据库___必须要有特殊的权力才能执行模式更改指令,因为这些指令对数据库有着深远的影响这些模式更改数据库定义语言指令“DDL”代表“数据定义语言”是由数据库定义语言处理器解析,并传递给执行引擎,经过搜索/存档/记录管理,再到元数据,即模型信息数据库
1.
2.2查询处理概述与数据库管理系统的绝大部份交互都是沿着图
1.1左侧的路径用户或应用程序启动一些行为,并不会影响数据库的模式,但可能会影响到数据库的内容如果是一个修改命令行为,或将从数据库中提取数据如果是一个查询行为
1.1节讲过,用这些命令描述的语言称为数据操纵语言即DML,说白了就是查询语言我们可以使用很多数据操纵语言,但是在范例
1.1中所提到的那些数据查询语言,是目前最常用的DML语句由两个__的子系统来处理,其过程如下查询回复查询就是利用查询编译器进行解析和优化由此产生的查询计划,或数据库管理系统的行为序列将会作用于对查询的回复执行引擎会为小段数据,特别是记录或关系元组发送一系列响应到资源管理器,从而让它了解数据文件具有的关系、那些文档格式和记录大小、索引文件,这有助于快速找到数据文件的元素请求数据被翻译成页,这些请求被传递给缓冲管理器我们将在
1.
2.3节讨论缓冲区管理器的作用,但简单来说,它的任务是把在二级存储器里通常是磁盘永久保存的部分合适数据发送到主存缓冲器中通常,页或“磁盘块”是缓冲器和磁盘间的传送单元缓冲管理器和存储管理器相互通信而从磁盘获得数据存储管理器可能会含有一些操作系统指令,但更特殊的是,数据库管理系统可以直接向磁盘控制器发送指令事物处理查询和其它数据操纵语言行为被划分成事物,事物是彼此孤立必须自动执行的单元通常每一个查询或修改行为自身就是一个事物此外,事物的执行必须是持久的,意思是任何一个完成了的事物其结果必须是恒定的,即使系统恰巧在事物完成时崩溃我们把事物处理器分成两个主要部分1一个并发控制管理器,或者调度器,负责确保事物的原子性和孤立性2一个日志恢复管理器,负责确保事物的持久性我们将在
1.
2.4节进一步讲述这些组件
1.
2.3存储缓冲管理器数据库的数据通常放在二级存储器,在现今的计算机系统中“二级存储器“一般指磁盘不过,要对数据执行任何有用的操作,则数据必须在主存存储管理器的工作是控制数据在磁盘的存放以及数据在磁盘和主存储器间的传递在一个简单的数据库系统中,存储管理器或许仅仅是底层操作系统的文件系统但是,为了提高效率,数据库管理系统一般直接控制对磁盘的存储,至少在某些情况下存储管理器记录文件在磁盘上的位置,并获得该块或含有来自缓冲管理器回复的文件的那些块大家知道,磁盘一般可分为磁盘块,这些磁盘块是一些相邻的区域,含有大量的字节,可能是212或214约4000至16000字节缓冲管理器负责把可用主存划分成许多缓冲器,它们是页大小的区域,能够存放磁盘块大小的内容因此,当所有的数据库管理器组件需要来自磁盘的信息时,便直接或间接通过执行引擎与缓冲器和缓冲管理器交互不同组件所需要的各种信息可能包括1数据数据库本身的内容2元数据描述数据库结构和约束的数据库模型3统计数据数据库管理系统收集和存储的有关数据的属性,如大小、值、各种关系以及数据库组件4索引支持高效访问数据的数据结构有关缓冲管理器的更完整描述及其发挥的作用将在
15.7节讲述
1.
2.4事物处理把一个或更多的数据库操作分组成一个事务是很正常的,事务就是一个必须要自动执行并明显脱离其它事务的工作单元此外,数据库管理系统提供持久性保证事务一旦完成,将永远不会消失因此,事务管理器接受来自一个应用的事务指令,这些指令会告诉事务管理器什么时候事务开始或结束,以及此应用所其期望的信息所以接受交易指令,从一个应用,其中告诉经理人交易时,交易的开始和结束,以及信息的期望应用例如,有些可能不希望请求原子数事务处理器执行下列任务1登记日志为了保证持久性,数据库的每一次变动都会单独记录在磁盘上日志管理器遵循其中一些设计,以确保无论何时系统发生故障或“冲突“现象,恢复管理器将能够审查日志的变化和恢复数据库,使其状态一致日志管理器最初把日志记录在缓冲器里,并与缓冲区管理器协商,以确保缓冲器里的内容在适当的时候写回到磁盘磁盘里可以防止冲突2并发控制事物必须能__执行但在大多数系统中,事实上有许多事务同时执行因此,调度器并发控制管理器必须确保各种事务的个人行动有序进行,结果就象是这些事务是一个整体在执行,一次一个一个典型的调度程序,它的工作就是在某些数据库片段保持锁这些锁,是防止两个事务访问同一块数据,以至于交互性很差这些锁一般都存放在主存的锁表里,就象图
1.1展示的那样调度器通过禁止执行引擎访问部分锁定的数据库来制约查询的执行和其他数据库操作3解除死琐当事物经由调度器授予的锁来竞争资源时,它们很容易陷入一种状态,在这种状态下任何事务都不能进行,因为每一个事物都需要彼此已拥有的资源事务管理器有责任干预和取消一个或更多的事务,从而让其它事物可以进行下去
1.
2.5查询处理器数据库管理系统这部分,对用户影响最大的就是查询处理器图
1.1中查询处理器由两部分组成
1、查询编译器,将查询结果翻译成一种内部形式,即查询计划后者是对数据的一系列操作通常这些在查询计划里的操作是对“关系代数“的操作,这些将在
5.2节讨论往往是在一查询计划是实施的关系代数的经营方式,这是讨论在第查询编译器包括三个主要单元1查询分析器,它根据文字上的形式查询建立在一个树结构2查询预处理器,它从事对查询的语义检查例如,确保查询中的所有关系都真实存在,并把分析树转变成一棵代表初始查询计划的代数运算树3查询优化器,它将原始查询计划转变成对实际数据操作的最佳可用序列查询编译器使用元数据和统计数据,以决定哪些操作序列可能是最快的例如,存在着一种索引,它是提供访问数据的一种专门数据结构并为那些数据的一个或多个组件赋值,可以使这些计划速度远远超过另外的那些
2、执行引擎,它负责执行所选定查询计划的每一步执行引擎会直接或通过缓冲器与其它大部分数据库组件相交互为了处理那些数据,它必须将来自数据库的数据送到缓冲器里它需要与调度器相交互,为了防止访问已锁定的数据,并与日志管理器相__,以确保所有数据库的变化都妥当记录
1.3数据库概述—系统研究意念相关数据库系统,可分为三大类1数据库设计怎样创建一个有用的数据库?什么样的信息进入数据库?这些信息是怎么__的?要对数据项的值和类型提出什么样的假设?数据项又是如何连接的?2数据库编程怎样表达查询和其它数据库操作?在一个应用中如何使用数据库管理系统的其他功能,如事务或约束?数据库编程和常规编程是怎样融合的?3数据库系统实施如何建立一个数据库管理系统,包括查询处理,事务处理以及实现有效访问的__存储等事情?
1.
3.1数据库设计第2章刚开始为表达数据库设计描述了一高级概念,即实体关系模型我们在第3章介绍了关系模型,它是数据库管理系统最广泛采用的,且我们在
1.
1.2节接触过我们讲述了如何把实体关系设计转换成关系设计,又叫“关系数据库模式”以后,在
6.6节,我们将向大家展示如何使关系数据库模式格式化成SQL语言的数据定义部分第3章还向读者介绍了“依赖”的概念,这是格式化的描述一个关系中元组间关系的假设依赖允许我们通过一个被称为关系“正常化”的进程改进关系数据库的设计在第4章我们将探讨数据库设计中的面向对象方法那里,我们采用了ODL语言,它允许用面向对象的高级语句来描述数据库我们也在寻找将面向对象的设计与关系模型相结合的方法,从而得到一种所谓的“对象-关系”模型最后,第四章还介绍了“半结构化数据”,它是一种特别灵活的数据库模型,我们可以在文档语言XML中看到它的时尚体现
1.
3.2数据库编程第5章整个10节都涵盖有数据库编程第5章首先以关系模型的一个抽象查询方法开始,介绍了构成“关系代数”的操作符集第6章介绍了有关SQL查询和数据库模型语句的基本思想第七章介绍了有关数据上的约束和触发器SQL的各方面第8章涵盖了SQL编程的某些高级方面首先,最简单的SQL编程模型是一个__、通用查询界面,在实践中大多数SQL编程是嵌入在一个用传统语言编写的较大项目,如C语言在第八章我们学习如何将周围程序与SQL语句连接起来,以及怎样将数据从数据库传递给程序变量,反之亦然本章还讲述了如何利用SQL的功能,简化事务,连接客户机到服务器,并授权非法用户进入数据库在第9章我们将注意力转向面向对象的数据库编程标准在这里,我们考虑两个方向第
一、OQL对象查询语言,可以看作是试图使C++,或其他面向对象编程语言与高级数据库编程需求相兼容第
二、近来在SQL标准中采用的面向对象特征,可以被看作是使关系数据库、SQL与面向对象编程兼容的一次尝试最后,在第10章,我们回到在第5章中开始的对抽象查询语言的研究在这里,我们研究逻辑语言,看看它们是如何被用于扩展现代SQL功能的
1.
3.3数据库系统实现本书的第三部分重点在如何实现数据库管理系统数据库系统的实现,这个课题可以大致分为三个部分1存储管理如何有效使用二级存储来容纳数据以及实现它们的快速访问2查询处理如何用一种很高级的语言,如SQL来表示查询,并能实现高效执行3事务管理如何用
1.
2.4节中提到的ACID属性支持事务这里的每个题目都涵盖了书中的几个章节存储管理概述第11章介绍了存储器不过,由于二级存储器,尤其是磁盘,是数据库管理系统管理数据的中心,所以我们要仔细研究数据存储的方式以及在磁盘上的访问于是我们引入了基于磁盘数据的“块模型”,它几乎影响了数据库系统中所有的操作第12章涉及储存的数据元素关系,元组,属性值,以及其它数据模型里的等价物——符合数据块模型的要求接着我们看看用于构建索引的重要数据结构索引是一个支持高效存取的数据结构第13章涵盖了重要的一维索引结构—索引顺序文件,B-树和哈希表这些索引通常被用于数据库管理系统,以支持属性值已知并符合元组要求的查询B-树也是用来访问按给定属性排列的关系第14章论述了__索引,它们是专门应用的数据结构,如地理数据库,那里可以专门查询某个地区的相关内容这些索引结构也支持复杂的SQL查询,这种查询限定两个或两个以上属性的值,而其中的这些结构已开始在商业数据库管理系统中出现查询处理概述第15章,涵盖了基本的查询执行我们学过一些关系代数操作的高效算法这些算法的设计是高效的,当数据存储在磁盘时,并在某些情况下,这些算法与主存算法有很大的差别在第16章,我们考虑查询编译器和优化器的结构我们将从解析查询以及对它们的语义检查开始接着,我们考虑查询转换,从SQL到关系代数,逻辑查询计划的选择,也就是,一个代数式,代表必须执行的特殊操作,以及有关操作命令的必要约束最后,我们探讨物理查询计划的选择,在此过程中,我们对特殊操作命令,用来实现每一步操作的算法都做了简要概述事务处理概述在第17章中,我们了解到在数据库管理系统中如何实现事务的持久性中心思想是设置一个能记录数据库所有变化的日志任何存在于主存但不在磁盘的内容都可能在冲突比如,电力供应中断时丢失因此,我们必须谨慎行事,以一种恰当的秩序将数据从从缓冲区移到磁盘,无论是数据库自身的变化还是日志的变更这里有几个日志策略可用,但每次都在某些方面限制了我们的行动自由随后,我们在第18章谈到了并发控制的__性和原子性我们将事务看作是读写数据库元素的操作序列本章的主要课题是如何管理数据库元素上的锁使用的不同类型的锁,事务获得和释放锁的方式此外,本章还研究了不使用琐而能保证事务原子性和__性的一系列方法第19章总结了我们对事务处理的学习我们总结了日志需求间的交互,这在第17章讨论过,和并发性的要求,在第18章讲过处理死锁,事务管理器的另一项重要功能,这里也提到过在分散的环境里延长并发控制,也会在第19章介绍最后,我们认为事务是“长”的是可能的,它会花费几小时或几天的时间,而不是数毫秒长事务不可能锁住数据而没有产生混乱,因为有可能有其它用户使用此数据,所以这迫使我们重新思考包含长事务的应用并发控制
1.
3.4信息集成概述数据库系统近来的许多演变都朝着允许来自不同数据源功能的方向发展,这些数据源可能是在一个更大的整体上不能被数据库管理系统处理的数据库或信息资源在第
1.
1.7节,我们简要的向你介绍了这些问题我们讨论集成的主要模式,包括翻译和集成的源拷贝,称为“数据仓库”,以及收集来源的虚拟“观点”,又叫解调器摘自赫克托加西亚-莫利纳,杰夫乌尔曼,珍妮佛.数据库系统世界.附:英文原文OverviewofaDatabase__nagementSystemHectorGarcia-MolinaJeffUll__nJenniferWidom
1.2OverviewofaDatabase__nagementSystemInFig.
1.1weseeanoutlineofacompleteDBMS.Singleboxesrepresentsystemcomponentswhiledoubleboxesrepresentin-memorydatastructures.Thesolidlinesindicatecontrolanddataflowwhiledashedlinesindicatedataflowonly.Sin__thediagramiscomplicatedweshallconsiderthedetailsinseveralstages.Firstatthetopwesuggestthattherearetwodistinctsour__sofcom__ndstotheDBMS:
1.Conventionalusersandapplicationprogramsthataskfordataormodifydata.
2.Adatabaseadministrator:apersonorpersonsresponsibleforthestructureorsche__ofthedatabase.
1.
2.1Data-DefinitionLanguageCom__ndsThesecondkindofcom__ndisthe______rtopro__ssandweshowitstrailbeginningattheupperrightsideofFig.
1.
1.ForexamplethedatabaseadministratororDBAforauniversityregistrarsdatabasemightdecidethatthereshouldbeatableorrelationwithcolumnsforastudentacoursethestudenthastakenandagradeforthatstudentinthatcourse.TheDBAmightalsodecidethattheonlyallowablegradesareABCDandF.Thisstructureandconstraintinfor__tionisallpartofthesche__ofthedatabase.ItisshowninFig.
1.1asenteredbytheDBAwhoneedsspecialauthoritytoexecutesche__-alteringcom__ndssin__thesecanh__eprofoundeffectsonthedatabase.Thesesche__-alteringDDLcom__nds“DDL”standsfor“data-definitionlanguage”areparsedbyaDDLpro__ssorandpassedtotheexecutionenginewhichthengoesthroughtheindex/file/record__nagertoalterthemetadatathatisthesche__infor__tionforthedatabase.
1.
2.2OverviewofQueryPro__ssingThegreat__jorityofinteractionswiththeDBMSfollowthepathontheleftsideofFig.
1.
1.Auseroranapplicationprograminitiatessomeactionthatdoesnotaffectthesche__ofthedatabasebut__yaffectthecontentofthedatabaseiftheactionisamodificationcom__ndorwillextractdatafromthedatabase.RememberfromSection
1.1thatthelanguageinwhichthesecom__ndsareexpressediscalledadata-__nipulationlanguageDMLorsomewhatcolloquiallyaquerylanguage.Thereare__nydata-__nipulationlanguages__ailablebutSQLwhichwasmentionedinExample
1.1isbyfarthemostcommonlyused.DMLstatementsarehandledbytwoseparatesubsystemsasfollows.AnsweringthequeryThequeryisparsedandoptimizedbyaquerycompiler.Theresultingqueryplanorsequen__ofactionstheDBMSwillperformtoanswerthequeryispassedtotheexecutionengine.Theexecutionengineissuesasequen__ofrequestsfor__allpie__sofdatatypicallyrecordsortuplesofarelationtoaresour____nagerthatknowsaboutdatafilesholdingrelationsthefor__tandsizeofrecordsinthosefilesandindexfileswhichhelpfindelementsofdatafilesquickly.Therequestsfordataaretranslatedintopagesandtheserequestsarepassedtothebuffer__nager.Weshalldiscusstheroleofthebuffer__nagerinSection
1.
2.3butbrieflyitstaskistobringappropriateportionsofthedatafromsecondarystoragedisknor__llywhereitiskeptper__nentlyto__inmemorybuffers.Nor__llythepageor“diskblock”istheunitoftransferbetweenbuffersanddisk.Thebuffer__nagercommunicateswithastorage__nagertogetdatafromdisk.Thestorage__nagermightinvolveoperating-systemcom__ndsbutmoretypicallytheDBMSissuescom__ndsdirectlytothediskcontroller.Transactionpro__ssingQueriesandotherDMLactionsaregroupedintotransactionswhichareunitsthatmustbeexecutedatomicallyandinisolationfromoneanother.Ofteneachqueryormodificationactionisatransactionbyitself.Inadditiontheexecutionoftransactionsmustbedurablemeaningthattheeffectofanycompletedtransactionmustbepreservedevenifthesystemfailsinsomewayrightaftercompletionofthetransaction.Wedividethetransactionpro__ssorintotwo__jorparts:
1.Aconcurrency-control__nagerorschedulerresponsibleforassuringatomicityandisolationoftransactionsand
2.Aloggingandrecovery__nagerresponsibleforthedurabilityoftransactions.WeshallconsiderthesecomponentsfurtherinSection
1.
2.
4.
1.
2.3StorageandBuffer__nagementThedataofadatabasenor__llyresidesinsecondarystorage;intodayscomputersystems“secondarystorage”generallymeans__gneticdisk.Howevertoperformanyusefuloperationondatathatdatamustbein__inmemory.Itisthejobofthestorage__nagertocontrolthepla__mentofdataondiskanditsmovementbetweendiskand__inmemory.Ina______databasesystemthestorage__nagermightbenothingmorethanthefilesystemoftheunderlyingoperatingsystem.HoweverforefficiencypurposesDBMSsnor__llycontrolstorageonthediskdirectlyatleastundersomecircumstan__s.Thestorage__nagerkeepstrackofthelocationoffilesonthediskandobtainstheblockorblockscontainingafileonrequestfromthebuffer__nager.Recallthatdisksaregenerallydividedintodiskblockswhichareregionsofcontiguousstoragecontainingalargenumberofbytesperhaps212or214about4000to16000bytes.Thebuffer__nagerisresponsibleforpartitioningthe__ailable__inmemoryintobufferswhicharepage-sizedregionsintowhichdiskblockscanbetransferred.ThusallDBMScomponentsthatneedinfor__tionfromthediskwillinteractwiththebuffersandthebuffer__nagereitherdirectlyorthroughtheexecutionengine.Thekindsofinfor__tionthatvariouscomponents__yneedinclude:
1.Data:thecontentsofthedatabaseitself.
2.Metadata:thedatabasesche__thatdescribesthestructureofthedatabase.
3.Statistics:infor__tiongatheredandstoredbytheDBMSaboutdatapropertiessuchasthesizesofandvaluesinvariousrelationsorothercomponentsofthedatabase.
4.Indexes:datastructuresthatsupportefficientac__sstothedata.Amorecompletediscussionofthebuffer__nageranditsroleappearsinSection
15.
7.
1.
2.4TransactionPro__ssingItisnor__ltogrouponeormoredatabaseoperationsintoatransactionwhichisaunitofworkthatmustbeexecutedatomicallyandinapparentisolationfromothertransactions.InadditionaDBMSofferstheguaranteeofdurability:thattheworkofacompletedtransactionwillneverbelost.Thetransaction__nagerthereforeac__ptstransactioncom__ndsfromanapplicationwhich____thetransaction__nagerwhentransactionsbeginandendaswellasinfor__tionabouttheexpectationsoftheapplicationsome__ynotwishtorequireatomicityforexample.Thetransactionpro__ssorperformsthefollowingtasks:
1.Logging:Inordertoassuredurabilityeverychangeinthedatabaseisloggedseparatelyondisk.Thelog__nagerfollowsoneofseveralpoliciesdesignedtoassurethatno__tterwhenasystemfailureor“crash”occursarecovery__nagerwillbeabletoexaminethelogofchangesandrestorethedatabasetosomeconsistentstate.Thelog__nagerinitiallywritestheloginbuffersandnegotiateswiththebuffer__nagerto__kesurethatbuffersarewrittentodiskwheredatacansurviveacrashatappropriatetimes.
2.Concurrencycontrol:Transactionsmustappeartoexecuteinisolation.Butinmostsystemstherewillintruthbe__nytransactionsexecutingaton__.Thustheschedulerconcurrency-control__nagermustassurethattheindividualactionsofmultipletransactionsareexecutedinsuchanorderthattheneteffectisthesameasifthetransactionshadinfactexecutedintheirentiretyone-at-a-time.Atypicalschedulerdoesitsworkby__intaininglockson__rtainpie__softhedatabase.Theselockspreventtwotransactionsfromac__ssingthesamepie__ofdatainwaysthatinteractbadly.Locksaregenerallystoredina__in-memorylocktableassuggestedbyFig.
1.
1.Thescheduleraffectstheexecutionofqueriesandotherdatabaseoperationsbyforbiddingtheexecutionenginefromac__ssinglockedpartsofthedatabase.
3.Deadlockresolution:Astransactionscompeteforresour__sthroughthelocksthattheschedulergrantstheycangetintoasituationwherenonecanpro__edbecauseeachneedssomethinganothertransactionhas.Thetransaction__nagerhastheresponsibilitytointerveneandcan__l“roll-back”or“abort”oneormoretransactionstolettheotherspro__ed.
1.
2.5TheQueryPro__ssorTheportionoftheDBMSthatmostaffectstheperfor__n__thattheuserseesisthequerypro__ssor.InFig.
1.1thequerypro__ssorisrepresentedbytwocomponents:
1.Thequerycompilerwhichtranslatesthequeryintoaninternalformcalledaqueryplan.Thelatterisasequen__ofoperationstobeperformedonthedata.Oftentheoperationsinaqueryplanareimplementationsof“relationalalgebra”operationswhicharediscussedinSection
5.
2.Thequerycompilerconsistsofthree__jorunits:aAqueryparserwhichbuildsatreestructurefromthetextualformofthequery.bAqueryprepro__ssorwhichperformsse__nticchecksonthequerye.g.__kingsureallrelationsmentionedbythequeryactuallyexistandperformingsometreetransfor__tionstoturntheparsetreeintoatreeofalgebraicoperatorsrepresentingtheinitialqueryplan.cAqueryoptimizerwhichtransformstheinitialqueryplanintothebest__ailablesequen__ofoperationsontheactualdata.Thequerycompilerusesmetadataandstatisticsaboutthedatatodecidewhichsequen__ofoperationsislikelytobethefastest.Forexampletheexisten__ofanindexwhichisaspecializeddatastructurethatfacilitatesac__sstodatagivenvaluesforoneormorecomponentsofthatdatacan__keoneplanmuchfasterthananother.
2.Theexecutionenginewhichhastheresponsibilityforexecutingeachofthestepsinthechosenqueryplan.TheexecutionengineinteractswithmostoftheothercomponentsoftheDBMSeitherdirectlyorthroughthebuffers.Itmustgetthedatafromthedatabaseintobuffersinorderto__nipulatethatdata.Itneedstointeractwiththeschedulerto__oidac__ssingdatathatislockedandwiththelog__nagerto__kesurethatalldatabasechangesareproperlylogged.
1.3OutlineofDatabase-SystemStu___sIdeasrelatedtodatabasesystemscanbedividedintothreebroadcategories:
1.Designofdatabases.HowdoesonedevelopausefuldatabaseWhatkindsofinfor__tiongointothedatabaseHowistheinfor__tionstructuredWhatassumptionsare__deabouttypesorvaluesofdataitemsHowdodataitemsconnect
2.Databaseprogramming.HowdoesoneexpressqueriesandotheroperationsonthedatabaseHowdoesoneuseothercapabilitiesofaDBMSsuchastransactionsorconstraintsinanapplicationHowisdatabaseprogrammingcombinedwithconventionalprogramming
3.Databasesystemimplementation.HowdoesonebuildaDBMSincludingsuch__ttersasquerypro__ssingtransactionpro__ssingandorganizingstorageforefficientac__ss
1.
3.1DatabaseDesignChapter2beginswithahigh-levelnotationforexpressingdatabasedesignscalledtheentity-relationshipmodel.Weintrodu__inChapter3therelationalmodelwhichisthemodelusedbythemostwidelyadoptedDBMSsandwhichwetoucheduponbrieflyinSection
1.
1.
2.Weshowhowtotranslateentity-relationshipdesignsintorelationaldesignsor“relationaldatabasesche__s”.LaterinSection
6.6weshowhowtorenderrelationaldatabasesche__sfor__llyinthedata-definitionportionoftheSQLlanguage.Chapter3alsointrodu__sthereadertothenotionof“dependencies”whicharefor__llystatedassumptionsaboutrelationshipsamongtuplesinarelation.Dependenciesallowustoimproverelationaldatabasedesignsthroughapro__ssknownas“nor__lization”ofrelations.InChapter4welookato__ect-orientedapproachestodatabasedesign.TherewecoverthelanguageODLwhichallowsonetodescribedatabasesinahigh-levelo__ect-orientedfashion.Wealsolookatwaysinwhicho__ect-orienteddesignhasbeencombinedwithrelationalmodelingtoyieldtheso-called“o__ect-relational”model.FinallyChapter4alsointrodu__s“semistructureddata”asanespeciallyflexibledatabasemodelandweseeitsmodernembodimentinthedocumentlanguageXML.
1.
3.2DatabaseProgrammingChapters5through10coverdatabaseprogramming.WestartinChapter5withanabstracttreatmentofqueriesintherelationalmodelintroducingthefamilyofoperatorsonrelationsthatform“relationalalgebra”.Chapters6through8aredevotedtoSQLprogramming.AswementionedSQListhedominantquerylanguageoftheday.Chapter6introdu__sbasicideasregardingqueriesinSQLandtheexpressionofdatabasesche__sinSQL.Chapter7coversaspectsofSQLcon__rningconstraintsandtriggersonthedata.Chapter8covers__rtainadvan__daspectsofSQLprogramming.Firstwhilethe______stmodelofSQLprogrammingisastand-alonegenericqueryinte_____inpracti__mostSQLprogrammingisembeddedinalargerprogramthatiswritteninaconventionallanguagesuchasC.InChapter8welearnhowtoconnectSQLstatementswithasurroundingprogramandtopassdatafromthedatabasetotheprogramsvariablesandvi__versa.ThischapteralsocovershowoneusesSQLfeaturesthatspecifytransactionsconnectclientstoserversandauthorizeac__sstodatabasesbynonowners.InChapter9weturnourattentiontostandardsforo__ect-orienteddatabaseprogramming.Hereweconsidertwodirections.ThefirstOQLO__ectQueryLanguagecanbeseenasanattemptto__keC++orothero__ect-orientedprogramminglanguagescompatiblewiththede__ndsofhigh-leveldatabaseprogramming.Thesecondwhichistheo__ect-orientedfeaturesre__ntlyadoptedintheSQLstandardcanbeviewedasanattemptto__kerelationaldatabasesandSQLcompatiblewitho__ect-orientedprogramming.FinallyinChapter10wereturntothestudyofabstractquerylanguagesthatwebeganinChapter
5.Herewestudylogic-basedlanguagesandseehowtheyh__ebeenusedtoextendthecapabilitiesofmodernSQL.
1.
3.3DatabaseSystemImplementationThethirdpartofthebookcon__rnshowonecanimplementaDBMS.Thesu__ectofdatabasesystemimplementationinturncanbedividedroughlyintothreeparts:
1.Storage__nagement:howsecondarystorageisusedeffectivelytoholddataandallowittobeac__ssedquickly.
2.Querypro__ssing:howqueriesexpressedinaveryhigh-levellanguagesuchasSQLcanbeexecutedefficiently.
3.Transaction__nagement:howtosupporttransactionswiththeACIDpropertiesdiscussedinSection
1.
2.
4.Eachofthesetopicsiscoveredbyseveralchaptersofthebook.Storage-__nagementOverviewChapter11introdu__sthememoryhierarchy.Howeversin__secondarystorageespeciallydiskisso__ntraltothewayaDBMS__nagesdataweexamineinthegreatestdetailthewaydataisstoredandac__ssedondisk.The“blockmodel”fordisk-baseddataisintrodu__d;itinfluen__sthewayalmosteverythingisdoneinadatabasesystem.Chapter12relatesthestorageofdataelements--relationstuplesattribute-valuesandtheirequivalentsinotherdatamodels--totherequirementsoftheblockmodelofdata.Thenwelookattheimportantdatastructuresthatareusedfortheconstructionofindexes.Recallthatanindexisadatastructurethatsupportsefficientac__sstodata.Chapter13coverstheimportantone-dimensionalindexstructures--indexed-sequentialfilesB-treesandhashtables.TheseindexesarecommonlyusedinaDBMStosupportqueriesinwhichavalueforanattributeisgivenandthetupleswiththatvaluearedesired.B-treesalsoareusedforac__sstoarelationsortedbyagivenattribute.Chapter14discussesmultidimensionalindexeswhicharedatastructuresforspecializedapplicationssuchasgeographicdatabaseswherequeriestypicallyaskforthecontentsofsomeregion.TheseindexstructurescanalsosupportcomplexSQLqueriesthatlimitthevaluesoftwoormoreattributesandsomeofthesestructuresarebeginningtoappearincommercialDBMSs.Query-Pro__ssingOverviewChapter15coversthebasicsofqueryexecution.Welearnanumberofalgorithmsforefficientimplementationoftheoperationsofrelationalalgebra.Thesealgorithmsaredesignedtobeefficientwhendataisstoredondiskandareinsomecasesratherdifferentfrom____ogous__in-memoryalgorithms.InChapter16weconsiderthearchitectureofthequerycompilerandoptimizer.Webeginwiththeparsingofqueriesandtheirse__nticchecking.NextweconsidertheconversionofqueriesfromSQLtorelationalalgebraandtheselectionofalogicalqueryplanthatisanalgebraicexpressionthatrepresentstheparticularoperationstobeperformedondataandthene__ssaryconstraintsregardingorderofoperations.Finallyweexploretheselectionofaphysicalqueryplaninwhichtheparticularorderofoperationsandthealgorithmusedtoimplementeachoperationh__ebeenspecified.Transaction-Pro__ssingOverviewInChapter17weseehowaDBMSsupportsdurabilityoftransactions.The__ntralideaisthatalogofallchangestothedatabaseis__de.Anythingthatisin__in-memorybutnotondiskcanbelostinacrashsayifthepowersupplyisinterrupted.Thereforeweh__etobecarefultomovefrombuffertodiskintheproperorderboththedatabasechangesthemselvesandthelogofwhatchangeswere__de.Thereareseverallogstrategies__ailablebuteachlimitsour_______ofactioninsomeways.Thenwetakeupthe__tterofconcurrencycontrol-assuringatomicityandisolation-inChapter
18.Weviewtransactionsassequen__sofoperationsthatreadorwritedatabaseelements.The__jortopicofthechapterishowto__nagelocksondatabaseelements:thedifferenttypesoflocksthat__ybeusedandthewaysthattransactions__ybeallowedtoacquirelocksandreleasetheirlocksonelements.Alsostu___dareanumberofwaystoassureatomicityandisolationwithoutusinglocks.Chapter19concludesourstudyoftransactionpro__ssing.WeconsidertheinteractionbetweentherequirementsofloggingasdiscussedinChapter17andtherequirementsofconcurrencythatwerediscussedinChapter
18.Handlingofdeadlocksanotherimportantfunctionofthetransaction__nageriscoveredhereaswell.Theextensionofconcurrencycontroltoadistributedenviro__entisalsoconsideredinChapter
19.Finallyweintrodu__thepossibilitythattransactionsare“long”takinghoursordaysratherthanmilliseconds.Alongtransactioncannotlockdatawithoutcausing____samongotherpotentialusersofthatdatawhichfor__sustorethinkconcurrencycontrolforapplicationsthatinvolvelongtransactions.
1.
3.4Infor__tionIntegrationOverviewMuchofthere__ntevolutionofdatabasesystemshasbeentowardcapabilitiesthatallowdifferentdatasour__swhich__ybedatabasesand/orinfor__tionresour__sthatarenot__nagedbyaDBMStoworktogetherinalargerwhole.Weintrodu__dyoutotheseissuesbrieflyinSection
1.
1.
7.ThusinthefinalChapter20westudyimportantaspectsofinfor__tionintegration.Wediscusstheprincipalmodesofintegrationincludingtranslatedandintegratedcopiesofsour__scalleda“datawarehouse”andvirtual“views”ofacollectionofsour__sthroughwhatiscalleda“mediator”.From:HectorGarcia-MolinaJeffUll__nJenniferWidom.TheWorldsofDatabaseSystems.。