1、数据库原理与应用 复习资料第一章 数据库的基础知识1. 信息:是一种已被加工为特定形式的数据,这种数据形式对于使用者来说是由意义的,而且对当前和将来的决策具有明显的实际价值。2. 数据库的特点:能够被各种用户共享,具有最小的冗余度(Redundancy),数据间有密切的联系,并具有较高的对程序的独立性。3. 计算机数据管理的三个阶段及各阶段特点:1) 人工管理阶段:数据不保存;无软件对数据进行管理;没有文件概念;数据面向应用,不能共享。2) 文件系统阶段:数据可长期保存在磁盘上;系统提供数据与程序之间的存取方法;文件的形式多种多样;程序与数据之间有一定的独立性。3) 数据库系统阶段:数据共享且
2、具有独立性;数据是结构化的;数据是面向系统的;数据库系统比文件系统具有更高的独立性;提供了方便的接口和控制功能。4. 数据库系统的组成:1) 数据库管理系统(Data Base Management System,DBMS,它是专门负责组织和管理数据的程序) ;2) 数据库应用系统(它能够获取、显示和更新由 DBMS 存储的数据) ;3) 数据库(按一定结构组织在一起的相关数据的集合) ;5. 数据库管理系统的功能:数据库定义功能;数据库存取功能;数据库运行控制功能;数据库创建与维护功能;数据传输与通信功能。6. 数据库的设计:需求分析;概念结构设计;逻辑结构设计;物理结构设计;数据库实施;数
3、据库运行和维护。7. 数据库的分类:数据库系统一般是基于某种数据模型的,可以分为层次型、网状型、关系型、面向对象型等。8. 层次型、网状型、关系型和面向对象型数据库的数据模型:层次模型、网状模型、关系模型、面向对象模型第二章 Access 的基本操作Microsoft Access 是微软公司的 Office 办公套件的一个重要组件。Access 数据库属于关系型数据库的一种。1. Access 数据库的特点:使用 Microsoft Access 不需要进行复杂的编程,利用所提供的向导和一些图形化的界面以及工具就能够完成数据库管理系统的设计与实现。2. Access 数据库的对象:提供了表、
4、查询、窗体、报表、页、宏、模块 7 种对象来完成数据库的功能。Access 数据库在计算机中以数据库文件(.mdb)存储。1) 表:用来存储数据。是 Access 的核心对象,其余对象的操作都是在表的基础上进行的。表是关于某一特定主题的信息的集合。表将数据组织到二维表中,其中每一行称为一条“记录” ,每一列称为一个“字段” 。每一记录对应的是一个真实的对象,每一个字段对应的是对象的一个属性信息。2) 查询:是对数据进行查看和分析。使用查询可以按照不同的方式查看、更改和分析数据。查询设计的好坏将直接影响一个数据库系统性能的好坏。查询还可以作为窗体、报表和数据访问页的记录源。Access 中的查询
5、有选择查询、参数查询、交叉表查询、操作查询、SQL(Structured Query Language)查询。查询的特殊之处:A、可以作为窗体、报表和数据访问页的记录源 B、需要有表作为其信息源3) 窗体:为数据的输入等操作设置友好的外观;是一种用于在数据库中输入和显示数据的数据库对象。在窗体中还可以运用宏和模块。窗体主要通过各种控件来显示数据。窗体中的显示内容来自表或查询,此外,还可以对窗体中的数据进行筛选等操作。4) 报表:以格式化的形式来对外展示数据。不仅提供方便快捷的打印功能,还能对数据进行求和、求平均值等计算。报表中的数据来自一个或多个表或查询,还可以为报表增加图片。5) 数据访问页
6、:将数据发布 Web 上;主要用来查看和处理来自 Internet 上的数据,也可以将数据发布到 Internet 上去。使用数据访问页不仅能够在网络上静态地查看数据,还可以通过网络对数据进行输入、修改等操作。6) 宏:将自动完成一组操作;由一系列的操作组成,其中每个操作都可以实现特定的功能。Access 为数据库的管理操作提供了相对应的宏操作。还可以将一些宏组合在一起形成宏组,或通过条件来限制宏的运行。7) 模块:能自动完成常规任务并创建业务解决方案。将 Visual Basic 声明和过程作为一个单元进行存储的集合。模块可以完成许多宏无法完成的工作,例如使数据库易于维护、使用内置函数或自行
7、创建函数等。3. 启动 Access单击开始 程序 Microsoft Access,即可启动 Access。4. 创建数据库的两种方法1) 使用向导创建数据库:启动 Access 后,选择Access 数据库向导、数据页和项目。2) 创建空数据库:在启动 Access 后,在新建数据库选项栏中选取空Access 数据库。当数据库使用完毕后,要确保数据库被保存起来。5. 打开数据库的方法1) 启动 Access 后,可以直接在打开已有的文件选项中选择要打开的数据库文件。2) 从文件菜单栏中选取最近使用过的数据库,或者单击打开按钮,从弹出的对话框中选择查找范围和文件名后单击打开按钮即可。3) 有
8、一种快速打开最近使用过的数据库的方法是单击任务栏中开始按钮,打开开始菜单,从中选择打开 Office 文档。在出现的文档列表中单击要打开的数据库名即可。6. 使用 Office 助手在使用 Access 时,遇到问题和困难时可以使用 Office 助手,Office 助手会提供与执行的操作相关的帮助提示。1) 使用方法:打开帮助菜单,选择“显示 Office 助手”命令即可显示出 Office 助手。另外,单击工具栏中的 按钮或按F1键也可以显示 Office助手。2) 设置 Office 助手:单击 Office 助手对话框中的选项按钮,在出现的选项画面中根据需要选取相应的选项即可。第三章
9、创建数据表1. 创建数据表有两种方法:使用向导和使用设计器来创建表。使用设计器创建表的方法有两种:一种是直接使用设计器来创建新表。另一种是先使用表向导来构造一个结构相近的表,再在设计器中对它进行修改,使表符合需要。2. 字段命名的规则:1) 字段名所包含的字符数不得超过 64 个字符,包括空格在内。2) 字段名可以由字母、数字、标点符号组成,也可以使用汉字。3) 字段名不能含有西文句号(.)、惊叹号(!)、及方括号( )和( )。4) 不能使用空格作为字段名的第一个字符。3. 字段的九(十)种数据类型及功能1) 文本型字段是最常用的数据类型。用来存放文本、字符等内容,例如姓名、地址、单位名称等
10、。2) 备注型字段用来存放说明性文字,例如个人简历等。在数据类型中选择备注类型后,在设计器的下面会出现所对应的备注型字段属性设置框。3) 数字型字段用来存放数值数据,例如数量、长度、重量等。数值字段中不但可以存放整数,也可以存放小数。4) 日期/时间型字段用来存放日期、时间等内容,例如出生年月、参加工作时间、毕业时间等。5) 货币型字段用来存放与货币有关的数据,例如金额、价格等。6) 自动编号型字段是一种较为特殊的数据类型,当用户每次向表中添加记录时,Access 会自动为该字段添加一个编号。使用这种类型的字段可以保证在表中编号的唯一性。7) 是/否型字段用来存放逻辑值,例如是/否、对/错、真
11、/假等。8) OLE(Object Linking and Embedding)对象型字段用来存放其他 Windows对象,为了使用户能够浏览和编辑该对象,该对象必须是由支持 OLE 的Windows 应用程序所创建的,并且在以后使用数据库时,该应用程序被安装到 Windows 系统中。OLE 对象有“链接”与“嵌入”两种方式。9) 超级链接型字段用来存放通过超级链接方式链接的 Windows 对象。10) (查询向导)可创建字段,该字段将允许使用组合框来选择另一个表中的值。4. 输入掩码的主要作用:输入掩码用于输入格式化的数据。5. 设置主关键字的作用:1) 设置主关键字能够大大提高查询和排
12、序的速度。2) 在窗体或数据表中查看数据时,Access 数据库将按主关键字的顺序显示数据。3) 当将新记录加到数据表时, Access 数据库可以自动检查新记录是否有重复的数据。 6. 如何导入表,如何链接表,两者有什么不同。1) 从外部文件导入表的方法:(1)打开要导入表的数据库;(2)打开“文件”菜单,选择“获取外部数据”中的“导入”命令即可将数据导入到数据库中;(3)选取要导入的数据库文件后单击导入按钮,出现“导入对象”对话框;(4)选取“导入对象”对话框的设置项,如果要选取全部的表,可以单击全选按钮,然后单击确定按钮即可将选取的表导入。2) 将外部表链接到数据库的方法很简单,只要打开
13、要链接表的数据库,然后打开“文件”菜单,选择“获取外部数据”子菜单中的“链接表”命令即可。3) 二者的区别在于数据所储存的位置不同。使用导入表时,Access 将原始表中的结构和数据复制到数据库中;而使用链接表时只是通过链接关系将原始表映射到数据库,其结构和数据仍旧保存在原始表中。7. 如何建立表之间的关系要在两个表间建立关系,必须在这两个表中拥有相同数据类型的字段。1) 打开表所在的数据库窗口,单击工具栏中的关系按钮,如果是第一次建立表之间的关系,则出现“显示表”对话框;2) 选择要建立关系的表,然后单击添加按钮,逐个添加要建立关系的表。完成所有要建立关系的表的添加后,关闭“显示表”对话框。
14、3) 在“关系”对话框中选择一张表中的字段,将其拖到另一张表中的相同字段上,出现“编辑关系”对话框。4) 如果要更新主表中主关键字字段的内容时,同步更新关系表中相关字段的内容,可在“编辑关系”对话框中先选取“实施参照完整性”前面的复选框,再选取“级联更新相关字段”前面的复选框。5) 如果要在删除主表中记录的同时删除关系表中相关记录,可在“编辑关系”对话框中选取“实施参照完整性”前面的复选框,再选取“级联删除相关字段”前面的复选框。需要注意的是,必须在所有关系表中都选择了该项,该项才有效,否则该项无效。6) 要设置表之间的连接方式,可以单击联接类型按钮,出现“联接属性”对话框,在该对话框中选择联
15、接的方式,然后按确定键。7) 单击“编辑关系”对话框中的创建按钮,创建表之间的关系。在下图中可以看到,在创建关系的表之间在创建关系的表之间有一条线将其联接起来,直观地显示出表之间的关系。8) 关闭“关系” 对话框,这时 Access 中会询问是否保存关系的设置,将设置的关系保存起来即可。第四章 管理数据表中的数据1. 改变数据表的外观1) 改变单元格的列宽和行高:设置格式,或用鼠标调整2) 改变字段的显示位置:使用鼠标拖曳3) 冻结字段:先选定要冻结的字段,然后执行“格式” “冻结列”命令。被冻结的字段总是保持在窗口的最左边。4) 隐藏字段:选定要隐藏的字段,打开“格式”菜单,选择“隐藏列”命
16、令。或用鼠标。被隐藏的字段并不被删除,只是暂时的不显示。5) 改变字体6) 设置数据表的格式2. 查找与替换数据1) 在数据表中查找数据2) 在数据表中替换数据3. 记录排序1) 单字段排序:默认时 Access 以主关键字排序来显示,如果表中未定义主关键字,则 Access 将按照记录在表中的实际次序来显示。方法:选定某一字段,然后单击工具栏中的升序或降序按钮。2) 多字段排序:方法同上。排序是按第一个字段先进行排序,第一个字段相同的再按照第二个字段进行排序,依此类推。4. 筛选表中的记录1) 快速筛选记录2) 按窗体筛选3) 高级筛选技巧第五章 数据查询1. 什么是查询:根据给定的条件,从
17、数据库的表中筛选出符合条件的记录,组成一个数据的集合。当建立一个查询后,可以将它看作一个简化的数据表,由它构成窗体、报表的数据来源,也可以以它为基础构成其他查询。2. 五种查询类型1) 选择查询:最常见的查询类型,从一个或多个表中检索数据,并且在可以更新记录的数据表中显示结果,还可以进行总计、计数、平均以及其他类型的计算。2) 参数查询:使用参数查询时将显示出要求用户输入查询条件(准则)的对话框,系统根据用户输入的查询条件将查询结果以指定的形式显示出来。3) 交叉查询:交叉查询显示来源于表中某个字段的总结值(合计、计数及平均) ,并将它们分组,一组列在数据表的左侧,一组列在数据表的上部。4)
18、操作查询:操作查询是在一次操作中更新许多记录的查询,共有删除、更新、追加与生成表等四种操作类型。5) SQL(Structured Query Language)查询:SQL 查询是用户使用 SQL 语句创建的查询。 SQL 查询的特殊示例有联合查询、传递查询、数据定义查询和子查询。3. 两种创建查询的方法:使用向导创建查询、在设计视图中创建查询4. 在查询中使用计算结果1) 在字段行中输入字段名称,在名称的后面输入一个冒号。2) 在冒号后面输入计算该字段值的表达式。进行查询时 Access 会将表达式计算的值放入到该字段中。在表达式中不但可以使用数学运算符,还可以使用 Access 的内部函
19、数。5. 创建交叉表查询:交叉表是一种常用的汇总表格。6. 设定查询条件:在设定查询条件时除了可以使用简单的值(文字)外,还可以使用逻辑表达式来设置条件。逻辑表达式通常由比较运算符(= 等)和逻辑运算符(And Or)构成。还可以使用几个特殊操作符来指定值的范围。1) BetweenAnd 指定值的范围在到之间。2) In 指定值属于列表中所列出的值。3) Is 指定所在字段中是否包含数据, “Is Null”表示查找该字段没有数据的记录, “Is Not Null”表示查找该字段有数据的记录。4) Like 查找相匹配的文字。可以使用下列通配符来设定文字的匹配条件:*在该位置可以是任意的字符
20、串;?在该位置可以是任意字符;#在该位置可以是任意数字;字符列表在该位置可以是字符列表中的任意字符,各字符用逗号隔开,如果需要表示字符的范围,需用连字符将该范围的第一个字符和最后一个字符连接起来(字符按 ANSI 字符表的顺序排列) 。例如:A,B,C,D表示该位置可以是字符 A、B、C 或 D,同样该条件也可以表示成A-D。!字符列表在该位置不能是字符列表中的字符例如:!A,B,C,D表示该位置不能是字符 A、B、C 或 D,同样该条件也可以表示成!A-D。7. 统计字段数据:在要计算数值的字段中打开下拉列表,从下拉列表中选择统计公式。在列表中能够使用的统计公式如下:1) Sum:对所有字段
21、内所有的值求和。2) Avg:求所有字段内各值的平均值。3) Min:求所在字段的最小值。4) Max:求所有字段的最大值。5) Count:对所在字段有内容的记录进行计数。统计所有不为 Null 的记录,包括空白(空格)记录,零记录等。6) StDev:求所在字段的标准差。7) Var:求所在字段的方差。8) Group By:对要进行计算的字段分组,将内容相同的记录统计为一组。9) First:求所在字段的第一个值。10)Last:求所有字段的最后一个值。11)Expression:创建一个由表达式产生的计算字段。12)Where:设定分组条件以便选择记录。8. 批量修改数据库中的数据1)
22、 更新表中的数据:对一定条件的所有数据进行修改。2) 生成表查询:将原表中某些符合特定条件的数据挑选出来,构成一个新表。这对于需要从若干个表中获取数据,并将所获取的数据永久保留来说是非常方便的。3) 追加查询:可以将符合查询条件的数据追加到一个已经存在的表中,该表可以是当前数据库中的一个表,也可以是另一个数据库中的表。4) 删除查询:不但可以从一个表中删除记录,而且也可以从多个相互关联的表中删除记录。第六章 SQL 语言1. 结构化查询语言(SQL,Structure Query Language)是关系型数据库的主流语言,它是一种非过程化的程序语言。2. SQL 语言的特点:1) 类似于英语
23、自然语言,简单易学。2) 是一种非过程语言。3) 是一种面向集合的语言。4) 既可以独立使用,又可以嵌入到宿主语言中使用。 5) 具有查询、操作、定义和控制一体化功能。3. SQL 数据定义功能1)建立数据表SQL 格式:CREATE TABLE 表名(字段名 1 数据类型 1 NOT NULL,字段名 2 数据类型 2 NOT NULL,)IN 数据库名说明:如果某字段作为表的关键字,应该定义该字段为非空(NOT NULL) 。2)修改数据表SQL 格式:ALTER TABLE 表名 ADD 字段名 数据类型运行该语句后,数据表将增加一字段;ALTET TABLE 表名 DROP 字段名运行
24、该语句后,数据表将删除指定的字段。3)删除数据表SQL 格式:DROP 表名4. SQL 数据查询功能1)投影查询 输出某字段记录SQL 格式:SELECT 字段名FROM 表名其中字段名可以是多项,当为多字段时,用“,”分隔;如果是从多个表中提取数据,各个表名都要写出,表名之间用“,”分开。 输出某字段不重复的记录SQL 格式:SELECT DISTINCT 字段名FROM 表名2)选择查询SQL 格式:SELECT 字段名FROM 表名WHERE 查询条件其中 WHERE 查询条件是一个逻辑表达式它由多个关系表达式通过逻辑运算符(AND、OR、NOT)连接而成。3)排序查询SQL 格式:S
25、ELECT *FROM 表名ORDER BY 字段名 ASC(升序) DESC(降序)4)使用合计函数AVG 计算一个数值型字段的平均值COUNT 计算指定字段中选择的项数,COUNT(*)统计查询输出的行数MIN 计算指定字段中的最小值MAX 计算指定字段中的最大值SUM 计算指定字段中的数值总和SQL 格式:SELECT 函数名 ASFROM 表名WHERE 查询条件5)表的连接查询SQL 格式:SELECT 字段名 1,字段名 2,FROM 表名 1,表名 2,WHERE 连接条件说明:teacher.no 表示 teacher 表的 no 字段,student.no 表示 studen
26、t 表的 no 字段。6)子查询:当一个查询是另一个查询的条件时称之。例如:输出 105 号的出生年 SELECT student.no, student.name, student.birthday FROM studentWHERE year(student.birthday)=(SELECT year(student.birthday)FROM studentWHERE student.no=105);7)相关子查询:前面的子查询,每个子查询仅执行一次,而有的子查询不止执行一次,这就需要相关子查询。例如:输出成绩低于该课程平均成绩的学生成绩表。SELECT a.no, o, a.degr
27、ee FROM score AS aWHERE degree(SELECT AVG(degree)FROM score bWHERE o=o);5. SQL 数据操纵功能1)INSERT 指令:用于添加新记录,并可给新记录赋值。格式:INSERT INTO 表名(字段名 1,字段名 2,)VALUSE (赋值 1,赋值 2)2)UPDATE 指令:用于更新记录。格式:UPDATE 表名SET 字段名 1=赋值 1,SET 字段名 2=赋值 2,WHRER 条件表达式3)DELETE 指令:用于删除记录。格式:DELETE FROM 表名 WHRER 条件表达式第七章 设计窗体1. 两种创建窗体
28、的方法:1) 使用向导创建窗体2) 在设计视图中创建窗体2. 快速创建窗体1) 纵栏式窗体:在数据库应用程序中最常用的窗体格式,如同平常使用的卡片一样,纵栏表每次在屏幕上显示一条记录的内容,用户可以通过翻页方式来改变所显示的记录。2) 表格式窗体:可以在窗体中以表格的方式,在一个窗体中同时显示多条记录。3) 数据式窗体:是一种常用的格式,它就是第三章中创建的数据表的格式。它是窗体中以最紧凑的方式显示多条记录的最佳方式。4) 图表窗体:使用图表形象化地表示数据的变化。3. 自己设计窗体创建空白窗体,在窗体中加入标签、文本框、选项组或选项按钮、复选框、命令按钮、列表框、组合框、选项卡、切换按钮、图
29、像、字段。4. 设置控件的格式1) 控件标题2) 改变控件的大小和位置3) 对齐控件4) 改变控件的外观5) 设置控件的颜色5. 设置控件属性1) 窗体的属性2) 节的属性3) 标签的属性4) 文本框的属性5) 选项组的属性6) 复选框的属性7) 列表框的属性8) 组合框的属性9) 命令按钮的属性第八章 制作报表1. 快速创建报表两种自动报表格式:纵栏表和表格。2. 使用报表向导创建报表:图表向导、制作向导。3. 制作标签4. 自己设计报表1) 修改报表2) 在报表中加入字段3) 用预定义格式来设置报表格式4) 在报表中加入页码5) 在报表中加入时间5. 创建子报表第九章 设计数据访问页1.
30、使用向导制作网页2. 在网页中加入超链接3. 设置网页格式4. 添加滚动文字第十章 宏的功能在 Access 中,表、查询、窗体、报表和页虽然具备较强大的功能,但彼此不能相互驱动。只有宏和模块两种对象才可以实现。1. 创建宏宏是一种特殊的、操纵操作的代码组合。它以操作作为单位,将一连串的操作有机地组合起来。在宏运行时,这些操作被一个一个地依次执行。它无需编写程序代码,只需在表格中选择有关的内容,填写一份宏操作表格即可。此外还可以直接将对象拖到宏设计窗口中来创建宏。2. 运行宏1) 使用窗体中的命令按钮来运行宏:打开窗体设计窗口,然后在数据库中选取宏,直接将宏拖到窗体中,这样可以创建执行该宏的命
31、令按钮。2) 在宏中运行其他宏3. 常用的宏操作(56 个)4. 设置宏操作参数1) 在参数中使用表达2) 设置控件属性5. 有条件地运行宏6. 创建菜单1) 创建下拉菜单2) 将下拉菜单组合到菜单栏中3) 设置热键4) 设置分隔线5) 制作多级菜单第十一章 使用模块1. VB 的特点Visual Basic 是一种可视化、面向对象的、 采用事件驱动方式的结构化程序设计语言。1) 可视化编程机制2) 面向对象的程序设计方向(OOP)3) 事件驱动的编程机制4) 结构化程序设计2. 创建 Visual Basic 模块1) 创建新模块2) 在模块中加入过程 3) 过程的调用3. 创建事件过程4.
32、 调试程序1) 调试工具栏2) 设置断点3) 跟踪4) 设置监视点5. Access 的编程工具 VBA 1) 数据类型2) 常量、变量与数组3) 运算符与表达式4) 对象运算符与对象运算表达式6. VBA 的主要语句1) IfThenElse 语句2) iif 函数语句3) Select Case 语句4) With 语句5) While 语句6) Do WhileLoop 和 DoLoop While 语句7) Do UntilLoop 和 DoLoop Until 语句8) ForNext 语句9) For EachNext 语句 第十二章 数据的传递1. Access 的导出功能:1)
33、 Access 导出到其他格式2) 导出到另一个 Access 数据库2. Access 的导入功能:1) 把其他格式文件导入 Access 数据库2) 导入一个 Access 数据库对象3. 表的链接所谓链接,就是在源文件和目标文件之间创建一个映射,当源文件修改后,则修改后的结果也会在目标文件中同步反映出来。在一定程度上,表的链接还实现了存储资源的共享。Access 与其他 Office 组件的链接:1) 用 Word 合并2) 用 Word 发布:将数据库中表的数据直接转换成 Word 文件。3) 用 Excel 分析第十三章 数据库系统安全数据的安全性一般指两个方面,即数据保存的可靠性和使用的合法性。1. 建立用户组和用户:“柔性”的安全措施。为不同的用户设定不同的用户级别,每个用户将按照自己的授权范围来操作数据库。2. 设置用户的权限:设置用户之后,系统管理员就可以对用户的操作权限进行设置,以指定每个用户的权限范围。3. 密码的设置与删除:“刚性”的保密措施。为了保证数据库中的数据不被非法用户阅读,Access 提供了一套安全的数据加密系统,其中就包括密码的设置。4. 用户级安全机制:类似于在服务器或主机系统上的用户级安全机制。它通过使用帐号和权限,可以规定个人、组对数据库中对象的访问权限。可以防止因更改表、查询、窗体和宏而破坏应用程序。