- 1、本文档共53页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第10章 数据库技术 10.1 数据库的基本概念 数据库是指按一定组织方式存储在一起的、相互有关的若干数据的集合。对数据库进行管理的系统软件称为数据库管理系统,数据库管理系统提供数据在数据库内存放和管理的能力,使编程人员不必像使用文件那样需要考虑数据的具体操作或数据连接关系的维护。 根据数据模型的不同,数据库管理系统可分为层次型、网状型和关系型三种,其中应用最普遍的是关系型数据库。 10.1.1 关系数据库 关系数据库是根据表、记录和字段之间的关系进行组织和访问的,以行和列组织的二维表的形式存储数据,并且通过关系将这些表联系到一起。关系数据库通过建立简单表之间的关系来定义结构,而不是根据数据的物理存储方式建立数据间的关系。 10.1.1 关系数据库 1.数据表(Table简称表) 表是一种按行、列排列的相关信息的逻辑组,与二维表格相对应,关系数据库包含一个或多个数据表。如上面的学生“基本情况”表,表中记录每个学生基本情况的信息,行列交叉的位置,则表示其中的一个数据。 2.记录(Record) 记录指表中的—行数据,由若干相同类型数据项组成。上表中的每一行代表一条记录,描述了一个学生的基本情况。一般来说,数据库表中不允许出现内容完全相同的两条记录。 3、字段(Field) 字段也称域,数据库表中的每一列称做一个字段。如上表中的“学号”等,表由它包含的各种字段定义,每个字段都有一个名称,各个字段也就决定了表的结构。创建表时,为每个字段分配一个数据类型、最大长度和其他属性。 10.1.1 关系数据库 4、关键字 关键字是表中的某个字段或多个字段的组合,表被关键字索引后,能够在表中实现快速检索。关键字可以是惟一的,也可以是不惟一的,取决于是否允许重复。惟—的关键字称之为主关键字,用来惟一标识表的一条记录。例如在前表中,“学号”可以作为主关键字,而“姓名”不能。 5、索引 为了提高访问数据库的速度,可以对数据库使用索引。索引是一种特殊的表,索引包含原数据库中经定义的关键字段的值和指向记录物理位置的指针,关键字段的值和指针根据所指定的排序顺序排列,从而可以快速地查找所需要的数据。索引类似书的目录,通过书的目录及其指向的页码,能够快速找到需要阅读的内容。 10.1.1 关系数据库 6、关系 在实际问题中数据库常由多个表组成,每个表中集中了相关的—批数据。利用表之间的关系把各个表连接起来,可以将来自不同表的数据组织在一起,使数据的处理和表达更具灵活性。表与表之间的关系是通过各个表中的关键字段建立起来的,建立表关系所用的关键字段应具有相同的数据类型。 关系有三种: 一对一:指对第一个表的每条记录,在第二个表中只有一条记录与之相符,反之亦然。 一对多:指第一个表中某条记录与第二个表中多条记录数据相符,但第二个表中的每条记录只与第一个表的一条记录相符。 多对多:指第一个表的一条记录的数据内容可与第二个表的多条记录的数据相符,反之亦然。 10.1.2 记录集 记录集是VB使用Microsoft Jet V3.5数据库引擎提供的Recordset对象来检索和显示数据库记录,一个Recordset代表表里的记录、或运行一次查询所得记录的结果。 VB中可以将一个或多个表中的全部或部分数据构成“记录集”(Recordset)对象。记录集也由行和列构成,它与表很类似,例如,由学生“基本情况”表和学生“成绩”表的某些数据可构成记录集,如图所示。 10.1.2 记录集 在VB中数据库内的表不允许直接访问,而只能通过记录集对象进行记录的操作和浏览。记录集有三种类型: 表(Table)类型 表类型的Recordset对象是当前数据库真实的数据表,能添加、更新、删除记录。表类型比其他记录集类型处理速度都快,但需要大量的内存开销。 10.1.2 记录集 动态集(Dynaset)类型 动态集类型的Recordset对象是可以修改的显示数据。它实际上是对一个或几个表中的记录的一系列引用,如前面的记录集是从学生“基本情况”表中选取了“学号”、“姓名”、“专业”,从学生“成绩”表中选取了“课程”和“成绩”,通过关键字“学号”建立表间的关联。 可用动态集从多个表中提取或更新数据,其中包括链接其它数据库中的表。动态集和产生动态集的基本表可以互相更新。如果动态集中的记录发生改变,同样的变化也将在基本表中反映出来。在打开动态集的时候,如果其他用户修改了基本表,那么动态集中也将反映出被修改过的记录。动态集类型是最灵活的Recordset类型,也是功能最强的。不过,它的搜索的速度与其它操作的速度不及表类型。 10.1.2 记录集 快照(SnapShot)类型 快照类型的Reco
文档评论(0)