数据库系统标准设计期末考总结_第1页
数据库系统标准设计期末考总结_第2页
数据库系统标准设计期末考总结_第3页
数据库系统标准设计期末考总结_第4页
数据库系统标准设计期末考总结_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

数据库系统设计期末考总结什么是数据库?数据库是被一个系统所使用全部数据集合数据库管理员(DatabaseAdministrator)什么是数据库管理系统?(DBMS)数据库管理系统就是帮助存放,管理和使用数据库程序集合,对数据库进行统一管理和控制,以确保数据库安全性和完整性DBMS(databasemanagementsystem)数据库管理系统环境组成硬件,软件,数据,程序(procedures),人数据库系统开发生命周期(databasesystemdevelopmentlifecycle)数据库设计三个关键步骤:概念设计逻辑设计物理设计C/SvsB/SC/S即Client/Server

(用户机/服务器)结构,经过将任务合理分配到Client端和Server端,降低了系统通讯开销,需要安装用户端才可进行管理操作。用户端和服务器端程序不一样,用户程序关键在用户端,服务器端关键提供数据管理、数据共享、数据及系统维护和并发控制等,用户端程序关键完成用户具体业务。开发比较轻易,操作简便,但应用程序升级和用户端程序维护较为困难。三层C/S构架在三层架构中,用户端接收用户请求,用户端向应用服务提出请求,应用服务从数据库服务中取得数据,应用服务将数据进行计算并将结果提交给用户端,用户端将结果展现给用户。两层和三层区分?两层架构Clientsidepresentedtwoproblemspreventingtruescalability:‘Fat’client,requiringconsiderableresourcesonclient’scomputertoruneffectively.Significantclientsideadministrationoverhead.By1995,threelayersproposed,eachpotentiallyrunningonadifferentplatform.用户端提出两个问题阻止真正可伸缩性:脂肪”用户端,需要相当大用户端电脑上资源有效地运行。重大用户端管理开销。三层架构Advantages:‘Thin’client,requiringlessexpensivehardware.Applicationmaintenancecentralized.Easiertomodifyorreplaceonetierwithoutaffectingothers.Separatingbusinesslogicfromdatabasefunctionsmakesiteasiertoimplementloadbalancing.MapsquitenaturallytoWebenvironment.优点:瘦”用户机,需要更少昂贵硬件。应用程序维护集中。轻易修改或替换一个层而不影响其它。将业务逻辑和数据库函数分开使其轻易实现负载平衡。很自然地映射到Web环境。Threemaintypesoftransactions(三种关键类型事务):retrievaltransactions检索事务updatetransactions更新交易处理mixedtransactions混合事项B/S即Browser/Server(浏览器/服务器)结构,用户界面完全经过WWW浏览器实现。用户端基础上没有专门应用程序,应用程序基础上全部在服务器端。因为用户端没有程序,应用程序升级和维护全部能够在服务器端完成,升级维护方便。因为用户端使用浏览器,使得用户界面“丰富多彩”,但数据打印输出等功效受到了限制。SQLSQL分类:

DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE)

DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT)

DCL—数据控制语言(GRANT,REVOKE,COMMITQuery(查询)Security(安全)Index(索引)View(视图)ERDAfive-stepprocessforERDconstruction:ERD构建五个步骤过程:Step1:RepresentEntitiesasTables(将实体转换成表)Step2:DetermineRelationships(确定关系)Inmostcases,arecordinonetablewillcorrespondtomultiplerecordsinanothertable.在大多数情况下,一个表统计将对应于另一个表中多条统计。Formany-to-manyrelationships,anewassociativetablemustbecreatedbetweentwotables.多对多关系,必需创建一个新关联表两个表之间关系。Step3:ListFields(确定表属性)Step4:IdentifyKeys(确定键,主键和外键)Step5:DeterminingDataTypes确定数据类型Primaryandforeignkeysmustmatchindatatypeandsize.主键和外键必需匹配数据类型和大小。2.主键Aprimarykeyuniquelyidentifieseachrecordinatable.主键唯一标示表中每一条统计。UniqueMinimalNotNullNonupdateable3.外键假如公共关键字在一个关系中是主关键字,那么这个公共关键字被称为另一个关系外键。4.完整性实体完整性:每个表一定要有一个正当主键。(主键值唯一)参考完整性规则(ReferentialIntegrity):若属性组F是关系模式R1主键,同时F也是关系模式R2外键,则在R2关系中,F取值只许可两种可能:空值或等于R1关系中某个主键值。(外键,值在主键中没有出现)5.范式第一范式:(1NF)强调是列原子性,即列不能够再分成其它几列。

Definition:Atableinwhichallfieldscontainasinglevalue.第二范式:(2NF)属性完全依靠于主键Definition:Atableinwhicheachnon-keyfieldisdeterminedbythewholeprimarykeyandnotpartoftheprimarykeybyitself.没有包含在主键中列必需完全依靠于主键,而不能只依靠于主键一部分。第三范式:(3NF)属性不依靠于其它非主属性首先是2NF,另外非主键列必需直接依靠于主键,不能存在传输依靠。即不能存在:非主键列A依靠于非主键列B,非主键列B依靠于主键情况。6.Normalization规范化没有进行规范化数据存在插入(表没有分开,插入数据是产生异常),更新(数据冗余,更新时产生异常),删除异常(表没有分开,数据间存在依靠关系)同一张表本身设计不合理造成异常规范化优缺点优点:消除更新异常降低数据冗余处理了数据完整性问题节省存放空间缺点:包含多表子查询和表之间联接,需要更复杂SQL语句DBMS额外工作使应用程序变慢

7.关系型数据库优点依靠逻辑,而不是物理、相关统计之间联络使用第四代语言(4gl)备抵高度数据独立性WeakEntity(弱实体)一个实体对于另一个实体含有很强依靠关系,而且该实体主键一部分或全部全部是从其它强实体中取得,则称该实体为弱实体Derivedattribute(派生属性)Attributethatrepresentsavaluethatisderivablefromvalueofarelatedattribute,orsetofattributes,notnecessarilyinthesameentity.属性代表了一个值从一个相关属性中派生出来,或一组属性值引出,,不一定在同一个实体。recursiverelationship(递归关系)添加一个外键,使得有一对多关系,多对多关系complexrelationship(复杂关系)Multiplicityisthenumber(orrange)ofpossibleoccurrencesofanentitytypeinann-aryrelationshipwhenother(n-1)valuesarefixed.problemsinanERmodelOftenduetoamisinterpretationofthemeaningofcertainrelationships.通常因为特定意义关系误解。connectiontraps.(连接陷阱)俩个关键连接陷进:扇形陷进和深坑陷进扇形陷进:两个实体有一个一对多关系,从而扇出第三个实体,两个实体键本该有一个直接关系提供必需信息深坑陷进:一个模型显示实体之间存在关系,但一些实体出现之间路径不存在。Supertype/SubtypeHierarchies(超类和子类)某个实体类型中全部实体同时也是另一个实体类型实体.此时,我们称前一实体类型是后一实体类型子类(Subtype),后一实体类型称为超类(Supertype).不过子类有一个很关键性质:继承性。子类继承其超类上定义全部属性,其本身还能够包含其它另外属性.第九章:磁盘性能指标:磁盘容量,存取时间,数据传输速度,可靠性磁盘总容量统计盘面数*每统计盘面磁道数*每磁道扇区数*每扇区字节数扇区:扇区是磁盘寻址最小单位,其大小通常是512字节数据在磁盘上定位信息:柱面号,磁头号,扇区号编址方法:柱面从外向内编址(如:0~199),磁道按柱面编号(如:0号柱面从上向下编号0~19,再给1号柱面磁道编号),盘块号(假设每个磁道有17个扇区,0号柱面0号磁道0号扇区盘块号为0,0号柱面1号磁道0号扇区盘块号为17)Accesstime(存取时间)–thetimeittakesfromwhenareadorwriterequestisissuedtowhendatatransferbegins.(一个读或写请求发出到数据开始传输时间)Consistsof:Seektime(寻道时间)–timeittakestorepositionthearmoverthecorrecttrack.将磁头移到柱面时间:约2~30msRotationallatency(旋转等候时间)–timeittakesforthesectortobeaccessedtoappearunderthehead.约10~20ms总时间:10~40msData-transferrate–therateatwhichdatacanberetrievedfromorstoredtothedisk.(从磁盘上读取数据或存放数据到磁盘时间)Meantimetofailure(MTTF)(平均失效时间)–theaveragetimethediskisexpectedtoruncontinuouslywithoutanyfailure.(磁盘无故障连续运行时间Typically3to5years)Block–acontiguoussequenceofsectorsfromasingletrackdataistransferredbetweendiskandmainmemoryinblockssizesrangefrom512bytestoseveralkilobytes内存和外存一次数据交换称为一次I/O操作,每次交换数据量是一个Block内存中开辟缓冲区大小最少要等于一个blockBlock大小通常由DBMS厂商决定廉价磁盘冗余阵列(RAID)RedundantArraysofIndependentDisks经过冗余提升可靠性是一个利用大量廉价磁盘进行磁盘组织技术价格上,大量廉价磁盘比少许昂贵大磁盘合算得多性能上,使用大量磁盘能够提升数据并行存取可靠性上,冗余数据能够存放在多个磁盘上,所以一个磁盘故障不会造成数据丢失冗余(Redundancy)存放额外信息,方便当磁盘故障时能从中重建磁盘还是内存?5-minuterule:假如一个被随机访问页面使用频率超出每5分钟一次,那么它应该被驻留在内存minuterule:假如被次序访问页面使用频率超出每1分钟一次,那么它应该被驻留在内存文件存放:Thedatabaseisstoredasacollectionoffiles.Eachfileisasequenceofrecords.Arecordisasequenceoffields数据库是存放为文件集合。每个文件全部是一个序列统计。字段统计是一个序列。第十章:BasicStepsinQueryProcessing(查询处理基础步骤):1.Parsingandtranslation解析和翻译2.Optimization最优化3.Evaluation评定RDBMS查询处理阶段:1.查询分析2.查询检验3.查询优化4.查询实施选择操作经典实现方法:1.简单全表扫描方法对查询基础表次序扫描,逐一检验每个元组是否满足选择条件,把满足条件元组作为结果输出适合小表,不适合大表2.索引(或散列)扫描方法适合选择条件中属性上有索引(比如B+树索引或Hash索引)经过索引先找到满足条件元组主码或元组指针,再经过元组指针直接在查询基础表中找到元组排序原因SQL查询能够指定对输出进行排序关系运算一些操作,如连接运算,排序后实现高效对于可放进内存关系,使用如快排序之类技术。对不能放进内存关系,使用外排序内排序当数据集小于可用内存时,采取快速排序算法快速排序思想起源于分治策略。将数据块划分为两个序列,第一个序列值小于第二个序列,在两个序列中根据递归排序思想再次进行上述划分,这么直到没有措施划分为止外排序创建有序段+N路归并全部输入数据最初分成很多有序归并段文件,然后不停归并成很多更大归并段文件,直到剩下一个文件为止JoinOperation多个不一样连接算法Nested-loopjoin(嵌套循环连接)Blocknested-loopjoin(块嵌套循环连接)Indexednested-loopjoin(索引嵌套循环连接)Merge-join(合并连接)Hash-join(哈希或散列连接)Choicebasedoncostestimate(依据成本估算选择连接方法)关系型数据库优点依靠逻辑,而不是物理、相关统计之间联络使用第四代语言(4gl)备抵高度数据独立性关系数据库系统查询优化查询优化优点不仅在于用户无须考虑怎样最好地表示查询以取得很好效率,而且在于系统能够比用户程序“优化”做得愈加好(1)优化器能够从数据字典中获取很多统计信息,而用户程序则难以取得这些信息(2)假如数据库物理统计信息改变了,系统能够自动对查询重新优化以选择相适应实施计划。在非关系系统中必需重写程序,而重写程序在实际应用中往往是不太可能(3)优化器能够考虑数百种不一样实施计划,程序员通常只能考虑有限多个可能性。(4)优化器中包含了很多复杂优化技术,这些优化技术往往只有最好程序员才能掌握。系统自动优化相当于使得全部些人全部拥有这些优化技术RDBMS关系型数据库管理系统(RelationalDatabaseManagementSystem)经过某种等价模型计算出多种查询实施策略实施代价,然后选替换价最小实施方案集中式数据库实施开销关键包含:磁盘存取块数(I/O代价)处理机时间(CPU代价)查询内存开销I/O代价是最关键 分布式数据库总代价=I/O代价+CPU代价+内存代价+通信代价查询优化总目标:选择有效策略求得给定关系表示式值使得查询代价最小(实际上是较小)实际系统查询优化步骤:1.将查询转换成某种内部表示,通常是语法树2.依据一定等价变换规则把语法树转换成标准(优化)形式3.选择低层操作算法对于语法树中每一个操作计算多种实施算法实施代价选择代价小实施算法4.生成查询计划(查询实施方案)查询计划是由一系列内部操作组成。2代数优化代数优化策略:经过对关系代数表示式等价变换来提升查询效率关系代数表示式等价:指用相同关系替换两个表示式中对应关系所得到结果是相同两个关系表示式E1和E2是等价,可记为E1≡E2具体方法笛卡尔积查询树启发式优化经典启发式规则:1.选择运算应尽可能先做。在优化策略中这是最关键、最基础一条2.把投影运算和选择运算同时进行如有若干投影和选择运算,而且它们全部对同一个关系操作,则能够在扫描此关系同时完成全部这些运算以避免反复扫描关系3.把投影同其前或其后双目运算结合起来4.把一些选择同在它前面要实施笛卡尔积结合起来成为一个连接运算5.找出公共子表示式假如这种反复出现子表示式结果不是很大关系而且从外存中读入这个关系比计算该子表示式时间少得多,则先计算一次公共子表示式并把结果写入中间文件是合算当查询是视图时,定义视图表示式就是公共子表示式情况6.在实施连接操作前对关系合适进行预处理按连接属性排序在连接属性上建立索引

索引:SearchKey(检索关键字)-attributetosetofattributesusedtolookuprecordsinafile.(设置属性用于查找在一个文件中统计)Anindexfileconsistsofrecords(calledindexentries)oftheform(一个索引文件包含统计表格即索引项表)Indexfilesaretypicallymuchsmallerthantheoriginalfile(索引文件比源文件小很多)Twobasickindsofindices(两种基础索引):Orderedindices(指令索引):searchkeysarestoredinsortedorder(根据次序搜索密钥存放)Hashindices(哈希索引):searchkeysaredistributeduniformlyacross“buckets”usinga“hashfunction”.(检索关键字均匀分布哈希函数桶中)clusteringindex聚簇索引:Primaryindex:inasequentiallyorderedfile,theindexwhosesearchkeyspecifiesthesequentialorderofthefile.初级索引:在一个次序文件、索引搜索键指定文件次序。Alsocalledclusteringindex聚簇索引Thesearchkeyofaprimaryindexisusuallybutnotnecessarilytheprimarykey.主索引检索关键字通常但不一定是主键。non-clusteringindex.非聚簇索引Secondaryindex:anindexwhosesearchkeyspecifiesanorderdifferentfromthesequentialorderofthefile.索引检索关键字指定一个次序不一样于文件中次序。Alsocalled

non-clusteringindex.非聚簇索引DenseIndexFiles(密集索引文件)指向行Indexrecordappearsforeverysearch-keyvalueinthefile.索引统计对应每个检索关键字值(一一对应)SparseIndexFiles(稀疏索引文件)指向页containsindexrecordsforonlysomesearch-keyvalues.只包含部分search-key值索引统计。Applicablewhenrecordsaresequentiallyorderedonsearch-key适适用于统计次序统计检索关键字MultilevelIndex冲突可串行化冲突指令 当两条指令是不一样事务在相同数据项上操作,而且其中最少有一个是write指令时,则称这两条指令是冲突 如在②、③、④情况下,Ii和Ij是冲突 非冲突指令交换次序不会影响调度最终止果冲突等价 假如调度S能够经过一系列非冲突指令交换转换成调度S',则称调度S和S'是冲突等价B+-treeB+-treeindicesareanalternativetoindexed-sequentialfiles(B+树索引是连续索引文件替换)Disadvantageofindexed-sequentialfiles(次序索引文件缺点)performancedegradesasfilegrows,sincemanyoverflowblocksgetcreated.(伴随文件增多,性能会有所下降,因为创建了很多溢出块)Periodicreorganizationofentirefileisrequired.(必需定时重组整个文件)AdvantageofB+-treeindexfiles(B+-tree优点):automaticallyreorganizesitselfwithsmall,local,changes,inthefaceofinsertionsanddeletions.(在进行插入和删除时候,能自动对备份和更改善行整理)Reorganizationofentirefileisnotrequiredtomaintainperformance.(对于性能维护,不需要对整个文件进行重组)(Minor)disadvantageofB+-trees(缺点):extrainsertionanddeletionoverhead,spaceoverhead.(额外插入和删除开销,空间开销。)AdvantagesofB+-treesoutweighdisadvantages,B+-treesareusedextensively(B+-trees优点大于缺点,被广泛使用)AB+-treeisarootedtreesatisfyingthefollowingproperties(B+-tree含有以下属性):Allpathsfromroottoleafareofthesamelength(全部树枝从根到叶长度相同)Eachnodethatisnotarootoraleafhasbetweenn/2andnchildren.(每个不是根节点也不是叶子节点节点有n/2到n个孩子节点)Aleafnodehasbetween(n–1)/2andn–1values特殊情况:假如根不是一片叶子,它最少有两个孩子。假如根是叶(即没有其它节点树),它能够有0到(n-1)之间值。B+-TreeNodeStructure(节点结构)P1是指针,指向子节点(非叶子结点)或指向统计内容(叶子结点)Kiarethesearch-keyvaluesK1是关键字检索值B+-Tree中叶子结点ACIDpropertiesofaTransaction(事务ACID属性)原子性(Atomicity):一个事务中全部操作要么全部成功,要么全部失败。原子性由恢复机制实现。一致性(Consistency):事务完成后,全部数据处于应有状态,全部内部结构正确,能够正确反应事务所作工作。基于隔离性实现。隔离性(Isolation):一个事务不会干扰另一个事务进程,事务交叉调度实施结果和串行调度实施结果是一致。隔离性由并发控制机制实现。持久性(Durability):事务提交后,对数据库影响是持久,即不会因为系统故障影响事务持久性。持久性由恢复机制实现。事务调度:事务实

温馨提示

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

最新文档

评论

0/150

提交评论