VB与数据库(22页).doc
《VB与数据库(22页).doc》由会员分享,可在线阅读,更多相关《VB与数据库(22页).doc(22页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-VB与数据库-第 22 页从20世纪50年代中期开始,计算机的应用由科学研究部门扩展到企业、行政部门,数据处理迅速上升为计算机应用的主要方面。在计算机的三大应用中(科学计算、数据处理及过程控制),数据处理所占比重约为70%左右。在60年代末,数据库技术就是作为数据处理中的一门技术发展起来的。第一章 数据库编程基础 基本概念和术语1)数据(Data):是描述事物的符号记录。数据与其语义是不可分的,数据需要经过语义解释。2)数据库(Database,简称DB):是统一管理的相关数据的集合;能为各种用户共享,具有最小冗余度、数据间关系密切,而又有较高的对程序独立性等特点。3)数据库管理系统(Dat
2、a Base Management System,简称为DBMS)DBMS是位于用户与操作系统间的一层数据管理软件,它为用户或应用程序提供了访问DB的方法,包括DB的建立、查询、更新和各种数据控件等;DBMS的目的: 提供一个可以方便地、有效地存取数据库信息的环境。4) 数据库系统(DataBase System,DBS) DBS是实现有组织的、动态的存储大量关联数据,方便多用户访问的计算机软件、硬件和数据资源组成的系统,即它是采用了数据库技术的计算机系统。5) 数据库技术 数据库技术是研究数据库的结构、存储、设计、管理和使用的一门软件学科。6)数据库系统的组成如下图所示 关系型数据库中的基本
3、概念在介绍关系型数据库的基本概念之前,我们先介绍一下关系模型: 关系模型(relational model)是由若干个关系模式组成的集合。其主要特征是用表格结构表达实体集,用外键表示实体间联系。关系模型由关系结构、关系操作集合和完整性约束三部分组成。1) 单一数据结构关系2) 关系模型的数据结构非常单一。在关系模型中,现实世界的实体以及实体间的各种联系均用关系来表示。在用户看来,关系模型中数据的逻辑结构是一张二维表。2)关系操作关系模型中常用的关系操作包括:选择(Select)、投影(Project)、连接(Join)、并(Union)、交(Intersection)、差(Difference
4、)等查询(Query)操作和增加(Insert)、删除(Delete)、修改(Update)操作两大部分。查询的表达能力是其中最主要的部分。关系操作的特点是集合操作方式,即操作的对象和结果都是集合。这种操作方式也称为一次一集合的方式。相应的非关系数据模型的数据操作方式为一次一记录的方式。关系操作涉及关系代数、元组关系演算和域关系演算。另外还有一种介于关系代数和关系演算之间的语言SQL(Structurel Query Language)。3)关系的三类完整性约束:实体完整性、参照完整性和用户自定义完整性。其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件,应该由关系系统自动支持。 在
5、关系型数据库中数据以行和列的形式存储,为了便于理解,我们称这一系列的行和列为表,一组表组成了数据库。关系型数据库是根据表、记录和字段之间的关系进行组织和访问的一种数据库,他通过若干表来存储数据,各数据项之间用关系来组织,关系(relationship)是表之间的一种连接,通过关系,可以更灵活地表示和操纵数据库中的数据;另外,用户可以非常方便的使用查询(Query)来检索数据库中的数据,一个Query是一个用于指定数据库中行和列的SELECT 语句。关系型数据库中通常包含如下3部分: 1)端应用程序(client) 2)数据库服务器(server) 3)数据库(Database)以下我们将简要的
6、介绍一下关系型数据库中的一些基本概念: 1)表:表是一种按行和列排列的相关信息的逻辑组,类似于工作表单。例如,在表中包含了一系列有关学生的信息。表1.1 学生基本情况表学号姓名性别年龄班级0201张明丽女2002-10202王维男2102-10203李雯女2002-20204刘华男2202-22) 记录:在表中,有关学生的信息存放在表的各个行中,这些行被称为记录(Record)。一般来说,数据库表中的记录任意两行都不能相同,不能有两个所有条件都一样的学生。例如表有4个记录,他们分别描述了四个学生的基本情况。 3) 字段 :数据库表中的每一列称作一个字段。表是由其包含的各种字段定义的,每个字段描
7、述他所包含的数据。创建一个数据时,为每个字段分配一个数据类型、最大长度和属性。字段可包含各种字符、数字甚至图形。4)关键字:关键字是表中的一个或多个字段,是为快速检索而被索引的。关键字可以是唯一的,也可以是非唯一的,取决于是否允许重复。唯一关键字可以指定为主关键字,用来唯一标识表的每行。例如,在上面的例子中,学号是表的主关键字,因为学号可以唯一的标识一个学生。 5)索引:为了更快的访问数据库,大多数数据库都使用索引。数据库表的索引算法是比表搜索算法更快的排序算法,每个索引输入项指向其相关的数据库行。如果数据库在寻找记录时先浏览索引,寻找记录将变得更容易而且数据返回得更快。6)关系:数据库可以由
8、多个表组成,表与表之间可以用不同的方式相互关联。例如所示的学生成绩表保存了学生的成绩,这个表中的记录可以通过学生的学号和学生基本情况表中的记录关联起来。在表中的学号字段引用了表1.1 学生基本情况表中的学号字段,从而把学生的基本情况和学生成绩联系起来了。 用来建立关系的键叫做外部键或称为外键,因为它与“外部”表“学生基本情况表”的主键关联。表1.2 学生成绩表 学号外语高数物理0201786978020285877902037578820204798982 表1.1 库、表、记录和字段间的关系如下图所示: 数据 字段库记录 表1111 表3表2学号 外语 高数 物理0201 78 69 780
9、202 85 87 79目前常用的关系型数据库 目前常用的关系型数据库管理系统有:ORACLE 、SYBASE、SQL SERVER 、 MS SQL SERVER 、IBM DB2 UDB、INFORMIX 等,常用的小型数据库有:Access 、Pradox 、Foxpro 等,个人用户比较常用的是基于中小型数据库的 MS SQL SERVER和 Access 。这些数据库的简介见课本 VB数据库编程中的术语1)数据库引擎 数据库引擎存在于程序和物理数据库文件之间,将数据访问对象上的操作转换为对数据库文件自身的物理操作,来处理所有与各种数据库接口的机制。这使用户与正在访问的特定数据库无关,
10、不管这个数据库是本地的VB数据库,还是所支持的其他任何数据库格式,所使用的数据访问对象和编程技术都是相同的。Jet数据库引擎被包含在一组动态链接库(DLL)文件中,运行时,这些文件被链结到VB程序。它把应用程序的请求翻译成对.mdb文件或其他数据仓库的物理操作。它真正读取、写入和修改数据库,并处理所有内部事务,如索引、锁定、安全性和引用完整性。它还包含一个查询处理器,接收并执行结构化查询语言(SQL)查询,来实现所需要的数据库操作。另外还包含一个结果处理器,用来管理查询所返回的结果。 2)数据表 (Table) 数据表是一组相关的数据按行列来排列,可以把它想象成行列整齐的表格。每一行称作一条记
11、录(Record),每一列称作一个字段(Field)。 3)记录(Record)在表中,每一行就是一条记录,它唯一描述了一个有意义的事物。一般来说,数据库表的记录创建时任意两行都不能相同。4)字段(Field) 在表中每一列就是一个字段,它的每一个元素描述了该元素所在行(记录)的某一个方面的性质。表是有其包含的各种字段定义的,每个字段描述了它所含有的数据。创建一个数据库时,为每个字段分配一个数据类型、最大长度和其他属性。字段可包含各种字符、数字甚至图形、声音、动画等多媒体信息。5)索引(Index) 为了加快访问数据库的速度并提高访问效率,特别赋予数据表中的某一个字段的性质,使得数据表中的记录
12、按照该字段的某种方式排序(升序或降序)。 6) 键(Key) 键就是表中的字段(或多个字段),它(们)为快速检索而被索引。键可以是唯一的,也可以是非唯一的,取决于它(们)是否允许重复。唯一键可以指定为主键,用来唯一标识表的每行。7) 关系(Relation) 数据库可以由多个表组成,表与表之间可以用不同的方式相互关联。 1.2 VB数据库的编程方法 VB数据库的组成 VB数据库的组成有三部分:用户界面、数据库引擎、数据库。其中数据库引擎存在于用户界面和数据库之间,起中介作用,用户通过它与所要访问的特定数据库联系。不管这个数据库是本地的VB数据库,还是其所支持的其他任何数据库格式,所使用的数据访
13、问对象和编程技术都是相同的。1用户界面 用户界面是进行人机交互的界面,用于显示数据并允许用户查看或更新数据。驱动用户界面的是VB编写的应用程序代码,这些代码包括用来请求数据库服务的数据访问对象和方法,如添加、删除记录和执行查询等。 由应用程序代码所发出的服务请求是向数据库引擎提出的,而不是直接对物理数据库文件进行操作。对物理数据库的直接操作由数据库引擎发出,并向应用程序返回所需要的结果 。2数据库引擎 Jet数据库引擎包含在一组动态连接库(DLL)中。运行时动态连接库文件被连接到VB程序,他把应用程序的请求翻译成对.mdb文件或其他数据库的物理操作。Jet数据库引擎被包含在一组动态链接库(DL
14、L)文件中,运行时,这些文件被链结到VB程序。它把应用程序的请求翻译成对.mdb文件或其他数据仓库的物理操作。它真正读取、写入和修改数据库,并处理所有内部事务,如索引、锁定、安全性和引用完整性。它还包含一个查询处理器,接收并执行结构化查询语言(SQL)查询,来实现所需要的数据库操作。另外还包含一个结果处理器,用来管理查询所返回的结果。 3数据库 对于本地的VB或Microsoft Access 数据库来说,就是.mdb文件,对于其他的数据库,则可能包含其他扩展名的文件,例如:在SQL SERVER 7.0 中包含称为*.mdf和*.ldf的数据库。 VB访问数据库的方法 VB提供了多种访问数据
15、库的方法,VB可以访问的数据库类型有许多种。另外,还可以通过ODBC访问SQL服务器,以客户/服务器的方式进行数据存取。VB访问数据库的方法有如下几种: 1)使用可视化数据管理器 2)使用DATA控件 VB工具箱中提供了一个DATA控件,他是VB开发数据库应用程序是最常用的控件之一。利用他不需要任何编程就可以实现对数据库的访问。而所要做的工作仅仅是在窗体上添加一个DATA 控件和一些用来显示数据的约束控件,并且设置它们的属性。这是访问已有数据库的最简便的方法,在VB实现的很巧妙。3)使用DAO访问数据库 DAO(Data Access Objects,DAO数据访问对象)是一种基于JET数据库
16、引擎的面向对象的接口。使用DAO进行数据库编程非常简单。4)使用RDO远程数据对象 RDO(Remote Data Objects,远程数据对象)为使用代码来创建和操作一个远程ODBC数据库系统的各个部件提供了一个框架。5)使用ADO数据控件 ADO DATA 控件使用Microsoft ActiveX对象(ADO)来快速建立数据绑定的控件和数据提供者之间的链接,数据提供者可以是任何符合OLEDB 规范的数据源。6)使用ActiveX数据对象 ActiveX数据对象(ADO)是为Microsoft最新的强大的数据访问接口OLEDB而设计的,它是VB支持的三种数据访问接口之一,其它两个分别为DA
17、O 和RDO。OLEDB可以为任何数据源提供高性能的访问,这些数据源包括关系和非关系数据库、电子邮件和文件系统、文本和图形、自定义业务对象等。 1.3 关系型数据库标准语言SQL SQL语言概述SQL(Structured Query Language)语言是 1974年由 Boyce和Chamberlin提出的。1986年 10月美国国家标准局(American National standard Institute,简称ANSI)的数据库委员会X3H2批准了SQL作为关系数据库语言的美国标准。同年公布了 SQL标准文本(简称SQL86)。1987年国际标准化组织(International
18、 Organization for Standardization,简称 ISO)也通过了这一标准。 此后ANSI不断修改和完善SQL标准,并于 1989年公布T SQL89标准。1992年又公布了SQL92标准(也称SQL2)。目前ANSI的99版本SQL3,也已经发布了。 我国也制定了SQL的国家标准GB12911,它等效于SQL-89版本。目前关系数据库管理系统都采用 SQL语言作为数据库语言,SQL语言成为关系数据库的核心语言。有方言,支持程度不同。 SQL语言功能 1) 数据定义(DDL):定义、删除、修改关系模式(基本表);定义、删除视图(View);定义、删除索引(Index)2
19、)数据操纵(DML):数据查询;数据增、删改; 3)数据控制(DCL): 用户访问权限的授予、收回;n 数据查询的功能可以理解为使用“动词SELECT”对数据记录或记录集进行查询;n 数据定义的功能可以理解为使用“动词”对数据库、基本表、视图和索引进行定义;n 数据操纵的功能可以理解为使用“动词”对数据记录或记录集进行插入、删除和修改 操作;n 数据控制的功能可以理解为使用“动词”对用户或组进行授予和收回特定权限的控制操作;特定权限包括所有上述功能。 Select 查询数据查询是数据库应用的核心功能,是数据库的核心操作。SQL语言提供了SELECT语句进行数据库的查询,该语句具有灵活的使用方式
20、和丰富的功能。数据查询是对己建立的表中的数据进行检索的操作,SELECT语句不会更改数据库的中的数据。使用SELECT SQL命令可以选择查询表中的任意列,它至少包括两个句子,其基本形式为: SELECT ALL|DISTINCT 目标列表达式 ,目标列表达式 FROM 表名或视图名 , 表名或视图名 WHERE 条件表达式GROUP BY 列名1 HAVING 条件表达式 ORDER BY 列名2 ASC | DESC ;整个SELECT语句的含义是,根据WHERE子句的条件表达式,从FROM子句指定的基本表或视图中找出满足条件的元组,再按SELECT子句中的目标列表达式,选出元组中的属性值
21、形成结果表。 如果有GROUP子句,则将结果按列名1的值进行分组,该属性列值相等的元组为一组。通常会在每组中使用集函数。如果GROUP子句带有HAVING短语,则只有满足指定条件的组才予以输出,如果有ORDER子句,则结果表还要按列名2的值的升序或降序排序。举例说明select 学生基本情况表.* from 学生基本情况表 order by 学生基本情况表.学号本例命令的意义为: 选取所有”学生基本情况表内的记录及字段,并以学号大小,由小到大作排序。学生基本情况表.*表示所有表中的字段1.4 数据库的建立数据库的新建包括数据表、库、字段及字段属性的建立。再此我们将介绍几中创建数据库的方法:1)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB 数据库 22
限制150内