Access数据库程序设计 总复习
考试参考资料:教材:1~9章,实验指导书(习题集、 试卷样题,补充的复习内容) 考试时间:2011年1月4日上午 考试范围:教材:1~9章。 10-12章不考核。 第五章 5.4.2规范化基础(不考核) 第七章 创建索引的语句 (不考核) 第八章 菜单与工具栏 (不考核) 考试参考资料:教材:1~9章,实验指导书(习题集、 试卷样题,补充的复习内容) 注意:考试包括试卷、答题卷、机读卡。 只上交答题卷和机读卡。 学号、姓名不能漏写。 自带2B铅笔,用于填涂答题卡。
期末题型: 一、判断题(0.5分*20=10分) 二、选择题(1分*40=40分) (说明:包含VBA程序阅读题) 三、填空题(1分*10=10分) 四、应用题(40分) 1. 关系运算(2分*5=10分) 2. SQL语句(2分*5=10分) (说明:有个别多表连接查询) 3. VBA (10分) ①VBA表达式写结果(1分*5=5分) ②VBA程序编写(5分) 4. 实验操作题 (10分) 两个实验操作题。 说明:第一、二题在机读卡上完成。 第三、四题在答题卷上完成。 不考问答题,题型分值可能略有调整。
应用题 1. 关系运算(举例) (1)A,B(R) (2) C =“d”(S) (3)R S (4)A,B(C=“f”(R)) (1) (2) 答案: A B a b c B C D a d b 设有关系R、S如下表所示,计算: 关系R 关系S A B C a b c f d B C D b c d e a f g (3) (4) A B C D a c b d e A B b c (1)A,B(R) (2) C =“d”(S) (3)R S (5) (4)A,B(C=“f”(R)) (5)A (R)×B=“a”(S) A B C D a b c d 习题集:第二章习题
2. SQL语句(举例) 设有一个职工表,表中有若干条记录,表结构定义如下: 记录举例: 2006 李平 技术部 50 1980/05/06 编号 姓名 部门 年龄 进厂日期 职称 性别 工资 文本 整型 日期 / 时间 数值型 记录举例: 2006 李平 技术部 50 1980/05/06 技术员 男 5896.6 编写 SQL 命令完成下面的查询 : a.统计女职工人数 SELECT COUNT(*) FROM 职工 WHERE 性别=“女” b.删除年龄在70岁以上的职工的全部信息 DELETE FROM 职工 WHERE 年龄>70 c.在职工表中,将进厂日期在1970年和1975年之间的职工工资增加20% UPDATE 职工 SET 工资=工资*1.2 WHERE YEAR(进厂日期)>=1970 and YEAR(进厂日期)<=1975 d.显示姓“王”的全部男职工的信息 SELECT * FROM 职工 WHERE 性别=“男” and LEFT(姓名,1)=“王” e. 增加一个“简历”字段。 ALTER TABLE 职工 ADD 简历 memo
2. SQL语句(补充---上机完成以下内容) 1 建立一个Student表,它由Sno(学号)、Sname(姓名)、Ssex(性别)、Sage(年龄)、Sdept(所在系)五个属性组成。其中学号不能为空,值是唯一的,并且姓名取值也唯一。 2 建立一个SC (学生选课)表,它由学号Sno、课程号Cno,修课成绩Grade组成,其中(Sno, Cno)为主码。) 3. 查询所有姓刘的学生的学号与姓名及其出生年份。 4. 查询全体学生的姓名、学号、班级名称,学院名称。 5. 查询信息学院全体学生的学号、姓名、每门课程的成绩。 6. 查所有年龄在20岁以下的学生姓名及其年龄。 7. 查考试成绩有不及格的学生的学号和姓名。有多门课程不及格的学生,学号和姓名只显示一次。 8. 查信息学院和工程学院学生的姓名和性别。 9. 查询选修了“数据库应用”课程的学生的学号及其成绩,查询结果按分数的降序排列。 10. 查询选修了“数据库应用”课程的学生人数。 11. 查询每个学生及其选修的课程名其及成绩。 (注:上述3-11题均使用教材中的表,参考第七章例题) 教材:第七章例题; 习题集:第七章习题
3. VBA ①VBA表达式写结果 (举例) 计算下列函数值 答案 (1) Sqr(4+3*7)+Round(-4.6) (2) Int(-15.35)+ Abs(-12) -4 (3) Mid$("abcdABCD",5,2) & 12 AB12 (4) Len("高等教育出版社")+3 10 (5) Str(12)+"AB" 12AB (6) Val("45a")+5 50 (7) Lcase("abAs")+Right("高等教育",2) abas教育 (8) Len(Left("1234程序设计ABC",6)) 6 掌握以上函数。
②VBA编程 (举例) 例1 用InputBox分别输入x和y两个变量,比较它们的大小,使得x中的值大于y。用MsgBox输出x和y的值。 Dim x As Single Dim y As Single Dim t As Single x = Val(InputBox("x值")) y = Val(InputBox("y值")) If x < y Then t = x x = y y = t End If MsgBox "x=" & x & " y=" & y 教材:第9章9.26节例题; 习题集:第9章习题
例2 用InputBox输入某课程的百分制成绩mark,要求显示对应五级制的评定,请写出完成以上条件判断的程序表达式,用MsgBox输出结果。(注:只写条件判断式即可)评定条件如下: 优 成绩在90分以上(包括90) 良 成绩在80到90分之间(包括80) 中 成绩在70到80分之间(包括70) 及格 成绩在60到70分之间(包括60) 不及格 成绩在60分以下 Dim mark As Single mark = Val(InputBox("mark的值")) Select Case mark Case Is >= 90 MsgBox "优秀" Case 80 To 89 MsgBox "良好" Case 70 To 79 MsgBox "中" Case 60 To 69 MsgBox "及格" Case Is < 60 MsgBox "不及格" End Select
例6 统计1-5之间不是3的 倍数的个数,并累加其和。 例3 计算1-100的奇数的个数并累加其和。 例4 计算5!。 Dim i As Integer Dim s As Integer Dim n As Integer s = 0 For i = 1 To 100 Step 2 s = s + i n = n + 1 Next i MsgBox "个数=" & n & " 累加和=" & s Dim i As Integer Dim s As Single s = 1 For i = 1 To 5 s = s * i Next i MsgBox s 例5 计算1!+2!+3!+4!+5!。 例6 统计1-5之间不是3的 倍数的个数,并累加其和。 Dim i As Integer Dim s As Integer Dim a As Integer Dim j As Integer s = 0 For i = 1 To 5 a = 1 For j = 1 To i a = a * j Next s = s + a Next i MsgBox s Dim i, n As Integer, m As Single i = 1 Do While i <= 5 If Int(i / 3) * 3 <> i Then m = m + i n = n + 1 End If i = i + 1 Loop MsgBox "非3的倍数个数:" + Str(n) + " 其累加和:" + Str(m) 此题用FOR语句更简单
例7 在1到100的整数中,将能被3或7整除的数的和sum及个数count求出来。 Dim sum As Integer Dim count As Integer Dim i As Integer sum = 0 count = 0 For i= 1 To 100 If i Mod 3 = 0 Or i Mod 7 = 0 Then sum= sum+i count=count+1 End If Next I MsgBox "sum=" & sum MsgBox "count=" & count
例8 一篮鸡蛋,二个二个数多一个,三个三个数多二个,四个四个数多三个,五个五个数多四个,六个六个数多五个,七个七数正好,编程求鸡蛋个数。 Dim i As Integer For i = 0 To 500 Step 7 If i Mod 2 = 1 And i Mod 3 = 2 And i Mod 4 = 3 And i Mod 5 = 4 And i Mod 6 = 5 Then MsgBox "鸡蛋数为:" & i Exit For End If Next i 方法一 Dim i As Integer i = 0 Do while i<500 If i Mod 2 = 1 And i Mod 3 = 2 And i Mod 4 = 3 And i Mod 5 = 4 And i Mod 6 = 5 Then MsgBox "鸡蛋数为:" & i Exit Do End If i = i + 7 Loop 方法二
4. 实验操作题 例1.创建“系统登录”窗体,当输入了正确的用户名“scau”和正确的口令“123456”时,关闭“系统登录”窗体,显示“欢迎”消息框。如果输入的用户名或口令不正确,则显示“用户名或密码不正确!”消息框,将用户名和口令两个文本框清空,焦点移回“用户名”文本框。 操作步骤: (1) 选窗体对象,点击“新建”; (2) 选设计视图,打开新建窗体; (3) 在窗体中放2个文本框(Text1和Text2) 、2个标签和1个按钮; (4) 设置口令文本框的输入掩码属性为:密码; (5) 右击按钮,打开事件生成器下的代码编辑窗口; (6) 在按钮“单击”事件中编写程序。 Private Sub Command4_Click() Dim yhm As String Dim kl As String If Text1 = "scau" And Text2 = "123456" Then DoCmd.Close MsgBox "欢迎" Else MsgBox "用户名或密码不正确" Me!Text1 = "" Me!Text2 = "" Text1.SetFocus End If End Sub 上机验证
例2. 以“学生”和 “选课”表为数据源,创建嵌入式的主/子窗体。(窗体上机补充题) 操作步骤: (1) 选窗体对象,点击“新建”; 选窗体向导,选“学生”表和“选课”表为数据源,并选择所需字段; 选带有子窗体的窗体,指定表格布局为数据表,样式为“标准”,然后“确定”; 例3. 查询部分(查询上机补充题) (1) 显示每位学生的学号、姓名、学院名称、系名称、班级名称。命名为学生查询1。 操作步骤: (a) 选查询对象,点击“新建”,选“设计视图” ; (b) 选择数据源“学院” 、“系” 、“班级” 、“学生”表并关闭显示表窗口; (c) 在查询设计界面的表/查询设计窗格下的字段行分别选择学号、姓名、学院名称、系名称、班级字段; (d) 关闭查询设计界面窗口,保存查询设计,命名为学生查询1。 上机验证
(2) 显示每位1987年出生的女学生的学号、姓名、学院名称、系名称、班级名称。命名为学生查询2。 例3. 查询部分(上机补充题) (2) 显示每位1987年出生的女学生的学号、姓名、学院名称、系名称、班级名称。命名为学生查询2。 操作步骤: (a) 选查询对象,点击“新建”,选“设计视图”,打开查询设计界面; (b) 选择数据源“学院” 、“系” 、“班级” 、“学生”表并关闭显示表窗口; (c) 在查询设计界面的表/查询设计窗格下的字段行分别选择学号、姓名、学院名称、系名称、班级字段; (d) 在查询设计界面的表/查询设计窗格下的字段行选择性别字段,去掉该字段下方对应的显示行的“打勾”,然后在该字段下方对应的条件行输入“女”。再选择出生年月字段,去掉该字段下方对应的显示行的“打勾”,然后在该字段下方对应的条件行输入year([出生年月]); (e) 关闭查询设计界面窗口,保存查询设计,命名为学生查询2。 上机验证
例3. 查询部分(上机补充题) 例3. 查询部分(上机补充题) 上机验证 (3) 分别统计男生和女生的人数。 操作步骤: 例3. 查询部分(上机补充题) (3) 分别统计男生和女生的人数。 操作步骤: (a) 选查询对象,点击“新建”,选“设计视图”,打开查询设计界面; (b) 选择数据源 “学生”表并关闭显示表窗口; (c) 在查询设计界面的表/查询设计窗格下的字段行选择性别字段。点击菜单/视图/总计,并在总计栏选择“分组”,现加入一个学号字段,并在该字段对应的总计栏处选择“计数”,将学号字段的标题改为“人数: 学号” ; (d) 运行并保存查询设计。 例3. 查询部分(上机补充题) (4) 显示每门课程的课程名、学分、平均分。 操作步骤: (a) 选查询对象,点击“新建”,选“设计视图”,打开查询设计界面; (b) 选择数据源“课程”和“选课”表并关闭显示表窗口; (c) 在查询设计界面的表/查询设计窗格下的字段行分别选择课程名、学分、成绩字段。点击菜单/视图/总计,并在课程名对应的总计栏处选择“分组”,在成绩字段对应的总计栏选择处选择“平均值”,将成绩字段的标题改为“平均分: 成绩” ; (d) 运行并保存查询设计。 上机验证
(5) 建立一个查询,按照学生的学号和课程号查询学生的成绩。 例3. 查询部分(上机补充题) (5) 建立一个查询,按照学生的学号和课程号查询学生的成绩。 操作步骤: (a) 选查询对象,点击“新建”,选“设计视图”,打开查询设计界面; (b) 选择数据源 “学生”和“选课”表并关闭显示表窗口; (c) 在查询设计界面的表/查询设计窗格下的字段行分别选择学号、课程号、成绩字段。 (d) 运行并保存查询设计。 例3. 查询部分(上机补充题) (6) 使用生成表查询方法,将籍贯为广东省的学生的基本信息存储到一个新表“广东学生”中。 操作步骤: (a) 选查询对象,点击“新建”,选“设计视图”,打开查询设计界面; (b) 选择数据源 “学生” 表并关闭显示表窗口; (c) 在查询窗体中单击右键,从快捷键菜单中依次选择“查询类型”、“生成表查询”,此时系统提示输入生成表名,输入“广东学生”,并点击确认,系统返回查询设计视图; (d) 在查询设计界面的表/查询设计窗格下的字段行分别选择所有字段。并在籍贯字段下方对应的条件行输入:“广东” ; (e) 运行并保存查询设计。 上机验证
(7) 建立一个追加查询,将选课成绩在80-90分之间的学生添加到已建立的 “广东学生”表中。 例3. 查询部分(上机补充题) (7) 建立一个追加查询,将选课成绩在80-90分之间的学生添加到已建立的 “广东学生”表中。 操作步骤: (a) 选查询对象,点击“新建”,选“设计视图”,打开查询设计界面; (b) 选择数据源 “学生” 和“选课”表并关闭显示表窗口; (c) 在查询窗体中单击右键,从快捷键菜单中依次选择“查询类型”、“追加查询” ,此时系统提示输入追加到表名称,输入“广东学生”,并点击确认,系统返回查询设计视图; (d) 在查询设计界面的表/查询设计窗格下的字段行分别选择所有字段。并在课程字段下方对应的条件行输入:between 80 and 90 ; (e) 运行并保存查询设计。 上机验证
例4. 创建一个宏,使其能打开“学生”表,将所建宏命名为“打开表”。创建一个“查看学生情况”窗体,进行如下设置:在窗体页脚处放两个命令按钮,按钮的功能分别是运行宏和退出,所运行的宏名为“打开表”,按钮上显示文本分别为“打开表”和“退出”。(宏操作上机补充题) 操作步骤: (1) 选宏对象,点击“新建”,打开宏编辑器窗口; (2) 在操作栏选择宏命令“OpenForm”,窗体名称选择 “学生” 表,关闭宏编辑器窗口并命名宏为“打开表” ; (3) 选窗体对象,点击“新建”,选设计视图,打开新建窗体; (4) 在窗体页脚处放两个命令按钮,分别设置两个按钮的标题属性为: “打开表”和“退出”,在“打开表”按钮单击 属性中选择宏名“打开表” 。 (5) 右击“退出”按钮,打开事件生成器下的代码编辑窗口,在“退出”按钮单击事件中输入:DoCmd.Close (6) 运行并保存“查看学生情况”窗体设计。 上机验证
第一章 数据库系统概述 数据库(DB)、数据库管理系统(DBMS)(数据定义、数据操纵、数据控制、数据通信4种功能)、 数据库系统(DBS) 四种数据模型(结构、操作、约束): ① 层次模型(树形结构) ② 网状模型(网状结构) ③ 关系模型(二维表) ④ 面向对象模型 三级体系结构: ① 外模式 ② 逻辑模式 ③ 内模式(物理模式) 两级映射: ① 外模式/ 逻辑模式映像 ② 逻辑模式/ 内模式映像
第二章 关系数据库 关系代数的运算: 1. 根据关系写出运算结果 2. 写出关系运算表达式 三种完整性约束: ① 实体完整性—主键 关系模型中的一些术语: (1) 关系(一个关系对应一个表)、 (2) 元组(一行)、(3) 属性(一列) (4) 键(主键、候选键、外键)(5) 域(属性的取值范围)、 (6) 分量(元组中的一个属性值)、 (7) 关系模式(关系的结构)、 (8) 关系数据库(由若干个关系或者二维表彼此关联组成的数据库) 三种完整性约束: ① 实体完整性—主键 ② 参照完整性—外键 ③ 用户自定义的完整性—用户自定义的删除更新插入约束 关系代数的运算: 1. 根据关系写出运算结果 2. 写出关系运算表达式
包含了以下数据库对象:表、查询、窗体、报表、Web页、宏和模块等。 主要理解: 表(数据库中用来存储数据的对象)、 第三章 Access数据库管理系统 Access数据库对象 包含了以下数据库对象:表、查询、窗体、报表、Web页、宏和模块等。 主要理解: 表(数据库中用来存储数据的对象)、 查询(以表为基础数据源的虚表。作为表加工后的结果,是一个或多个表相关信息的视图)、 窗体(系统的工作窗口,可用来控制数据库应用系统流程,接受用户信息,完成对表或查询的数据输入、编辑、删除等操作)、 报表(数据库的数据输出形式之一)概念
第四章 表的操作 实体联系有3种:一对一联系、一对多联系、多对多联系。 表的构成:表名、字段、索引(是以表的列为基础的数据对象,保存着表中排序的索引列,记录索引列在数据表中的物理储存位置,实现表中数据的逻辑排序。以索引作为入口访问数据时,读写数据的顺序是索引列的顺序。)、关联(一般由多个表组成每张表反映系统的一类实体或某些实体类之间的关系)。 表的操作:插入、删除、修改等。 列级约束(仅对表中指定的某一个字段起作用的约束,如非空约束、唯一约束等)和表级约束(对表中多个字段起作用的约束,如由多个字段构成的主键约束等)区别。理解几个常用(非空,唯一,主键,外键,检查)的约束。 Access中的数据类型:几个常用数据类型Text(最大长度255)、Memo(最大2G)、Number(1、2、4、6、8或16字节)、Date/Time (8)(字段大小) 几个输入掩码(屏蔽非法输入,减少人为的数据输入错误,保证输入的字段数据格式统一有效)含义:0(必须输入一个数字)、9(该位置上数字可选)、#(在该位置输入一个数字、空格、加号或减号,若用户跳过,系统输入一个空格。) 索引的概念、聚集索引(数据表中数据的物理排列顺序与索引关键字顺序相同,也称为数据表的主索引)、非聚集索引(数据表中数据的物理排列顺序与索引关键字顺序相同)、唯一索引(表示该列的值唯一)与一般索引。 实体联系有3种:一对一联系、一对多联系、多对多联系。
第五章 数据库设计 数据库设计6个步骤。(需求分析,概念结构设计,逻辑结构设计,物理结构设计,数据库实施,数据库运行维护) 三级模式结构:(外模式----模式-----内模式) 理解实体及相关概念:实体(客观存在并能够相互区别的事物)、属性(对实体某些方面特性的描述)、码、实体集(表示具有相同属性的同一类事物)、实体型(实体名与其属性名)、联系(1:1,1:n,n:m)。 简单的E-R图(实体集:矩形,属性:椭圆,联系:菱形,主键加下划线)描述。
第六章 数据查询 了解各种查询的基本操作步骤。 重点掌握查询条件的书写。 选择查询 SQL查询 操作查询 查询分类 参数查询 交叉表查询 更新查询 追加查询 删除查询 生成表查询 一般选择查询 了解各种查询的基本操作步骤。 重点掌握查询条件的书写。
第七章 关系数据库标准语言SQL 重点掌握SELECT查询语句的使用。 CREATE TABLE的一般使用。 ALTER TABLE的一般使用。 DROP TABLE的一般使用。 INSERT、UPDATE、DELETE的一般使用。 本章主要是根据题目要求写SQL语句。
第八章 数据库应用开发技术 窗体的组成。能描述用设计视图创建一个简单窗体的过程及步骤。 几个常用控件:标签控件、文本框控件 、命令按钮的一般使用。 报表的组成。 宏的概念。能描述简单宏的设计过程(在宏编辑器里,选择视图菜单中的条件命令,可以定义带条件表达式的单一宏命令或多个顺序排列的宏命令。在宏编辑器里,选择视图菜单中的宏名命令,可以定义以宏名为单位、由单一宏命令或者多个顺序排列的宏命令组成的宏组)。在窗体中调用宏的一般方法(直接运行宏或宏组,触发事件运行宏或宏组,用宏命令间接运行宏或宏组)。 几个常用的宏名:OpenForm、OpenReport、Quit、Close、MsgBox
第九章 VBA程序设计 数据类型、变量、常量、表达式的基本概念和使用规则。数组的声明。 算术运算符、字符串运算符、关系运算符和逻辑运算符。 带常用函数的表达式结果判定。掌握一些常用数值函数、转换函数、字符串函数和日期函数的使用。 熟悉InputBox和MsgBox的简单使用。 程序的基本结构:顺序结构、选择结构和循环结构三种。 判断程序运行结果。 补充不完整的程序(特别是选择和循环语句结构)。 编写简单的选择结构和循环结构程序。