数据库第四章-表的操作.ppt_第1页
数据库第四章-表的操作.ppt_第2页
数据库第四章-表的操作.ppt_第3页
数据库第四章-表的操作.ppt_第4页
数据库第四章-表的操作.ppt_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第四章 表的操作,关系数据库是基于关系模型设计出来的若干张二维数据表的集合。表也称关系,是关系数据库用来存储和管理数据的对象,是整个关系数据库系统的基础,也是数据库中其它对象的操作依据。 本章介绍表的结构、创建、数据维护等对表的常规性操作。,4.1 表的构成与创建,在Access中设计表主要是对下列内容进行定义与规划: (1) 表的名字; (2) 每个字段的属性,包括字段名、字段类型、字段长度和约束条件等; (3) 确定索引字段; (4) 确定与其它表的关联和多字段约束; (5) 向表中输入数据。 以上设计中前四个步骤称为表结构的设计,第五个步骤为表的数据操作,包括数据的插入、删除和修改等。,表的构成:,表4.2给出一张学生信息的二维表,其中每行代表一个学生的信息,对每个学生描述其学号、姓名、性别、出生年月、籍贯和所在班级编号等方面的信息。表中每一列是相同类型的数据,如所有学生的学号、所有学生的姓名等。,确定表的结构还需要确定表中各字段的约束条件、表的索引以及与其它表之间的关联。 (1) 约束条件:数据表的约束条件是对数据库数据的约定,以保证数据的一致性。 例如,一般姓名不能为空,学生的学号是唯一的,即两个学生不能取相同学号等等。,从作用范围来看,约束主要分为列级约束和表级约束。 列级约束:仅对表中指定的字段起作用的约束,如非空约束、唯一约束等。 表级约束:对表中多个字段起作用的约束,如由多个字段构成的主键约束等。,常见的约束包括以下几种: 非空(NOT NULL)约束:列级约束。定义字段的输入值不能为空(NULL)。 如: “学生”表中的“学号”不能为空。, 唯一(UNIQUE)约束:列级约束,也可以是表级约束。定义一个或多个字段的输入值必须唯一且不能重复。 如:“学生”表中的“学号”不能重复。 如:“选课”表中的“学号+课程编号+教师编号”不能重复。, 检查(CHECK)约束:列级约束。定义字段的输入值必须满足用户给定的约束条件。 如:“学生”表中的“性别”必段输入“男”或“女”, 主键(PRIMARY KEY):列级约束,也可以为表级约束。定义每个记录的主健取值唯一且不能为空。每张表最多定义一个主键约束。 如:定义“学生”表中 “学号”为主键,且只能有一个主键。 如:“选课”表中的“学号+课程编号+教师编号”不能重复。, 外键(FOREIGN KEY)约束:列级约束,也可以为表级约束。一般定义某字段为外键的表称从表,其所引用字段所在的表称为主表。该约束要求从表中受此约束作用的字段的输入值必须是在主表中已经存在的字段值。 如: “班级”表与“学生”表(主-从) 定义“学生”表中的“班级编号”为外键,与它的主表“班级”中的“班级编号”对应。,(2) 索引:数据库中的索引与书籍中的目录类似,在一本书中,利用目录可以快速查找到所需要的信息,无须从头到尾顺序查找整本书。索引使数据库程序无需对整个表进行扫描,就可以在其中找到所需要的数据。利用索引可以加快数据查询的速度、减少系统响应时间。,(3) 关联:一个关系数据库一般由多张表组成,每张表反映系统的一类实体或某些实体类之间的联系。 例如,在学生管理信息系统数据库中学生、系、学院、班级和课程等分别表示一类实体。现实中班级与学生之间存在的关联是每个学生都属于一个确定的班级,每个班级都是由学生组成的。这种关联体现在关系数据库中,则是学生表对班级表的“班级编号”字段的引用关系。,Access中的数据类型:,设计表的结构,首先要确定表中各列的名称和数据类型。 Access定义了11种数据类型。,学生表的结构定义如下:,创建表结构:,用户完成表结构的设计后,需要利用数据库管理系统创建表。 Access提供多种创建数据表的方法,其中表设计视图是一种可视化工具,用于设计和编辑数据库中的表结构。用户可输入事先设计好的字段名、字段类型、长度、约束、主键等信息,完成对表的定义。 建议:建立表结构时采用设计视图的方法。 或:用SQL语言创建表的一般结构,再用设计视图 修正。,4.2 表结构维护,字段标题与输入输出格式设置:,1. 字段标题设置 字段标题是输出字段数据时在表、窗体或报表中对该字段所对应列的标题。通过设置字段标题可将数据以用户比较容易接受的方式显示出来,并隐藏数据库的结构。 如:假如有一字段名为“cj”,希望表格显示“成绩”。,2. 输出格式设置 对字段输入输出格式的设置可确保数据输入、输出符合一定规范,并避免用户的输入错误。字段格式的设置只影响数据的输入和输出格式,不影响数据内容。 如例4.1、例4.2。,3. 自定义格式化输入/输出格式 Access允许用户自定义字段格式,以满足用户特殊需求。对不同数据类型的数据,自定义格式的方法和格式符号是不同的。具体使用时可参照表4.8、4.10、4.11。 例如:显示电话号码时前面加020; 数字保留2位小数显示等等。,4. 输入掩码的设置 指定“输入掩码”,可以屏蔽非法输入,减少人为的数据输入错误,并保证输入的字段数据格式统一、有效。 例如:学号必须是6位数字,其掩码是000000 将出生日期的输入掩码设置成短日期 密码输入,其掩码可用向导设置,有效性规则与有效性文本:,字段的“有效性规则”和“有效性文本”主要用来避免一些输入错误。当输入数据时,系统检查该字段新输入数据是否满足“有效性规则”表达式,如果满足则可接收此数据并存入数据库。如果不满足“有效性规则”表达式,则系统给出错误提示,要求重新录入。,例如,规定学生表中学费在5000到6000之间,可设置其“有效性规则”表达式为: 学费5000 and 学费6000 若录入某学生学费不满足条件,系统会给错误提示,要求重新录入。 注:“学费”可以不写,或写成学费 。,其它约束:,1. 设置字段必填 数据表中的有些字段在输入数据是必须录入的,对这样的字段,可在字段属性中“必填字段”属性框中选择“是”。此时系统在录入或修改记录时,就会要求用户必须向字段输入一个数据值。,2. “小数位数”属性 通过“小数位数”属性可以选择显示“数字”型或“货币”型数据的小数位数。,3. 指定主键 建议对每张表指定一个主键。当一个字段被指定为主键之后,会发现字段的“索引”属性自动被设置为“有(无重复)” 。,4.3 表数据的输入与维护,建立表的目的是存储数据,因此建立表结构后对表的主要操作就是数据的录入与维护。,数据录入与编辑: 数据处理最直接的方式是以“数据表”方式打开表,在看到数据时进行数据的增加、删除与修改操作。 对表中的数据,较复杂的操作包括数据修改、数据复制、数据的查找与数据替换等几种。,1. 数据修改 修改表中的数据最简单的方法是用鼠标或键盘选择相应记录的要修改的字段,直接输入新值即可。但为保证数据安全、提高效率,一般可采用以下几种方法: 采用数据替换方式进行数据批量修改。 用命令方式进行数据单个或批量修改,此方法用到专门的数据库的结构化查询语言SQL语言。 设计专门用于数据修改的窗体,让用户在窗体中进行数据修改。,3. 数据的查找操作 (1) 按记录号查找数据 使用记录定位器指定记录号,或到首末记录。 (2) 查找指定内容 使用查找替换的方法。 查找操作较多采用的是SQL语言。,2. 数据复制 与一般的复制相同。但注意定义了主键或其它字段的唯一性约束,则插入不成功。,格式化数据表: 包括更改行高和列宽、改变字段次序、隐藏/显示列、冻结/解冻列、设置数据表格式和显示设置字体等。,导入与导出数据及链接外部数据: 1. 导入表操作 可以导入其它Access数据库文件、Word文档、Excel等多种符合Access规格的文件。 2. 导出表操作 导入的反操作。,记录排序: 在数据表中查看数据时,数据的顺序是其输入顺序或按主键升序。而在数据库实际应用中,往往需要依据不同需求排列数据。 例如,查看按学生年龄、姓名或籍贯排列的学生记录。,包括对数据表中数据记录的排序、筛选、查找、替换等操作。,4.4 记录操作,排序记录时所依据的规则: 中文按拼音字母的顺序排序。 英文按字母顺序排序。大、小写视为相同。 数字由小至大排序。,筛选记录: 有时不需要显示整个数据表,而是只想查看其中某些数据,而且其它暂时不想显示的数据并不想删除。 例如,只查看广东籍的学生记录,或只查看1990年后出生的学生记录等。 筛选操作在数据表中可以为一个或多个字段指定条件,只有符合条件的记录才被显示出来。,四种方法筛选记录: 1. 按选定内容筛选 例如,对学生表,选择一个性别值为“男”的记录。 选择一个性别值为“男”的籍贯为“广东”的记录。,2. 按窗体筛选 例如,查看班级号为111的男生或班级号为112的女生。,3. 输入筛选目标 例如,查看出生日期大于1987-1-1的男生。,4. 高级筛选 当涉及到条件复杂的筛选情况时,可使用高级筛选。使用“高级筛选/排序”窗口筛选记录可以是针对数据库中的多个表或查询。 例如,查看出生日期大于1987-1-1的男生。按籍贯升序排列。 例如,在学生表中找出出生在1987年的男生。并按出生日期升序排列。,索引相关知识: 1. 索引的概念 索引是非常重要的属性。在一个字段上建立索引后,可以以索引作为入口对数据表中的数据进行访问,此时顺序读写数据所得到的不再是按存储数据的先后顺序而是索引文件中排列的索引列的顺序。,4.5 表的索引与关联,索引表可加快系统对查询请求的处理速度。 例如,对数据表要查找年龄最小的学生,如果没有索引,需要搜索整个数据表,逐个判断查找出生年月最小的学生。而如果存在此字段上的索引,则只在提取索引文件中最后一个记录所对应的数据表记录即可。,例如对学生表按出生年月字段建立索引,则索引文件中保存的数据格式见表。,2. 索引的分类 索引一般分为聚集索引、非聚集索引两类,或分为主键索引、非主键索引两类。 索引的概念,(1) 聚集索引 聚集索引的主要特点是索引的顺序与数据表中的记录的物理顺序相同。 例如,字典中的拼音查找目录就是聚集索引因为它的顺序和字典中内容的顺序相同。 例如,学生表中设置学号为主键,则学号的排列顺序就是记录的物理顺序。 在一般数据库系统中每个表只能有一个聚集索引。,(2) 非聚集索引 非聚集索引的索引顺序与表中记录的物理顺序可以不同,即非聚集索引不会改变表中的记录的物理顺序,相当于字典中的部首查找法。一个数据表可以拥有一个或多个非聚集索引。 例如,学生表中设置班级编号为外键,属非聚集索引,不影响记录的物理顺序。,另外,索引还可分为唯一索引与一般索引。 唯一索引并不是对于索引存储类别的分类,它表示该列的值唯一,它既可以是聚集索引也可以是非聚集索引。在创建主键时,将会自动创建唯一聚集索引。 例如,学生表中的学号和属唯一索引,班级编号则为一般索引。而在班级表中班级编号是唯一索引。,3. 索引的创建方法 Access允许多种方式创建索引: (1) 主键索引的建立方法。 具体操作过程 :进入表的设计视图,选中某个要做主键的列后,右击表中最左端。,(2) 在单个字段上创建索引的方法。 具体操作过程在表的设计视图下,点击要选择的列,选择索引条目,选择无,则此列上没有索引,选择“有(有重复)”,则建立一个允许重复值存在的索引;选择“有(无重复)”,则系统在此字段上建立一个唯一索引。,(3) 输入SQL语句的方式创建索引。 若需要建立更复杂的索引,则需要通过输入SQL语句建立查询来进行操作。,创建表间关联: 一个关系数据库一般由多张表组成,每张表反映系统的一类实体或某些实体类之间的联系。 例如,在学生管理信息系统数据库中,则教师、学生、系、学院、课程等分别表示一类实体。而选课表则反映了学生、课程和教师之间的联系,即学生选择某门课程进行学习,由教师与学生共同完成教学任务并最终给出学生该门课的成绩。,由此可知,一个数据库中多张表之间一般是存在某些联系的。,1. 关联分类 (1) 一对一(1:1)关联 例如学院和院长之间的关系,现实中一般每个学院只有一个院长(现任的),而且每个院长只能担任一个学院的院长,所以学院和院长之间是一对一的关系。,(2) 一对多(1:n)关联 例如学生和系之间的关系,每个学生最多属于一个系,而每个系可包含多个学生。,(3) 多对多(m:n)关联 例如学生和课程以及教师与课程之间的关系,一般每个学生可以选修多门课程,每门课程也可以由多个学生选修,因此二者之间是多对多的关系。同理每个教师可以上多门课程,每门课程也可以由多个教师上。,多对多关系实际上是某两个表与第三个表的两个一对多关系,第三个表的主键包含两个字段,分别是前两个表的外键。,选课,学生-选课(1:n),课程-选课(1:n),教师-选课(1:n),n,M,M,n,2. 关联的建立方法 建立数据库中表之间的关联,需要满足一定的条件,其一是表与表之间两个字段是有关联的。其二是主表相应字段已建立了主键或唯一索引。所谓主表指被关联的表,而关联到主表的另一表称为从表。,建立两张表之间关联的过程如下: (1) 打开工具菜单/关系; (2) 将要建立关联的表选择添加到“关系”窗口; (3) 将从表中的相关字段拖到主表的相关字段位置,则系统弹出“编辑关系”对话框。在此对话框中选中“实施参照完整性”,然后单击“创建

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论