还剩40页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
第章引言
1.数据是描述现实世界事物的符号记录,是用物理符号记录下来的可
1.1以识别的信息数据是信息的符号表示,是载体;信息是数据的语义解释,是内涵据模型是对现实世界数据特征的抽象,是数据库系统的形式框架,用
1.2来描述数据的一组概念和定义,包括描述数据、数据联系、数据操作、数据语义以及数据一致性的概念工具满足三条件比较真实地模拟现实世界;易于人们理解;易于计算机实现三个组成要素数据结构(静态,数据对象本身结构及之间的联系)、数据操作(对数据对象操作及操作规则的集合)和完整性约束(语义约束数据模型、数据内部及之间联系)式是对数据库中全体数据的逻辑结构和特征的描述,是所有用户的公
1.3共数据视图,也称为逻辑模式或概念模式外模式是对数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是与某一应用有关的数据的逻辑表示,也称为子模式、用户模式或用户视图内模式是对数据库中数据的物理结构和存储方式的描述,也称为物理模式或存储模式当数据库模式发生变化时,通过调整外模式/模式间的映像关系,使得应用程序不必随之修改,从而保证数据与应用程序间的逻辑独立性,简称数据的逻辑独立性当数据库数据的物理存储结构改变时,通过调整模式/内模式映像关系,[王张李]%,王Cname LIKEORDERBY StartDateASC,EndDate DESC除不忽略空值外,其他函数列名、
8.5COUNT*COUNT DISTINCT、、、均忽略空值均返回单值SUM AVGMAX MIN⑹,,SELECT SUMSco,MAXAg㊀MINAg㊀AVGAg㊀,COUNT DISTINCT..FROM Table分组依据列不能是和■类型的
8.6GROUP BYtextmtextjmcige bii列先分组后计算统计每种类别商品的商品数,只列出商品数大于个的商品类别编号和商4品数商品类别编号,商品数SELECT GoodClassIDas COUNT*as FROMTcble_GoodsGROUP BYGoodClassID HAVINGCOUNT*4自连接查询与王晓在同一个区的顾客的姓名及地址
8.7SELECT T
2.NameJ
2.Address FROMTable_Customer asT1JION Table_Customer asT2ON T
1.Address=T
2.Address WHERET
1.Name=王晓!=王晓AND T
2.Ndnn㊀子查询一个语句嵌套在一个、、SELECT SELECTUPDATE INSERT或语句中DELETESELECT Name,Address FROMTobi㊀_Custom㊀r WHEREAddr㊀ssIN,王SELECT AddressFROM Toble_Customer WHEREName=晓,!二,王晓,AND Nom㊀外连接左外连接左表全输出
8.8LEFT OUTER JOIN RIGHT右外连接OUTERJOIN子查询集合不相关子查询,先
8.9[NOT]IN内后外歹比较不相关子查询,先WHERE ij=/1内后外存在相关子查询,[NOT]EXIST SELECT*先外后内修改数据:表名[列名表]值列表
8.10INSERT[INTO]VALUES表名日列名二表达式子句]/表UPDATE S[WHERE DELETE[FROM]名子句][WHERE分情况彳修改:UPDATE Table.GoodsSET SalePrice=CASE GoodsClassName家用电器WHEN THENSalePrice-SalePrice*
0.05服装+WHEN THENSol㊀Pric㊀SalePrice*
0.06ELSE SalePriceENDFROMTable_Goods aJION Table_GoodsClass bON a.ClasslD=b.ClasslD创建索引:
8.11CREATE索引名[UNIQUE][CLUSTERED][NONCLUSTERED]INDEX表名列名[顺序ON ASC/DESC]视图由从数据库基本表中选取出来的数据组成的逻辑窗口,是一个
8.12虚表,数据库只存放视图的定义而不存放视图包括的数据对视图的操作最终都会转换为对基本表的操作视图名[视图列名表]CREATE VIEWAS语句SELECT[WITH CHECKOPTION]作用简化数据查询语句;使用户从多角度观察同一数据;提高了数据安全性屏蔽掉敏感数据;提供一定程度的逻辑独立性定点数:或为精度数字位个数,不
8.13numericp,q decimalp,q,p大于为小数位个数;类型只存储和不多于个列则38,q bit10,8bit只用个字节存储1代表的是普通字符编码按定长存储的字符串,的含义是
8.14Chorn“n”字符的个数,固定占用个字节的空间代表的是普通字符n vorchcirn编码按不定长存储的字符串,的含义也是字符的个数,按字符的实际“n”长度占用空间第章事务高度与并发控制9调度定义在多个事务上的调度是这些事务的所有操作的一个执行序
9.1列,代表了这些操作的执行顺序;冲突操作事务的操作与事务Ti liTj的操作是冲突的,当且仅当和访问数据库中同一个数据项lj liIJ并且和中至少有一个是写操作冲突可串行一个并发调Q,li ljwriteQ;度冲突等价于某个串行调度判断一个并行调度是否正确死锁是指数据库系统中部分或全部事务由于无法获得对需要访问的数据项的控制权而处于等待状态,并且将一直等待下去的一种系统状态原子性;一致性;隔离性;
9.2ACID:Atomicity ConsistencyIsolation持久性Durability级加锁协议要求事务在修改数据项之前必须先对加锁,直
9.31T QQ X到事务结束才释放该锁事务结束包括正常结束和非正常结束commit但事务如果是只读而不对其进行修改,是不需要对加rollbock QQ锁的级加锁协议是在级加锁协议基础上,要求事务在读取数据项之前21T Q必须先对其加锁,读完后可以立即释放锁S QS级加锁协议则是在级加锁协议基础上,要求事务在读取数据项之31T Q前必须先对其加锁,但是需要等到事务结束时才释放该锁S S阶段锁协议将每个事务的执行过程分为加锁阶段和解锁阶段在加
9.42锁阶段,事务可以申请获得数据项上的任何类型的锁,但不允许释放任何锁在解锁阶段,事务可以释放任何数据项上的任何类型的锁,但不能再申请任何锁每个事务开始执行后就进入了加锁阶段当第一次释放锁后,即转入解锁阶段解决死锁主要采用死锁预防和死锁检测与恢复两类方法
9.5死锁预防利用死锁预防协议,通过破坏死锁产生的必要条件来避免系统进入死锁状态一次性加锁法;顺序加锁法死锁检测与恢复则是允许系统进入死锁状态,并且定期检查系统是否发生死锁当发现系统发生死锁后,采取相应的恢复机制使系统摆脱死锁状态活锁产生的原因是在系统非死锁状态下,某些事务由于始终无法获得
9.6对所需访问的数据项的控制权而长期等待下去,无法继续执行锁粒度大被加锁数据项少、事务并发执行度低、系统开销小;锁粒
9.7度小则反之基于锁的并发控制技术的原理
9.8P166第章数据库的实施、运行和维护10试运行功能测试;性能测试
10.1数据库维护数据库的转储和恢复;数据库的安全性、完整性控制;
10.2数据库性能的检测和改善;数据库的重组和重构数据库安全行政手段制定规范;权限管理、口令等;维护多个数据
10.3副本;防及除毒数据库重组按照系统设计要求对数据库存储空间进行全面调整;数
10.4据库重构业务小范围变化需对数据库逻辑结构作必要改变数据库监控分析借助相应工具监测数据库系统的运行情况,对
10.5DBA监测数据进行分析,评估整个系统的运行状态,为系统的安全运行和性能优化提供依据数据库空间管理数据量增加和碎片使性能降低;空间溢出会带来灾
10.6难性停机故障包括创建修改删除数据库空间、新建移动关联数据文件等数据库参数调整外部调整、网络;调整内存分配(改善程度
10.7CPU大);调整磁盘|/(|/时间是响应时间的最大组成部分);调整竞争
10.8(数据库查询优化合理使用索引;避免或简化排序、09㊀r byGroup by,磁盘排序比内存排序开销大速度慢);避免相关子查询、外连接(左右连接比内连接消耗大);存储过程属于但不属于的逻辑和物理空间结构表空
10.9Oracle SQL Server间、段、区第章故障管理11故障种类事务内部故障(事务回滚撤消修改)、系统故障(影响事
11.1务不坏数据)、介质故障(软件容错、硬件容错)、病毒系统故障对策重启,撤消()未提交的事务,重做()
11.2UNDO REDO已提交的事务软件容错备份、日志文件,利用恢复技术;硬件容错双物理存储
11.3设备恢复基本原理冗余,即所有数据均可通过存储在别处的冗余数据来
11.4重建对于经常进行数据操作的数据库完全转储+差异转储
11.5以记录为单位的日志文件开始标记()
11.6Ti BEGINTRANSACTION结束标记(或者)、每个事务的所有操x TiCOMMIT TiROLLBACK作()Ti,A,50,80以数据块为单位的日志文件存放更新前和更新后的整个数据块只
11.7有事务标识和被更新的数据块,没有操作类型和操作对象日志的作用用来进行业务故障和系统故障恢复;协助后备副本进行
11.8介质故障恢复(动态转储必用);记录操作监视行为分析问题登记原则登记次序严格按并行事务执行次序;必须先写日志文件再写数据库检查点最大限度减少数据库完全恢复时所必须执行的日志部分(针
11.9对系统故障)数据库镜像提高数据库可用性的解决方案(比如介质故障,两台
11.10服务器相互备份)优点提供完整或几近完整的数据冗余,增强数据保护;发生介质故障时,数据不会丢失且服务不会中断,提高数据库可用性;提高镜像数据库在升级期间的可用性双机互备援模式(均为主);双机热备份模式(一主一备份机)数据库镜像可用于并发操作廉价冗余磁盘阵列(镜像冗余、)校验冗余对成员磁盘
11.11RAID上的数据执行异或()操作得到其校验值并存放在另外的校验磁盘上XOR当某个磁盘发生故障时,只须计算其他磁盘上的校验数据和数据的异或便可重新得到该磁盘的值第章数据库管理系统12SQL Server2000四个服务:核心服务;
12.1SQL Server代理服务,代理定期进行的管理工作;SQL S㊀rv㊀rAg㊀nt:分布式事务协调器,同一DTC:Distributed TransactionCoordinator,事务访问多个服务器全文检索服务Microsoft S㊀arch:四个版本企业版(全部功能、大型数据库)、标准版(小部门)、开
12.2发版(同企业版,作开发测试系统用,不作生产服务用)个人版(移动环境、本地数据)服务帐户使用本地系统帐户自动取当前登录到的用
12.3Windows户,没有的网络访问权限,适用于非网络服务器操作系统Windows(如)使用域用户帐户使用身份验证设置连接到XP;Windows SQL用户必是系统管理员,适用于网络服务器Server,Windows OS网络库在客户端和服务器间传递网络数据包服务器可一
12.4SQL S次监听多个网络库的两大类数据库系统数据库自动创建及维
12.55QLServ㊀r DBMS护,存放维护系统正常运行的信息,(系统级信息)、(支master msdb持自动执行任务)、(所有用户数据库的公共信息)、怕(临mod㊀I mpdb时数据库),示例、用户数据库Pubs Northwind;算存储空间数据存储单位为页()一个数据
12.56SQLS㊀rver Page,页是一块的连续磁盘空间,行不能跨页存储,一行数据的大小不能8KB超过一页的大小一个表行数据,每行字节,则需要100003000()的空间10000/2*8KB=40MB数据文件扩展名为包含数据库系统信息并可存放用户数据
12.57mdf,库数据,每个数据库只有一个主数据文件辅助数据文件扩展名为.ndf,数据量很大时使用,可存放在不同的磁盘驱动器上,以便得利用多个磁盘上的存储空间并提高数据存取的并发性(个数据文件及日志文件[)初始大小均不得小于主数
12.58df512KB,据文件大小不得小于数据库主数据文件,日志文件最好不小于model1MB创建数据库
12.59CREAT DATABASEjessymin表示数据库按下面参数创建ON——---(逻辑文件名NAME=jessymin,FILENAME二------4,下的物理文件■•■\MSSQL\Data\jessymin_Dato.mdf,OS名文件初始大小,单位默认为下同SIZE=10,——MB,文件最大大小MAXSIZE=30,——文件增量,为表示不自动增长,默认FILEGROWTH=5,——按当前增长)10%表示该数据库日志文件按下面参数创建LOGON——(……..同上,只是物理文件名为)jessymin.LDF删除数据库删除六种数据库
12.10DROP DATABASEj㊀ssymin对象均用DROP非过程化高级语言,全司变量@@,局部变量@,局
12.11Transact-SQL:部变量可以是自定义类型但不能是或类型text image示例计算的和
12.12TrcinscictSQL1+2+3+…+100DECLARE@i int@sum int曰可换为SET@i=L©sum=0—S SELECTWHILE@i v=100BEGINSET@sum=@sum+@iSET@i=@i+lENDPRINT@sum()数据转换服务注意
12.13DTS DataTransformation S㊀rvice区别(分布式事务协调器)导出数据时用户必须是要连接的数据库DTC服务器的合法用户,且对要导出的表具有查询权限第章数据库对象13存储过程的语句和控制流语句的预编译集合,应用程序可通
13.1SQL过调用方法来执行优点模块化程序设计;提高性能;减少网络流量;可作为安全机制使用带有多个参数并有默认值及输出参数的存储过程示例
13.2CREATE PROCEDUREp_Example()武汉大学,,@area varchar20=©Price money,@Sum intoutputASSELECT/UPDATE/INSERT/DELETE……二…SET@Sum应用程序中执行的语句SQLDeclare@res int武汉大学信息学部EXECUTE p_Example1000,@res output或者EXECUTE p_Examp/e@Price=1000,@resoutput用户自定义函数标量函数返回单值非类(
13.3:,text.Image型任何允许出现表达式的地方)、内嵌表值函数返回一(,个表放在查询语句的子句中)、多语句表值函数返(,From回一保持数据库模式不变,使数据库系统的外模式和应用程序不随之改变,保证数据与应用程序间的物理独立性,简称数据的物理独立性.数据库是存储在计算机内的共享数据集合,数据库管理系统是一种数据4管理系统软件数据库系统则是在计算机系统中引入数据库后的软硬件系统构成,包括了数据库、数据库管理系统和数据库应用程序df的主要功能有数据定义、数据操纵、数据库运行管理与控制、数
5.DBMS据库建立与维护包括查询处理器和存储管理器查询处理器实现面向用户的查询分DBMS析处理和优化功能存储管理器为用户和应用程序提供了访问存储在数据库文件中的应用数据的接口.关系模型用二维表表示实体及实体之间的联系,现实世界中的每个客观6对象对应表中的一行叫做一条记录,表中的每个列(属性)描述对象类的某一特征,列的值(属性的取值)刻画和描述客观对象的某一具体的特征优缺点建立在“集合”“关系”上,严格成熟的理念基础;用关系表示实体及之间联系,简单易懂;存储路径透明,较好的数据独立性和安全保密性;查询效率低于非关系模型第章数据库应用系统生命周期2软件生命周期是指软件产品从考虑其概念开始,到该产品不再使用的
2.1整个时期一般包括概念阶段、需求阶段、设计阶段、实现阶段、测试阶段、安装部署及交付阶段、运行阶段与维护阶段数据库应用系统需求是个可自定义的指用户对数据库应用系统在功能、性能、行为、设计约束表也放在查询语句的子句中视图和存储过程的结合,From,标量函数救示例根据指定的商品类别查
13.4询该类的商品个数GREATFUNCTIONdbo.f_GoodsCount@class varcharlORETURNSintASBEGINDECLARE@x intSELECT@x=count*FromT_GoodsClass aJION T_Goods bONa.GoodClassID=b.GoodClassIDWHERE GoodClassName=©classRETURN@xEND调用服装或者SELECT dbo.f_GoodsCount商品名,「月艮装种SELECT GoodsNameAS dbo.f_GoodsCount AS类数From….内嵌表值函数的不同之处在于后只能是
13.5RETURNS后面只能是单个的语句,没有相关联的返回变量tcibeRETURN SELECT也没有函数体调用时放在查询语句的子句中FROM触发器是一种不需要由用户来调用的存储过程,当用户对表进行
13.
6、或操作时自动触发执行作用保证业务UPDATE INSERTDELETE规则和数据完整性优点用编程方法来实现复杂的处理逻辑和业务规则,增强数据完整性约束触发器适用场合比语句更复杂的数据约束(可引用其他
13.7CHECK表中的列);为保证数据库性能而维护的非规范化数据(如增加统计总值的列);实现复杂的业务规则后触发型触发器,可在同一操作上建立多个;
13.8AFTER/FOR:前触发型,在同一操作上只能建立一个所有的涉及对数INSTEAD OF:据库对象操作的语句均不允许出现在触发器中表存储和操作语句所影响行
13.9DELETED UPDATEDELETED的更新前的旧数据;表存储和操作语句所影响行的更新后的INSERTED UPDATENSERT新数据维护数据操作完整性的后触发器示例销售量大于库存量则撤销
13.10当前销售,小于时则在插入销售单据明细时同时修改库存量Create TriggerOperatonConON T_SaleDetail FORINSERTAS(IF EXISTSSelect*From inserteda JionT_Goods bONa.GoodsID=b.GoodsID WHERE)a.Quanityb.TotalChargeBEGINROLLBACK此商品库存量小于此次销售数量PRINTENDELSEUPDATE T_Goods SETTotalCharge=TotalChargeSELECT QuanityFrom inserted维护不同列之间取值完整性的后触发器示例保证商品表中的单
13.11价与价格变动表中一致CREATE TRIGGERPriceConstraintON T_PriceHistory FORINSERT,UPDATE ASDECLARE@newprice moneySELECT©newprice=SalePrice From insertedUPDATE T_Goods SETSalellnitPrice=@newpriceWHERE GoodsIDIN SELECTGoodID Frominserted前触发器指定执行触发器而不执行引发触发器的语句,因此,
13.12SQL如果数据操作满足完整性约束则在触发器中必须重新执行这些数据操作语句前触发器示例保证销售单据中的会员卡是有效日期内的会员卡CREATE TRIGGERCardValidON T_SoleDetail INSTEADOF INSERT,UPDATEAS(IF NOTEXISTS SEIETCT*From inserteda JOINT_Card bONa.CardlD=b.CardlDWHERE a.SalDate NOTBETWEEN)b.StartDate ANDb.EndDate(若INSERT INTOT_SaleDetail SELECT*Frominserted满足条件此语句重新执行)用语句修改存储过程、用户自定义函数、触发器的语法与创
13.13SQL建基本一致,只是将改为了(查询分析器中实现)第CREATE ALTER章安全管理14数据库的安全控制在的不同层次提供对有意和无意损害行
14.1DBMS为的安全防范有意的非法活动加密存、取数据;有意的非法操作用户身份验证、限制操作权;无意的损坏提高系统的可靠性和数据备份数据库权限的种类对进行维护的权限;对数据库对象和数
14.2DBMS据进行操作的权限权限种类(与数据库用户分类对应)隐含权限(预定义的SQL S㊀rv㊀r(内置权限);语句权限语句权限,创建删除数据库对象);对象DDL(权限语句权限,操作数据库对象)DML数据库用户的分类数据库系统管理员(全部权限);数据库对
14.3SA,象拥有者(创建数据库对象的用户,对所拥有的对象具有一切权限);普通用户只具有对数据的编辑查询功能三个认证过程身份认证,只认证用户是否有连接到数据库服务器的
14.4“连接权”;合法用户,验证是否是数据库的合法用户;权限认证,验证用户是否具有要进行的操作的操作权限系统内置的登录账户域名
14.5BUILTIN\Administrator;SA;均管理员\Administrator,DBMS创建身份认证的登录账户
14.6SQL S㊀rv㊀r EXECUTEsp_addlogin5,user3/123/jessymin为登录账户,为密码,为默认数据库;User3123jessymin WINDOWS认证sp_grantlogin删除登录账户存储过程i,(身
14.7EXEC droploginuser3SQLServer份验证);5(身份EXEC revokeloginServer!\nt_user WINDOWS验证)登录账户可以连接到服务器上但并不具有访问任何数
14.8SQLS㊀rv㊀r据库的能力,必须再成为数据库的合法用户一个登录账户可以映射为多个数据库用户,管理数据库用户的过程实际上就是建立登录账户与数据库用户之间的映射关系的过程新建的数据默认只有一个用户:,它是数db据库的拥有者创建数据库用户J)用
14.9EXECsp_cidduser U2U2/user_role,户名与登录账户一致,并让其成为」©”角色的成员删除:“us㊀r EXECsp_dropuserU2合法用户除了对所属数据库系统表具有一些查询权限外并不对数
14.10据库中的用户数据和对象具有任何权限,还得得到对数据库数据和对象的操作权限收回权限不允许用户或角色具有某种操作权,或者收回曾经授
14.11予的权限,置空标记;拒绝访问拒绝某用户或角色具有某种操作权,即使由于继承获得的权限也无效,叉叉标记用语句管理对象权限入管理语句权限
14.12Tenscict-SQL P245角色数据库中具有相同权限的一组用户系统预定义的固定角色;
14.13自定义用户角色固定的服务器角色权限最重要最高的是
14.14*amdin+dbcreator,角色成员源均为系统的登录账户sysadmin,EXECt,4Jsp_addsrvrolemember Serverl\nt_user,sysadmin固定的数据库角色权限最高的是
14.15db_*+public,db.owner:c JJ(注意用户和用色EXEC sp_addrolemember db_owner/user3的顺序)角色每个用户均自动为其成员,不具任何权限但可赋予权
14.16public限如果想让所有数据库用户均具有某个特定权限则可将该权限授予public用户自定义的用户角色i,
14.17EXEC sp_oddrol㊀myrole只要权限没有被拒绝过,角色中成员权限是角色的权限加上成员
14.18自己的权限第章备份和恢复数据库15备份的两种方式先创建备份设备(备份数据库的场所),再将数据
15.1库备份到备份设备上(永久备份设备);直接将数据库备份到物理文件上(临时备份设备)创建磁盘备份设备〈
15.2EXEC sp_addumpdevice diskJ,,mydiskdump/..\mydump.bak常用备份策略完全备份加差异备份加日志备份,备份和恢复速度都
15.3比较快,而且当系统出现故障时丢失的数据较少语句
15.4Transact-SQL BACKUPDATABASE\LOG jessyminTOmydiskdump WITH INIT表示覆盖掉原有内容,相当于“重写现有媒体”WITHINIT恢复的一般顺序先恢复最近的完全数据库备份;再恢复完全备份之
15.5后的最近的差异备份;最后按日志备份的先后顺序恢复自最近的完全备份或差异备份之后的所有日志备份语句恢复过程示例
15.6Transact-SQL)首先恢复完全备份1RESTORE DATABASEjessymin FROMmydiskdump WITHFILE=1,NORECOVERY)然后恢复差异备份(如果有的话)2RESTORE DATABASEjessymin FROMmydiskdump WITHFILE=2,NORECOVERY)最后恢复日志文件3RESTORE LOGjessymin FROMmydiskdump表示对数据库的恢复操作尚未完成,相当于“使数据不再运Norecovery行,但能还原其他事务的日志文件”默认为第章RECOVERYo16VB开发环境与数据访问接口(鄙人此前未曾用过疏漏浅薄之处敬请见谅…)VB,标准数据绑定控件:、、
16.1TextBoXx CheckBoxListBox ComboxBox等(夕卜部)数据绑定控件、、ActiveX DotoComboDotoList DataGrid等x MSHF Grid支持的两种数据接口:专用接口(与特定的有关);通
16.2DBMS DBMS用接口(屏蔽掉每个底层接口的差异,提供一种标准的访问方法)DBMS通用接口让应用程序具有很好的适应性和
16.3ODBC.OLE DB.JDBC,可移植性;具备同时访问多种系统的能力DBMS(只访关系型)开放数据库互连
16.4ODBC DB:Open DataBase应用系统大致工作流程从开始配置数据源到回收各Connectivity ODBCz种句柄为此句柄是位整数值,代表一个指针32对象链接与嵌入的数据库
16.5OLE DB:Object Linkedand Embed,是对象标准的一个实现,是对象是DcitoBcis㊀Microsof tOLE COM为数据访问而设计的一系列接口COM动态数据对象健在之上的
16.6ADO:ActiveX DataObj㊀ct OLE DB高层接口集,是介于底层接口和应用程序之间的接口,它避免了OLE DB开发人员直接使用底层接口的麻烦OLE DB与的主要区别
16.7ODBC OLE DB)只能访问关系型数据库,而可以访问关系和非关系1ODBC OLE DB型甚至是无结构的数据)克服了的一个主要缺点一个驱动程序需2OLEDBODBC DBC要支持几乎所有的特征和功能,这需要大量的工作和初始投资,而DBMS允许提供商只实现他们产品的一部分功能OLEDBDBMS第章数据库应用编程17VB
17.1CommandType JSft:表示中的命令类型未知;odCmdUnknown,RecordSource表示属性的内容来自一张表;adCmdTable RecordSource表示属性的内容来自一个查询语句;adCmdText RecordSource表示属性的内容来自一^存储过程adCmdStoredType RecordSource的方法组中,和没
17.2RecordSet MoveMovePrevios MoveNext有自动检测记录的当前行指针是否移出了结果集边界的功能,需编码实现=End If保存缓冲区中的记录怕方法;对当前记录指针作一个移动
17.3UpdQ操作方法应在方法之前调用,调用了
17.4CancelUpdate UpdateUpdate方法之后的修改是不能撤销的;如果没有添加新记录也没有对当前记录做任何修改,调用会出错CancelUpdate方法用于在当前结果集中查找满足条件的记录
17.5Find(“查找条件表达式”)myododc.RacordS㊀t.Find与对象名旧什日“选择表达式”相似RecordSet还原.Filter=odFilterNone更新记录
17.6mydocdc.RecordSet.Fields CustomlD=TrimtxtCID.Text删除记录提示窗口
17.7Dim resAs Integer确实要删除此行记录吗?”,res=MsgBoxvbExclamation+vbYesNo+vbDefaultButton2If res=vbYes ThenEndIf在中显示全部列:
17.8Data GridDimintCol AsIntegerWith mydgForintCol=0To.Columns.Count-
2.
2.瀑布模型原理,项目规划、需求分析、系统设计、实现与部署、运行管1理与维护五部分.快速原型模型和增量模型原理,允许渐进、迭代地开发2DBASo.根据的软件组成和各自功能,细化需求分析和设计阶段,3DBAS DBAS引入了数据组织与存储设计、数据访问与处理设计、应用设计三条设计主线,分别用于设计中的数据库、数据库事务和应用程序DBAS.设计阶段细分为概念设计、逻辑设计、物理设计三个步骤,每一步涵盖4三条设计主线第章需求分析及功能建模方法3数据元素(列)是数据处理中的最小单位
3.1图数据流(标有名字的箭头)、处理、数据存储(横圆柱)、数
3.2DFD据源/终点(棱形)图更好地理解需求;(输入、控制、输出、机制)码;
3.3IDEF0ICOM至少一个控制和输出箭头(顶层图);与A-0;A0Al;All
3.4DFD的比较结构化分析思想自顶而下逐级细化图用箭头也IDEF
01.DFD叫数据流来描述数据移动的方向、数据处理之间的数据依赖关系,IDEF0图也用箭头表示数据流,但不强调流或顺序,强调数据约束,箭头语义更丰富模型有四种元素,图只有两种箭头和活动
2.DFD IDEF0图更加规范其概念、建模方法、画图规则等均有说明和规定
3.IDEF0Next par排序功能实现
17.9mydg.DataSource=adodcWith adodc.RecordSetIf optAsc.Value=Tru㊀Then.Sort=.FieldintCol.NameASC”Else.Sort=.FieldintCol.Name“DESCEnd IfEndWithmydg.Refresh对象模型
17.10ADO对象集合——对象Connection——Errors Error对象集合------对象Command——Parameters Parameter对象集合对象RecordSet——Fields——Field对象可以完成的操作连接数据源打开数据库;执行
17.11Conn㊀ction一个数据库操作命令;利用对象检查数据源返回的出错信息Error销毁内存中的对象:对象名=
17.12Nothing对象的属性相当于数据控件
17.13Command CommandTextADO的属性;RecordSource对象的属性相当于数据控件的Command CommandTypeADO属性CommandType对象的主要功能是建立记录集,并支持对记录集中
17.14RecordSet各数据的各种操作允许用户直接获取数据,因此对象与R㊀cordSN ADO的访问过程无关属性
17.15CursorType动态游标反映所有用户对数据的修改,支持向前及odOpenDyncimic向后移动;静态游标不能反映其他用户的修改,支持向前及向后,GdOpenStatic当打开客户端对象时,为唯一允许的游标类R㊀8rdsm cidOp㊀nStotic型当打印报表和其他不需要即时完成更新数据的应用程序来说很有用仅向前游标默认值仅支持向前移动,其他与adOpenFowardOnly一致adOpenStatic键集游标介于动态和静态游标只看到其他用户更改cidOp㊀nK㊀ysM的看不到添加删除的属性
17.16CursorLocation本地客户端游标将整个结果集传给客户端,网络流量大但adUseClient:下载后浏览速度快默认值,仅传送客户端需要的数据,网络流量小但服务器资adUseServer:源消耗大不支持属性(书签,快速再定位)和BookMark属性AbsolutePosition没有使用游标服务adUseNone:方法
17.17RecordSet.OpenmyRs.Open Source,ActiveConnection,CursorType,LockType,Options支持的类别的可选项lSource5Options〃一个返回记录的对象Command/cidCmdFil㊀语句------SQL adCmdText表名------odCindTcible存储过程名-------adComdStoredProc已打开的对象;一个连接字符2ActiveConnection:Connection串示例Dim myCnnAs NewADODB.ConnectionDim myRsAs NewADODB.RecordSetmyCnn.Connection=Provider=wSQLOLEDB.l;UserlD=sa;_商品经营管理数据库;Initial Catalog=DotJ5Source=local别忘了“打开”myCnn.Open5myRs.Source=select*from T_CustomermyRs.ActiveConnection=myCnn二myRs.CursorType adOpenDynamicmyRs.CursorLocation=adUseClient myRs.Open,,,,adCmdTalbe创建对象的三种方法:
17.18RecordSet使用对象1Connection SetmyRs=myConn.Execute^select*5from T_customer;使用对象:2Command SetmyRs=myComm.Execute;直接使用方法3Open myRs.Open,,z z对象如果最后一次的操作成功则这个集合为空只有在
17.19Error层产生错误才会将每个错误被翻译成对象,如果指向一个OLEDBError不存在的提供者则集合不会得到任何信息,因为不能发现Errors ADO这个指定的驱动程序,因此会将错误传递到中Visual BasicErrors三对象结合使用的典型示例
17.20Dim myCnnAs NewADODB.ConnectionDim myCmmAs NewADODB.Command DimmyRsAs NewADODB.RecordSetmyCnn.Connectionstring=aProvider=SQLOLEDB.l;User ID=loginlD;_^Initial Catolog=jessymin;Data Source=local别忘了“打开”myCnn.OpenSet myCmm.ActiveConnection=myCnn5JmyCmm.CommandText=^select*from T_CustomerSet myRs=myCmm.Execute自定义函数示例将字段空值转化为空字符串
17.21VBPrivate FunctionconvertNullval AsVariant AsVariantIf IsNullval=True ThenconvertNull=convertNull=volEnd IfEndFunction第章统一建模语言18视图分类用例视图用例图;结构视图类图、对象图;行为
18.1UML视图顺序图、交互图、状态图、活动图;实现视图组件图;环境视图部署图类与类之间有关联(聚集,共享聚集+组成)、通用化(继承)(带空
18.2心三角形的实线)、依赖(单向实线)、精化(带空心三角形的虚线)
18.3包(子系统)的四种可见性还包括实现可见性,与私有可见性类似指A向的单向虚线表示子系统被子系统引用B BA顺序图强调时间,协作图强调空间,状态图强调一个实体在不同时刻
18.4的状态变化,活动图强调程序对象逻辑流程的串行执行顺序和并行次序第章分布式数据库、对象数据库和并行数据库19分布式数据库(物理分散逻辑集中)最基本特征本地自治、非集中
19.1式管理、高可用性;分片透明性(最高级)、位置透明性、局部数据模型透明性构成了分布式数据库的分布透明性分片是对关系(表)的操作,分配是对分片结果的操作
19.2分布式数据库的模式结构全局外模式、全局概念模式、分片模式、
19.3分配模式、局部概念模式、局部内模式;系统组成结构全局、GDBMS局部、通信管理GDD.LDBMS CM分布式事务管理恢复控制(基于两阶段的提交协议)和并发控制(基
19.4于封锁协议)分布查询数据传输量大的主要原因连接操作和并操作
19.5单继承一颗树;多继承带根的有向无回路图
19.6面向对象数据库(面向对象语言中引入数据库)实现方法主要是扩
19.7充面向对象程序设计语言,使之能处理持久数据所谓持久数据,指创建这些数据的程序运行终止后,数据仍然存在于系统之中数据库中的关系就O是持久数据等Objectstores Ontos^2对象关系数据库(关系数据库中引入面向对象)扩展的数据类型定
19.8义;继承性;扩充的语言、SQL.Informix UniversalServer DB2UDB.AdaptiveServer^Oracle8ix SQLServer并行数据库体系结构共享内存;共享磁盘(中小型);无共享(最
19.9好的,银行出纳、民航售票等类,缺点通信代价和非本地磁盘访LTP问代价);层次结构(综合)一维数据划分方法轮转法最适合于扫描整个关系;散列划分
19.10法比转转法更适合点查询,也适合顺序扫描关系;范围划分法明显利于范围查询和点查询缺点均不能有效支持非划分属性上具有选择谓词的查询第章数据他仓库与数据挖掘20数据仓库解决的问题是如何更合理和理有效的组织企业的数据体系,
20.1目的在于根据决策需求对数据采取适当的手段进行集成,形成一个综合的面向分析的数据环境;数据挖掘解决的问题是如何针对具体的分析对象和分需求,尝试智能和自动化的手段把数据转换为新的有用的信息和知识数据分类操作型数据(操作型处理,以业务处理为主的联机事务处
20.2理)分析型数据(分析型处理,以分析为主的决策支持系统)OLTP;DDS数据仓库是一个面向主题的、集成的(最重要,抽取、转换、清理、
20.3装载)、非易失的、且随时间变化的(时变性)数据集合,用来支持管理人员的决策数据仓库的体系结构操作型数据、操作型数据存储、数据仓库、数
20.4据集市;功能层次数据管理、数据处理、数据应用粒度涉及数据仓库的数据量和支持的查询类型粒度小,细节度高,
20.5数据量大,查询多(操作型数据存储)一方面,类似
20.6ODS OperationalData Store,于操作型环境,可进行企业全局性联机操作型处理;另外一方面,是一个面向主题的、集成的数据环境,但数据量小,适合于辅助企业完成日常决策的数据处理分析(秒级、小时级、天级、含反馈信息)数据仓库设计以数据仓库的主题数据模型设计和实现为核心
20.7(联机分析处理,)支持
20.8OLAP On-Line AnolyticcilProcessing:复杂的分析操作,侧重对决策人员和高层管理人员的决策支持多维分析的基本活动钻取与卷起切片
20.9Drill-Down Roll-Up;与切块旋转Slice Dice;的实现方式基于多维数据库的;基于关系数据库的;混合
20.10OLAP型的数据挖掘数据库知识发现从存放在数据库、数据仓库
20.11KDD,或其他信息库中的大量数据中挖掘有趣知识的过程三阶段数据准备、数据挖掘、结果的解释评估数据仓库维护策略一般分为实时维护、延时维护、快照维护
20.12建立的目的一般是为支持即时和全局两类应
20.13ODS OLAPOLTP用模型结构更清楚,便于理解和沟通
4.IDEF0结构化分析及建模方法的优点
3.5)不过早陷入具体的细节,从整体或宏观入手分析问题,如业务系统的1总体结构,系统及子系统的关系)通过图形化的模型对象直观地表示系统完成什么功能,方便系统分析2员理解和描述系统)模型对象不涉及太多技术术语,便于用户理解模型3第章数据库概念设计与数据建模4概念设计的目的和任务面向现实世界,理解和描述应用领域中的数
4.1据需求,分析确定系统需要存储和处理什么数据过程确定实体集;确定联系和联系类型;建立由信息模型表示的业务模型;确定实体集属性;优化信息模型实体集描述具有相同属性特征和性质的事物集合;属性描述实体集具
4.2有的某一特征或性质标定型(子依父实例才标定)(确定型);非标定型(确定
4.31DEF1X:型);分类;不确定第章关系数据库逻辑设计5关系数据库按照二维表格组织和存储的相互关联的关系(表)的集
5.1合关系数据库采用关系模型在计算机中组织、存储、处理和管理数据主码约束惟一性;最小性,不能取空值,并且取值要唯一
5.2外码约束如果两个关系和是的属性或属性组,且不是的R S,X RX R码,但是的码,则称是的外码或者取空值,或者等于中X SX RS某个元组的主码的值逻辑设计的内容定义和描述数据库的全局逻辑结构、数据之间的关
5.3系、数据的完整性等目的得到实际数据库管理系统可以处理的数据库模式步聚图转化关系模式;优化关系模式;数据完整性设计;外模式设ER计关系模式描述关系的静态结构,由模式名、属性、完整性约束组成,关
5.4系是一个表中记录的集合,关注和强调的是值(模式实例)的集合,也是关系模式在某一时刻状态的反映关系的完整性(完整性约束)对关系所满足条件的定义作用限定
5.5和检查数据库所含实例的合法性和正确性静态主码、外码、域(用户定义);动态基于业务规则伪传递规则则成立
5.6X-Y,YW-Z,XW-Z规范化设计理论的主要内容是范式,即关系模式满足的条件,它是数
5.7据库逻辑设计的指南,也是衡量关系模式设计优劣的标准目的消除数据冗余及避免操作异常,基本过程对关系进行分解一个低级范式的关系模式通过分解(投影)方法可转换成多个高一级范式的关系模式的集合,这个过程叫规范化的每一属性均不可再分;
5.8INF:R是且每个非主属性完全依赖于主码在上消除非主属性对2NF:1NF1主码的部分函数依赖;是且每个非主属性只依赖于主码在上消除非主属对主码3NF:1NF2的传递函数依赖模型转换关系模型实体集转为同名关系;联系转为一个关系,各
5.9ER(实体集的码及联系的属性转为关系的属性均可、取、111n nm:取集);合并具有相同码的关系n第章存储技术与数据库物理设计6物理设计是在具体的硬件环境、、约束下,基于逻辑设计,
6.1OS DBMS设计具体数据存储结构和存取方式目的占用空间少、访问效率高、维护代价低主要步骤有数据库逻辑模式调整、文件组织与存取设计、数据分布设计、安全模式设计、确定系统配置、物理模式评估索引技术()是一种快速文件访问技术,它将文件记录在某
6.2Indexing个或某些域(或称为属性)上的取值与该记录的物理地址直接联系起来,提供了一种根据记录域的取值快速访问文件记录的机制索引文件是一种利用索引技术支持快速文件访问的文件组织和存取方法索引加快了查询记录却减慢了数据更新速度,本身还占用一定的存储空间文件组织如何将关系数据库中的关系映射为操作系统中的数据库文
6.3件,及管理文件文件结构如何将文件中的逻辑记录映射到物理文件的中磁盘块文DB件存取针对某种结构的文件,如何查、添删改其中的逻辑记录DB
6.4数据字典数据库各类对象的描述信息、数据库管理系统的控制信息包括关系模式信息、与视图描述有关的信息、关系的存储结构和存取方法信息、完整性约束、安全性有关的信息、数据库运行统计信息作用用来监视的使用情况并协助完成管理工作;一般用户DBA DBMS可用于查阅部分数据库结构信息;运行时各子系统频繁使用以完成DBS相应的存储和查询处理功能的三种完整性控制机制子句、断言、触发器
6.5DBMS CHECK断言约束名Create assertioncheck•■■堆文件数据量少且操作频繁;批量加载数据先选为堆文件再调整
6.6文件结构顺序文件查询条件定义在查找码上;快速的二分查找散列文件基于散列域值的等值匹配,特别是访问顺序是随机的非精确查询;非散列域树和树大数据量基本表;聚焦文件多表连接操作B-B+-有序索引技术利用索引文件实现查找码取值到记录物理地址间的映
6.7射关系索引文件由索引记录组成,每个记录中的索引项记录了某个特定的查找码值和具有该值的数据文件记录的物理地址当需要访问数据文件中某个数据记录时,先根据查找码值查阅索引文件,找到对应的索引项,然后从索引项中找出数据记录在数据文件中的物理地址.根据这个地址访问数据记录散列技术是一种快速文件访问技术,它利用散列函数实现文件记录域
6.8取值到记录物理地址间的直接映射关系当需要访问数据文件中查找码值为的某个或某些文件记录时,将作为散列函数的输入计算得出的si sih散列函数输出值就是文件记录在数据文件中的物理地址hsi权限允许用户对一给定的数据库对象可执行的操作查询、添删改、
6.9新建、备份等第章数据库应用系统功能设计7软件体系结构软件架构二{构件,连接件,约束}
7.1软件设计包括系统的总体结构设计、系统的过程设计、系统的数据
7.2设计三方面内容(+人机界面设计),从工程管理的角度,分为概要设计、详细设计应用软件分为数据库事务和应用程序后者一方面可以与数据库事
7.3务协调合作,另一方面还可实现与数据库访问无关的功能,如通信、人机交互事务具有逻辑独立功能的一系列操作的集合,实现了某些特定的业
7.4务规则事务概要设计的核心是辨识和设计事务自身的事务处理逻辑,采用
7.5面向数据流的程序设计方法设计事务内部的数据处理流程和结构结构特点数据管理和数据处理被分在客户端和服务器上;服务
7.6C/S器可支持多个客户端;客户端也可访问多个服务器;客户端二人机交互+数据处理结构特点表示层,浏览器;功能层,应用服务器;数据B/S WEBWEB层,服务DBMS优点实现人面交互、应用业务逻辑处理、数据管理三层分离,提高了系统的可维护性;用浏览器可访问多个异构应用平台,解决了跨平台WEB数据管理问题第章8SQL结构化查询语言
8.1SQL=Structured QueryLanguage,二进制字符串是用十六进制表示的,前缀
8.2Ox创建表
8.3CREATE TABLE Table_CardCardID varchar8NOT NULL,StartDatedatetime NOT NULL,EndDate dot㊀tim㊀NOT NULL,Scoreint NOTNULL CHECKScore=0DEFAULT0,State charlNOTNULLCHECKfState in,男,,,女,,0,1,2,S㊀x chcirlCHECKSexirAge intCHECK Agebetween[16,85],CustomerlD varchar8,CHECKEndDateStartDate,PRIMARY KEYCardID,日FOR GNKEY CustomerlDREFERENCES册除表:Table_Customer CustomerlDi|DROP TABLETable.Card修改表ALTER TABLETable_Card ADDCardType char4NULL ALTER TABLETable.Card ALTERCOLUMN CardTypechciH8ALTERTABLETable.Card DROPCOLUMN CardType
8.4SELECT CnameFROM Tablb_Customer WHERE海淀区朝阳区,AddessIN ANDageBETWEEN40AND50AND。
个人认证
优秀文档
获得点赞 0