还剩30页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
数据是描述现实世界事物的符号记录,是用物理符号记录下来的可以识别的信息
1.数据是信息的符号表示,是载体;信息是数据的语义解释,是内涵数据模型是对现实世界数据特征的抽象,是数据库系统的形式框架,用来描述数据的一组概
2.念和定义,包括描述数据、数据联系、数据操作、数据语义以及数据一致性的概念工具满足三条件比较真实地模拟现实世界;易于人们理解;易于计算机实现三个组成要素数据结构(静态,数据对象本身结构及之间的联系)、数据操作(对数据对象操作及操作规则的集合)和完整性约束(语义约束数据模型、数据内部及之间联系)模式是对数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图,也称为
3.逻辑模式或概念模式外模式是对数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是与某一应用有关的数据的逻辑表示,也称为子模式、用户模式或用户视图内模式是对数据库中数据的物理结构和存储方式的描述,也称为物理模式或存储模式当数据库模式发生变化时,通过调整外模式/模式间的映像关系,使得应用程序不必随之修改,从而保证数据与应用程序间的逻辑独立性,简称数据的逻辑独立性当数据库数据的物理存储结构改变时,通过调整模式/内模式映像关系,保持数据库模式不变,使数据库系统的外模式和应用程序不随之改变,保证数据与应用程序间的物理独立性,简称数据的物理独立性数据库是存储在计算机内的共享数据集合,数据库管理系统是一种数据管理系统软件数据
4.库系统则是在计算机系统中引入数据库后的软硬件系统构成,包括了数据库、数据库管理系统和数据库应用程序的主要功能有数据定义、数据操纵、数据库运行管理与控制、数据库建立与维护
5.DBMSSET SalePrice=CASE GoodsClassName家用电器WHEN THENSalePrice-SalePrice^
0.05月艮装WHEN THENSalePrice+SalePrice*
0.06ELSE SalePriceENDFROM Table_Goods a JION Table_GoodsClass bON a.ClassID=b.ClassID仓建索弓索引名
8.11ij ICREATE[UNIQUE][CLUSTERED][NONCLUSTERED]INDEX表名列名[顺序ON ASC/DESC]视图由从数据库基本表中选取出来的数据组成的逻辑窗口,是一个虚表,数据库只存放
8.12视图的定义而不存放视图包括的数据对视图的操作最终都会转换为对基本表的操作视图名[视图列名表]CREATE VIEWAS语句SELECT[WITH CHECKOPTION]作用简化数据查询语句;使用户从多角度观察同一数据;提高了数据安全性屏蔽掉敏感数据;提供一定程度的逻辑独立性定点数或为精度数字位个数,不大于为小数位个
8.13numericp,q decimalp,q,p38,q数;类型只存储和不多于个列则只用个字节存储bit10,8bit1代表的是普通字符编码按定长存储的字符串,“屋的含义是字符的个数,固定占用
8.14Charn个字节的空间代表的是普通字符编码按不定长存储的字符串,的含义也是字n varcharn“iT符的个数,按字符的实际长度占用空间第章事务高度与并发控制9调度定义在多个事务上的调度是这些事务的所有操作的一个执行序列,代表了这些操作
9.1的执行顺序;冲突操作事务的操作与事务的操作是冲突的,当且仅当和访问数Ti li Tj IjliTj据库中同一个数据项并且和中至少有一个是写操作冲突可串行一个并发调度Q,li IjwriteQ;冲突等价于某个串行调度判断一个并行调度是否正确死锁是指数据库系统中部分或全部事务由于无法获得对需要访问的数据项的控制权而处于等待状态,并且将一直等待下去的一种系统状态原子性;一致性;隔离性;持久性
9.2ACID AtomicityConsistency IsolationDurability级加锁协议要求事务在修改数据项之前必须先对加锁,直到事务结束才释放该
9.31T QQ X锁事务结束包括正常结束和非正常结束⑹但事务如果是只读而不对其进commit IbackQ行修改,是不需要对加锁的Q级加锁协议是在级加锁协议基础上,要求事务在读取数据项之前必须先对其加锁,21T Q S读完后可以立即释放锁QS级加锁协议则是在级加锁协议基础上,要求事务在读取数据项之前必须先对其加锁,31T QS但是需要等到事务结束时才释放该锁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 I/O I/O时间是响应时间的最大组成部分);调整竞争数据库查询优化合理使用索弓避免或简化排序(、磁盘排序比内存
10.8I;Order byGroup by,排序开销大速度慢);避免相关子查询、外连接(左右连接比内连接消耗大);存储过程属于但不属于的逻辑和物理空间结构表空间、段、区
10.9Oracle SQL Server第章故障管理11故障种类事务内部故障(事务回滚撤消修改)、系统故障(影响事务不坏数据)、介质
11.1故障(软件容错、硬件容错)、病毒系统故障对策重启,撤消()未提交的事务,重做()已提交的事务
11.2UNDO REDO软件容错备份、日志文件,利用恢复技术;硬件容错双物理存储设备
11.3恢复基本原理冗余,即所有数据均可通过存储在别处的冗余数据来重建
11.4对于经常进行数据操作的数据库完全转储+差异转储
11.5以记录为单位的日志文件开始标记()、结束标记(
11.6Ti BEGINTRANSACTION Ti或者)、每个事务的所有操作()COMMIT TiROLLBACK Ti,A,50,80以数据块为单位的日志文件存放更新前和更新后的整个数据块只有事务标识和被更新
11.7的数据块,没有操作类型和操作对象日志的作用用来进行业务故障和系统故障恢复;协助后备副本进行介质故障恢复(动态转
11.8储必用);记录操作监视行为分析问题登记原则登记次序严格按并行事务执行次序;必须先写日志文件再写数据库检查点最大限度减少数据库完全恢复时所必须执行的日志部分(针对系统故障)
11.9数据库镜像提高数据库可用性的解决方案(比如介质故障,两台服务器相互备份)优
11.10点提供完整或几近完整的数据冗余,增强数据保护;发生介质故障时,数据不会丢失且服务不会中断,提高数据库可用性;提高镜像数据库在升级期间的可用性双机互备援模式(均为主);双机热备份模式(一主一备份机)数据库镜像可用于并发操作廉价冗余磁盘阵列(镜像冗余、)校验冗余对成员磁盘上的数据执行异或()
11.11RAID XOR操作得到其校验值并存放在另外的校验磁盘上当某个磁盘发生故障时,只须计算其他磁盘上的校验数据和数据的异或便可重新得到该磁盘的值第章数据库管理系统12SQL Server2000四个服务核心服务;
12.1SQL Server代理服务,代理定期进行的管理工作;SQL ServerAgent分布式事务协调器,同一事务访问多个服务器DTC:Distributed TransactionCoordinator,全文检索服务Microsoft Search:四个版本企业版(全部功能、大型数据库)、标准版(小部门)、开发版(同企业版,
12.2作开发测试系统用,不作生产服务用)个人版(移动环境、本地数据)服务帐户使用本地系统帐户自动取当前登录到的用户,没有的网
12.3Windows Windows络访问权限,适用于非网络服务器操作系统(如)使用域用户帐户使用身份验XP;Windows证设置连接到用户必是系统管理员,适用于网络服务器SQL Server,Windows OS网络库在客户端和服务器间传递网络数据包服务器可一次监听多个网络库
12.4SQLS的两大类数据库系统数据库自动创建及维护,存放维护系统正常运
12.5SQLServer DBMS行的信息,(系统级信息)、(支持自动执行任务)、(所有用户数据库的公master msdbmodel共信息)、(临时数据库),示例、用户数据库tempdb PubsNorthwind;估算存储空间数据存储单位为页()一个数据页是一块的连续磁盘
12.6SQLServer Page,8KB空间,行不能跨页存储,一行数据的大小不能超过一页的大小一个表行数据,每行100003000字节,则需要()的空间10000/2*8KB=40MB主数据文件扩展名为包含数据库系统信息并可存放用户数据库数据,每个数据库
12.
7.mdf,只有一个主数据文件辅助数据文件扩展名为数据量很大时使用,可存放在不同的磁盘.ndf,驱动器上,以便得利用多个磁盘上的存储空间并提高数据存取的并发性每个数据文件及日志文件(』)初始大小均不得小于主数据文件大小不得小于
12.8df512KB,数据库主数据文件,日志文件最好不小于model1MB创建数据库
12.9CREAT DATABASEjessymin表示数据库按下面参数创建ON——(逻辑文件名NAME=jessymin,FILENAME=
6...\MSSQL\Data\jessymin_Data.mdf,——OS下的物理文件名——文件初始大小,单位默认为下同SIZE=10,MB,——文件最大大小MAXSIZE=30,——文件增量,为表示不自动增长,默认按当前增长)FILEGROWTH=5,10%表示该数据库日志文件按下面参数创建LOG ON——(同上,只是物理文件名为)jessymin.LDF删除数据库删除六种数据库对象均用
12.10DROP DATABASEjessymino DROP非过程化高级语言,全司变量@@,局部变量@,局部变量可以是自定义类型
12.11Transact-SQL但不能是或类型text image示例计算的和:
12.12Transact-SQL1+2+3+...+100DECLARE@i int,@sum int二可换为SET@i l,@sum=0-SET SELECTWHILE@i=100BEGINSET@sum=@sum+@iSET@i=@i+lENDPRINT@sum数据转换服务注意区别分布式事务协调器导
12.13DTSData TransformationService DTC出数据时用户必须是要连接的数据库服务器的合法用户,且对要导出的表具有查询权限第章数据库对象13存储过程的语句和控制流语句的预编译集合,应用程序可通过调用方法来执行
13.1SQL优点模块化程序设计;提高性能;减少网络流量;可作为安全机制使用带有多个参数并有默认值及输出参数的存储过程示例
13.3text Image内嵌表值函数返回一个表,放在查询语句的子句中、多语句表值函数返回一个可自定From义的表,也放在查询语句的子句中,视图和存储过程的结合From标量函数救示例根据指定的商品类别查询该类的商品个数
13.4CREAT FUNCTIONdbo.LGoodsCount@class varchar10RETURNS intASBEGINDECLARE@x intSELECT@x=count*From T_GoodsClass aJTON T_Goods bON a.GoodClassID=b.GoodClassIDWHERE GoodClassName=@classRETURN@xEND调用服装,)或者SELECT dbo.LGoodsCountC商品名,服装,)种类数SELECT GoodsNameAS dbo.LGoodsCoimtC ASFrom....内嵌表值函数的不同之处在于后只能是后面只能是单个的
13.5RETURNS table,RETURN语句,没有相关联的返回变量也没有函数体调用时放在查询语句的子句中SELECT FROM触发器是一种不需要由用户来调用的存储过程,当用户对表进行、或
13.6UPDATE INSERT操作时自动触发执行作用保证业务规则和数据完整性优点用编程方法来实现DELETE复杂的处理逻辑和业务规则,增强数据完整性约束触发器适用场合比语句更复杂的数据约束(可引用其他表中的列);为保证数据
13.7CHECK库性能而维护的非规范化数据(如增加统计总值的列);实现复杂的业务规则后触发型触发器,可在同一操作上建立多个;前触发型,在
13.8AFTER/FOR INSTEADOF同一操作上只能建立一个所有的涉及对数据库对象操作的语句均不允许出现在触发器中表存储和操作语句所影响行的更新前的旧数据;
13.9DELETED UPDATEDELETED表存储和操作语句所影响行的更新后的新数据INSERTED UPDATE INSERT维护数据操作完整性的后触发器示例销售量大于库存量则撤销当前销售,小于时则在
13.10插入销售单据明细时同时修改库存量Create TriggerOperatonConON T_SaleDetail FORINSERTIF EXISTSSelect*From insertedaJion T_Goods bONa.GoodsID=b.GoodsID WHERE a.Quanityb.TotalChargeBEGINROLLBACK「此商品库存量小于此次销售数量’PRINENDELSEUPDATE T_Goods SETTotalCharge=TotalCharge-SELECT QuanityFrom inserted维护不同列之间取值完整性的后触发器示例保证商品表中的单价与价格变动表中一
13.11致CREATE TRIGGERPriceConstraintON T_PriceHistory FORINSERT,UPDATEASDECLARE@newprice moneySELECT@newprice=SalePrice From insertedUPDATE T_Goods SETSaleUnitPrice=@newpriceWHERE GoodsIDIN SELECTGoodID From inserted包括查询处理器和存储管理器查询处理器实现面向用户的查询分析处理和优化功能DBMS存储管理器为用户和应用程序提供了访问存储在数据库文件中的应用数据的接口.关系模型用二维表表示实体及实体之间的联系,现实世界中的每个客观对象对应表中的一行6叫做一条记录,表中的每个列(属性)描述对象类的某一特征,列的值(属性的取值)刻画和描述客观对象的某一具体的特征优缺点建立在“集合“关系上,严格成熟的理念基础;用关系表示实体及之间联系,简单易懂;存储路径透明,较好的数据独立性和安全保密性;查询效率低于非关系模型第章数据库应用系统生命周期2软件生命周期是指软件产品从考虑其概念开始,到该产品不再使用的整个时期一般包括
2.1概念阶段、需求阶段、设计阶段、实现阶段、测试阶段、安装部署及交付阶段、运行阶段与维护阶段数据库应用系统需求是指用户对数据库应用系统在功能、性能、行为、设计约束等方面的期望和要求数据及数据处理、业务、性能、其他存储安全备份与恢复等数据库应用系统生命周期模型
2.
2.瀑布模型原理,项目规划、需求分析、系统设计、实现与部署、运行管理与维护五部分
1.快速原型模型和增量模型原理,允许渐进、迭代地开发2DBAS.根据的软件组成和各自功能,细化需求分析和设计阶段,引入了数据组织与3DBAS DBAS存储设计、数据访问与处理设计、应用设计三条设计主线,分别用于设计中的数据库、DBAS数据库事务和应用程序.设计阶段细分为概念设计、逻辑设计、物理设计三个步骤,每一步涵盖三条设计主线4第章需求分析及功能建模方法3数据元素(列)是数据处理中的最小单位
3.1前触发器指定执行触发器而不执行引发触发器的语句,因此,如果数据操作满足完
13.12SQL整性约束则在触发器中必须重新执行这些数据操作语句前触发器示例保证销售单据中的会员卡是有效日期内的会员卡CREATE TRIGGERCardValidON T_SaleDetail INSTEADOF INSERT,UPDATEAS(IF NOTEXISTS SE1ETCT*Frominserteda JOINT_Card bONa.CardTD=b.CardID)WHEREa.SalDate NOTBETWEEN b.StartDate ANDb.EndDate(若满足条件此语句重新执行)INSERT INTOT_SaleDetail SELECT*Frominserted用语句修改存储过程、用户自定义函数、触发器的语法与创建基本一致,只是
13.13SQL将改为了(查询分析器中实现)CREATE ALTER第章安全管理14数据库的安全控制在的不同层次提供对有意和无意损害行为的安全防范
14.1DBMS有意的非法活动加密存、取数据;有意的非法操作用户身份验证、限制操作权;无意的损坏提高系统的可靠性和数据备份数据库权限的种类对进行维护的权限;对数据库对象和数据进行操作的权限
14.2DBMS权限种类(与数据库用户分类对应)隐含权限(预定义的内置权限);语句权限(SQL ServerDDL语句权限,创建删除数据库对象);对象权限(语句权限,操作数据库对象)DML数据库用户的分类数据库系统管理员(全部权限);数据库对象拥有者(创建数据库对
14.3SA,象的用户,对所拥有的对象具有一切权限);普通用户只具有对数据的编辑查询功能三个认证过程身份认证,只认证用户是否有连接到数据库服务器的“连接权”;合法用户,
14.4验证是否是数据库的合法用户;权限认证,验证用户是否具有要进行的操作的操作权限系统内置的登录账户域名均管理员
14.5BUILTIN\Administrator;SA;\Administrator,DBMS
14.6创建SQL Server身份认证的登录账户EXECUTE sp_addlogin user3\9123\9jessymin9为登录账户,为密码,为默认数据库;认证User3123jessymin WINDOWSsp_grantlogin删除登录账户存储过程,(身份验证);
14.7EXEC droploginuser3SQLServer EXECrevokeloginServerl\nt_user,(WINDOWS身份验证)登录账户可以连接到服务器上但并不具有访问任何数据库的能力,必须再成
14.8SQL Server为数据库的合法用户一个登录账户可以映射为多个数据库用户,管理数据库用户的过程实际上就是建立登录账户与数据库用户之间的映射关系的过程新建的数据默认只有一个用户dbo,它是数据库的拥有者
14.9创建数据库用户EXEC sp_addusertU2\,U2\,user_role\用户名与登录账户一致,并让其成为“userjole”角色的成员删除EXEC spdropuser U29合法用户除了对所属数据库系统表具有一些查询权限外并不对数据库中的用户数据和对
14.10象具有任何权限,还得得到对数据库数据和对象的操作权限收回权限不允许用户或角色具有某种操作权,或者收回曾经授予的权限,置空标记;
14.11拒绝访问拒绝某用户或角色具有某种操作权,即使由于继承获得的权限也无效,叉叉标记用语句管理对象权限入管理语句权限
14.12Transact-SQL P245角色数据库中具有相同权限的一组用户系统预定义的固定角色;自定义用户角色
14.13固定的服务器角色*权限最重要最高的是角色成员源均为系
14.14amdin+dbcreator,sysadmin,统的登录账户EXEC sp_addsrvrolemember cServerl\nt_user9/sysadmin5固定的数据库角色权限最高的是
14.15db_*+public,db_owner EXEC sp_addrolemember db,(注意用户和用色的顺序)owner]user3角色每个用户均自动为其成员,不具任何权限但可赋予权限如果想让所有数
14.16public据库用户均具有某个特定权限则可将该权限授予public
14.17用户自定义的用户角色EXEC sp_addrole myrole9只要权限没有被拒绝过,角色中成员权限是角色的权限加上成员自己的权限
14.18第章备份和恢复数据库15备份的两种方式先创建备份设备(备份数据库的场所),再将数据库备份到备份设备上(永
15.1久备份设备);直接将数据库备份到物理文件上(临时备份设备)
15.2创建磁盘备份设备:EXECspaddumpdevice6disk9/mydiskdump\
9..\mydump.bak5常用备份策略完全备份加差异备份加日志备份,备份和恢复速度都比较快,而且当系统
15.3出现故障时丢失的数据较少语句
15.4Transact-SQL BACKUPDATABASE\LOG jessyminTO mydiskdump WITH INIT表示覆盖掉原有内容,相当于“重写现有媒体”WITH INIT恢复的一般顺耳先恢复最近的完全数据库备份;再恢复完全备份之后的最近的差异备份;
15.5最后按日志备份的先后顺序恢复自最近的完全备份或差异备份之后的所有日志备份语句恢复过程示例:
15.6Transact-SQL)首先恢复完全备份1RESTORE DATABASEjessymin FROMmydiskdump WITHFILE=1,NORECOVERY)然后恢复差异备份(如果有的话)2RESTORE DATABASEjessymin FROMmydiskdumpWITHFILE=2,NORECOVERY)最后恢复日志文件3RESTORE LOGjessymin FROMmydiskdump表示对数据库的恢复操作尚未完成,相当于“使数据不再运行,但能还原其他事务Norecovery的日志文件”默认为RECOVERY第章开发环境与数据访问接口16VB(鄙人此前未曾用过疏漏浅薄之处敬请见谅…)VB,标准数据绑定控件等
16.1TextBox CheckBoxListBox ComboxBox外部()数据绑定控件等ActiveX DataComboDataList DataGridMSHFGrid支持的两种数据接口专用接口(与特定的有关);通用接口(屏蔽掉每个
16.2DBMS DBMS底层接口的差异,提供一种标准的访问方法)DBMS通用接口、让应用程序具有很好的适应性和可移植性;具备同时
16.3ODBC OLE DB.JDBC,访问多种系统的能力DBMS(只访关系型)开放数据库互连应用系统大
16.4ODBC DBOpen DataBaseConnectivity,ODBC致工作流程从开始配置数据源到回收各种句柄为此句柄是位整数值,代表一个指针32对象链接与嵌入的数据库是
16.5OLE DBObject Linkedand EmbedDataBase,Microsof t对象标准的一个实现,是对象,是为数据访问而设计的一系列接口OLE COMCOM动态数据对象建在之上的高层接口集,是介于
16.6ADO ActiveXData Object,OLE DBOLE DB底层接口和应用程序之间的接口,它避免了开发人员直接使用底层接口的麻烦OLE DB与的主要区别
16.7ODBC OLE DB只能访问关系型数据库,而可以访问关系和非关系型甚至是无结构的数据DODBC OLEDB克服了的一个主要缺点一个驱动程序需要支持几乎所有的特2OLEDBODBC ODBCDBMS征和功能,这需要大量的工作和初始投资,而允许提供商只实现他们产品的一OLEDBDBMS部分功能第章数据库应用编程17VB属性:
17.1CommandType表示中的命令类型未知;adCmdUnknown,RecordSource表示属性的内容来自一张表;adCmdTable RecordSource表示属性的内容来自一个查询语句;adCmdText RecordSource表示属性的内容来自一个存储过程adCmdStoredType RecordSource的方法组中,和没有自动检测记录的当前行指针
17.2RecordSet MoveMovePrevios MoveNext是否移出了结果集边界的功能,需编码实现=True ThenEndIf保存缓冲区中的记录方法;对当前记录指针作一个移动操作
17.3Update方法应在方法之前调用,调用了方法之后的修改是不能撤
17.4CancelUpdate UpdateUpdate销的;如果没有添加新记录也没有对当前记录做任何修改,调用会出错CancelUpdate方法用于在当前结果集中查找满足条件的记录
17.5Find“查找条件表达式”myadodc.RecordSet.Find与对象名选择表达式“相似还原RecordSet.Filter”.Filter=adFilterNone更新记录
17.6mydocdc.RecordSet.FieldsCustomID”=TrimtxtCID.Textmydocdc.RccordSet.FieldsAge=ClnttxtAge.Text删除记录提示窗口
17.7Dim resAs Integer确实要册除止匕行己录吗,res=MsgBox tvbExclamation4-vbYesNo+vbDefaultButton2If res=vbYes ThenEndIf在中显示全部列:
17.8DataGridDim intColAs IntegerWithmydgFor intCol=0To.Columns.Count-1二.ColumnsintCol.Visible TrueNextEndWith另——种循环For ForEach parIN adocm.ParametersNext par排序功能实现
17.9mydg.DataSource=adodcWith adodc.RecordSet二If optAsc.Value TrueThen.Sort=.FieldintCol.Name“ASC”Else.Sort=.FieldintCol.NameDESC”End IfEndWithmydg.Refresh对象模型
17.10ADOConnection对象----ErrorS集合------Error对象Command对象-------Parameters集合--------Parameter对象RecordSet对象------Fields集合-----Field对象对象可以完成的操作连接数据源打开数据库;执行一个数据库操作命令;利
17.11Connection用对象检查数据源返回的出错信息Error销毁内存中的对象对象名=
17.12Set Nothing对象的属性相当于数据控件的属性;
17.13Command CommandTextADO RecordSource对象的属性相当于数据控件的属性Command CommandTypeADO CommandType对象的主要功能是建立记录集,并支持对记录集中各数据的各种操作允许用
17.14RecordSet户直接获取数据,因此对象与的访问过程无关RecordSet ADO属性
17.15CursorType动态游标反映所有用户对数据的修改,支持向前及向后移动;adOpenDynamic静态游标:不能反映其他用户的修改,支持向前及向后,当打开客户端对adOpenStatic RecordSet象时,为唯一允许的游标类型当打印报表和其他不需要即时完成更新数据的应adOpenStatic用程序来说很有用仅向前游标默认值仅支持向前移动,其他与一致adOpenFowardOnly adOpenStatic键集游标介于动态和静态游标只看到其他用户更改的看不到添加删除的adOpenKeyset属性
17.16CursorLocation本地客户端游标将整个结果集传给客户端,网络流量大但下载后浏览速度快adUseClient默认值,仅传送客户端需要的数据,网络流量小但服务器资源消耗大不支adUseServer持属性书签,快速再定位和属性BookMark AbsolutePosition没有使用游标服务adUseNone方法
17.17RecordSet.OpenmyRs.Open Source,ActiveConnection,CursorType,LockType,Options支持的类别:的可选项lSource5Options一个返回记录的对象〃Command/adCmdFileSQL语句--------adCmdText表名-------adCmdTable存储过程名--------adComdStoredProc已打开的对象;一个连接字符串2ActiveConnection Connection示例Dim myCnnAs NewADODB.ConnectionDim myRsAs NewADODB.RecordSetmyCnn.Connection=Provider=SQLOLEDB.1;User ID=sa;_商品经营管理数据库;Initial Catalog=Data Source=local”,别忘了“打开”myCnn.OpenmyRs.Source=select*from T_Customef,myRs.ActiveConnection=myCnn myRs.CursorType=adOpenDynamic myRs.CursorLocation=adUseClient,myRs.Open…adCmdTalbe创建对象的三种方法
17.18RecordSet1使用Connection对象Set myRs=myConn.ExecuteCselect*from T_customef,;使用对象2Command Set myRs=myComm.Execute;)直接使用方法,3Open myRs.Open…对象如果最后一次的操作成功则这个集合为空只有在层产生错误才会
17.19Error OLEDB将每个错误被翻译成对象,如果指向一个不存在的提供者则集合不会得到任何信Error Errors息,因为不能发现这个指定的驱动程序,因此会将错误传递到ADO VisualBasic Errors中三对象结合使用的典型示例:
17.20Dim myCnnAs NewADODB.ConnectionDim myCmmAs NewADODB.CommandDim myRsAs NewADODB.RecordSet myCnn.ConnectionString=Provider=SQLOLEDB.l;UserID=loginlD;’别忘了“打开”Initial Catalog=jessymin;Data Source=local myCnn.OpenSet myCmm.ActiveConnection=myCnn图数据流(标有名字的箭头)、处理、数据存储(横圆柱)、数据源/终点(棱形)
3.2DFD
3.3IDEF0图更好地理解需求;(输入、控制、输出、机制)码;至少一个控制和输出箭头ICOM A-O;AO(顶层图);A1;A11与的比较结构化分析思想自顶而下逐级细化
3.4DFD IDEFO图用箭头也叫数据流来描述数据移动的方向、数据处理之间的数据依赖关系,图LDFD IDEFO也用箭头表示数据流,但不强调流或顺序,强调数据约束,箭头语义更丰富模型有四种元素,图只有两种箭头和活动
2.DFD IDEFO图更加规范其概念、建模方法、画图规则等均有说明和规定
3.IDEFO模型结构更清楚,便于理解和沟通
4.IDEF0结构化分析及建模方法的优点
3.5)不过早陷入具体的细节,从整体或宏观入手分析问题,如业务系统的总体结构,系统及子系1统的关系)通过图形化的模型对象直观地表示系统完成什么功能,方便系统分析员理解和描述系统2)模型对象不涉及太多技术术语,便于用户理解模型3第章数据库概念设计与数据建模4概念设计的目的和任务面向现实世界,理解和描述应用领域中的数据需求,分析确定系
4.1统需要存储和处理什么数据过程确定实体集;确定联系和联系类型;建立由信息模型表示的业务模型;确定实体集属性;优化信息模型实体集描述具有相同属性特征和性质的事物集合;属性描述实体集具有的某一特征或性
4.2myCmm.CommandText=select*from T_Customer^^SetmyRs=myCmm.Execute自定义函数示例将字段空值转化为空字符串
17.21VB()Private FunctionconvertNull valAs VariantAs Variant()Tf IsNullval=True ThenconvertNull=ElseconvertNull=valEnd IfEndFunction第章统一建模语言18视图分类用例视图用例图;结构视图类图、对象图;行为视图顺序图、交互图、
18.1UML状态图、活动图;实现视图组件图;环境视图部署图类与类之间有关联(聚集,共享聚集+组成)、通用化(继承)(带空心三角形的实线)、
18.2依赖(单向实线)、精化(带空心三角形的虚线)包(子系统)的四种可见性还包括实现可见性,与私有可见性类似指向的单向虚线
18.3A B表示子系统被子系统引用B A顺序图强调时间,协作图强调空间,状态图强调一个实体在不同时刻的状态变化,活动图
18.4强调程序对象逻辑流程的串行执行顺序和并行次序第章分布式数据库、对象数据库和并行数据库19分布式数据库(物理分散逻辑集中)最基本特征本地自治、非集中式管理、高可用性;
19.1分片透明性(最高级)、位置透明性、局部数据模型透明性构成了分布式数据库的分布透明性分片是对关系(表)的操作,分配是对分片结果的操作
19.2分布式数据库的模式结构全局外模式、全局概念模式、分片模式、分配模式、局部概
19.3念模式、局部内模式;系统组成结构全局、、局部、通信管理GDBMS GDDLDBMS CM分布式事务管理.恢复控制(基于两阶段的提交协议)和并发控制(基于封锁协议)
19.4分布查询数据传输量大的主要原因连接操作和并操作
19.5单继承一颗树;多继承带根的有向无回路图
19.6面向对象数据库(面向对象语言中引入数据库)实现方法主要是扩充面向对象程序设计
19.7语言,使之能处理持久数据所谓持久数据,指创建这些数据的程序运行终止后,数据仍然存在于系统之中数据库中的关系就是持久数据、、等ObjectStore Ontos02对象关系数据库(关系数据库中引入面向对象)扩展的数据类型定义;继承性;扩充的
19.8SQL语言、、.Informix UniversalServer DB2UDB AdaptiveServer^Oracle8i SQLServer并行数据库体系结构共享内存;共享磁盘(中小型);无共享(最好的,银行出纳、民航
19.9售票等类,缺点通信代价和非本地磁盘访问代价);层次结构(综合)OLTP一维数据划分方法轮转法最适合于扫描整个关系;散列划分法比转转法更适合点查
19.10询,也适合顺序扫描关系;范围划分法明显利于范围查询和点查询缺点均不能有效支持非划分属性上具有选择谓词的查询第章数据他仓库与数据挖掘20数据仓库解决的问题是如何更合理和理有效的组织企业的数据体系,目的在于根据决策
20.1需求对数据采取适当的手段进行集成,形成一个综合的面向分析的数据环境;数据挖掘解决的问题是如何针对具体的分析对象和分需求,尝试智能和自动化的手段把数据转换为新的有用的信息和知识数据分类:操作型数据(操作型处理,以业务处理为主的联机事务处理)分析型数据
20.2OLTP;(分析型处理,以分析为主的决策支持系统)DDS数据仓库是一个面向主题的、集成的(最重要,抽取、转换、清理、装载)、非易失的、
20.3且随时间变化的(时变性)数据集合,用来支持管理人员的决策数据仓库的体系结构操作型数据、操作型数据存储、数据仓库、数据集市;功能层次:数
20.4据管理、数据处理、数据应用粒度涉及数据仓库的数据量和支持的查询类型粒度小,细节度高,数据量大,查询多
20.5(操作型数据存储)一方面,类似于操作型环境,可进行企业
20.6ODS OperationalData Store,全局性联机操作型处理;另外一方面,是一个面向主题的、集成的数据环境,但数据量小,适合于辅助企业完成日常决策的数据处理分析(秒级、小时级、天级、含反馈信息)数据仓库设计以数据仓库的主题数据模型设计和实现为核心
20.7(联机分析处理,)支持复杂的分析操作,侧重对决
20.8OLAP On-Line AnalyticalProcessing策人员和高层管理人员的决策支持多维分析的基本活动钻取与卷起切片与切块漩转
20.9Drill-Down Roll-Up;Slice Dice的实现方式基于多维数据库的;基于关系数据库的;混合型的
20.10OLAP数据挖掘数据库知识发现从存放在数据库、数据仓库或其他信息库中的大量数据
20.11KDD,中挖掘有趣知识的过程三阶段数据准备、数据挖掘、结果的解释评估数据仓库维护策略一般分为实时维护、延时维护、快照维护
20.12建立的目的一般是为支持即时和全局两类应用
20.13ODS OLAPOLTP标定型(子依父实例才标定)(确定型);非标定型(确定型);分类;不确定
4.3IDEF1X第章关系数据库逻辑设计5关系数据库按照二维表格组织和存储的相互关联的关系(表)的集合
5.1关系数据库采用关系模型在计算机中组织、存储、处理和管理数据主码约束惟一性;最小性,不能取空值,并且取值要唯一
5.2外码约束如果两个关系和是的属性或属性组,且不是的码,但是的码,R S,X RX RX S则称是的外码或者取空值,或者等于中某个元组的主码的值X RS逻辑设计的内容定义和描述数据库的全局逻辑结构、数据之间的关系、数据的完整性等
5.3目的得到实际数据库管理系统可以处理的数据库模式步聚图转化关系模式;优化关系模式;数据完整性设计;外模式设计ER关系模式描述关系的静态结构,由模式名、属性、完整性约束组成,关系是一个表中记录
5.4的集合,关注和强调的是值(模式实例)的集合,也是关系模式在某一时刻状态的反映关系的完整性(完整性约束)对关系所满足条件的定义作用限定和检查数据库所含实
5.5例的合法性和正确性静态主码、外码、域(用户定义);动态基于业务规则伪传递规则则成立
5.6X-Y,YW-Z,XW-Z规范化设计理论的主要内容是范式,即关系模式满足的条件,它是数据库逻辑设计的指南,
5.7也是衡量关系模式设计优劣的标准目的消除数据冗余及避免操作异常,基本过程:对关系进行分解一个低级范式的关系模式通过分解(投影)方法可转换成多个高一级范式的关系模式的集合,这个过程叫规范化的每一属性均不可再分;
5.8INF R是且每个非主属性完全依赖于主码在上消除非主属性对主码的部分函数依赖;2NF1NF1是且每个非主属性只依赖于主码在上消除非主属对主码的传递函数依赖3NF1NF2模型转换关系模型实体集转为同名关系;联系转为一个关系,各实体集的码及联系的
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 si散列函数的输入计算得出的散列函数输出值就是文件记录在数据文件中的物理地址h 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,StartDate datetimeNOT NULL,EndDate datetimeNOT NULL,Score intNOT NULLCHECKScore=0DEFAULT0,State charlNOT NULLCHECKState in0,1,2,,男,,女,Sex charlCHECKSex in]Age intCHECK Agebetween!16,85,CustomerlD varchar8,CHECKEndDateStartDate,PRIMARY KEYCardID,FOREIGN KEYCustomerlD REFERENCESTable_Customer CustomerlD册除表lj DROPTABLETable_Card修改表ALTER TABLETable.Card ADDCardType char4NULLALTER TABLETable.Card ALTERCOLUMN CardTypechar8ALTER TABLETable_Card DROPCOLUMN CardType
8.4SELECT CnameFROM Tablb_Customer WHERE海淀区朝阳区Address INANDage BETWEEN40AND50AND[王张李]%,,王_」Cname LIKEORDERBY StartDateASC,EndDate DESC除不忽略空值外,其他函数列名、、、
8.5COUNT*COUNTDISTINCT SUMAVG、均忽略空值均返回单值MAX MINSELECTSUM Score,MAXAge,MINAge,AVGAge,COUNT DISTINCT..FROM Table分组依据列不能是和类型的列先分组后计算
8.6GROUP BYtext,ntext,image bit统计每种类别商品的商品数,只列出商品数大于个的商品类别编号和商品数4商品类别编号,商品数SELECT GoodClassIDas COUNT*as FROMTable.GoodsGROUP BYGoodClassID HAVINGCOUNT*4自连接查询与王晓在同一个区的顾客的姓名及地址
8.7SELECT T
2.Name,T
2.Address FROMTable_Customer asT1JTON Table_Customer asT2王晓!=’王晓ON Tl.Address=T
2.Address WHERETl.Name=AND T
2.Name子查询一个语句嵌套在一个、、或语句中SELECT SELECTUPDATEINSERTDELETESELECT Name,Address FROMTable_Customer WHEREAddress IN王晓王晓SELECT AddressFROMTable_Customer WHEREName=AND Name!=外连接左外连接左表全输出右外连接
8.8LEFT OUTER JOIN RIGHTOUTERJOIN子查询[]集合不相关子查询,先内后外
8.9NOT IN歹]=/比较不相关子查询,先内后外WHERE[]存在相关子查询,先外后内NOT EXISTSELECT*修改数据[]表名[列名表]值列表
8.10INSERT INTOVALUES表名歹名=表达式[子句]/[]表名[子句]UPDATE SETU WHEREDELETE FROMWHERE分情况修改UPDATE Table_Goods。