《2022年2022年计算机四级考试数据库重难点汇总 .pdf》由会员分享,可在线阅读,更多相关《2022年2022年计算机四级考试数据库重难点汇总 .pdf(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第 1 章 引言1. 数据是描述现实世界事物的符号记录,是用物理符号记录下来的可以识别的信息。数据是信息的符号表示,是载体;信息是数据的语义解释,是内涵。2. 数据模型是对现实世界数据特征的抽象,是数据库系统的形式框架,用来描述数据的一组概念和定义,包括描述数据、数据联系、数据操作、数据语义以及数据一致性的概念工具。满足三条件:比较真实地模拟现实世界;易于人们理解;易于计算机实现三个组成要素: 数据结构 (静态, 数据对象本身结构及之间的联系)、数据操作 (对数据对象操作及操作规则的集合)和完整性约束(语义约束:数据模型、数据内部及之间联系)3. 模式是对数据库中全体数据的逻辑结构和特征的描述
2、,是所有用户的公共数据视图,也称为逻辑模式或概念模式。外模式是对数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是与某一应用有关的数据的逻辑表示,也称为子模式、用户模式或用户视图。内模式是对数据库中数据的物理结构和存储方式的描述,也称为物理模式或存储模式。当数据库模式发生变化时,通过调整外模式/ 模式间的映像关系,使得应用程序不必随之修改,从而保证数据与应用程序间的逻辑独立性,简称数据的逻辑独立性。当数据库数据的物理存储结构改变时,通过调整模式 / 内模式映像关系,保持数据库模式不变,使数据库系统的外模式和应用程序不随之改变,保证数据与应用程序间的物理独立性,简称数据的物理独立性。4
3、. 数据库是存储在计算机内的共享数据集合,数据库管理系统是一种数据管理系统软件。数据库系统则是在计算机系统中引入数据库后的软硬件系统构成,包括了数据库、数据库管理系统和数据库应用程序。5. DBMS 的主要功能有数据定义、数据操纵、数据库运行管理与控制、数据库建立与维护。DBMS 包括查询处理器和存储管理器。查询处理器实现面向用户的查询分析处理和优化功能。存储管理器为用户和应用程序提供了访问存储在数据库文件中的应用数据的接口。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共
4、 19 页 - - - - - - - - - 6. 关系模型用二维表表示实体及实体之间的联系,现实世界中的每个客观对象对应表中的一行叫做一条记录,表中的每个列(属性)描述对象类的某一特征,列的值(属性的取值)刻画和描述客观对象的某一具体的特征。优缺点:建立在“集合”“关系”上,严格成熟的理念基础;用关系表示实体及之间联系,简单易懂;存储路径透明,较好的数据独立性和安全保密性;查询效率低于非关系模型。第 2 章 数据库应用系统生命周期2.1 软件生命周期是指软件产品从考虑其概念开始,到该产品不再使用的整个时期。一般包括概念阶段、需求阶段、设计阶段、实现阶段、测试阶段、安装部署及交付阶段、运行阶
5、段与维护阶段。数据库应用系统需求是指用户对数据库应用系统在功能、性能、行为、设计约束等方面的期望和要求:数据及数据处理、业务、性能、其他存储安全备份与恢复等。2.2 数据库应用系统生命周期模型1. 瀑布模型原理,项目规划、需求分析、系统设计、实现与部署、运行管理与维护五部分2. 快速原型模型和增量模型原理,允许渐进、迭代地开发DBAS 。3. 根据 DBAS的软件组成和各自功能,细化DBAS 需求分析和设计阶段,引入了数据组织与存储设计、 数据访问与处理设计、应用设计三条设计主线,分别用于设计DBAS中的数据库、数据库事务和应用程序。4. 设计阶段细分为概念设计、逻辑设计、物理设计三个步骤,每
6、一步涵盖三条设计主线。第 3 章 需求分析及功能建模方法3.1 数据元素(列)是数据处理中的最小单位。3.2 DFD图:数据流(标有名字的箭头)、处理、数据存储(横圆柱)、数据源/ 终点(棱形)3.3 IDEF0图:更好地理解需求;ICOM (输入、控制、输出、机制)码;至少一个控制和输出箭头。A-0;A0(顶层图); A1; A11 3.4 DFD 与 IDEF0 的比较:结构化分析思想:自顶而下逐级细化1.DFD图用箭头也叫数据流来描述数据移动的方向、数据处理之间的数据依赖关系,IDEF0 图也用箭头表示数据流,但不强调流或顺序,强调数据约束,箭头语义更丰富。2.DFD模型有四种元素,ID
7、EF0 图只有两种:箭头和活动3.IDEF0 图更加规范。其概念、建模方法、画图规则等均有说明和规定名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 19 页 - - - - - - - - - 4.IDEF0 模型结构更清楚,便于理解和沟通3.5 结构化分析及建模方法的优点:1)不过早陷入具体的细节,从整体或宏观入手分析问题,如业务系统的总体结构,系统及子系统的关系。2)通过图形化的模型对象直观地表示系统完成什么功能,方便系统分析员理解和描述系统。3)模型对象不涉及太多技
8、术术语,便于用户理解模型。第 4 章 数据库概念设计与数据建模4.1 概念设计的目的和任务:面向现实世界,理解和描述应用领域中的数据需求,分析确定系统需要存储和处理什么数据。过程: 确定实体集; 确定联系和联系类型;建立由信息模型表示的业务模型;确定实体集属性;优化信息模型。4.2 实体集描述具有相同属性特征和性质的事物集合;属性描述实体集具有的某一特征或性质4.3 IDEF1X :标定型(子依父实例才标定)(确定型);非标定型(确定型);分类;不确定第 5 章 关系数据库逻辑设计5.1 关系数据库:按照二维表格组织和存储的相互关联的关系(表)的集合。关系数据库采用关系模型在计算机中组织、存储
9、、处理和管理数据。5.2 主码约束:惟一性;最小性,不能取空值,并且取值要唯一外码约束:如果两个关系R和 S,X是 R的属性或属性组,且X不是 R的码,但X是 S的码,则称X是 R的外码。或者取空值,或者等于S中某个元组的主码的值。5.3 逻辑设计的内容:定义和描述数据库的全局逻辑结构、数据之间的关系、数据的完整性等目的:得到实际数据库管理系统可以处理的数据库模式。步聚: ER图转化关系模式;优化关系模式;数据完整性设计;外模式设计5.4 关系模式描述关系的静态结构,由模式名、属性、完整性约束组成,关系是一个表中记录的集合,关注和强调的是值(模式实例)的集合,也是关系模式在某一时刻状态的反映。
10、5.5 关系的完整性(完整性约束):对关系所满足条件的定义。作用:限定和检查数据库所含实例的合法性和正确性。静态:主码、外码、域(用户定义);动态:基于业务规则5.6 伪传递规则: XY,YW Z,则 XW Z成立。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 19 页 - - - - - - - - - 5.7 规范化设计理论的主要内容是范式,即关系模式满足的条件,它是数据库逻辑设计的指南,也是衡量关系模式设计优劣的标准。目的:消除数据冗余及避免操作异常,基本过程:对
11、关系进行分解。一个低级范式的关系模式通过分解(投影)方法可转换成多个高一级范式的关系模式的集合,这个过程叫规范化。5.8 1NF :R的每一属性均不可再分;2NF :是 1NF且每个非主属性完全依赖于主码。在 1 上消除非主属性对主码的部分函数依赖;3NF :是 1NF且每个非主属性只依赖于主码。在 2上消除非主属对主码的传递函数依赖。5.9 ER模型转换关系模型:实体集转为同名关系;联系转为一个关系,各实体集的码及联系的属性转为关系的属性(1:1 均可、 1:n 取 n、m :n 取集);合并具有相同码的关系。第 6 章 存储技术与数据库物理设计6.1 物理设计是在具体的硬件环境、OS 、D
12、BMS 约束下,基于逻辑设计,设计具体数据存储结构和存取方式。目的:占用空间少、访问效率高、维护代价低。主要步骤有数据库逻辑模式调整、文件组织与存取设计、数据分布设计、安全模式设计、确定系统配置、物理模式评估。6.2 索引技术( Indexing )是一种快速文件访问技术,它将文件记录在某个或某些域(或称为属性)上的取值与该记录的物理地址直接联系起来,提供了一种根据记录域的取值快速访问文件记录的机制。索引文件是一种利用索引技术支持快速文件访问的文件组织和存取方法。索引加快了查询记录却减慢了数据更新速度,本身还占用一定的存储空间。6.3 文件组织:如何将关系数据库中的关系映射为操作系统中的数据库
13、文件,及管理文件。文件结构:如何将DB文件中的逻辑记录映射到物理文件的中磁盘块。文件存取:针对某种结构的DB文件,如何查、添删改其中的逻辑记录6.4 数据字典:数据库各类对象的描述信息、数据库管理系统的控制信息。包括关系模式信息、与视图描述有关的信息、关系的存储结构和存取方法信息、完整性约束、安全性有关的信息、数据库运行统计信息。作用: DBA用来监视DBMS 的使用情况并协助完成管理工作;一般用户可用于查阅部分数据库结构信息;DBS运行时各子系统频繁使用以完成相应的存储和查询处理功能。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - -
14、 - 名师精心整理 - - - - - - - 第 4 页,共 19 页 - - - - - - - - - 6.5 DBMS 的三种完整性控制机制:CHECK 子句、断言、触发器断言语句: Create assertion 断言约束名 check (, )6.6 堆文件: 数据量少且操作频繁;批量加载数据 (先选为堆文件再调整文件结构)顺序文件:查询条件定义在查找码上;快速的二分查找散列文件:基于散列域值的等值匹配,特别是访问顺序是随机的。非精确查询;非散列域B树和 B+树:大数据量基本表;聚焦文件:多表连接操作6.7 有序索引技术利用索引文件实现查找码取值到记录物理地址间的映射关系。索引文
15、件由索引记录组成,每个记录中的索引项记录了某个特定的查找码值和具有该值的数据文件记录的物理地址。当需要访问数据文件中某个数据记录时,先根据查找码值查阅索引文件,找到对应的索引项,然后从索引项中找出数据记录在数据文件中的物理地址根据这个地址访问数据记录。6.8 散列技术是一种快速文件访问技术,它利用散列函数实现文件记录域取值到记录物理地址间的直接映射关系。当需要访问数据文件中查找码值为si 的某个或某些文件记录时,将si 作为散列函数h 的输入计算得出的散列函数输出值h(si )就是文件记录在数据文件中的物理地址。6.9 权限:允许用户对一给定的数据库对象可执行的操作(查询、添删改、新建、备份等
16、)。第 12 章 SQL Server2000数据库管理系统12.1 四个服务: SQL Server 核心服务;SQL Server Agent:代理服务,代理定期进行的管理工作;DTC:Distributed Transaction Coordinator,分布式事务协调器,同一事务访问多个服务器Microsoft Search:全文检索服务12.2 四个版本: 企业版 (全部功能、 大型数据库) 、标准版 (小部门) 、开发版 (同企业版,作开发测试系统用,不作生产服务用)个人版(移动环境、本地数据)12.3 服务帐户:使用本地系统帐户:自动取当前登录到Windows的用户,没有Wind
17、ows 的网络访问权限,适用于非网络服务器操作系统(如XP );使用域用户帐户:使用 Windows身份验证设置连接到SQL Server ,用户必是Windows系统管理员,适用于网络服务器OS 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 19 页 - - - - - - - - - 12.4 网络库:在SQL S客户端和服务器间传递网络数据包。服务器可一次监听多个网络库12.5 SQLServer 的两大类数据库:系统数据库:DBMS 自动创建及维护,存放维护系统
18、正常运行的信息,master (系统级信息)、msdb (支持自动执行任务)、model(所有用户数据库的公共信息)、tempdb(临时数据库),示例Pubs、Northwind ;用户数据库12.6 估算存储空间: SQLServer 数据存储单位为页 (Page), 一个数据页是一块8KB的连续磁盘空间,行不能跨页存储,一行数据的大小不能超过一页的大小。一个表10000 行数据,每行3000 字节,则需要(10000/2 )*8KB=40MB的空间。12.7 主数据文件:扩展名为.mdf ,包含数据库系统信息并可存放用户数据库数据,每个数据库只有一个主数据文件。辅助数据文件:扩展名为.nd
19、f ,数据量很大时使用,可存放在不同的磁盘驱动器上,以便得利用多个磁盘上的存储空间并提高数据存取的并发性。12.8 每个数据文件及日志文件(.ldf)初始大小均不得小于512KB ,主数据文件大小不得小于model 数据库主数据文件,日志文件最好不小于1MB 12.9 创建数据库:CREAT DATABASE jessymin ON 表示数据库按下面参数创建( NAME = jessymin, 逻辑文件名FILENAME = , MSSQLDatajessymin_Data.mdf , OS下的物理文件名SIZE 10 ,文件初始大小,单位默认为MB ,下同MAXSIZE 30,文件最大大小F
20、ILEGROWTH 5 ,文件增量,为0 表示不自动增长,默认按当前10% 增长)LOG ON 表示该数据库日志文件按下面参数创建(, 。.同上,只是物理文件名为jessymin.LDF )12.10 删除数据库: DROP DATABASE jessymin 。删除六种数据库对象均用DROP 12.11 Transact-SQL :非过程化高级语言,全司变量,局部变量 ,局部变量可以是自定义类型但不能是text或 image 类型。12.12 Transact-SQL示例:计算1+2+3+,+100 的和:DECLARE i int , sum int SET i = 1 ,sum = 0
21、-SET 可换为 SELECT WHILE i =100 BEGIN 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 19 页 - - - - - - - - - SET sum = sum + i SET i = i +1 END PRINT sum 12.13 DTS ( Data Transformation Service)数据转换服务。注意区别DTC (分布式事务协调器)。导出数据时用户必须是要连接的数据库服务器的合法用户,且对要导出的表具有查询权限第 13 章
22、 数据库对象13.1 存储过程的: SQL语句和控制流语句的预编译集合,应用程序可通过调用方法来执行优点:模块化程序设计;提高性能;减少网络流量;可作为安全机制使用13.2 带有多个参数并有默认值及输出参数的存储过程示例:CREATE PROCEDURE p_Example area varchar (20) = 武汉大学,Price money ,Sum int output AS SELECT/UPDATE/INSERT/DELETE,SET Sum = , 。 . 应用程序中执行的SQL语句:Declare res int EXECUTE p_Example 武汉大学信息学部,1000,
23、 res output 或者 EXECUTE p_Example Price =1000 ,res output 13.3 用户自定义函数:标量函数(返回单值,非text 、Image 类型,任何允许出现表达式的地方)、内嵌表值函数(返回一个表,放在查询语句的From 子句中)、多语句表值函数 (返回一个可自定义的表,也放在查询语句的From 子句中, 视图和存储过程的结合)13.4 标量函数救示例:根据指定的商品类别查询该类的商品个数。CREAT FUNCTION dbo.f_GoodsCount(class varchar(10)RETURNS int AS BEGIN DECLARE x
24、 int SELECT x=count (*) From T_GoodsClass a JION T_Goods b ON a.GoodClassID = b.GoodClassID 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 19 页 - - - - - - - - - WHERE GoodClassName = class RETURN x END 调用: SELECT dbo.f_GoodsCount (服装)或者SELECT GoodsName AS 商品名,
25、 dbo.f_GoodsCount (服装 ) AS 种类数 From , 。13.5 内嵌表值函数的不同之处在于RETURNS 后只能是table ,RETURN 后面只能是单个的 SELECT语句,没有相关联的返回变量也没有函数体。调用时放在查询语句的 FROM 子句中。13.6 触发器是一种不需要由用户来调用的存储过程,当用户对表进行UPDATE 、INSERT或 DELETE 操作时自动触发执行。作用:保证业务规则和数据完整性。优点:用编程方法来实现复杂的处理逻辑和业务规则,增强数据完整性约束。13.7 触发器适用场合:比CHECK 语句更复杂的数据约束(可引用其他表中的列);为保证数
26、据库性能而维护的非规范化数据(如增加统计总值的列);实现复杂的业务规则13.8 AFTER/FOR:后触发型触发器,可在同一操作上建立多个;INSTEAD OF :前触发型,在同一操作上只能建立一个。所有的涉及对数据库对象操作的语句均不允许出现在触发器中。13.9 DELETED表:存储UPDATE 和 DELETED 操作语句所影响行的更新前的旧数据;INSERTED 表:存储UPDATE 和 INSERT操作语句所影响行的更新后的新数据。13.10 维护数据操作完整性的后触发器示例:销售量大于库存量则撤销当前销售,小于时则在插入销售单据明细时同时修改库存量。Create Trigger O
27、peratonCon ON T_SaleDetail FOR INSERT AS IF EXISTS ( Select * From inserted a Jion T_Goods b ON a.GoodsID = b.GoodsID WHERE a.Quanity b.TotalCharge)BEGIN ROLLBACK PRINT 此商品库存量小于此次销售数量END ELSE UPDATE T_Goods SET TotalCharge = TotalCharge 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理
28、 - - - - - - - 第 8 页,共 19 页 - - - - - - - - - (SELECT Quanity From inserted)13.11 维护不同列之间取值完整性的后触发器示例:保证商品表中的单价与价格变动表中一致CREATE TRIGGER PriceConstraint ON T_PriceHistory FOR INSERT, UPDATE AS DECLARE newprice money SELECT newprice = SalePrice From inserted UPDATE T_Goods SET SaleUnitPrice = newprice
29、WHERE GoodsID IN (SELECT GoodID From inserted )13.12 前触发器指定执行触发器而不执行引发触发器的SQL语句,因此,如果数据操作满足完整性约束则在触发器中必须重新执行这些数据操作语句。前触发器示例:保证销售单据中的会员卡是有效日期内的会员卡:CREATE TRIGGER CardValid ON T_SaleDetail INSTEAD OF INSERT, UPDATE AS IF NOT EXISTS (SElETCT * From inserted a JOIN T_Card b ON a.CardID=b.CardID WHERE a.
30、SalDate NOT BETWEEN b.StartDate AND b.EndDate)INSERT INTO T_SaleDetail SELECT * From inserted (若满足条件此语句重新执行)13.13 用 SQL语句修改存储过程、用户自定义函数、触发器的语法与创建基本一致,只是将 CREATE 改为了 ALTER 。(查询分析器中实现)第 14 章 安全管理14.1 数据库的安全控制:在DBMS 的不同层次提供对有意和无意损害行为的安全防范。有意的非法活动:加密存、取数据;有意的非法操作:用户身份验证、限制操作权;无意的损坏:提高系统的可靠性和数据备份14.2 数据库
31、权限的种类:对DBMS 进行维护的权限;对数据库对象和数据进行操作的权限SQL Server 权限种类(与数据库用户分类对应):隐含权限(预定义的内置权限);语句权限( DDL语句权限,创建删除数据库对象);对象权限(DML语句权限,操作数据库对象)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 19 页 - - - - - - - - - 14.3 数据库用户的分类:数据库系统管理员(SA ,全部权限);数据库对象拥有者(创建数据库对象的用户,对所拥有的对象具有一切权限
32、);普通用户:只具有对数据的编辑查询功能14.4 三个认证过程: 身份认证,只认证用户是否有连接到数据库服务器的“连接权”;合法用户,验证是否是数据库的合法用户;权限认证,验证用户是否具有要进行的操作的操作权限14.5 系统内置的登录账户:BUILTINAdministrator;SA;域名 Administrator,均DBMS 管理员14.6 创建 SQL Server 身份认证的登录账户:EXECUTE sp_addlogin user3 ,123, jessymin User3 为登录账户, 123 为密码, jessymin为默认数据库;WINDOWS认证:sp_grantlogin
33、 14.7 删除登录账户存储过程:EXEC droplogin user3 (SQL Server 身份验证) ;EXEC revokelogin Server1nt_user( WINDOWS 身份验证)14.8 登录账户可以连接到SQL Server 服务器上但并不具有访问任何数据库的能力,必须再成为数据库的合法用户。一个登录账户可以映射为多个数据库用户,管理数据库用户的过程实际上就是建立登录账户与数据库用户之间的映射关系的过程。新建的数据默认只有一个用户:dbo,它是数据库的拥有者。14.9 创建数据库用户:EXEC sp_adduser U2, U2, user_role,用户名与登录
34、账户一致,并让其成为 “user_role”角色的成员。 删除:EXEC sp_dropuser U214.10 合法用户除了对所属数据库系统表具有一些查询权限外并不对数据库中的用户数据和对象具有任何权限,还得得到对数据库数据和对象的操作权限14.11 收回权限:不允许用户或角色具有某种操作权,或者收回曾经授予的权限,置空标记;拒绝访问:拒绝某用户或角色具有某种操作权,即使由于继承获得的权限也无效,叉叉标记14.12 用 Transact-SQL 语句管理对象权限入管理语句权限:P245 14.13 角色:数据库中具有相同权限的一组用户。系统预定义的固定角色;自定义用户角色14.14 固定的服
35、务器角色:*amdin + dbcreator,权限最重要最高的是sysadmin ,角色成员源均为系统的登录账户:EXEC sp_addsrvrolemember Server1nt_user ,sysadmin 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 19 页 - - - - - - - - - 14.15 固定的数据库角色:db_*+public,权限最高的是db_owner:EXEC sp_addrolemember db_owner, user3 (注
36、意用户和用色的顺序)14.16 public角色:每个用户均自动为其成员,不具任何权限但可赋予权限。如果想让所有数据库用户均具有某个特定权限则可将该权限授予public 14.17 用户自定义的用户角色:EXEC sp_addrole myrole 14.18 只要权限没有被拒绝过,角色中成员权限是角色的权限加上成员自己的权限。第 15 章 备份和恢复数据库15.1 备份的两种方式:先创建备份设备(备份数据库的场所),再将数据库备份到备份设备上(永久备份设备);直接将数据库备份到物理文件上(临时备份设备)15.2 创建磁盘备份设备:EXEC sp_addumpdevice disk ,mydi
37、skdump,。 .mydump.bak15.3 常用备份策略:完全备份加差异备份加日志备份,备份和恢复速度都比较快,而且当系统出现故障时丢失的数据较少。15.4 Transact-SQL语句: BACKUP DATABASELOG jessymin TO mydiskdump WITH INIT WITH INIT 表示覆盖掉原有内容,相当于“重写现有媒体”15.5 恢复的一般顺序:先恢复最近的完全数据库备份;再恢复完全备份之后的最近的差异备份;最后按日志备份的先后顺序恢复自最近的完全备份或差异备份之后的所有日志备份。15.6 Transact-SQL语句恢复过程示例:1)首先恢复完全备份R
38、ESTORE DATABASE jessymin FROM mydiskdump WITH FILE=1 ,NORECOVERY 2)然后恢复差异备份(如果有的话)RESTORE DATABASE jessymin FROM mydiskdump WITH FILE=2 ,NORECOVERY 3)最后恢复日志文件RESTORE LOG jessymin FROM mydiskdump Norecovery 表示对数据库的恢复操作尚未完成,相当于“使数据不再运行,但能还原其他事务的日志文件”。默认为RECOVERY。第 16 章 VB 开发环境与数据访问接口(鄙人此前未曾用过VB ,疏漏浅薄之
39、处敬请见谅, )16.1 标准数据绑定控件:TextBox 、 CheckBox、ListBox 、ComboxBox等外部( ActiveX )数据绑定控件:DataCombo 、DataList、DataGrid 、 MSHFGrid等16.2 DBMS 支持的两种数据接口:专用接口(与特定的DBMS 有关);通用接口(屏蔽掉每个DBMS 底层接口的差异,提供一种标准的访问方法)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 19 页 - - - - - - - -
40、 - 16.3 通用接口: ODBC 、OLE DB 、JDBC ,让应用程序具有很好的适应性和可移植性;具备同时访问多种DBMS 系统的能力。16.4 ODBC (只访关系型DB ):开放数据库互连Open DataBase Connectivity,ODBC应用系统大致工作流程从开始配置数据源到回收各种句柄为此。句柄是32 位整数值,代表一个指针。16.5 OLE DB :对象链接与嵌入的数据库Object Linked and Embed DataBase,是Microsof t OLE对象标准的一个实现,是COM 对象,是为数据访问而设计的一系列COM 接口。16.6 ADO:动态数据
41、对象ActiveX Data Object,建在 OLE DB之上的高层接口集,是介于 OLE DB底层接口和应用程序之间的接口,它避免了开发人员直接使用OLE DB底层接口的麻烦。16.7 ODBC 与 OLE DB的主要区别:1)ODBC 只能访问关系型数据库,而OLE DB可以访问关系和非关系型甚至是无结构的数据。2)OLE DB克服了 ODBC 的一个主要缺点:一个ODBC 驱动程序需要支持几乎所有的DBMS 特征和功能,这需要大量的工作和初始投资,而OLE DB允许 DBMS 提供商只实现他们产品的一部分功能。第 17 章 VB 数据库应用编程17.1 CommandType 属性:
42、adCmdUnknown ,表示 RecordSource 中的命令类型未知;adCmdTable表示 RecordSource 属性的内容来自一张表;adCmdText表示 RecordSource 属性的内容来自一个查询语句;adCmdStoredType 表示 RecordSource 属性的内容来自一个存储过程17.2 RecordSet的 Move方法组中, MovePrevios 和 MoveNext 没有自动检测记录的当前行指针是否移出了结果集边界的功能,需编码实现:myadodc.RecordSet.MoveNext/MovePrevious If myadodc.Record
43、Set.EOF/BOF = True Then myadodc.RecordSet.MoveLast/MoveFirst End If 17.3 保存缓冲区中的记录:Update 方法;对当前记录指针作一个移动操作17.4 CancelUpdate方法:应在Update 方法之前调用,调用了Update 方法之后的修改是不能撤销的;如果没有添加新记录也没有对当前记录做任何修改,调用CancelUpdate 会出错。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 19 页
44、 - - - - - - - - - 17.5 Find方法:用于在当前结果集中查找满足条件的记录myadodc.RecordSet.Find(“查找条件表达式”)与 RecordSet对象名 .Filter “选择表达式”相似(.Filter=adFilterNone还原)17.6 更新记录:mydocdc.RecordSet.Fields(“ CustomID”) = Trim (txtCID.Text)mydocdc.RecordSet.Fields(“ Age”) = CInt(txtAge.Text)mydocdc.RecordSet.Update 17.7 删除记录提示窗口:Dim
45、 res As Integer res = MsgBox (“确实要删除此行记录吗?”,vbExclamation+vbYesNo+vbDefaultButton2)If res = vbYes Then Myadodc.RecordSet.Delete End If 17.10 ADO 对象模型Connection对象 -ErrorS集合 -Error对象Command 对象 -Parameters集合 -Parameter对象RecordSet 对象 -Fields集合 -Field对象17.11 Connection对象可以完成的操作:连接数据源打开数据库;执行一个数据库操作命令;利用E
46、rror对象检查数据源返回的出错信息。17.12 销毁内存中的对象:Set 对象名 = Nothing 17.13 Command 对象的 CommandText属性相当于ADO 数据控件的RecordSource 属性;Command 对象的 CommandType 属性相当于ADO数据控件的CommandType 属性17.14 RecordSet对象的主要功能是建立记录集,并支持对记录集中各数据的各种操作。允许用户直接获取数据,因此RecordSet 对象与 ADO的访问过程无关。17.15 CursorType属性:adOpenDynamic动态游标:反映所有用户对数据的修改,支持向前
47、及向后移动;adOpenStatic静态游标:不能反映其他用户的修改,支持向前及向后,当打开客户端 RecordSet 对象时, adOpenStatic为唯一允许的游标类型。当打印报表和其他不需要即时完成更新数据的应用程序来说很有用。adOpenFowardOnly 仅向前游标:默认值。仅支持向前移动,其他与adOpenStatic一致。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 19 页 - - - - - - - - - adOpenKeyset 键集游标:介
48、于动态和静态游标。只看到其他用户更改的看不到添加删除的17.16 CursorLocation属性:adUseClient :本地客户端游标。将整个结果集传给客户端,网络流量大但下载后浏览速度快adUseServer : 默认值, 仅传送客户端需要的数据,网络流量小但服务器资源消耗大。不支持 BookMark 属性(书签,快速再定位)和AbsolutePosition属性adUseNone :没有使用游标服务。17.17 RecordSet.Open方法:myRs.Open Source , ActiveConnection, CursorType , LockType , Options 1
49、)Source 支持的类别: 5 )Options的可选项一个返回记录的Command 对象 /adCmdFile SQL语句adCmdText 表名 adCmdTable 存储过程名 adComdStoredProc 2)ActiveConnection:已打开的Connection对象;一个连接字符串示例: Dim myCnn As New ADODB.Connection Dim myRs As New ADODB.RecordSet myCnn.Connection = “Provider = SQLOLEDB.1;User ID = sa;”_ & “ Initial Catalog
50、 = 商品经营管理数据库;Data Source=(local )”myCnn.Open 别忘了“打开”myRs.Source = “select * from T_Customer”myRs.ActiveConnection = myCnn myRs.CursorType = adOpenDynamic myRs.CursorLocation = adUseClient myRs.Open , , , , adCmdTalbe 17.18 创建 RecordSet 对象的三种方法:1)使用 Connection对象: Set myRs = myConn.Execute(“ select *