还剩27页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
四级数据库工程师重难点复习数据是信息的符号表示,是载体;信息是数据的语义解糅,是内涵.数据模型是对现实世界数据特征的抽象,是数据库系统的形式框架,用来描述数据的一组概念与定义,包含描述数据、数据联系、数据操作、数据语义与数据一致性的概念工具满足三条件比较真实地模拟现实世界;易于人们懂得;易F计算机实现.模式是对数据库中全体数据的逻辑结构与特征的描述,是所有用户的公共数据视图,也称之逻辑模式或者概念模式外模式是对数据库用户能够看见与使用的局部数据的逻辑结构与特征的描述,是与某•应用有关的数据的逻辑表示,也称之子模式、用户模式或者用户视图当数据库模式发生变化时,通过调整外模式/模式间的映像关系,使得应用程序不必随之修改,从而保证数据与应用程序间的逻辑独立性,简称数据的逻辑独立性当数据库数据的物理存储结构改变时,通过调整模式/内模式映像关系,保持数据库模式不变,使数据库系统的外模式与应用程序不随之改变,保证数据与应用程序间的物理独立性,简称数据的物理独立性.数据库是存储在计算机内的共享数据集合,数据库管理系统是一种数据管理系统软件数据库系统则是在计算机系统中引入数据库后的软硬件系统构成,包含了数据库、数据库管理系统与数据库应用程序.DBMS的要紧功能有数据定义、数据操纵、数据库运行管理与操纵、数据库建立与保护DBMS包含查询处理耀与存储管理器查询处理器实现面向用户的查询分析处理与优化功能存储管理器为用户与应用程序提供了访问存储在数据库文件中的应用数据的接口[WITHCHECKOPTION]
8.14Charn代表的是普通字符编码按定长存储的字符串,“n”的含义是字符的个数,固定占用n个字节的空间varcharn代表的是普通字符编码按不定长存储的字符串,“屋的含义也是字符的个数,按字符的实际长度占用空间第9章事务高度与并发操纵
9.1调度定义在多个事务上的调度是这些事务的所有操作的一个执行序列,代表了这地操作的执行顺序;冲突操作事务Ti的操作li与事务Tj的操作Ij是冲突的,当且仅当li与Ij访问数据库中同一个数据项Q同时li与Ij中至少有一个是写操作writcQ;冲突可串行•个并发调度冲突等价于某个串行调度推断•个并行调度是否正确死锁是指数据库系统中部分或者全部事务由于无法获得对需要访问的数据项的操纵权而处于等待状态,同时将一直等待下去的一种系统状态ACID Atomicity原子性;Consistency一致性;Isolation隔离性;Durability持久性1级加锁协议要求事务r在修改数据项Q之前务必先对Q加X锁直到事务结束才释放该锁事务结束包含正常结束commit与非正常结束rollback但事务假如是只读Q而不对其进行修改,是不需要对Q加锁的2级加锁协议是在1级加锁协议基础I要求事务T在读取数据项Q之前务必先对其加S锁,读完Q后能够立即释放S锁3级加锁协议则是在I级加锁协议基础上,要求事务T在读取数据项Q之前务必先对其加S锁,但是需要等到事务结束时才释放该S锁2阶段锁协议将每个事务的执行过程分为加锁阶段与解锁阶段在加锁阶段,事务能够申请获得数据项上的任何类型的锁,但不同意释放任何锁在解锁阶段,事务能够释放任何数据项上的任何类型的锁,但不能再申请任何锁每个事务开始执行后就进入了加锁阶段当第一次释放锁后,即转入解锁阶段解决死锁要紧使用死锁预防与死锁检测与恢更两类方法死锁预防利用死锁预防协议,通过破坏死锁产生的必要条件来避免系统进入死锁状态一次性加锁法;顺序加锁法死锁检测与恢复则是同意系统进入死锁状态,同时定期检查系统是否发生死锁当发现系统发生死锁后,采取相应的恢夏机制使系统撰脱死锁状态活锁产生的原因是在系统非死锁状态下,某些事务由于始终无法获得对所需访问的数据项的操纵权而长期等待下去,无法继续执行锁粒度大被加锁数据项少、事务并发执行度低、系统开销小;锁粒度小则反之基于锁的并发操纵技术的原理PI66第10章数据库的实施、运行与保护试运行功能测试;性能测试数据库保护数据库的转储与恢复;数据库的安全性、完整性操纵;数据库性能的检测与改善;数据库的重组与重构数据库安全行政手段制定规范;权限管理、口令等;保护多个数据副本;防及除毒数据库重组按照系统设计要求对数据库存储空间进行全面调整;数据库重构业务小范围变化需对数据库逻辑结构作必要改变数据库监控分析DBA借助相应工具监测数据库系统的运行情况,对监测数据进行分析,评估整个系统的运行状态,为系统的安全运行与性能优化提供根据数据库空间管理数据量增加与碎片使性能降低;空间溢出会带来灾难性停机故障包含创建修改删除数据库空间、新建移动关联数据文件等数据库参数调整外部调整CPU、网络;调整内存分配(改善程度大);调整磁盘I/OWO时间是响应时间的最大构成部分);调整竞争数据库查询优化合理使用索引;避免或者简化排序(Orderby、Groupby磁盘排序比内存排序开销大速度慢);避免有关子查询、外连接(左右连接比内连接消耗大);存储过程第11章故障管理故障种类事务内部故障(事务回滚撤消修改)、系统故障(影响事务不坏数据)、介质故障(软件容错•、硬件容错)、病毒系统故障计策重启,撤消(UNDO)未提交的事务,重做(REDO)已提交的事务软件容错备份、日志文件,利用恢复技术;硬件容错双物理存储设备1L4恢复基本原理冗余,即所有数据均可通过存储在别处的冗余数据来重建关于经常进行数据操作的数据库完全转储+差异转储以记录为单位的日志文件开始标记(TiBEGINTRANSACTION)、结束标记(TiCOMMIT或者者TiROLLBACK)、每个事务的所有操作(TiA5080)以数据块为单位的日志文件存放更新前与更新后的整个数据块只有事务标识与被更新的数据块,没有操作类型与操作对象H.8日志的作用用来进行业务故障与系统故障恢复;协助后备副本进行介质故障恢复(动态转储必用);记录操作监视行为分析问题登记原则登记次序严格按并行事务执行次序;务必先写日志文件再写数据库H.9检查点最大限度减少数据库完全恢复时所务必执行的日志部分(针对系统故障)优点提供完整或者几近完整的数据冗余,增强数据保护;发生介质故障时,数据不可能丢失且服务不可能中断,提高数据库可用性;提高镜像数据库在升级期间的可用性双机互备援模式(均为主);双机热备份模式(一主一备份机)数据库镜像可用于并发操作第12章SQLServer2000数据库管理系统四个服务SQLServer核心服务;SQLServerAgent代理服务,代理定期进行的管理工作;网络库在SQLS客户端与服务器间传递网络数据包服务器可一次监听多个网络库SQLServer的两大类数据库系统数据库DBMS自动创建及保护,存放保护系统正常运行的信息,master(系统级信息)、msdb(支持自动执行任务)、model(所有用户数据库的公共信息)、tempdb(临时数据库),示例Pubs、Norlhwind;用户数据库估算存储空间SQLServer数据存储单位为页(Page)一个数据页是一块8KB的连续磁盘空间,行不能跨页存储,一行数据的大小不能超过一页的大小一个表1000()行数据,每行3000字节,则需要(10000/2)*8KB=40MB的空间主数据文件扩展名为.mdf包含数据库系统信息并可存放用户数据库数据,每个数据库只有一个主数据文件辅助数据文件扩展名为.ndf数据量很大时使用,可存放在不•致的磁盘驱动器匕以便得利用多个磁盘上的存储空间并提高数据存取的并发性每个数据文件及日志文件(.Id初始大小均不得小于5I2KB主数据文件大小不得小于model数据库主数据文件,日志文件最好不小于IMB创建数据库CREATDATABASEjessyminON一一表示数据库按下面参数创建NAME=jessymin——逻辑文件名FILENAME=..AMSSQLXData^cssyminData.mdf——OS下的物理文件名SIZE=10——文件初始大小,单位默认为MB下同MAXSIZE=30——文件最大大小FILEGROWTH=5——文件增量,为0表示不自动增长,默认按当前10%增长)LOGON一一表示该数据库日志文件按下面参数创建(同上,只是物理文件名为jessymin.LDF)删除数据库DROPDATABASEjessymin删除六种数据库对象均用DROPTransaci-SQL非过程化高级语言,全司变量@@局部变量@局部变量能够是自定义类型但不能是text或者image类型Transact-SQL示例计算1+2+3+...+100的与:DECLARE@iint@sumintSET@i=l@sum=0-SET可换为SELECTWHILE@i=100BEGINSET@sum=@sum+@iSET@i=@i+lENDPRINT@sumDTSDataTransformationService数据转换服务注意区别DTC分布式事务协调器导出数据时用户务必是要连接的数据库服务器的合法用户,且对要导出的表具有查询权限第13章数据库对象存储过程的SQL语句与操纵流语句的预编译集合,应用程序可通过调用方法来执行优点模块化程序设计;提高性能;减少网络流量;可作为安全机制使用带有多个参数并有默认值及输出参数的存储过程示例CREATEPROCEDUREp_Example@areavarchar20=,武汉大学,@Pricemoney@SumintoutputASSELECT/UPDATE/INSERT/DELETE……SET@Sum=应用程序中执行的SQL语句Declare@resintEXECUTEpExample武汉大学信息学部,1000@resoutput或者者EXECUTEp_Exaniple@Price=l@resoutput用户自定义函数标量函数返回单值,非text、Image类型,任何同意出现表达式的地方、内嵌表值函数返回一个表,放在查询语句的From子句中、多语句表值函数返I可一个可自定义的表,也放在查询语句的From子句中,视图与存储过程的结合标量函数救示例根据指定的商品类别查询该类的商品个数CREATFUNCTIONdbo.fLGoodsCount@classvarcharlORETURNSintASBEGINDECLARE@xintSELECT@x=counl(*)FromT_GoodsClassaJIONT_GoodsbONa.GoodClasslD=b.GoodClassIDWHEREGoodClassName=@classRETURN@xEND调用SELECTdbo.匚GoodsCount服装或者者SELECTGoodsNameAS商品名,dbo.LGoodsCount(服装)AS种类数From....内嵌表值函数的不一致之处在于RETURNS后只能是tableRETURN后面只能是单个的SELECT语句,没有有关联的返回变量也没有函数体调用时放在查询语句的FROM子句中触发器是一种不需要由用户来调用的存储过程,当用户对表进行UPDATE、INSERT或者DELETE操作时自动触发执行作用保证业务规则与数据完整性优点用编程方法来实现复杂的处理逻辑与业务规则,增强数据完整性约束触发器适用场合比CHECK语句更复杂的数据约束(可引用其他表中的列);为保证数据库性能而保护的非规范化数据(如增加统计总值的列);实现复杂的业务规则AFTER/FOR后触发型触发器,可在同一操作上建立多个;INSTEADOF前触发型,在同一操作上只能建立一个所有的涉及对数据库对象操作的语句均不同意出现在触发器中DELETED表存储UPDATE与DELETED操作语句所影响行的更新前的旧数据;INSERTED表存储UPDATE与INSERT操作语句所影响行的更新后的新数据保护数据操作完整性的后触发器示例销售量大于库存量则撤销当前销售,小于时则在插入销售单据明细时同时修改库存量CreateTriggerOpcratonConONT_SaleDetailFORINSERTASIFEXISTSSelect*FrominsertedaJionT_GoodsbONa.GoodsID=b.GoodsIDWHEREa.Quanityb.TotalChargeBEGINROLLBACKPRINT,此商品库存量小于此次销售数量’ENDELSEUPDATET_GoodsSETTotalCharge=TotalCharge-SELECTQuanityFrominserted保护不•致列之间取值完整性的后触发器示例保证商品表中的单价与价格变动表中一致CREATETRIGGERPriccConstraintONT_PriceHistoryFORINSERT.UPDATEASDECLARE@newpricemoneySELECT@newprice=SalePriceFrominsertedUPDATET_GoodsSETSaleUnitPrice=@newpriceWHEREGoodsIDINSELECTGoodIDFrominserted前触发器指定执行触发器而不执行引发触发器的SQL语句,因此,假如数据操作满足完整性约束则在触发渊中务必重新执行这些数据操作语句前触发器示例保证销售单据中的会员卡是有效日期内的会员卡CREATETRIGGERCardValidONT_SalcDctailINSTEADOFINSERTUPDATEASIFNOTEXISTSSEIETCT*FrominsertedaJOINT_CardbONa.CardID=b.CardIDWHEREa.SalDateNOTBETWEENb.StartDateANDb.EndDateINSERTINTOT.SalcDctailSELECT*Frominserted若满足条件此语句重新执行有意的非法活动加密存、取数据;有意的非法操作用户身份验证、限制操作权;无意的损坏提高系统的可靠性与数据备份数据库权限的种类对DBMS进行保护的权限;对数据库对象与数据进行操作的权限SQLServer权限种类(与数据库用户分类对应):隐含权限(预定义的内置权限);语句权限(DDL语句权限,创建删除数据库对象);对象权限(DML语句权限,操作数据库对象)数据库用户的分类数据库系统管理员(SA全部权限);数据库对象拥有者(创建数据库对象的用户,对所拥有的对象具有一切权限);普通用户只具有对数据的编辑查询功能系统内置的登录账户BUILTIN\Adminis【rator;SA;域名\Adminislrator均DBMS管理员创建SQLServer身份认证的登录账户EXECUTEsp_addlogin,user3123jessyminUscr3为登录账户,123为密码,jcssymin为默认数据库;WINDOWS认证sp_grantlogin删除登录账户存储过程EXECdroploginuser3(SQLServer身份验证);EXECrevokelogin4Server1XntuserXWINDOWS身份验证)登录账户能够连接到SQLServer服务器上但并不具有访问任何数据库的能力,务必再成为数据库的合法用户一个登录账户能够映射为多个数据库用户,管理数据库用户的过程实际上就是建立登录账户与数据库用户之间的映射关系的过程新建的数据默认只有一个用户dbo它是数据库的拥有者创建数据库用户EXECsp_addusertU2;U2user_role\用户名与登录张户一致,并让其成为“uscrrole”角色的成员删除EXECspdropuscrlU2合法用户除了对所属数据库系统表具有一些查询权限外并不对数据库中的用户数据与对象具有任何权限,还得得到对数据库数据与对象的操作权限收回权限不同意用户或者角色具有某种操作权,或者者收回曾经授予的权限,置空标记;
6.关系模型用二维表表示实体及实体之间的联系,现实世界中的每个客观对象对应表中的一行叫做一条记录,表中的每个列(属性)描述对象类的某一特征,列的值(属性的取值垓I画与描述客观对象的某一具体的特征软件生命周期是指软件产品从考虑其概念开始,到该产品不再使用的整个时期通常包含概念阶段、需求阶段、设计阶段、实现阶段、测试阶段、安装部署及交付阶段、运行阶段与保护阶段数据库应用系统需求是指用户对数据库应用系统在功能、性能、行为、设计约束等方面的期望与要求数据及数据处理、业务、性能、其他存储安全备份与恢复等数据库应用系统生命周期模型.瀑布模型原理,项目规划、需求分析、系统设计、实现与部署、运行管理与保护五部分.快速原型模型与增量模型原理,同意渐进、迭代地开发DBAS..根据DBAS的软件构成与各自功能,细化DBAS需求分析与设计阶段,引入了数据组织与存储设计、数据访问与处理设计、应用设计三条设计主线,分别用于设计DBAS中的数据库、数据库事务与应用程序.设计阶段细分为概念设计、逻辑设计、物理设计三个步骤,每一步涵盖三条设计主线第3章需求分析及功能建模方法数据元素(列)是数据处理中的最小单位DFD图数据流(标有名字的箭头)、处理、数据存储(横圆柱)、数据源/终点(棱形)DEFO图更好地懂得需求;ICOM(输入、操纵、输出、机制)码;至少一个操纵与输出箭头A-O;AO(顶层图);A1:A11DFD与IDEFO的比较结构化分析思想自顶而下逐级细化拒绝访问拒绝某用户或者角色具有某种操作权,即使由于继承获得的权限也无效,叉叉标记用Transact-SQL语句管理对象权限入管理语句权限P245角色数据库中具有相同权限的一组用户系统预定义的固定角色;自定义用户角色固定的服务器角色*amdin+dbcreator权限最重要最高的是sysadmin角色成员源均为系统的登录账户EXECspaddsrvTolememberServeri\ntuser*/sysadmin固定的数据库角色db_*+public权限最高的是db_owncr EXECsp_addrolcmcmbcrPb_owncr:uscr3(注意用户与用色的顺序)public角色每个用户均自动为其成员,不具任何权限但可给予权限假如想让所有数据库用户均具有某个特定权限则可将该权限授予public用户自定义的用户角色:EXECspaddroletmyrole只要权限没有被拒绝过,角色中成员权限是角色的权限加上成员自己的权限第15章备份与恢复数据库备份的两种方式先创建备份设备(备份数据库的场所),再将数据库备份到备份设备上(永久备份设备);直接将数据库备份到物理文件上(临时备份设备)创建磁盘备份设备EXECsp_addumpdevicetdisk\mydiskdump\..\mydump.bak常用备份策略完全备份加差异备份加日志备份,备份与恢复速度都比较快,而且当系统出现故障时丢失的数据较少Transact-SQL语句BACKUPDATABASE\LOGjessyminTOmydiskdumpWITHINITWITHINIT表示覆盖掉原有内容,相当于“重写现有媒体恢复的通常顺序先恢复最近的完全数据库备份;再恢复完全备份之后的最近的差异备份;最后按日志备份的先后顺序恢复自最近的完全备份或者差异备份之后的所有日志备份Transact-SQL语句恢更过程示例1)首先恢复完全备份RESTOREDATABASEjcssyminFROMmydiskdumpWITHFILE=1NORECOVERY2)然后恢复差异备份(假如有的话)RESTOREDATABASEjessyminFROMmydiskdumpWITHFILE=2NORECOVERY3)最后恢复日志文件RESTORELOGjessyminFROMmydiskdumpNorecovery表示对数据库的恢复操作尚未完成,相当于“使数据不再运行,但能还原其他事务的日志文件”默认为RECOVERY第16章VB开发环境与数据访问接口(鄙人此前未曾用过VB疏漏浅薄之处敬请见谅…)外部(ActiveX)数据绑定控件DataComboDataList、DataGrid、MSHFGrid等DBMS支持的两种数据接口:专用接口(与特定的DBMS有关);通用接口(屏蔽掉每个DBMS底层接口的差异,提供一种标准的访问方法)通用接口:ODBC、OLEDB、JDBC让应用程序具有很好的习惯性与可移植性;具备同时访问多种DBMS系统的能力OLEDB对象链接与嵌入的数据库ObjectLinkedandEmbedDataBase是MicrosoftOLE对象标准的一个实现,是COM对象,是为数据访问而设计的一系列COM接口ADO动态数据对象ActiveXDataObject建在OLEDB之上的高层接口集,是介于OLEDB底层接口与应用程序之间的接口,它避免了开发人员直接使用OLEDB底层接口的烦恼ODBC与OLEDB的要紧区别□ODBC只能访问关系型数据库,而OLEDB能够访问关系与非关系型甚至是无结构的数据2OLEDB克服了ODBC的一个要紧缺点一个ODBC驱动程序需要支持几乎所有的DBMS特征与功能,这需要大量的工作与初始投资,而OLEDB同意DBMS提供商只实现他们产品的一部分功能第17章VB数据库应用编程CommandType属性adCmdUnknown表示RecordSource中的命令类型未知;adCmdTable表示RecordSource属性的内容来自一张表;adCmdText表示RecordSource属性的内容来自一个查询语句;adCmdStoredType表示RecordSource属性的内容来自一个存储过程RecordSet的Move方法组中,MovePrevios与MoveNext没有自动检测记录的当前行指针是否移出了结果集边界的功能,需编码实现myadodc.RccordSct.MovcNcxt/MovcPrcviousIfmyadodc.RecordSet.EOF/BOF=TrueThenmyadodc.RccordSct.MovcLast/MovcFirstEndIf储存缓冲区中的记录Update方法;对当前记录指针作一个移动操作CancelUpdate方法应在Update方法之前调用,调用了Update方法之后的修改是不能撤销的;假如没有添加新记录也没有对当前记录做任何修改,调用CancelUpdate会出错Find方法用于在当前结果集中查找满足条件的记录myadodc.RccordSct.Find“查找条件表达式”与RecordSel对象名.Filter”选择表达式“相似.Filter=adFiherNone还原更新记录mydoede.RecordSet.FieldsMCustomIDM=TrimtxtCID.Textmydocdc.RccordSet.Ficlds“Agc=ClnttxtAgc.Tcxtmydocdc.RecordSet.Update删除记录提示窗口DimresAsIntegerres=MsgBox确实要删除此行i己录吗”,vbExclamation+vbYesNo+vbDefaultButton2Ifres=vbYesThenMyadodc.RccordSet.DcleteEndIf在DaiaGrid中显示全部列:DimintColAsIntegerWithmydgForintCol=0To.Columns.Count-I.ColunmsintCol.Visible=TrueNextEndWith另一种For循环ForEachparINadocm.ParametersNextpar排序功能实现mydg.DataSourcc=adodcWithadodc.RecordSetIfoptAsc.Value=TrueThen.Sort=.FieldintColName“ASC”Else.Sort=.FieldintCol.NameDESCEndIfEndWithmydg.RefreshADO对象模型Connection对象ErrorS集合Error对象Command对象Parameters集合Parameter对象RecordSet对象Fields集合Field对象Connection对象能够完成的操作连接数据源打开数据库;执行一个数据库操作命令;利用Error对象检杳数据源返回的出错信息销毁内存中的对象Set对象名:NothingCommand对象的CommandText属性相当pADO数据控件的RccordSource属性;Command对象的CommandType属性相当于ADO数据控件的CommandType属性RecordSet对象的要紧功能是建立记录集,并支持对记录集中各数据的各类操作同意用户直接获取数据,因此RecordSet对象与ADO的访问过程无关CursorType属性adOpcnDynamic动态游标反映所有用户对数据的修改,支持向前及向后移动;adOpenStatic静态游标不能反映其他用户的修改,支持向前及向后,当打开客户端RecordSet对象时,adOpenStatic为唯一同意的游标类型当打印报表与其他不需要即时完成更新数据的应用程序来说很有用adOpenFowardOnly仅向前游标默认值仅支持向前移动,其他与adOpenSlaiic一致adOpenKeyset键集游标介于动态与静态游标只看到其他用户更换的看不到添加删除的CursorLocation属性adUseNonc没有使用游标服务RecordSet.Open方法:myRs.OpenSourceActiveConnectionCursorTypeLockTypeOptions1Source支持的类别5Options的可选项一个返回记录的Command对象//ZadCmdFileSQL语句adCmdTcxt表名adCmdTable2ActiveConncction已打开的Connection对象;个连接字符串示例DimmyCnnAsNewADODB.ConnectionDimmyRsAsNewADODB.RccordSctmyCnn.Connection=Provider=SQLOLEDB.l;UserID=sa;_“InitialCatalog=商品经营管理数据库;DataSourcc=local^^myCnn.Open,别忘了打开”myRs.Source=select*fromTCustomcr”myRs.ActiveConnection=myCnnmyRs.CursorType=adOpcnDynamicmyRs.CursorLocation=adUseClientmyRs.Open…,adCmdTalbc
17.18创建RecordSet对象的三种方法:1使用Connection对象:SetmyRs=myConn.ExecuteMselect*fromTcustomcr;2使用Command对象SetmyRs=myComm.Execute;3直接使用Open方法myRs.Opcn
17.20三对象结合使用的典型示例DimmyCnnAsNewADODB.ConnectionDimmyRsAsNewADODB.RecordSelmyCnn.ConncctionString=Provider=SQLOLEDB.1;UscrID=loginIDf_InitialCatalog=jessymin;DataSource=local”myCnn.Opcn,别忘了打开”SetmyCmm.AcliveConnection=myCnnSetmyRs=myCmm.Exccutc
17.21VB自定义函数示例将字段空值转化为空字符串PrivateFunctionconvcrtNullvalAsVariantAsVariantIfIsNullval=TrueThenconvcrtNull=ElseconvcrtNull=valEndIfEndFunction第18章统一建模语言UML视图分类用例视图用例图;结构视图类图、对象图;行为视图顺序图、交互图、状态图、活动图;实现视图组件图;环境视图部署图类与类之间有关联(聚集,共享聚集+构成)、通用化(继承)(带空心三角形的实线)、依靠(单向实线)、精化(带空心三角形的虚线)183包(子系统)的四种可见性还包含实现可见性,与私有可见性类似A指向B的单向虚线表示子系统B被子系统A引用顺序图强调时间,协作图强调空间,状态图强调一个实体在不一致时刻的状态变化,活动图强调程序对•象逻辑流程的串行执行顺序与并行次序分布式数据库(物理分散逻辑集中)最基本特征本地自治、非集中式管理、高可用性;分片透明性(最高级)、位置透明性、局部数据模型透明性构成了分布式数据库的分布透明性分片是对关系(表)的操作,分配是对分片结果的操作193分布式数据库的模式结构全局外模式、全局概念模式、分片模式、分配模式、局部概念模式、局部内模式;系统构成结构GDBMS全局、GDD、LDBMS局部、CM通信管理分布式事务管理恢复操纵(基于两阶段的提交协议)与并发操纵(基于封锁协议)分布查询数据传输量大的要紧原因连接操作与并操作单继承一颗树;多继承带根的有向无回路图并行数据库体系结构共享内存;共享磁盘(中小型);无共享(最好的,银行出纳、民航售票等OLTP类,缺点通信代价与非本地磁盘访问代价);层次结构(综合)一维数据划分方法轮转法最适合于扫描整个关系;散列划分法比转转法更适合点查询,也适合顺序扫描关系;范围划分法明显利于范围查询与点查询缺点均不能有效支持非划分属性上具有选择谓词的杳询第20章数据他仓库与数据挖掘数据仓库解决的问题是如何更合理与理有效的组织企业的数据体系,目的在于根据决策需求对数据采取适当的手段进行集成,形成•个综合的面向分析的数据环境;数据挖掘解决的问题是如何针对具体的分析对象与分需求,尝试智能与自动化的手段把数据转换为新的有用的信息与知识数据分类操作型数据(操作型处理,以业务处理为主的联机事务处理OLTP);分析型数据(分析型处理,以分析为主的决策支持系统DDS)数据仓库是一•个面向主题的、集成的(最重要,抽取、转换、清理、装载)、非易失的、且随时间变化的(时变性)数据集合,用来支持管理人员的决策数据仓库的体系结构操作型数据、操作型数据存储、数据仓库、数据集市;功能层次:数据管理、数据处理、数据应用粒度涉及数据仓库的数据量与支持的查询类型粒度小,细节度高,数据量大,查询多ODS(OperationalDataStore操作型数据存储)一方面,类似于操作型环境,可进行企业全局性联机操作型处理;另外一方面,是一个面向主题的、集成的数据环境,但数据量小适合于辅助企业完成口常决策的数据处理分析(秒级、小时级、天级、含反馈信息)数据仓库设计以数据仓库的主题数据模型设计与实现为核心OLAP(联机分析处理,On-LineAnalyticalProcessing)支持更杂的分析操作,侧重对决策人员与高层管理人员的决策支持:.DFD图用笳头也叫数据流来描述数据移动的方向、数据处理之间的数据依靠关系,IDEFO图也用箭头表示数据流,但不强调流或者顺序,强调数据约束,箭头语义更丰富.DFD模型有四种元素,IDEFO图只有两种箭头与活动
3.IDEF0图更加规范其概念、建模方法、画图规则等均有说明与规定
3.5结构化分析及建模方法的优点1)只是早陷入具体的细节,从整体或者宏观入手分析问题,如业务系统的总体结构,系统及子系统的关系2)通过图形化的模型对象直观地表示系统完成什么功能,方便系统分析员懂得与描述系统3)模型对象不涉及太多技术术语,便于用户懂得模型第4章数据库概念设计与数据建模概念设计的目的与任务面向现实世界,懂得与描述应用领域中的数据需求,分析确定系统需要存储与处理什么数据过程确定实体集;确定联系与联系类型;建立由信息模型表示的业务模型;确定实体集属性;优化信息模型实体集描述具有相同属性特征与性质的事物集合;属性描述实体集具有的某一特征或者性质IDEFIX标定型(子依父实例才标定)(确定型);非标定型(确定型);分类;不确定第5章关系数据库逻辑设计关系数据库按照二维表格组织与存储的相互关联的关系(表)的集合关系数据库使用关系模型在计算机中组织、存储、处理与管理数据主码约束惟一性;最小性,不能取空值,同时取值要唯一多维分析的基本活动钻取Drill-Down与卷起Roll-Up;切片Slice与切块Dice;旋转OLAP的实现方式基于多维数据库的;基于关系数据库的;混合型的数据挖掘数据库知识发现KDD从存放在数据库、数据仓库或者其他信息库中的大量数据中挖掘有趣知识的过程三阶段数据准备、数据挖掘、结果的解释评估数据仓库保护策略通常分为实时保护、延时保护、快照保护建立ODS的目的通常是为支持即时OLAP与全局OLTP两类应用外码约束假如两个关系R与SX是R的属性或者属性组,且X不是R的码,但X是S的码,则称X是R的外码或者者取空值,或者者等于S中某个元组的主码的值逻辑设计的内容定义与描述数据库的全局逻辑结构、数据之间的关系、数据的完整性等目的得到实际数据库管理系统能够处理的数据库模式步聚ER图转化关系模式;优化关系模式;数据完整性设计;外模式设计关系模式描述关系的静态结构,由模式名、属性、完整性约束构成,关系是一个表中记录的集合,关注与强调的是值(模式实例)的集合,也是关系模式在某一时刻状态的反映关系的完整性(完整性约束)对关系所满足条件的定义作用限定与检查数据库所含实例的合法性与正确性静态主码、外码、域(用户定义);动态基于业务规则伪传递规则X-YYW-Z则XW-Z成立INF R的每一属性均不可再分;2NF是1NF且每个非主属性完全依靠于主码在1上消除非主属性对主码的部分函数依靠;3NF是1NF且每个非主属性只依靠于主码在2上消除非主属对主码的传递函数依靠ER模型转换关系模型实体集转为同名关系;联系转为一个关系,各实体集的码及联系的属性转为关系的属性(11均可、1n取n、m n取集);合并具有相同码的关系第6章存储技术与数据库物理设计物理设计是在具体的硬件环境、OS、DBMS约束下,基于逻辑设计,设计具体数据存储结构与存取方式目的占用空间少、访问效率高、保护代价低要紧步骤有数据库逻辑模式调整、文件组织与存取设计、数据分布设计、安全模式设计、确定系统配置、物理模式评估索引技术Indexing是一种快速文件访问技术,它将文件记录在某个或者某些域或者称之属性上的取值与该记录的物理地址直接联系起来,提供了一种根据记录域的取值快速访问文件记录的机制索引文件是一种利用索引技术支持快速文件访问的文件组织与存取方法索引加快了查询记录却减慢了数据更新速度,本身还占用一定的存储空间文件结构如何将DB文件中的逻辑记录映射到物理文件的中磁盘块文件存取针对某种结构的DB文件,如何查、添删改其中的逻辑记录数据字典数据库各类府象的描述信息、数据库管理系统的操纵信息包含关系模式信息、与视图描述有关的信息、关系的存储结构与存取方法信息、完整性约束、安全性有关的信息、数据库运行统计信息作用DBA用来监视DBMS的使用情况并协助完成管理工作;通常用户可用于查阅部分数据库结构信息;DBS运行时各子系统频繁使用以完成相应的存储与查询处理功能DBMS的三种完整性操纵机制CHECK子句、断言、触发器断言语句Createassertion断言约束名check...堆文件数据量少且操作频繁;批量加载数据先选为堆文件再调整文件结构顺序文件查询条件定义在查找码匕快速的二分查找散列文件基于散列域值的等值匹配,特别是访问顺序是随机的非精确查询;非散列域B-树与B+-树大数据量基本表;聚焦文件多表连接操作有序索引技术利用索引文件实现查找码取值到记录物理地址间的映射关系索引文件由索引记录构成,每个记录中的索引项记录了某个特定的查找码值与具有该值的数据文件记录的物理地址当需要访问数据文件中某个数据记录时,先根据查找码值查阅索引文件找到对应的索引项然后从索引项中找出数据记录在数据文件中的物理地址.根据这个地址访问数据记录散列技术是•种快速文件访问技术,它利用散列函数实现文件记录域取值到记录物理地址间的直接映射关系当需要访问数据文件中查找码值为si的某个或者某些文件记录时,将si作为散列函数h的输入计算得出的散列函数输出值h(si)就是文件记录在数据文件中的物理地址权限同意用户对一给定的数据库对象可执行的操作(查询、添删改、新建、备份等)第7章数据库应用系统功能设计软件设计包含系统的总体结构设计、系统的过程设计、系统的数据设计三方面内容(+人机界面设计),从工程管理的角度,分为概要设计、全面设计应用软件分为数据库事务与应用程序后者一方面能够与数据库事务协调合作,另一方面还可实现与数据库访问无关的功能,如通信、人机交互事务具有逻辑独立功能的一系列操作的集合,实现了某些特定的业务规则事务概要设计的核心是辨识与设计事务自身的事务处理逻辑,使用面向数据流的程序设计方法设计事务内部的数据处理流程与结构B/S结构特点表示层,WEB浏览器;功能层,WEB应用服务器;数据层,DBMS服务第8章SQLSQL二StructuredQueryLanguage结构化查询语言二进制字符串是用十六进制表示的,Ox前缀创建表CREATETABLETable_CardCardIDvarchar8NOTNULLStartDaledatetimeNOTNULLEndDatedatetimeNOTNULLScoreintNOTNULLCHECKScore=0DEFAULT0StatecharlNOTNULLCHECKStatein012SexcharlCHECKSexin4男女,,AgeintCHECKAgebetween]1685]CustomerlDvarchar8CHECKEndDatcStartDatcPRIMARYKEYCardIDFOREIGNKEYCustomerlDREFERENCESTablc.CustomcrCustomerlD删J除表DROPTABLETable_Card修改表ALTERTABLETable_CardADDCardTypechar4NULLALTERTABLETable_CardALTERCOLUMNCardTypechar8ALTERTABLETable.CardDROPCOLUMNCardTypeSELECTCnameFROMTablb_CustomerWHEREAddressIN(,海淀区朝阳区)ANDageBETWEEN40AND50ANDCnamcLIKE[王张李]%王__ORDERBYSlarlDateASC.EndDateDESC除COUNT*不忽略空值外,其他函数COUNTDISTINCT列名、SUM、AVG、MAX、MIN均忽略空值均返回单值SELECTSUMScoreMAXAgeMINAgeAVGAgeCOUNTDISTINCT..FROMTable分组GROUPBY根据列不能是text.ntextimage与bit类型的列先分组后计算统计每种类别商品的商品数,只列出商品数大于4个的商品类别编号与商品数SELECTGoodClassIDas商品类别编号,COUNT*as商品数FROMTable_GoodsGROUPBYGoodClassIDHAVINGCOUNT*4自连接查询与王晓在同一个区的顾客的姓名及地址SELECTT
2.NameT
2.AddressFROMTable_CustoinerasT1JIONTable_CustomerasT2ONTl.Address=T
2.AddressWHERETl.Name=王.晓ANDT
2.Name!=王晓子查询一个SELECT语句嵌套在一个SELECT、UPDATE、INSERT或者DELETE语句中SELECTNameAddressFROMTable_CustomerWHEREAddressINSELECTAddressFROMTablcCustomcrWHERENamc=’王晓ANDNamc!=王晓外连接LEFTOUTERJOIN左外连接(左表全输出)RIGHTOUTERJOIN右外连接子查询[NOT]IN集合不有关子查询,先内后外WHERE列=/比较不有关子查询,先内后外[NOT]EXISTSELECT*存在有关子查询,先外后内修改数据INSERT[INTO]表名[列名表]VALUES值列表UPDATE表名SET列名=表达式[WHERE子句]/DELETE[FROM]表名[WHERE子句]分情况修改UPDATETable.GoodsWHEN家用电器,THENSalcPricc-SalePrice*
0.05WHEN服装THENSalePrice+SalePrice*
0.06ELSESalcPriccENDFROMTablc_GoodsaJIONTablc_GoodsClassbONa.ClassID=b.ClassID创建索弓I CREATEIUNIQUE1|CLUSTERED1[NONCLUSTERED|INDEX索引名ON表名列名[顺序ASC/DES]视图由从数据库基本表中选取出来的数据构成的逻辑窗口,是一个虚表,数据库只存放视图的定义而不存放视图包含的数据对视图的操作最终都会转换为对基本表的操作CREATEVIEW视图名[视图列名表]ASSELECT语句。
个人认证
优秀文档
获得点赞 0