数据库原理及应用_CH4-5.ppt
1 表与表之间的关系表与表之间的关系 数据库的设计数据库的设计 数据库的创建与打开数据库的创建与打开 使用向导创建表使用向导创建表 字段的定义字段的定义 表的设计视图表的设计视图 表中数据输入与操纵表中数据输入与操纵4 4章章第第创建数据库创建数据库 4.1 4.1 表与表之间的关系表与表之间的关系 1.1.表表关系数据库:关系数据库:用二维表格来表示和处理用二维表格来表示和处理信息世界的实体集和属性关系。信息世界的实体集和属性关系。表表记录:描述实体字段:实体属性 主码主码外码外码主码主码表与表之间的关系通过码来实现关联 2.2.表与表之间的关联表与表之间的关联 主码主码(主关键字)(主关键字):表中一个或多个字段,其值惟一地表中一个或多个字段,其值惟一地标识一条记录。在两个表的关系中,主码用来在一个标识一条记录。在两个表的关系中,主码用来在一个表中引用来自于另一个表中的特定记录。表中引用来自于另一个表中的特定记录。系统不允许任何重复值或系统不允许任何重复值或Null值进行主码字段中。值进行主码字段中。主码的性质:主码的性质:主码主码不能为空不能为空,否则将失去对某些记录的控制和访问,否则将失去对某些记录的控制和访问 主码主码不能重复不能重复,否则主码所标识的记录将失去唯一性,否则主码所标识的记录将失去唯一性 主码主码不能修改不能修改。它不仅标识表中的记录,而且经常要与。它不仅标识表中的记录,而且经常要与其他表中的字段进行关联。如果硬要修改,很容易给其他表中的字段进行关联。如果硬要修改,很容易给其所在的表以及其他相关的表造成意想不到的错误其所在的表以及其他相关的表造成意想不到的错误 外码外码(外部关键字)(外部关键字):也是表中的一个或多个字段,外也是表中的一个或多个字段,外码的值与相关表的主码相匹配。码的值与相关表的主码相匹配。3.3.主码与外码主码与外码 关系:关系:利用两个表的共有字段利用两个表的共有字段创建的关联性。通过表间的创建的关联性。通过表间的关联性,可将数据库中多个关联性,可将数据库中多个表联络成一个有机的整体表联络成一个有机的整体表与表间的关系类型:表与表间的关系类型:一对一关系:一对一关系:基本表每条记基本表每条记录只对应相关联表中一个匹录只对应相关联表中一个匹配的记录,反之亦然配的记录,反之亦然 一对多关系:一对多关系:关系中最常用关系中最常用的类型。的类型。基本表一条基本表一条记录可记录可与与相关联表中多条相关联表中多条记录相匹记录相匹配。但相关联表一条记录只配。但相关联表一条记录只与基本表一条相匹配与基本表一条相匹配 4.4.关系关系 多对多关系多对多关系:基本表一条记录可与相关联表多个记录:基本表一条记录可与相关联表多个记录相匹配。相关联表中的一条记录也可与基本表的多条相匹配。相关联表中的一条记录也可与基本表的多条记录相匹配。记录相匹配。这种类型的关系只能通过定义第三个表(联结表)来实这种类型的关系只能通过定义第三个表(联结表)来实现。联结表的主码包含两个字段:来源于两个表的外现。联结表的主码包含两个字段:来源于两个表的外码。多对多的关系实际上是通过第三个表来实现的两码。多对多的关系实际上是通过第三个表来实现的两个一对多的关系。个一对多的关系。本讲首页本讲首页4.2 4.2 数据库的设计数据库的设计 1.1.数据库的规划数据库的规划表是表是AccessAccess数据库的基础数据库的基础,记录着数据库中的全部内容,记录着数据库中的全部内容,而其他对象只是而其他对象只是AccessAccess提供的工具,用于对数据库进提供的工具,用于对数据库进行维护和管理。因此,设计数据库的关键是设计表行维护和管理。因此,设计数据库的关键是设计表 确定实体(表)确定实体(表)确定实体标识符(主码)确定实体标识符(主码)确定关系(外码)确定关系(外码)确定数据元素属性(字段)确定数据元素属性(字段)E ER R模型设计:模型设计:定义了数据定义了数据库结构。识别和创建数据库结构。识别和创建数据库中实体及其关系库中实体及其关系实体可是具体的,也可是抽实体可是具体的,也可是抽象的。如象的。如Northwind的订的订单明细:是产品实体和订单明细:是产品实体和订单实体间的联系单实体间的联系 规范化的目标:规范化的目标:设计一个优化的和符合逻辑的数据库方案设计一个优化的和符合逻辑的数据库方案,使得开发阶段对数据库的修改要求降到最低程度,且,使得开发阶段对数据库的修改要求降到最低程度,且有助于组织数据和消除数据库中的数据冗余有助于组织数据和消除数据库中的数据冗余规范化的要求:规范化的要求:表中都是不可再分的基本字段表中都是不可再分的基本字段(1NF)例如,当产品有出厂,批发,零售等多种价格时,要分例如,当产品有出厂,批发,零售等多种价格时,要分别设置相应字段。若价格结构太复杂,则可建新表专门别设置相应字段。若价格结构太复杂,则可建新表专门存放价格数据。存放价格数据。表中所有字段都必须依赖于主关键字表中所有字段都必须依赖于主关键字(2NF)一个表只存储一种实体对象。一个表只存储一种实体对象。表中所有字段都是惟一的且不互相依赖表中所有字段都是惟一的且不互相依赖(3NF)例如,表中只设一个日期字段。不能再包含日,月和星例如,表中只设一个日期字段。不能再包含日,月和星期的字段。期的字段。2.2.数据库规范化数据库规范化 确保数据的完整性:确保数据的完整性:参照完整性:参照完整性:输入或删除记录时,为维持表间已定义的关输入或删除记录时,为维持表间已定义的关系而必须遵循的一个规则系统。系而必须遵循的一个规则系统。若实施了参照完整性,则在将与基本表无关的记录加入若实施了参照完整性,则在将与基本表无关的记录加入相关表时,相关表时,Access会警告。若要从基本表中删除记录,会警告。若要从基本表中删除记录,相关表中却有对应记录时,相关表中却有对应记录时,Access会防止删除。会防止删除。设置参照完整性的条件:设置参照完整性的条件:来自于主表的匹配字段是主码或具有唯一的索引来自于主表的匹配字段是主码或具有唯一的索引 相关字段的数据类型相同相关字段的数据类型相同。例外:自动编号与长整型,。例外:自动编号与长整型,均为同步复制均为同步复制 ID的自动编号与数字字段可相关的自动编号与数字字段可相关。两个表都属于同一个两个表都属于同一个Access数据库数据库实行参照完整性后必须遵守的规则:实行参照完整性后必须遵守的规则:不能将值输入到相关表的外码字段中,不能将值输入到相关表的外码字段中,若相关表中有匹配记录,不能从主表中删除它若相关表中有匹配记录,不能从主表中删除它 3.3.数据库设计步骤数据库设计步骤一般步骤一般步骤确定新建数据库的目的确定新建数据库的目的确定该数据库中需要的表确定该数据库中需要的表明确有唯一值的字段明确有唯一值的字段确定表中需要的字段确定表中需要的字段确定表之间的关系确定表之间的关系优化设计优化设计输入数据并新建其他数据库对象输入数据并新建其他数据库对象使用使用Microsoft Access的分析工具的分析工具表中信息不重复且不在表间复制每个表只含一个主题的信息字段都直接与表的主题相关不包含推导或计算的数据包含所需的所有信息以最小的逻辑部分保存信息Access中三种主码:自动编号,单字段和多字段 例:设计例:设计“教学管理教学管理”数据数据库库S1:明确建库目的与功能要求:明确建库目的与功能要求 实现四方面信息的综合管理:实现四方面信息的综合管理:教师,学生,课程,学习成绩教师,学生,课程,学习成绩 教师可以查看学生的简况,成绩,课程教师可以查看学生的简况,成绩,课程 学生可以选择教师,课程和查看成绩学生可以选择教师,课程和查看成绩S2:确定数据库中的表:确定数据库中的表按下列原则对信息进行分类:按下列原则对信息进行分类:表中不含重复信息,且信息不应表中不含重复信息,且信息不应在表之间复制在表之间复制 每条信息只保存在一个表中每条信息只保存在一个表中 每个表只包含一个主题的数据。每个表只包含一个主题的数据。学生登记表学生登记表 教师课程表教师课程表 课程名称表课程名称表 学生成绩表学生成绩表 S3:确定表中的字段:确定表中的字段 每个字段的内容均与表的主题相关每个字段的内容均与表的主题相关 相关主题的全部数据都要表现出来。相关主题的全部数据都要表现出来。不包含需要推导或计算的数据,要以最小逻辑部分作为不包含需要推导或计算的数据,要以最小逻辑部分作为字段来保存数据。字段来保存数据。S3.1:教师课程表分析:教师课程表分析 基本特征:基本特征:姓名,性别,职称,专业特长等姓名,性别,职称,专业特长等 其它特征其它特征:工作时间,政治面貌,电话,课程号,:工作时间,政治面貌,电话,课程号,所属院系等所属院系等选取选取:教工号,姓名,性别,职称,课程号,电话教工号,姓名,性别,职称,课程号,电话S3.2:学生登记表分析:学生登记表分析基本特征基本特征:学号,姓名,性别,班级,出生日期:学号,姓名,性别,班级,出生日期 其它特征其它特征:籍贯,政治面貌,宿舍,班级,特长等:籍贯,政治面貌,宿舍,班级,特长等 选取选取:学号,姓名,性别,班级,出生日期,简历:学号,姓名,性别,班级,出生日期,简历 S3.3:课程名称表分析:课程名称表分析基本特征信息:基本特征信息:课程号,教工号,课程名称课程号,教工号,课程名称其它特征信息:其它特征信息:学分,课时,先修课学分,课时,先修课选取:选取:课程号,教工号,课程名称,学分课程号,教工号,课程名称,学分S3.4:学生成绩表分析:学生成绩表分析基本特征信息:基本特征信息:学号,课程号,平时成绩,考试成绩学号,课程号,平时成绩,考试成绩其它特征信息:其它特征信息:学分,教工号,课程名称学分,教工号,课程名称选取:选取:学号,课程号,平时成绩,考试成绩学号,课程号,平时成绩,考试成绩S4:确定主码:确定主码学生登记表:学生登记表:学号学号教师课程表:教师课程表:教工号教工号课程名称表:课程名称表:课程号课程号学生成绩表:学生成绩表:学号课程号学号课程号【注注】可增加一个值为序列号的字段作为主码可增加一个值为序列号的字段作为主码 S5:优化设计:优化设计问题:问题:教师课程表,若一人讲授多门课程,则有重复教师课程表,若一人讲授多门课程,则有重复数据,如:数据,如:教工号教工号 姓名姓名 性别性别 职称职称 课程编号课程编号 电话电话 4382 王大中王大中 男男 讲师讲师 00667 3565678 4382 王大中王大中 男男 讲师讲师 00789 3565678分为两个表:分为两个表:教师登记表:教师登记表:教工号教工号,姓名,性别,职称,电话,姓名,性别,职称,电话教师课程表:教师课程表:ID,教工号,课程号教工号,课程号【注注】IDID是给教师课程表添加的主码。是给教师课程表添加的主码。则上例中数据放在两个表中:教工号教工号 姓名姓名 性别性别 职称职称 电话电话 ID 教工号教工号 课程号课程号4382 王大中王大中 男男 讲师讲师 3565678 1 4382 00667 2 4382 00789 本讲首页本讲首页S6:确定表间的联系:确定表间的联系学生登记表学生登记表教师登记表教师登记表课程名称表课程名称表学生成绩表学生成绩表课程号课程号学号学号课程号课程号教师授课表教师授课表教工号教工号教工号教工号3.3 3.3 数据库的创建与打开数据库的创建与打开 两两种种创创建建数数据据库库的的方方法法:使使用用数数据据库库向向导导创创建建数数据据库库及及表表,查查询询等等各各种种对对象象 先先创创建建空空数数据据库库,然然后后再再分分别别添添加加对对象象 1.1.Microsoft Access对话框对话框Access启动时自动弹出建空库启动向导打开库动 2.2.创建空白数据库创建空白数据库动 3.3.使用向导创建数据库使用向导创建数据库 选择打开方式可直接打开的库打开命令 4.4.打开数据库的命令方式打开数据库的命令方式 选择:选择:视图视图|工具栏工具栏|WebWeb收藏夹收藏夹工具条工具条单击:单击:收藏夹按钮右侧收藏夹按钮右侧收藏夹内容收藏夹内容列表列表选择:选择:列表:列表:添至收藏夹添至收藏夹收藏夹内收藏夹内容列表容列表当前数据当前数据库名称库名称 5.5.使用收藏夹打开数据库(对象)使用收藏夹打开数据库(对象)6.6.使用快捷方式打开数据库使用快捷方式打开数据库 本讲首页本讲首页4.4 4.4 使用向导创建表使用向导创建表 1.1.创建创建表的过程表的过程表:表:关系型数据库的基本结构。在关系型数据库的基本结构。在AccessAccess中,表是一种中,表是一种关系特定主题的数据集合,如产品,供应商等。每个关系特定主题的数据集合,如产品,供应商等。每个主题对应单个表。主题对应单个表。表的形式:表的形式:记录,字段组成的二维表格。记录,字段组成的二维表格。创建一个表的过程:创建一个表的过程:创建表的结构:定义字段名,字段的类型,宽度等定义字段名,字段的类型,宽度等 填充表中的数据:各类不同数据类型的字段的填充方各类不同数据类型的字段的填充方式不尽相同式不尽相同 根据表与表间的共有字段根据表与表间的共有字段建立联系Access 提供多种创建表的方法提供多种创建表的方法 2.2.表的两种视图表的两种视图表的两种视图:表的两种视图:设计视图:设计视图:创建及编辑表的结构,即定义字段名,数创建及编辑表的结构,即定义字段名,数据类型,宽度,设置字段默认值,格式等据类型,宽度,设置字段默认值,格式等 数据表视图:数据表视图:查看,添加,删除,编辑表中数据。查看,添加,删除,编辑表中数据。表视图设计视图 3.3.新建表对话框新建表对话框启动表向导打开设计视图动 4.4.使用向导创建表的例子使用向导创建表的例子一般步骤一般步骤启动向导启动向导选择字段选择字段修改字段名称修改字段名称确定表名确定表名确定主码确定主码完成完成 本讲首页本讲首页4.5 4.5 字段的定义字段的定义 字段:字段:数据库操纵最小数据库操纵最小单位。设计表实际上单位。设计表实际上是设计字段。其他对是设计字段。其他对象的设计重心都是存象的设计重心都是存取或使用字段的数据取或使用字段的数据字段基本属性:字段基本属性:字段名、字段名、数据类型、字段说明、数据类型、字段说明、及数据存储使用方式及数据存储使用方式字段查阅属性:字段查阅属性:显示格显示格式、掩码、默认值、式、掩码、默认值、有效性规则等有效性规则等 字段说明在状字段说明在状态栏中显示态栏中显示字段名字段名与标题与标题 1.1.字段名与字段说明字段名与字段说明 Access 2000Access 2000中字段可用的数据类型有以下几种:中字段可用的数据类型有以下几种:文本文本(Text):文本、文本与数字、不必计算的数字,最文本、文本与数字、不必计算的数字,最长长255255个字符。个字符。备注备注(Memo):较长的文本,最长较长的文本,最长64,00064,000字符。字符。数字数字(Number)型:型:用于算术运算的数字。可在用于算术运算的数字。可在“字段字段大小大小”中分字节、整型、单精度等子类型中分字节、整型、单精度等子类型 日期及时间日期及时间(Date/Time)(Date/Time):从从100100到到99999999的日期及时间值。的日期及时间值。可进行日期及时间的计算。可进行日期及时间的计算。8 8字节字节 货币货币(Currency):货币值。使用货币类型可避免计算时货币值。使用货币类型可避免计算时四舍五入。四舍五入。8 8字节字节 自动编号自动编号(AutoNumber):添加记录时的自动序号添加记录时的自动序号 递增:递增:添一条记录,字段值增添一条记录,字段值增1 1;随机:随机:添一条记录,字段值为另一随机数。添一条记录,字段值为另一随机数。2.2.字段的数据类型字段的数据类型 是是/否否(Yes/No):取两种值之一,如取两种值之一,如 Yes/NoYes/No、True/FalseTrue/False、On/OffOn/Off。大小为。大小为1 1位。位。OLEOLE对象对象(Object):可链接或嵌入其他使用可链接或嵌入其他使用OLE OLE 协议的程协议的程序所创建的对象,如序所创建的对象,如WordWord文档、图象、声音等。最多文档、图象、声音等。最多1G1G。对象可链接或嵌入到。对象可链接或嵌入到AccessAccess表中。但只能在窗体表中。但只能在窗体或报表中使用绑定对象框来显示。或报表中使用绑定对象框来显示。超链接超链接(Hyperlink):超文本,用作超链接地址。超链接超文本,用作超链接地址。超链接最多包含三部分:最多包含三部分:显示文本:显示文本:在字段或控件中显示的文本;在字段或控件中显示的文本;地址:地址:到文件(到文件(UNCUNC)或页面()或页面(URLURL)的路径;)的路径;子地址:子地址:在文件或页面中的地址。在文件或页面中的地址。查阅向导查阅向导(Lookup Wizard):由查阅向导创建。字段的由查阅向导创建。字段的值来自另一个表或数据列表中,可在列表框或组合框值来自另一个表或数据列表中,可在列表框或组合框中选择一个数据作为其值。中选择一个数据作为其值。3.3.字段的字段的“常规常规”属属性性 字段大小:字段大小:文本长度文本长度或数值范围或数值范围 格式:格式:NumberNumber、Date/TimeDate/Time、CurrencyCurrency和和Yes/NoYes/No类类型有预定义格式,也型有预定义格式,也可设置格式可设置格式 小数位数:小数位数:小数型小数型(数字、货币)数据(数字、货币)数据的小数位的小数位 输入法模式:输入法模式:可设为可设为输入时自动切换到某输入时自动切换到某种输入法种输入法 输入掩码:输入掩码:输入数据时的格式,可用输入数据时的格式,可用“输入掩码向导输入掩码向导”来编辑输入掩码来编辑输入掩码 标题:标题:数据表视图或控件中显示字段时所用的标题。数据表视图或控件中显示字段时所用的标题。用于在字段名意义不明确时再设置一个标题用于在字段名意义不明确时再设置一个标题 默认值:默认值:添加新记录时,自动加入到字段中的值添加新记录时,自动加入到字段中的值 有效性规则:有效性规则:限制输入数据的表达式,如限制输入数据的表达式,如100100、Like Like?#?#等。可使用表达式生成器来创建等。可使用表达式生成器来创建 有效性文本:有效性文本:数据不符合有效性规则时显示的信息数据不符合有效性规则时显示的信息 必填字段:必填字段:是否必须输入数据是否必须输入数据 允许空字符串:允许空字符串:是否允许输入空字符串(长度为是否允许输入空字符串(长度为0 0)索引:索引:是否进行索引及索引方式。是否进行索引及索引方式。索引:加快查询和排序速度,但更新操作变慢索引:加快查询和排序速度,但更新操作变慢索引方法:无:字段不索引。索引方法:无:字段不索引。有(有重复):索引、允许重复值。有(有重复):索引、允许重复值。有(无重复):索引、不允许重复值。有(无重复):索引、不允许重复值。4.4.字段的查阅属性字段的查阅属性 显示控件:显示控件:选择值的控选择值的控件:组合框或列表框件:组合框或列表框 行来源类型:行来源类型:从其他表从其他表或查询还是值列表中得或查询还是值列表中得到数据到数据 行来源:行来源:得到数据的值得到数据的值列表或查询语句列表或查询语句 绑定列:绑定列:哪个列作为控哪个列作为控件的值件的值 SELECT DISTINCTROW 供应商供应商ID,ID,公司名称公司名称 FROM FROM 供应商供应商 ORDER BY ORDER BY 公司名称公司名称;产品:供应商产品:供应商IDID 供应商表:供应商供应商表:供应商IDID公司名称公司名称 备注型、超链接型和备注型、超链接型和OLEOLE对象型字段不能索引。对象型字段不能索引。若在表中输入数据后更改字段的数据类型,则若在表中输入数据后更改字段的数据类型,则 在保存表时,由于进行大量数据转换,时间较长;在保存表时,由于进行大量数据转换,时间较长;若新的若新的“数据类型数据类型”属性的设置与段原数据类型冲突,属性的设置与段原数据类型冲突,可能会丢失某些数据。可能会丢失某些数据。NumberNumber、Date/TimeDate/Time、CurrencyCurrency和和Yes/NoYes/No类型具有预类型具有预定义格式。可设置格式,但定义格式。可设置格式,但OLEOLE对象型除外对象型除外 5.5.选择数据类型时应注意的问题选择数据类型时应注意的问题 本讲首页本讲首页3.6 3.6 表的设计视图表的设计视图 1.1.打开表的设计视图打开表的设计视图表的表的设计视图设计视图 2.2.表设计器表设计器字段属性字段属性字段定义网格字段定义网格表达式表达式生成器生成器 3.3.创建课程表创建课程表打开设计视图打开设计视图定义主码定义主码定义表中字段定义表中字段保存表保存表一般步骤一般步骤编辑编辑|主键;主键;快捷菜单快捷菜单|主键;主键;单击:主键钮单击:主键钮输入字段名;输入字段名;选择数据类型;选择数据类型;设置字段各种属性设置字段各种属性 本讲首页本讲首页 4.4.创建值列表字段创建值列表字段字段的查阅功能:字段的查阅功能:值来自一组固定的数据(值列表),值来自一组固定的数据(值列表),或其他表的某个字段。或其他表的某个字段。5.5.创建查阅列表字段创建查阅列表字段 本讲首页本讲首页SELECT 学生学生.学号学号,学生学生.姓名姓名 FROM 学生学生;4.7 4.7 表中数据输入与操纵表中数据输入与操纵 1.1.数据表视图数据表视图打开打开“学生学生”表的数据表视图:表的数据表视图:在数据库窗口的对象列表中,双击在数据库窗口的对象列表中,双击“学生学生”表,或选表,或选定定“学生学生”表,再单击表,再单击“打开打开”按钮按钮 若当前正处于表设计视图,单击数据库窗口工具条上若当前正处于表设计视图,单击数据库窗口工具条上的的“打开打开”按钮,切换到数据表视图。按钮,切换到数据表视图。2.2.各类数据的输入方法各类数据的输入方法文本型:文本型:直接在网络中输入。直接在网络中输入。数字型:数字型:直接在网络中输入。直接在网络中输入。是否型:是否型:标记复选框。标记复选框。日期时间型:日期时间型:按简洁方式键入,自动按设计格式显示。按简洁方式键入,自动按设计格式显示。备注型备注型 :直接在网络中输入,最好创建窗体输入。直接在网络中输入,最好创建窗体输入。OLEOLE对象型对象型 :超链接型超链接型 :选择选择:插入插入|对象;对象;快捷菜单快捷菜单|插入对象插入对象选择选择:插入插入|超级链接;超级链接;单击:插入超级链接单击:插入超级链接 3.3.字段的选择字段的选择选中一个网格:选中一个网格:方向键移光标;方向键移光标;Tab键反方向移动。键反方向移动。双击网格;双击网格;鼠标放在网格左侧,变为空心十字时单击。鼠标放在网格左侧,变为空心十字时单击。选中一个网格后,再选相邻的多个网格:选中一个网格后,再选相邻的多个网格:Shift方向键方向键 按住按住Shift,再单击另一网格,选中矩形区域,再单击另一网格,选中矩形区域选中一个记录:选中一个记录:鼠标放在某记录左侧小方钮上,变为右箭头时单击。鼠标放在某记录左侧小方钮上,变为右箭头时单击。选中一个字段:选中一个字段:鼠标放在某字段上方的标题方钮上,变为下箭头时鼠标放在某字段上方的标题方钮上,变为下箭头时选中表中所有内容:选中表中所有内容:单击左上角的小方钮。单击左上角的小方钮。4.4.创建表与表之间的关系创建表与表之间的关系定义表间关系有以下优点:定义表间关系有以下优点:表自动链接:表自动链接:查询时打开多个表时,关系表将自动链查询时打开多个表时,关系表将自动链接,节省操作步骤接,节省操作步骤 自动生成索引:自动生成索引:AccessAccess会自动生成必要的索引,使关会自动生成必要的索引,使关系表工作更快系表工作更快 实施参照完整性:实施参照完整性:若主表无关联记录,则不能将记录添加到相关表中若主表无关联记录,则不能将记录添加到相关表中或更改主表中的数据,以免形成相关表中的记录在主或更改主表中的数据,以免形成相关表中的记录在主表中无对应记录表中无对应记录 若相关表中有相关记录与主表相匹配时,不能删除若相关表中有相关记录与主表相匹配时,不能删除主表中的记录主表中的记录 在数据表视图中显示子数据表:在数据表视图中显示子数据表:单击单元格左侧的符号即可打开子数据表单击单元格左侧的符号即可打开子数据表 内连接内连接左外左外连接连接右外右外连接连接 展开子数展开子数据库表据库表 5.5.列的隐藏与冻结列的隐藏与冻结隐藏字段:隐藏字段:选中要隐藏的字段选中要隐藏的字段(可多个可多个);选择:格式选择:格式隐藏列。隐藏列。显示被隐藏的字段:显示被隐藏的字段:选择:格式选择:格式撤消隐藏列撤消隐藏列冻结列:冻结列:滚动字段时,冻结的列不动。滚动字段时,冻结的列不动。例:冻结例:冻结“姓名姓名”和和“学号学号”列列 选中选中“姓名姓名”和和“学号学号”列;列;选择:格式选择:格式冻结列冻结列取消对列的冻结取消对列的冻结:选择:格式选择:格式取消对所有列的冻结取消对所有列的冻结 6.6.记录的排序记录的排序例:例:“学生学生”表按表按 “入学总分入学总分”排排序序取消对记录的排序:取消对记录的排序:选中选中“入学总分入学总分”字段;字段;单击:单击:“降序降序”或或“升序升序”钮钮 或:快捷菜单或:快捷菜单降序降序选:记录选:记录取消筛选取消筛选/排序排序或:快捷菜单或:快捷菜单取消筛选取消筛选/排序排序 7.7.记录的筛选记录的筛选 按选定内容筛选:按选定内容筛选:选指定值的记录选指定值的记录 内容排除筛选:内容排除筛选:选除指定值外的记录选除指定值外的记录 取消取消筛选筛选 本讲首页本讲首页52 查询的种类查询的种类 使用向导创建查询使用向导创建查询 查询设计器的使用查询设计器的使用 准则与参数查询准则与参数查询 统计计算与计算字段统计计算与计算字段 操作查询设计操作查询设计 SQLSQL查询设计查询设计5 5章章第第查查 询询 5.1 5.1 查询的种类查询的种类 1.1.查询的概念查询的概念查询:查询:具有条件检索和计算功能的数据库对象。具有条件检索和计算功能的数据库对象。查询是以表或查询为数据源的再生表。即每次使用查查询是以表或查询为数据源的再生表。即每次使用查询时,都从指定数据源(表或查询)中创建记录集。询时,都从指定数据源(表或查询)中创建记录集。使用查询可以:使用查询可以:以一个或多个表,或其他查询为基础创建新数据集。以一个或多个表,或其他查询为基础创建新数据集。按按不同的方式来查看、更改和分析数据。不同的方式来查看、更改和分析数据。生成表,实现数据源表数据的删除、更新或追加。生成表,实现数据源表数据的删除、更新或追加。作为窗体、报表或数据访问页的数据源,实现多个表作为窗体、报表或数据访问页的数据源,实现多个表作为数据源。作为数据源。2.2.查询的特点查询的特点 可以重组表中的数据,也可以通过计算再生新数据。可以重组表中的数据,也可以通过计算再生新数据。查询的结果总是与数据源中的数据同步。每次使用查询,查询的结果总是与数据源中的数据同步。每次使用查询,都依据数据源最新的数据组织查询结果。都依据数据源最新的数据组织查询结果。AccessAccess允许创建几种不同的查询。最常用的是选择查询。允许创建几种不同的查询。最常用的是选择查询。数据源数据源查询中查询中的字段的字段 3.3.查询的种类查询的种类Access 2000Access 2000提供了提供了5 5种查询种查询:选择查询、参数查询、交:选择查询、参数查询、交叉表查询、操作查询和叉表查询、操作查询和SQLSQL查询。查询。选择查询:选择查询:最常见的查询类型,可以:最常见的查询类型,可以:从一个或多个表中检索数据。从一个或多个表中检索数据。在一定条件下,更改相关表中的记录。在一定条件下,更改相关表中的记录。对记录进行分组,并进行总计、计数、平均以及其对记录进行分组,并进行总计、计数、平均以及其他类型的计算。他类型的计算。交叉表查询:交叉表查询:显示来源于表中某个字段的合计值、计算显示来源于表中某个字段的合计值、计算值、平均值等,并将数据分组,一组列在数据表左侧,值、平均值等,并将数据分组,一组列在数据表左侧,一组列在数据表上部。一组列在数据表上部。参数查询:参数查询:通过运行查询时的参数定义创建的动态查询通过运行查询时的参数定义创建的动态查询结果,可以更多、更方便地查找有用信息。适合于作为结果,可以更多、更方便地查找有用信息。适合于作为窗体或报表的基础。窗体或报表的基础。操作查询:操作查询:在操作中更改多个记录的查询,可分为四类:在操作中更改多个记录的查询,可分为四类:删除查询、更新查询、追加查询和生成表查询。删除查询、更新查询、追加查询和生成表查询。删除查询:删除查询:从一个或多个表中删除一组记录。从一个或多个表中删除一组记录。更新查询:更新查询:批量更改一个或多个表中的一组记录。批量更改一个或多个表中的一组记录。追追加加查查询询:将将一一个个或或多多个个表表中中的的一一组组记记录录添添加加到到另另一个或多个表的尾部。一个或多个表的尾部。生生成成表表查查询询:根根据据一一个个或或多多个个表表中中的的全全部部或或部部分分数数据新建表。据新建表。SQLSQL查询:查询:使用使用SQLSQL语句创建的查询。包括联合查询、语句创建的查询。包括联合查询、传递查询、数据定义查询和子查询等。传递查询、数据定义查询和子查询等。联联合合查查询询:将将来来自自一一个个或或多多个个表表或或查查询询的的字字段段组组合合为查询结果中的一个字段或列。为查询结果中的一个字段或列。传传递递查查询询:直直接接将将命命令令发发送送到到 ODBC ODBC 数数据据库库,如如 Microsoft SQL ServerMicrosoft SQL Server等。等。数据定义查询:数据定义查询:用于创建或更改数据库中的对象,用于创建或更改数据库中的对象,如如AccessAccess或或SQL ServerSQL Server表等。表等。子子查查询询:包包含含另另一一个个选选择择查查询询或或操操作作查查询询中中的的SQL SQL SelectSelect语语句句。可可在在查查询询设设计计网网格格“字字段段”行行输输入入语语句句来定义新字段,或在来定义新字段,或在“准则准则”行来定义字段的准则。行来定义字段的准则。本讲首页本讲首页5.2 5.2 使用向导创建查询使用向导创建查询 1.1.创建查询的方法创建查询的方法查询设查询设计视图计视图查询查询向导向导动动 2.2.简单查询向导的使用简单查询向导的使用简单查询向导的功能:简单查询向导的功能:以一个或多个表中的指定字段创以一个或多个表中的指定字段创建查询;对一组记录或全部记录进行各种统计。建查询;对一组记录或全部记录进行各种统计。一般步骤一般步骤启动简单查询向导启动简单查询向导指定记录源指定记录源进行统计计算进行统计计算指定查询名称指定查询名称 3.3.创建子查询创建子查询子查询:子查询:数据源为一个查询而不是表的查询。数据源为一个查询而不是表的查询。可使用简单查询向导来创建子查询。可使用简单查询向导来创建子查询。一般步骤一般步骤启动简单查询向导启动简单查询向导指定已有查询的一些指定已有查询的一些字段作本查询字段字段作本查询字段进行统计计算进行统计计算指定查询名称指定查询名称指定已有查指定已有查询作数据源询作数据源动动 交叉表查询:交叉表查询:某些字段名作行标,某某些字段名作行标,某些作列标,行与列交叉处显示值些作列标,行与列交叉处显示值一般步骤一般步骤启动交叉表查询向导启动交叉表查询向导指定已有查询指定已有查询的一些字段的一些字段指定行标指定行标指定查询名称指定查询名称指定列标指定列标指定交叉点处值指定交叉点处值 4.4.交叉表查询向导的使用交叉表查询向导的使用 本讲首页本讲首页5.3 5.3 查询设计器的使用查询设计器的使用 1.1.查询设计器的构造查询设计器的构造作数据源作数据源的表或查的表或查询列表询列表查询设查询设计网格计网格设定查设定查询条件询条件字段名字段名字段来源字段来源 2.2.打开查询设计器打开查询设计器显示表显示表对话框对话框 3.3.查询设计视图中的工具条查询设计视图中的工具条 视图按钮:视图按钮:在查询的三种视图之间切换在查询的三种视图之间切换 查询类型按钮:查询类型按钮:可在选择查询、交叉表查询、生成表可在选择查询、交叉表查询、生成表查询、更新查询、追加查询和删除查询之间切换查询、更新查询、追加查询和删除查询之间切换 执行按钮:执行按钮:执行查询,以工作表形式显示结果集执行查询,以工作表形式显示结果集 显示表按钮:显示表按钮:显示显示“显示表显示表”对话框,列出当前数据对话框,列出当前数据库中所有的表和查询,以便选择查询的数据源库中所有的表和查询,以便选择查询的数据源 合计按钮:合计按钮:在查询设计区增加在查询设计区增加“总计总计”行,用于各种行,用于各种统计计算,如求和、求平均值等。统计计算,如求和、求平均值等。视图视图查询类型查询类型执行执行显示表显示表合计合计上限值上限值 生成器生成器 新对象新对象属性属性数据库窗口数据库窗口 合计按钮:合计按钮:在查询设计区增加在查询设计区增加“总计总计”行,用于各种统行,用于各种统计计算,如求和、求平均值等。计计算,如求和、求平均值等。上限值按钮:上限值按钮:可以对查询结果的显示进行约定,用户可可以对查询结果的显示进行约定,用户可在文本框内指定所要显示的范围。在文本框内指定所要显示的范围。属性按钮:属性按钮:显示光标处的对象属性。显示光标处的对象属性。若光标在查询设计器上半部,则将显示查询的属性若光标在查询设计器上半部,则将显示查询的属性若光标在查询设计网格内,则将显示字段列表属性若光标在查询设计网格内,则将显示字段列表属性 若光标在字段内,则将显示字段属性若光标在字段内,则将显示字段属性 生成器按钮:生成器按钮:弹出表达式生成器对话框,用于生成准则弹出表达式生成器对话框,用于生成准则表达式。在光标位于查询设计网格的表达式。在光标位于查询设计网格的“准则准则”栏时有栏时有效效 数据库窗口按钮:数据库窗口按钮:回到数据库窗口。回到数据库窗口。新对象按钮:新对象按钮:打开打开“新建表新建表”、“新建查询新建查询”、“新建新建报表报表”等各种对话框,准备生成相应的对象。等各种对话框,准备生成相应的对象。选择数据源:表或查询,放在上半部;选择数据源:表或查询,放在上半部;从表中选择字段,放在下半部设计网格;从表中选择字段,放在下半部设计网格;键入准则,设置排序方法,设置是否显示等。键入准则,设置排序方法,设置是否显示等。4.4.查询设计的过程查询设计的过程 本讲首页本讲首页5.4 5.4 条件与参数查询条件与参数查询 1.1.准则的使用准则的使用条件:条件:创建查询时添加的限制条件。可使查询结果集中创建查询时添加的限制条件。可使查询结果集中包含且仅包含必要的数据记录。包含且仅包含必要的数据记录。创建查询时,在查询设计器的准则行中输入创建查询时,在查询设计器的准则行中输入准则表达式准则表达式,使使Access只显示那些符合准则的记录。如只显示那些符合准则的记录。如 10 只显示字段值大于只显示字段值大于10的记录的记录 Between 1000 And 5000 显示值为显示值为10005000的记录的记录输入准则的方法:输入准则的方法:在设计视图中打开查询,在指定字段在设计视图中打开查询,在指定字段“准则准则”行的网格中