第十五章Access数据库与ADO控件讲义Word文件下载.docx
- 文档编号:833007
- 上传时间:2023-04-29
- 格式:DOCX
- 页数:46
- 大小:542.47KB
第十五章Access数据库与ADO控件讲义Word文件下载.docx
《第十五章Access数据库与ADO控件讲义Word文件下载.docx》由会员分享,可在线阅读,更多相关《第十五章Access数据库与ADO控件讲义Word文件下载.docx(46页珍藏版)》请在冰点文库上搜索。
学生(学号,姓名,性别,成绩)
2、逻辑数据模型
逻辑数据模型则是面向应用软件开发人员和数据库管理人员,
与DBMS密切相关,主要用于数据库及其应用程序的开发实现。
常用的逻辑模型有层次模型、网状模型和关系模型。
关系型是目前使用最多的模型。
例如,学生表的结构为:
学号字符12
姓名字符8
性别字符1
成绩数值
学生表的记录为:
学号姓名性别成绩
20141001李平女89
20141002王林男78
20142001赵新男87
(3)物理数据模型
物理数据模型用来反映数据的物理储存结构,对应于数据库系统的物理层。
物理数据模型不但与DBMS有关,还与操作系统和计算机硬件等有关。
关系数据模型是当前使用最广泛的数据库系统模型,常见的关系数据库有Oracle、DB2、Sybase、SQLServer等大中型数据库管理系统,Access也是一个关系型数据库管理系统。
在关系模型中采用相互关联而又互相独立的多个二维表格来反映各种数据关系。
所有数据元素都存在于称作“关系”的二维表格中,这些表以行和列的形式来组织数据,从而简化了数据的存取和操作。
一个关系就是一个二维表,这种用二维表的形式表示实体和实体间联系的数据模型称为关系数据模型。
仓库:
表结构为
仓库号字符型6
城市字符型10
面积数值整型
仓库号城市面积
WH1北京370
WH2上海500
WH3广州300
WH4武汉400
职工:
职工号字符型10
工资数值型
职工号仓库号工资
E1WH22220
E3WH12210
E4WH22250
E6WH32230
E7WH12250
3、关系模型的基本术语:
(1)关系
一个关系对应一张二维表
(2)关系模式
关系模式对应关系的描述(表结构),一般书写为:
关系名(属性1,属性2,…属性n)
关系“职工”的关系模式为:
职工(职工号,仓库号,工资)
关系“仓库”的关系模式为:
仓库(仓库号,城市,面积)
(3)元组(记录)
表中的一行称为一条元组(记录)。
例如职工表中有5条记录
(4)属性(字段)
表中的列称为属性(字段),每个属性都有一个名字,可以理解为字段变量。
(5)主关键字(主键)
一个表中可以有多个关键字,但在实际应用中只能选择一个为主关键字,被选用的关键字称为主键。
(6)外部关键字
表中的某个属性集,在本表中不是主关键字,但是它是另一表的主键
(7)值域
属性的取值范围。
在关系模型中表中的每一行称为一个元组(一条记录)。
表中的列称为属性(字段),列的名字称为属性名,在列中填写的数据称为属性值。
在关系模型中,表的每一列的数据类型必须一致,一个列所有可能的取值就称为属性的值域。
属性名、属性值域、属性值是彼此密切联系但又存在明显差别的概念。
关系的特点为:
① 一个关系必须规范化,在一个关系中每个属性必须是不可分割的数据单元;
②在一个关系中不能出现相同的属性名(字段名);
③关系中不允许有完全相同的元组(记录);
④在一个关系中元组(记录)的次序无关紧要;
⑤在一个关系中列的次序无关紧要,通常重要的关键字在左边。
一个具体的关系模型由若干关系模式组成,在一个数据库中包含相互之间存在联系的多个表,这个数据库文件就代表一个实际的关系模型。
2015-06-08
4、关系种类
(1)基本表(表)
(2)查询表(查询)
15.1.4常用数据库系统及开发工具
目前常用有vb、vc、java等。
常用的数据库有:
Access、SQLServer、Oracle等
2010.3等级考试选择题
(8)在学生管理的关系数据库中,存取一个学生信息的数据单位是
A)文件B)数据库C)字段D)记录
(9)数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库的
A)需求分析阶段B)逻辑设计阶段
C)概念设计阶段D)物理设计阶段
2010年9月等级考试填空题
(5)数据库设计的四个阶段是:
需求分析、概念设计、逻辑设计和
15.2Access数据库的建立和维护
Access已经是世界上最流行的桌面数据库管理系统。
15.2.1数据库的组成
Access的主工作窗口与Office其他软件的界面类似,由菜单、工具和若干任务窗口组成。
数据库包含了表、查询、窗体、报表、页、宏和模块共七大对象,数据库中的数据来源是数据表,由数据表生成的查询和数据表一起构成了整个数据库中所有对象的基础数据来源。
一个数据库可分为三层:
物理层、逻辑层和视图层。
Access物理层(数据库存储格式)就是一个扩展名为.MDB的文件,由Access数据库管理系统管理,不需要应用程序员和用户关心。
逻辑层对应数据库中所有的表和表之间的关联(如:
学生表和班级表以及表之间的关联)。
视图层由查询、窗体、报表、页、宏和模块等对象来实现(结果)。
查询以表作为数据源,按照一定的条件或要求对表中的数据进行处理,得到一个外观形式与表一样的数据视图(也称虚拟表)。
要注意的是查询不是真正的表。
对于数据库表中保存的同一批数据(原始数据),用户可以通过查询按照不同的方式去查看、更改和分析。
查询对象本身仅仅保存查询命令,它描述的是从逻辑层到视图层的映射关系。
查询可作为窗体、报表的数据源。
窗体是开发人员提供给最终用户处理业务的界面,它的设计与实现与VB类似。
报表是供用户以打印格式输出数据的对象。
页用于查看来自Internet的数据。
宏是一个或多个操作的集合(指令的集合)。
模块与VB类似(标准模块),用于存放代码,以实现代码的重用。
15.2.2数据库的建立
在Access中建立一个数据库系统大概有如下的主要步骤:
(1)根据用户需求建立表及其关系。
(2)设计用户视图,建立查询。
(3)设计交互界面,建立窗体、报表
(4)编写事件过程、模块等。
(5)测试、生成应用系统。
一、表
表是关于特定主题(例如学生和班级)数据的集合,是关系数据库中用来存放数据的场所。
(一)表的设计与使用
关系数据库中的表由确定结构的表头和包含实际数据的表体组成。
表的“设计”就是用于创建、修改表结构的工作窗口,设计一张表就是设计表头(确定表结构)。
在Access中,我们可以通过表向导、表设计器或者直接输入数据来设计表,通常使用表设计器来设计表结构。
1、表设计器
表设计器是对表结构进行的。
在数据库窗口中的“对象”组中选择“表”,然后进入表设计器。
(1)字段名称
在一个表中不能有两个重名的字段,字段名可以使用汉字或字符开头后跟数字等,命名规则与Vb中变量的命名规则一样。
(2)字段的数据类型(文本、数字、日期、逻辑、货币、OLE等)
(3)字段说明
字段说明是可选项,用于对字段做进一步的说明,起备忘录的作用。
(4)字段的其它属性
字段除了基本属性外,还有其它一些属性,这些属性进一步说明该字段在表中的性质。
①“字段大小”栏可以设置字段的长度;
②“格式”属性用来决定数据的显示方式,如!
表示数值数据左对齐;
③“输入掩码”则帮助用户输入格式化的数据。
格式、掩码字符及含义如下表:
字符含义
00到9的数字(必选项)
9数字或空格(非必选项)不允许使用+或-号
#数字或空格(非必选项)允许使用+或-号
L字母(A-Z,必选项)
?
字母(A-Z,非必选项)
A字母或数字(必选项)
a字母或数字(非必选项)
<
使其后的所有字符转换为小写
>
使其后的所有字符转换为大写
④“标题”属性可以用来标识“数据表视图”中的字段,若为空,将默认字段名程为标识。
⑤“默认值”设置了在未输入字段值的情况下自动生成的字段值,如:
性别字段为:
”男”
⑥“有效性规则”可以限制用户输入和该字段值的表达式。
如:
=”男”or=”女”
面积字段为:
>
=200And<
=1000
⑦“有效性文本”的内容是在用户没有输入符合有效性规则的数据时系统显示的出错信息。
⑧“索引”可以加快字段数据的搜索与排序速度。
(5)表结构的编辑
对表中字段的增、删、改
2、数据表中记录的编辑
对表内的记录进行增、删、改。
3、主键与索引
①主键与实体的完整性
在关系数据库系统中,表代表现实世界中特定的实体类型,表中的每个元组(记录)代表一个具体的实体对象。
在表中为使表中的元组(记录)保持惟一引入主键的概念(也称为主关键字),主键可以是关系中的一个或一组字段。
在关系表中,没有一个记录的主键为空,也没有两个记录的主键值相同,这个性质称为关系数据库的实体完整性。
在一个表中,只能有一个主关键字。
②索引
索引可以提高对记录的查询速度,索引是逻辑上的排序。
它是表记录排序的一种方法,它与书的索引相类似。
索引中不包括表记录的内容,仅含有记录号,因此不占用过多的磁盘空间,每个索引代表一种处理记录的顺序。
在缺省情况下,Access为主键自动设置索引,这个索引称为主索引。
15.2.3表的关联
一、实体关联的类型
在现实世界中,不同的实体之间常常存在各种关系。
例如教师与学生、职工与学校、仓库与职工等。
因此,在一个数据库中,不仅要存储有关的实体数据(表),而且还要建立这些实体之间的关联(表的关联)。
从参与关联的两个实体集的数量关系来说,实体之间的关联可分为三种:
“一对一”、“一对多”和“多对多”。
在仓库表中的主键是“仓库号”,在职工表中的主键是“职工号”,职工表中的“仓库号”称为外部关键字,它们是“一对多”的关系。
学生关系模型:
学生(学号,姓名,bjdm,性别,籍贯,成绩)主键:
学号
学号姓名bjdm性别籍贯成绩
201401011001李萍01女太原80
201401011002王林01男上海90
201401012001赵琳02女北京80
201401012002李明03男天津70
201401013001闫遇03女太原60
201401014001李盼04男北京90
201401014002任辉04女上海70
201401014003许慧04女河北80
班级(bjdm,名称,班长,班主任,电话)主键:
bjdm
bjdm名称班长班主任电话
01金融工程1班李李主任1234567890
02金融工程2班王王主任133
03统计学1班赵赵主任1868
04统计应用刘刘主任139
05会计学1班张张主任133
仓库关系模型:
仓库(仓库号,城市,面积)主键:
仓库号
职工(仓库号,职工号,工资)主键:
职工号
仓库表记录:
职工表记录:
仓库号职工号工资
WH2E12000
WH1E23000
WH2E34000
WH3E42500
WH1E54000
以上两表也是一对多,在工作中一对多的关系使用最多。
注意:
主键可以是多个字段的组合
二、表间关联的建立
表关联是指在两个或多个表中相同域的字段之间建立一对一和一对多的联系。
创建表间关联的步骤:
1、进入数据库窗体
2、在“工具”菜单栏下选择“关系”
3、单击右键选择“显示表”并添加表
4、选择某个表中要建立的关联字段,将其拖到其他表的相关字段
5、拖动相关字段后会显示一个对话框
6、单击对话框中的“新建”按钮,完成关联创建。
7、如有多个表,可重复上述步骤。
建立关联的目的主要是实施参照完整性
三、外键与参照完整性
在数据库中表的关联只能是一对一或一对多,关联字段在其中的一个表(称为主表)中通常是主关键字,此时它在另一个表(称为关联表)中就被称为外部关键字。
当关联字段是外键时,可以在对话框中选择“实施参照完整性”,Access将对相关联的两个表自动实施如下规则:
①相关表的外键只能取主表中主键存在的值或“空”值。
②如果在相关表中存在匹配的记录,则主表中相应的记录不能被删除。
③如果在相关表中存在匹配的记录,则主表中相应的主键值不能修改。
实施参照完整性,可以确保关联表中记录之间关系的有效性,防止误操作带来的意外损失。
2010.3等级考试题(填空)
(5)有一个学生选课的关系,其学生的关系模式为:
学生(学号,姓名,班级,年龄),课程的关系模式为:
课程(课号,课程名,学时),其中两个关系模式的键分别是学号和课号,则关系模式选课可定义为:
选课(学号,【】,成绩)。
2011.3等级考试题(填空)
(4)实体完整性的约束要求关系数据库中元组的【】属性值不能为空。
(5)在关系A(S,SN,D)和关系B(D,CN,NM)中,A的主关键字是S,B的主关键字是D,则称【】是关系A的外码。
2010年9月等级考试题
(7)层次型、网状型和关系型数据库划分原则是
A)记录长度B)文件大小
C)联系的复杂程度D)数据之间的联系方式
(8)一个工作人员可以使用多台计算机,而一台计算机可以被多人使用,则实体工作人员与实体计算机之间的联系是
A)一对一B)一对多
C)多对多D)多对一
表小结
表是数据库中的基本组件,是关于特定主题数据的集合。
关系表由确定结构的表头和包含实体数据的表体组成,表结构设计的主要工作是确定组成表的字段如:
字段的名称、类型和其它属性,通常在表的设计视图中进行(利用表设计器)。
数据表视图是对表的内容(记录)进行各种操作的窗口。
在数据表视图中,可以对记录进行编辑和删除表中的记录,也可以对表中的记录进行排序等操作。
主键是关系表中的一个或一组字段,是表中所存储的每一条记录的惟一标识。
在关系表中,没有一个记录的主键为空,也没有两个记录有相同的主键值,这个性质称为关系数据库的实体完整性。
索引有助于提高对表中记录进行快速的查找和排序,在缺省情况下Access将为主键自动设置索引,这个索引称为主索引。
在一个数据库中,不仅要存储有关的实体数据(表),而且要建立这些实体之间的关联(表的关联),从参与关联的两个实体集的数量关系来说,实体之间的关联可分为三种:
一对一、一对多和多对多。
表之间只能有一对一或一对多的关联,当遇到多对多时要借助于另外一个关系将它们变为两个一对多,关联字段在其中的一个表(主表)中通常是主关键字,在另外一个表(相关表)中称为外部关键字,简称外键。
通过实施参照完整性可以确保关联表中记录之间关系的有效性,防止误操作带来的意外损失。
15.3 查询
查询属于视图层,它为用户提供了从不同角度查看逻辑层关系表记录的方式。
查询以表(或查询)作为数据源,按照一定的条件对数据源中的数据进行检索等操作,得到一个外观形式同表一样的结果集。
虽然查询结果也是一个关系,但它不是基本表。
查询对象本身仅仅保存运算命令,查询结果集只是暂存在内存中,并没有永久保存。
建立查询的方法有两种,一是使用查询设计视图;
另一种是使用查询向导。
利用向导可以快速创建查询,但是对于复杂的查询,向导往往不能满足要求,需要在设计视图中创建查询或对向导创建的查询进行修改。
在这里,我们只介绍使用查询设计视图设计查询的方法,查询向导的使用大家可以通过练习来掌握。
查询语句基本格式:
SELECT目标列表达式FROM源表或视图列表WHERE查询条件
15.4SQL语言
SQL是结构化查询语言StructuredQueryLanguage的缩写。
Select语句可以说是SQL语言的重要组成部分,但不是全部,SQL还包括数据定义、数据操纵和数据控制功能等部分。
SQL已成为关系数据库的标准数据语言,所以现在的关系数据库管理系统都支持SQL。
SQL的特点:
(1)一体化。
集数据定义、数据查询、数据操纵、数据控制于一体。
(2)高度非过程化。
只需告诉计算机做什么(what),无需告诉计算机怎么做(how)。
(3)功能强大,简捷易用。
(4)提供两种使用方式:
命令方式和嵌入方式。
常用的SQL数据类型
SQL数据类型
VB数据类型
描述
Char
String
定长字符串
Date
日期
Datetime
日期时间
Decimal
Currency
Int
Long
Float
Double
Real
Single
Money
Number
Smallint
Integer
Varchar
注意:
在access数据库中VB数据类型大部分都可以使用
这些命令都是针对表进行操作的
15.4.1表结构定义(数据定义)
SQL语言的数据定义功能包括表结构的增、删、改。
用createtable表名(…)创建一个表的结构;
用droptable表名删除一个表(结构及数据);
1、createtable语句基本格式
createtable表名(字段名1类型(宽度[PrimaryKey])[NULL|NOTNULL],字段名2类型(宽度[PrimaryKey])[NULL|NOTNULL]…)
例1:
建立仓库表
createtable仓库(仓库号CHAR(10)PRIMARYKEYNOTNULL,城市CHAR(10),面积INTEGER)
(1)当主关键字或外部关键字是单个属性时
更为简捷的方法是直接在该字段的定义后加上primarykey或references表名。
createtable职工(仓库号string(10)references仓库,
职工号CHAR(10)PRIMARYKEYNOTNULL,工资single)
建立班级表时加入主键:
例2
createtable班级(班级代码integernotnullprimaryKEY,名称char(12),班长char(8),电话CHAR(12))
建立学生表时加入主键:
例3
createtable学生(学号char(12)notnullprimarykey,姓名char(8),性别char
(2),籍贯char(8),班级代码integer,成绩integer)
15.4.2删除数据库中的表
droptable表名
功能:
直接从数据库中删除表名所对应的表。
例4:
删除学生表
droptable学生
15.4.4数据操纵
1、插入记录
格式:
insertinto表名[(字段名1,字段名2,…)]values(表达式1,表达式2,…)
在指定表中增加一条新记录。
例8:
在仓库表中增加一条记录。
insertinto仓库values("
WH5"
"
太原"
380)
由于仓库表中只有3个字段,所以可以省略字段名
例9:
在学生表中增加记录
insertinto学生(学号,姓名,性别)values("
201401011110"
李英"
女"
)
注意当前记录其它未插入数据的字段处为空。
2、更新记录
格式:
update表名
set字段名1=表达式1[,字段名2=表达式2…]
where条件
更新满足条件记录的字段值,在SET后面可以理解为多个赋值语句,语句之间用逗号分开,等号右面是一个表达式,VB中的大部分函数可用。
例10:
给WH1仓库中的全体职工工资上调10%
update职工set工资=工资*1.1where仓库号=“WH1”
例11:
求所有学生的平均成绩和总成绩。
update学生set成绩=成绩*1.1where成绩<
60
例12:
在仓库表中将所有城市名前加上“中国”两字。
update仓库set城市=”中国”+tr
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第十五 Access 数据库 ADO 控件 讲义