




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第四章第四章 表的操作表的操作 关系数据库是基于关系模型设计出来的关系数据库是基于关系模型设计出来的若干张二维数据表的集合。表是关系数据库若干张二维数据表的集合。表是关系数据库用来存储和管理数据的对象,是整个关系数用来存储和管理数据的对象,是整个关系数据库系统的基础,也是数据库中其它对象的据库系统的基础,也是数据库中其它对象的操作依据。操作依据。 本章本章介绍表的结构、创建、数据维护等介绍表的结构、创建、数据维护等对表的常规性操作对表的常规性操作。 设计表主要是对下列内容进行定义与规划:设计表主要是对下列内容进行定义与规划: (1) 表的名字;表的名字; (2) 每个字段的属性,包括字段名、字
2、段类型、每个字段的属性,包括字段名、字段类型、字段长度和约束条件等;字段长度和约束条件等; (3) 确定索引字段;确定索引字段; (4) 确定与其它表的关联;确定与其它表的关联; (5) 向表中输入数据。向表中输入数据。 以上设计中前四个步骤称为表结构的设计,第以上设计中前四个步骤称为表结构的设计,第五个步骤为表的数据操作,包括数据的插入、删除五个步骤为表的数据操作,包括数据的插入、删除和修改等。和修改等。 表的构成:表的构成: 表表4.2给出一张学生信息的二维表,其中每行代表一个给出一张学生信息的二维表,其中每行代表一个学生的信息,每列是相同类型的数据,如所有学生的学号、学生的信息,每列是相
3、同类型的数据,如所有学生的学号、所有学生的姓名等。所有学生的姓名等。学号学号姓名姓名性别性别出生年月出生年月籍贯籍贯班级编号班级编号050101张三秋张三秋 男男 1986-6-9广东广东111 050102王五王五 男男 1986-8-8江苏江苏110 050103李玉李玉 女女 1985-9-12湖南湖南115 050104黄国度黄国度 男男 1986-8-13广东广东120 050105杜全文杜全文 男男 1987-1-15湖北湖北111050106刘德华刘德华 男男 1987-5-8广东广东111050107陆珊玉陆珊玉 女女 1986-8-9广东广东112050108陈晓丽陈晓丽 女
4、女 1985-8-14广东广东115 050109王青王青 男男 1986-1-25广东广东120. 确定表的结构还需要确定表中各字段的约束条确定表的结构还需要确定表中各字段的约束条件、表的索引以及与其它表之间的关联。件、表的索引以及与其它表之间的关联。 (1) 约束条件:数据表的约束条件是对数据库约束条件:数据表的约束条件是对数据库数据的约定,以保证数据的一致性。数据的约定,以保证数据的一致性。 例如,一般姓名不能为空,学生的学号是唯一例如,一般姓名不能为空,学生的学号是唯一的,即两个学生不能取相同学号,规定学生的合理的,即两个学生不能取相同学号,规定学生的合理年龄在年龄在1050岁之间等等
5、。岁之间等等。 从作用范围来看,约束主要分为列级约束和表从作用范围来看,约束主要分为列级约束和表级约束。级约束。 列级约束:仅对表中指定的字段起作用的约束,列级约束:仅对表中指定的字段起作用的约束,如非空约束、唯一约束等。如非空约束、唯一约束等。 表级约束:对表中多个字段起作用的约束,如表级约束:对表中多个字段起作用的约束,如由多个字段构成的主键约束等。由多个字段构成的主键约束等。 常见的约束包括以下几种:常见的约束包括以下几种: 非空(非空(NOT NULL)约束:列级约束。定义字段的输)约束:列级约束。定义字段的输入值不能为空(入值不能为空(NULL)。)。 如如: 要求要求“学生学生”表
6、中的表中的“姓名姓名”不能为空。不能为空。 唯一(唯一(UNIQUE)约束:列级约束或表级约束。定义)约束:列级约束或表级约束。定义一个或多个字段的输入值必须唯一且不能重复。一个或多个字段的输入值必须唯一且不能重复。 如:某个表中的如:某个表中的“身份证号身份证号”不能重复。不能重复。 检查(检查(CHECK)约束:列级约束。定义字段的输入)约束:列级约束。定义字段的输入值必须满足用户给定的约束条件。值必须满足用户给定的约束条件。 如:如:“学生学生”表中的表中的“性别性别”必段输入必段输入“男男”或或“女女” 主键(主键(PRIMARY KEY):列级约束或表级约束。定):列级约束或表级约束
7、。定义每个记录的主健取值唯一且不能为空。每张表最多定义一个义每个记录的主健取值唯一且不能为空。每张表最多定义一个主键约束。主键约束。 如:定义如:定义“学生学生”表中表中 “学号学号”为主键,且只能有一个为主键,且只能有一个主键。主键。 如:如:“选课选课”表中的表中的“学号学号+课程编号课程编号+教师编号教师编号”为主键。为主键。 外键(外键(FOREIGN KEY)约束:列级约束或表级约束。)约束:列级约束或表级约束。一般定义某字段为外键的表称从表,其所引用字段所在的表一般定义某字段为外键的表称从表,其所引用字段所在的表称为主表。该约束要求从表中受此约束作用的字段的输入值称为主表。该约束要
8、求从表中受此约束作用的字段的输入值必须是在主表中已经存在的字段值。必须是在主表中已经存在的字段值。 如:如: “班级班级”表与表与“学生学生”表表(主主-从从) 定义定义“学生学生”表中的表中的“班级编号班级编号”为外键,与它的主表为外键,与它的主表“班级班级”中的中的“班级编号班级编号”对应。对应。 (2) 索引:数据库中的索引与书籍中的目录类似,在一索引:数据库中的索引与书籍中的目录类似,在一本书中,利用目录可以快速查找到所需要的信息,无须从本书中,利用目录可以快速查找到所需要的信息,无须从头到尾顺序查找整本书。利用索引可以加快数据查询的速头到尾顺序查找整本书。利用索引可以加快数据查询的速
9、度。度。 (3) 关联:一个关系数据库一般由多张表组成,表与表关联:一个关系数据库一般由多张表组成,表与表之间可能是相互联系的。之间可能是相互联系的。 例如,现实中班级与学生之间存在的关联是每个学生例如,现实中班级与学生之间存在的关联是每个学生都属于一个确定的班级,每个班级都是由学生组成的。这都属于一个确定的班级,每个班级都是由学生组成的。这种关联体现在关系数据库中,则是学生表对班级表的种关联体现在关系数据库中,则是学生表对班级表的“班班级编号级编号”字段的引用关系。字段的引用关系。 Access中的数据类型中的数据类型: 设计表的结构,首先要确定表中各列的名称和设计表的结构,首先要确定表中各
10、列的名称和数据类型。数据类型。 Access常用的几常用的几种数据类型种数据类型如下如下:数据类型数据类型英文名英文名字段大小(字节)字段大小(字节)举例举例*文本文本Text最大长度最大长度255姓名、学号、性别姓名、学号、性别备注备注Memo可显示可显示 65535 个字符。个字符。个人简历个人简历*数字数字Number1、2、4 、8或或16个字节个字节成绩、金额、年龄成绩、金额、年龄*日期日期/时间时间Date/Time8出生日期出生日期货币货币Currency8工资、金额工资、金额自动编号自动编号Auto Number4、16自动插入一个唯一的数值。一般做主键字段。自动插入一个唯一的
11、数值。一般做主键字段。*是是/否否Yes/No1位位(8位为一个字节位为一个字节)取值可以是取值可以是“是是/否否”或或“真真/假假”等。等。OLE对象对象OLE Object最大最大1GB联接或内嵌于数据表中的对象,可以是图形、联接或内嵌于数据表中的对象,可以是图形、声音或其它数据。声音或其它数据。. 学生表的结构定义如下学生表的结构定义如下:列名列名数据类型数据类型 大小大小 可否为空可否为空 索引索引 说明说明学号学号文本文本6否否主键主键 学生的学号,主键,不空,唯一学生的学号,主键,不空,唯一姓名姓名文本文本8否否有有学生姓名,不能为空,普通索引学生姓名,不能为空,普通索引(有重复有
12、重复)性别性别文本文本2是是无无取值取值“男男”或或“女女”,默认,默认“男男”出生年月出生年月 日期日期/时间时间 8是是无无生日取值范围生日取值范围1959-1-11999-12-31 籍贯籍贯文本文本100是是无无小于小于50个字个字班级编号班级编号 文本文本10否否有有普通索引普通索引(有重复有重复),外键,外键 创建表结构创建表结构: 用户完成表结构的设计后,需要利用数据库管用户完成表结构的设计后,需要利用数据库管理系统创建表。理系统创建表。 Access提供多种创建数据表的方法,其中提供多种创建数据表的方法,其中“设设计视图计视图”是一种最完整的设计方法。用户可输入事是一种最完整的
13、设计方法。用户可输入事先设计好的字段名、字段类型、长度、约束、主键先设计好的字段名、字段类型、长度、约束、主键等信息,完成对表的定义。等信息,完成对表的定义。 建议:建立表结构时采用建议:建立表结构时采用“设计视图设计视图”的方法。的方法。或用或用SQL语言创建表的一般结构,再用设计视图修语言创建表的一般结构,再用设计视图修正。正。 字段名、类型和长度的修改与插入、删除和移动字段字段名、类型和长度的修改与插入、删除和移动字段: 选中要修改结构的表,打开表的设计视图。此选中要修改结构的表,打开表的设计视图。此时可完成所有对字段的维护。包括:时可完成所有对字段的维护。包括: 1. 删除字段删除字段
14、 2. 插入字段插入字段 3. 移动字段移动字段 4. 修改字段名、修改字段名、 长度或数据类型长度或数据类型 字段标题与输入输出格式设置字段标题与输入输出格式设置: 1. 字段标题设置字段标题设置 通过设置字段标题可将数据以用户比较容易通过设置字段标题可将数据以用户比较容易接受的方式显示出来,并隐藏数据库的结构。接受的方式显示出来,并隐藏数据库的结构。 如:假如有一字段名为如:假如有一字段名为“cj”,希望表格显示,希望表格显示“成绩成绩”。 2. 输入输入/出格式设置出格式设置 (了解了解) 对字段输入输出格式的设置可确保数据输入、对字段输入输出格式的设置可确保数据输入、输出符合一定规范,
15、并避免用户的输入错误。字输出符合一定规范,并避免用户的输入错误。字段格式的设置只影响数据的输入和输出格式,不段格式的设置只影响数据的输入和输出格式,不影响数据内容。影响数据内容。 如例如例4.1、例、例4.2。 3. 自定义格式化输入自定义格式化输入/输出格式输出格式 (了解了解) Access允许用户自定义字段格式,以满足用户允许用户自定义字段格式,以满足用户特殊需求。对不同数据类型的数据,自定义格式的特殊需求。对不同数据类型的数据,自定义格式的方法和格式符号是不同的。具体使用时可参照表方法和格式符号是不同的。具体使用时可参照表4.8、4.10、4.11。 例如:显示电话号码前面加例如:显示
16、电话号码前面加020;(“020-”&) 数字保留数字保留2位小数显示等等。位小数显示等等。(固定值固定值,2位小数位小数) 4. 输入掩码的设置输入掩码的设置 指定指定“输入掩码输入掩码”,可以屏蔽非法输入,减,可以屏蔽非法输入,减少人为的数据输入错误,并保证输入的字段数据少人为的数据输入错误,并保证输入的字段数据格式统一、有效。(注意几个常用掩码的设置:格式统一、有效。(注意几个常用掩码的设置:0、9、L、A、a、&、5000 and 学费学费6000 若录入某学生学费不满足条件,系统会给错若录入某学生学费不满足条件,系统会给错误提示,要求重新录入。错误提示的内容就是有误提
17、示,要求重新录入。错误提示的内容就是有效性文本。效性文本。 注:注:“学费学费”可以不写,或写成可以不写,或写成学费学费 。 其它约束其它约束: 1. 设置字段必填设置字段必填 在字段属性中在字段属性中“必填字段必填字段”属性框中选择属性框中选择“是是”。此。此时系统在录入或修改记录时,就会要求用户必须向字段输时系统在录入或修改记录时,就会要求用户必须向字段输入一个数据值。入一个数据值。 2. “小数位数小数位数”属性属性 通过通过“小数位数小数位数”属性可以选择显示属性可以选择显示“数字数字”型或型或“货币货币”型数据的小数位数。型数据的小数位数。 3. 指定主键指定主键 建议对每张表指定一
18、个主键。主键字段的建议对每张表指定一个主键。主键字段的“索引索引”属属性将自动被设置为性将自动被设置为“有(无重复)有(无重复)” 。4.3 表数据的输入与维护表数据的输入与维护 建立表的目的是存储数据,因此建立表结构建立表的目的是存储数据,因此建立表结构后对表的主要操作就是数据的录入与维护。后对表的主要操作就是数据的录入与维护。 数据录入与编辑:数据录入与编辑: 1. 数据修改数据修改 修改表中的数据最简单的方法是选择相应记录修改表中的数据最简单的方法是选择相应记录的要修改的字段,直接输入新值即可。但为保证数的要修改的字段,直接输入新值即可。但为保证数据安全、提高效率,一般可采用以下几种方法
19、:据安全、提高效率,一般可采用以下几种方法: 采用数据替换方式进行数据批量修改。采用数据替换方式进行数据批量修改。 用用SQL查询语言进行数据单个或批量修改。查询语言进行数据单个或批量修改。 设计专门用于数据修改的窗体,让用户在窗设计专门用于数据修改的窗体,让用户在窗体中进行数据修改。体中进行数据修改。 3. 数据的查找操作数据的查找操作 (1) 按记录号查找数据按记录号查找数据 使用记录定位器指定记录号,或到首末记录。使用记录定位器指定记录号,或到首末记录。 (2) 查找指定内容查找指定内容 使用查找替换的方法。使用查找替换的方法。 查找操作较多采用的是查找操作较多采用的是SQL语言。语言。
20、 2. 数据复制数据复制 与一般的复制相同。但注意定义了主键或其与一般的复制相同。但注意定义了主键或其它字段的唯一性约束,则插入不成功。它字段的唯一性约束,则插入不成功。 格式化数据表:格式化数据表: 包括更改行高和列宽、改变字段次序、隐藏包括更改行高和列宽、改变字段次序、隐藏/显示列、冻结显示列、冻结/解冻列、设置数据表格式和显示设解冻列、设置数据表格式和显示设置字体等。置字体等。 导入与导出数据及链接外部数据导入与导出数据及链接外部数据: 1. 导入表操作导入表操作 可以导入其它可以导入其它Access数据库文件、数据库文件、Word文档、文档、Excel等多种符合等多种符合Access规
21、格的文件。规格的文件。 2. 导出表操作导出表操作 导入的反操作。导入的反操作。 3. 链接表操作链接表操作 记录排序:记录排序: 在数据库实际应用中,往往需要依据不同需求在数据库实际应用中,往往需要依据不同需求排列数据。排列数据。 包括包括对表中对表中记录记录的排序、筛选、查找等操作的排序、筛选、查找等操作。4.4 记录操作记录操作例如,按学生出生日期排列查看学生记录。例如,按学生出生日期排列查看学生记录。 按学生姓名排列查看学生记录。按学生姓名排列查看学生记录。 按学生籍贯排列查看学生记录。按学生籍贯排列查看学生记录。 排序记录时所依据的规则:排序记录时所依据的规则: 中文按拼音字母的顺序
22、排序。中文按拼音字母的顺序排序。 英文按字母顺序排序。大、小写视为相同。英文按字母顺序排序。大、小写视为相同。 数字由小至大排序。数字由小至大排序。 筛选记录:筛选记录: 筛选操作在数据表中可以为一个或多个字段指筛选操作在数据表中可以为一个或多个字段指定条件,只有符合条件的记录才被显示出来。定条件,只有符合条件的记录才被显示出来。 例如,查看广东籍的学生记录例如,查看广东籍的学生记录 查看查看1990年后出生籍贯年后出生籍贯 “广东广东”的男生学生记的男生学生记录。录。 注:筛选仅为临时查看,不影响表中数据,且注:筛选仅为临时查看,不影响表中数据,且只针对一个表操作。而查询则按要求是生成一个新
23、只针对一个表操作。而查询则按要求是生成一个新表,可对多表进行操作。表,可对多表进行操作。 2. 按选定内容筛选按选定内容筛选 例如,对学生表,选定性别值为例如,对学生表,选定性别值为“男男”的记录。的记录。 3. 按窗体筛选按窗体筛选 例如,查看班级号为例如,查看班级号为111的男生或班级号为的男生或班级号为112的女生。的女生。 四种方法筛选记录:四种方法筛选记录: 1. 公用筛选器公用筛选器 例如,查看出生日期大于例如,查看出生日期大于1987-1-1的男生。的男生。 4. 高级筛选高级筛选/排序排序 当涉及到条件复杂的筛选情况时当涉及到条件复杂的筛选情况时, 使用使用“高级高级筛选筛选/
24、排序排序”窗口筛选记录可以方便地在同一界面窗口筛选记录可以方便地在同一界面中设置筛选的准则和排序方式。中设置筛选的准则和排序方式。 例如,查看出生日期大于例如,查看出生日期大于1987-1-1的男生,按的男生,按籍贯升序排列。籍贯升序排列。 例如,在学生表中找出出生在例如,在学生表中找出出生在1987年的男生,年的男生,并按出生日期升序排列。并按出生日期升序排列。 索引相关知识:索引相关知识: 1. 索引的概念索引的概念 索引是非常重要的属性。在一个字段上建立索索引是非常重要的属性。在一个字段上建立索引后,可以以索引作为入口对数据表中的数据进行引后,可以以索引作为入口对数据表中的数据进行访问。
25、建立索引的目的就是加快查询的速度。访问。建立索引的目的就是加快查询的速度。 4.5 表的索引与关联表的索引与关联 例如,要查找年龄最小的学生,如果没有索例如,要查找年龄最小的学生,如果没有索引,需要搜索整个数据表,逐个判断查找出生年引,需要搜索整个数据表,逐个判断查找出生年月最小的学生。而如果存在此字段上的索引,则月最小的学生。而如果存在此字段上的索引,则只在提取索引文件中最后一个记录所对应的数据只在提取索引文件中最后一个记录所对应的数据表记录即可。表记录即可。 例如,对学生表按出生年月字段建立索引,则例如,对学生表按出生年月字段建立索引,则索引文件中保存的数据格式如下表。索引文件中保存的数据
26、格式如下表。索引字段(索引关键字) 记录所对应的学生学号1985-8-140501081985-9-120501031986-1-230501311986-1-250501091986-2-24050133 2. 索引的分类索引的分类 索引一般分为聚集索引(又称主键索引)、非索引一般分为聚集索引(又称主键索引)、非聚集索引(又称非主键索引)两类。聚集索引(又称非主键索引)两类。 (1) 聚集索引聚集索引 聚集索引的顺序与数据表中记录的物理顺序相聚集索引的顺序与数据表中记录的物理顺序相同。在数据库系统中每个表只能有一个聚集索引。同。在数据库系统中每个表只能有一个聚集索引。 字典中的拼音查找目录就
27、是聚集索引,因为它字典中的拼音查找目录就是聚集索引,因为它的顺序和字典中内容的顺序相同。的顺序和字典中内容的顺序相同。 例如,学生表中设置学号为主键,则学号的排例如,学生表中设置学号为主键,则学号的排列顺序就是记录的物理顺序。列顺序就是记录的物理顺序。 (2) 非聚集索引非聚集索引 非聚集索引不会改变表中的记录的物理顺序非聚集索引不会改变表中的记录的物理顺序,一个数据表可以拥有一个或多个非聚集索引。一个数据表可以拥有一个或多个非聚集索引。 字典中的部首查找法就属于非聚集索引。字典中的部首查找法就属于非聚集索引。 例如,学生表中设置班级编号为非聚集索引,例如,学生表中设置班级编号为非聚集索引,并
28、不影响记录的物理顺序。并不影响记录的物理顺序。 另外,索引还可分为唯一索引与一般索引。另外,索引还可分为唯一索引与一般索引。 唯一索引并不是对于索引存储类别的分类,它唯一索引并不是对于索引存储类别的分类,它表示该列的值唯一,它既可以是聚集索引也可以是表示该列的值唯一,它既可以是聚集索引也可以是非聚集索引。而一般索引列的值可以是重复的。非聚集索引。而一般索引列的值可以是重复的。 例如,学生表中的学号属唯一聚集索引,若有例如,学生表中的学号属唯一聚集索引,若有身份证号则属唯一非聚集索引。班级编号则为一般身份证号则属唯一非聚集索引。班级编号则为一般索引。索引。 3. 索引的创建方法索引的创建方法 (
29、1) 主键索引的建立方法主键索引的建立方法 进入表的设计视图,选中某个要做主键的列后,进入表的设计视图,选中某个要做主键的列后,右击表中最左端。右击表中最左端。 (2) 在单个字段上创建索引的方法在单个字段上创建索引的方法 在表的设计视图下,选择索引条目,选在表的设计视图下,选择索引条目,选 “有有(有重复有重复)”,则建立一个允许重复值存在的索引;,则建立一个允许重复值存在的索引;选选 “有有(无重复无重复)”,则建立一个唯一索引。,则建立一个唯一索引。 (3) 输入输入SQL语句的方式创建索引语句的方式创建索引 索引也可以通过输入索引也可以通过输入SQL语句来创建。语句来创建。 创建表间关联:创建表间关联: 一个关系数据库一般由多张表组成,表与表之一个关系数据库一般由多张表组成,表与表之间是有联系的。间是有联系的。 例如,在学生管理信息数据库中,教师、学生、例如,在学生管理信息数据库中,教师、学生、系、学院、课程等分别表示一类实体,它们各自为系、学院、课程等分别表示一类实体,它们各自为一个独立的表,相互之间对又是有关联的。一个独立的表,相互之间对又是有关联的。 1. 关联分类关联分类 (1) 一对一一对一(1:1)关联关联 例如,学院和院长之间的关系。例如,学院和院长之间
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论