VB程序设计第2版第13章.ppt
《VB程序设计第2版第13章.ppt》由会员分享,可在线阅读,更多相关《VB程序设计第2版第13章.ppt(79页珍藏版)》请在冰豆网上搜索。
第第十十三三章章数数据据库库第第1313章章数数据据库库本章要点本章要点:
数据库的基本概念数据库的基本概念可视化数据管理器可视化数据管理器使用使用ADOADO数据控件访问数据库数据控件访问数据库1第第十十三三章章数数据据库库引言引言随着科学技术和社会经济的飞速发展,人们掌随着科学技术和社会经济的飞速发展,人们掌握的信息量急剧增加,要充分地开发和利用这握的信息量急剧增加,要充分地开发和利用这些信息资源,就必须有一种新技术能对大量的些信息资源,就必须有一种新技术能对大量的信息进行识别、存储、处理与传播。
信息进行识别、存储、处理与传播。
随着计算机软硬件技术的发展,随着计算机软硬件技术的发展,2020世纪世纪6060年代年代末,数据库技术应运而生,并从末,数据库技术应运而生,并从7070年代起得到年代起得到了迅速的发展和广泛的应用。
了迅速的发展和广泛的应用。
数据库技术主要研究如何科学地组织和存储数数据库技术主要研究如何科学地组织和存储数据,如何高效地获取和处理数据。
据,如何高效地获取和处理数据。
数据库技术作为数据管理的最新技术,目前已数据库技术作为数据管理的最新技术,目前已广泛应用于各个领域。
广泛应用于各个领域。
2第第十十三三章章数数据据库库13.1数据库的基本概念数据库的基本概念数据库(数据库(DataBaseDataBase,DBDB):
):
-以一定方式组织并以一定方式组织并存储在一起的相互有关的数据的集合。
存储在一起的相互有关的数据的集合。
数据库管理系统(数据库管理系统(DBMSDBMS)用户与数据库之间的用户与数据库之间的接口,可以实现对数据的组织和管理。
接口,可以实现对数据的组织和管理。
数据的组织数据的组织:
按组织方式的不同,分为三种按组织方式的不同,分为三种模型,相应地有模型,相应地有关系数据库关系数据库;层次数据库;层次数据库;网状数据库。
网状数据库。
关系数据库是目前使用最多的关系数据库是目前使用最多的数据库。
数据库。
数据的管理数据的管理:
提供对数据库使用和加工的操提供对数据库使用和加工的操作,如对数据库的建立、修改、检索、计算、作,如对数据库的建立、修改、检索、计算、统计、删除等。
统计、删除等。
VBVB可以处理多种数据库可以处理多种数据库:
如如AccessAccess、FoxProFoxPro、DataBaseDataBase、ExcelExcel、ParadoxParadox等格式的数据库。
等格式的数据库。
3第第十十三三章章数数据据库库数据库管理系统运行在一定的硬数据库管理系统运行在一定的硬件和操作系统平台上,人们可以使件和操作系统平台上,人们可以使用一定的开发工具,利用用一定的开发工具,利用DBMSDBMS提供提供的功能,创建满足实际需求的的功能,创建满足实际需求的数据数据库应用系统库应用系统。
关系数据库管理系统关系数据库管理系统(RDBMSRDBMS)是目前使用最多的一类数据库管理是目前使用最多的一类数据库管理系统。
系统。
4第第十十三三章章数数据据库库1.表表将相关的数据按将相关的数据按行行和和列列的形式组织成二维表格的形式组织成二维表格即为表,表通常用于描述某一个实体。
即为表,表通常用于描述某一个实体。
表名称表名称:
每个表有一个名称。
每个表有一个名称。
一个数据库可以有一个或多个表,各表之间存一个数据库可以有一个或多个表,各表之间存在着某种关系。
在着某种关系。
数据库名称数据库名称:
如:
如ACCESS数据库文件扩展名为数据库文件扩展名为.mdb13.1.1关系数据库的结构关系数据库的结构5第第十十三三章章数数据据库库例如例如:
“学生学生.mdb”数据库数据库1)“学生基本信息学生基本信息”表表学号学号姓名姓名性别性别班级班级出生日期出生日期专业编号专业编号980010101980010101张涛张涛男男建建98-0198-0180-03-2480-03-24001001980010102980010102李明李明男男建建98-0198-0180-180-11-211-21001001990099005010350103王新王新女女网网99-0199-0180-12-0980-12-0900500522)“专业专业”表表专业编号专业编号专业名称专业名称系编号系编号001001建筑结构建筑结构001001002002道桥工程道桥工程001001006006软件工程软件工程00300333)“系系”表表系编号系编号系名称系名称001001土木工程土木工程002002城市建设城市建设003003计算机计算机6第第十十三三章章数数据据库库2.表的结构表的结构记录记录:
表中的每一行称为一个记录。
同一个表不表中的每一行称为一个记录。
同一个表不应有相同的记录。
应有相同的记录。
字段字段:
表中的每一列称为一个字段。
表中的每一列称为一个字段。
字段名字段名:
每个字段一个名称。
每个字段一个名称。
字段类型字段类型:
每个字段一种类型。
每个字段一种类型。
数据项数据项:
记录中的某字段值称:
记录中的某字段值称表的结构按字段定义。
表的结构按字段定义。
显然,在一个表中,记录的顺序和字段顺序不显然,在一个表中,记录的顺序和字段顺序不影响表中的数据信息。
影响表中的数据信息。
7第第十十三三章章数数据据库库表名表名字段名字段名字段类型字段类型字段长度字段长度学生基学生基本信息本信息学号学号TextText99姓名姓名TextText1010性别性别TextText22班级班级TextText77出生日期出生日期DateDate88专业编号专业编号TextText33专业专业专业编号专业编号TextText33专业名称专业名称TextText2020系编号系编号TextText33系系系编号系编号TextText33系名称系名称TextText2020例如,前面的各表可以定义如下:
例如,前面的各表可以定义如下:
8第第十十三三章章数数据据库库3.表中的关键字表中的关键字候选关键字候选关键字:
如果表中的某个如果表中的某个字段或多个字段组字段或多个字段组合合能唯一地确定一个记录,称该字段或多个字段能唯一地确定一个记录,称该字段或多个字段组合为侯选关键字。
侯选关键字可以有多个。
组合为侯选关键字。
侯选关键字可以有多个。
如如“学生基本信息学生基本信息”表中的表中的“学号学号”可以作为侯可以作为侯选关键字,因为对于每个学生来说,学号是唯一选关键字,因为对于每个学生来说,学号是唯一的。
的。
一个表可以有多个侯选关键字,但只能有一个关一个表可以有多个侯选关键字,但只能有一个关键字作键字作主关键字主关键字。
关键字中的每一个值必须是唯一的,且不能为空关键字中的每一个值必须是唯一的,且不能为空值(值(Null)。
)。
9第第十十三三章章数数据据库库4.表间的关联表间的关联按照某一个公共字段建立的一个表中记录同另一按照某一个公共字段建立的一个表中记录同另一个表中记录之间的关系。
如个表中记录之间的关系。
如“学生基本信息学生基本信息”表表与与“专业专业”表之间通过表之间通过“专业编号专业编号”字段建立关字段建立关系。
系。
这种关系分为这种关系分为一对一、一对多(或多对一)、多一对一、一对多(或多对一)、多对多关系对多关系。
常用的是一对多(或多对一)关系,。
常用的是一对多(或多对一)关系,例如,对于例如,对于“专业专业”表中的每一个专业编号,在表中的每一个专业编号,在“学生基本信息学生基本信息”表中都有多条记录具有相同的表中都有多条记录具有相同的专业编号,因此,专业编号,因此,“专业专业”表中的专业编号与表中的专业编号与“学生基本信息学生基本信息”表的专业编号之间是一对多的关表的专业编号之间是一对多的关系。
系。
10第第十十三三章章数数据据库库5.外部键外部键设某个字段或字段的组合设某个字段或字段的组合F不是表不是表A的关键字,的关键字,如果如果F与另一个表与另一个表B的主关键字相对应,则称的主关键字相对应,则称F为为表表A的的外部键外部键。
外部键与主关键字通常是多对一的关系。
例如,外部键与主关键字通常是多对一的关系。
例如,“学生基本信息学生基本信息”表中的表中的“专业编号专业编号”可以定义可以定义为外部键,它与为外部键,它与“专业专业”表中的表中的“专业编号专业编号”(主关键字)相关联。
(主关键字)相关联。
外部键的值应当是主关键字值的子集,或者为空外部键的值应当是主关键字值的子集,或者为空(Null)值。
例如,)值。
例如,“学生基本信息学生基本信息”表中的专表中的专业编号只能是专业表中已经存在的专业编号,或业编号只能是专业表中已经存在的专业编号,或者是空值。
者是空值。
11第第十十三三章章数数据据库库6.索引索引索引是为了加速查找引入的。
索引和一本书的索引是为了加速查找引入的。
索引和一本书的目录类似,在书本的目录上有章节名称和页号,目录类似,在书本的目录上有章节名称和页号,在索引文件上相应地也有索引关键字和指针。
在索引文件上相应地也有索引关键字和指针。
索引关键字按特定的顺序排序,指针指向表中索引关键字按特定的顺序排序,指针指向表中的记录。
的记录。
查找数据时,数据库管理系统先从索引文件上查找数据时,数据库管理系统先从索引文件上根据索引关键字找到信息的位置(指针),再根据索引关键字找到信息的位置(指针),再根据指针从表中读取数据。
根据指针从表中读取数据。
索引关键字(或索引字段)既可以是一个字段,索引关键字(或索引字段)既可以是一个字段,也可以是多个字段的组合。
也可以是多个字段的组合。
在一个表中可以建立多个索引,但只能有一个在一个表中可以建立多个索引,但只能有一个主索引,主索引的索引关键字的值在整个表中主索引,主索引的索引关键字的值在整个表中不允许出现重复,且不能为空值。
不允许出现重复,且不能为空值。
12第第十十三三章章数数据据库库例如,要按学生的学号快速检索学生基本信息,可例如,要按学生的学号快速检索学生基本信息,可以在以在“学生基本信息学生基本信息”表中以表中以“学号学号”为索引关键字建为索引关键字建立一个索引,取名为立一个索引,取名为“xh”。
通常,只有当被索引的字段中的数据经常被查询时,通常,只有当被索引的字段中的数据经常被查询时,才需要对表创建索引。
索引将占用磁盘空间,并且才需要对表创建索引。
索引将占用磁盘空间,并且降低添加、删除和修改记录的速度。
在多数情况下,降低添加、删除和修改记录的速度。
在多数情况下,索引所带来的检索数据的速度优势,将大大超过它索引所带来的检索数据的速度优势,将大大超过它的不足之处,然而,如果应用程序非常频繁地更新的不足之处,然而,如果应用程序非常频繁地更新数据,或磁盘空间有限,那么最好限制索引的数量。
数据,或磁盘空间有限,那么最好限制索引的数量。
13第第十十三三章章数数据据库库在在VB中,要对数据库进行访问,需要通过数据中,要对数据库进行访问,需要通过数据访问对象进行,数据访问对象包括访问对象进行,数据访问对象包括:
1.DAO:
DataAccessObject-数据访问对象数据访问对象2.RDO:
RemoteDataObject-远程数据对象远程数据对象3.ADO:
ActiveXDataObject-ActiveX数据对象数据对象ADO是是DAO/RDO的后继产物,它扩展了的后继产物,它扩展了DAO和和RDO所使用的对象模型,包含较少的对象,更所使用的对象模型,包含较少的对象,更多的属性、事件和方法。
多的属性、事件和方法。
通过通过ADO可以访问各种各样的数据源。
可以访问各种各样的数据源。
13.1.2数据访问对象模型数据访问对象模型14第第十十三三章章数数据据库库利用结构化查询语言利用结构化查询语言(StructuredQueryLanguage,SQL)可以实现对数据库的检索、排可以实现对数据库的检索、排序、统