520 likes | 674 Vues
第 3 章 数据库和表. 3.1 创建 Access 数据库文件. Access 提供了两种数据库的创建方法。 1. 创建一个空的数据库,然后再添加表、窗体、报表以及其他对象,这种方法较为灵活。 2. 使用“数据库向导”,通过对向导提供选项的不同选择来设计窗体、查询和报表等,用这种方法仅一次操作就可以为所选择的数据库类型创建所需的表,是创建数据库最简单的方法。. 打开数据库. “ 打开”:以共享模式打开 “以只读方式打开” “以独占方式打开” “以独占只读方式打开”. 删除数据库. 打开 —— 选择要删除的数据库 —— 右键单击 —— 删除.
E N D
3.1 创建Access数据库文件 Access提供了两种数据库的创建方法。 1.创建一个空的数据库,然后再添加表、窗体、报表以及其他对象,这种方法较为灵活。 2.使用“数据库向导”,通过对向导提供选项的不同选择来设计窗体、查询和报表等,用这种方法仅一次操作就可以为所选择的数据库类型创建所需的表,是创建数据库最简单的方法。
打开数据库 • “打开”:以共享模式打开 • “以只读方式打开” • “以独占方式打开” • “以独占只读方式打开”
删除数据库 • 打开——选择要删除的数据库——右键单击——删除
数据库设计的基本方法 • 系统规划阶段,确定系统的名称、范围,开发的目标功能、性能,系统所需的资源等。 • 需求分析阶段,在用户调查的基础上,通过分析,逐步明确用户对系统的需求。 • 产生反映企业组织信息需求的数据库概念结构,即概念模型。
物理设计阶段,对数据库中数据在物理设备上的存放结构和存取方法进行设计。物理设计阶段,对数据库中数据在物理设备上的存放结构和存取方法进行设计。 • 系统实施阶段,建立实际的数据库结构;装入试验数据对应用程序进行测试;装入实际数据建立实际数据库。 • 其他功能设计,包括数据库的安全性、完整性和可恢复性等方面的设计。
3.2 创建表 在设计表的过程中应该达到以下标准标准: • 数据库中的记录唯一性,一个表中不应该有两个完全相同的记录。 • 数据表中的字段唯一性,数据表中的每个字段只能含有唯一类型的数据信息。 • 数据表中的字段无关性,在不影响其他字段的情况下,必须能够对任意字段进行修改(不包括主键字段)。 • 数据表中的字段与实体之间的功能相关性。在数据库中,任意一个数据表都应该有一个主键字段,这个主键字段与数据表中记录的各个实体相对应。
表的设计原则: • 表的功能要单一。(冗余、不一致) • 字段的唯一性。 • 记录的唯一性。 • 功能的相关性。 • 字段的无关性。
创建表的方法 • 使用表设计器创建表 • 使用向导创建表 • 通过输入数据创建表
创建表 • 例:教务管理系统 • 例:公司信息管理系统 • 在创建表之前,需要定义表的结构。 • 表由字段构成,创建表时需要说明表中字段的基本情况,比如字段名、字段类型或其它信息。
3.3 表的详细设计 1.字段名 • 可包含字母、数字和特殊符号。 • 可有1-64个字符。 • 不能使用ASCII码为0-31的字符(控制符)。 • 不能用 . ! [] `(抑音符) • 不能用空格开头。 2.字段类型
3.字段属性 (1)字段大小 • 只有当字段类型为“文本”或“数字”时, “字段大小”属性才是可设置。 • 字段类型为文本型时,设置值为1-255。 • 字段类型为数字型时,设置值下表所示。
(3)输入掩码 • “输入掩码”和“格式”同时设置时,“格式”优先。 • 使用“输入掩码”属性,可以使数据输入更容易,并且可以控制用户在文本框类型的控件中的输入值。 • 例如,可以为“电话号码”字段创建一个输入掩码,以便向用户显示如何准确地输入新号码,如:(010) 027-83956230等。通常使用“输入掩码向导”帮助完成设置该属性的工作。
(4)标题 • 取代字段名称在显示表中数据时的位置。 • 即在显示表中数据时,表列的栏目名将是“标题”属性值,而不是“字段名称”值。
(5)默认值 • Access自动为某字段填入的特定的数据 • 可减少输入时的重复操作。 • 一般可用“向导”帮助完成该属性的设置。
(6)有效性规则 • 可以限制用户输入数据的范围,从而拒绝接受错误的数据输入。 • 有效性规则由算术运算符、逻辑运算符、比较运算符和数据组成。
(7)有效性文本 • 当输入的数据违反了“有效性规则”的设定值时,“有效性文本”属性值将是显示给操作者的提示信息。
(8)必填字段 • 取值仅有“是”和“否”两项。 • 为“是”时,表示必填;为“否”时,表示可以不必填。
(9)允许空字符串 • 该属性仅对 “文本”型的字段有效 • 取值 “是”和“否”两项。当为“是” ,表示可以不填写任何字符。
(10)索引 • 本属性可以用于设置单一字段索引。 • 索引可加速对索引字段的查询,还能加速排序及分组操作。 • 取值:“无”,表示无索引;“有(有重复)”,表示有索引,且各记录中的数据可以重复;“有(无重复)”,表示有索引,且各记录中的数据不允许重复。
4.主关键字 • “自动编号”主键 • 单字段主键 • 多字段主键
5.建立索引 • 索引有助于快速查找和记录排序。 • 功能和形式等同于书的目录。 • 表的主键将自动设置索引。 • OLE对象数据类型的字段不能设置索引。
Access 2003提供两种形式的索引。 (1)字段索引 • 单个字段的索引 • 通过设定需检索字段的“索引”属性值,来实现字段索引的建立。 (2)组合索引 • 需将若干个字段组合在一起建立索引时,须使用组合索引。 • 在表设计视图中,单击工具栏上的“索引”工具按钮“ ”,即出现“索引”对话框如图所示。
“索引”对话框 • 在“索引名称”列中,输入所需要的索引名称; • 在“字段名称”列中,通过下拉式列表框选择所建立的组合索引中的各个字段; • 在“排序次序”列中,选定排序次序。
3.4 表间关系 • 在数据库应用系统中,一个数据库中常常包含若干个数据表,用以存放不同类别的数据集合。 • 而这些数据集合存放于同一个数据库中,是由于它们之间存在着相互联接的关系。这种数据集合间的相互联接称之为关联。
Access 2003是一个关系型数据库管理系统,关联是通过设定数据库中表对象的关联来实现的。 • 数据表关联的目的是为了实现关系联接运算,即将两个数据表中的相关记录联接形成一个新关系中的一条记录,这个新关系称为关联数据表。
在数据库中,不同表中的数据之间会存在关系,这种关系将数据库中各张表所表示的实体之间的关系表示出来,使得对一个数据的操作成为数据库的整体操作。在数据库中,不同表中的数据之间会存在关系,这种关系将数据库中各张表所表示的实体之间的关系表示出来,使得对一个数据的操作成为数据库的整体操作。
3.4.1 关系的类型 在关系数据库中包含三种关系,分别是: 一对一关系(部门——经理) 一对多关系(部门——员工) 多对多关系(项目——员工)
1.“一对一”关系 表1 表2 一一对应
2.“一对多”关系 表1 表2
3.“多对多”关系 表1 表2
3.4.2 参照完整性 • 不能在相关的外部关键字段中输入不存大于该主表主键中的值。 • 外部关键字段所有值都包含在主表主键中。 • 主表主键中没有的值不可能出现在外部关键字中。
3.4.3 建立表与表之间的关系 1.选定需要建立关联的表对象 • “关系”工具按钮、(【工具】|【关系】)
2.设定各个表对象间的关联 • 在“关系设计视图”窗口中,鼠标指向主表中的主键字段,按住鼠标左键将其拖曳至从表的外键字段上放开,就会弹出“编辑关系”对话框,如图所示。
3.选择关联类型 • 在 “编辑关系”对话框中,单击“联接类型”按钮“”,即可弹出“联接属性”对话框,如图所示。 • Access 2003支持三种不同类型的关联属性。 • 只包含来自两个表的联接字段相等处的行 • 包含所有“主表”的记录和那些联接字段相等的“从表”的记录 • 包括所有“从表”的记录和那些联接字段相等的“主表”的记录
3.4.4 编辑和删除表之间的关系 • 编辑表间关系: • 在“关系”窗口中,选择“关系”|“编辑关系” • 双击“关系联接线” • 右键单击“关系联接线” ,选择“编辑关系” • 删除表间关系: • 右键单击“关系联接线”,选择“删除” • Del
3.5 向表中输入记录 • 添加记录 • 打开表的“数据表”视图添加 • 保存记录 • 输入完一条记录后,按Tab键或回车键,系统自动保存。 • 单出“保存” • 删除记录 • 按Ctrl+- • 单击“删除记录” • 按Del
3.6 表的管理 3.6.1 复制表 在同一个数据库中复制表的操作 菜单栏“编辑”|“复制”命令 工具栏 右键单击
何时需要进行复制表的操作 (1)需要将一个结构相同的数据表中的数据全部追加到另一个数据表中 (2)需要将外部数据库中的一个表导入本数据库而成为本数据库中的一个表对象 (3)当需要在本数据库中创建一个新表,且该表结构与某一个表结构相似时
3.6.2 删除表 • Del • “编辑”|“删除” • 右键单击——删除
3.6.3 重命名表 • “编辑”|“重命名” • 右键单击——重命名 • 选中表、再单击左键
3.7 表记录的操作 • 查找和替换记录(编辑|查找、编辑|替换) • 记录的排序(记录|排序) • 记录的筛选(记录|筛选) • 按选定内容筛选 • 按选定内容排除筛选 • 按窗体筛选 • 高级筛选
3.8 修改表显示 • 改变字体、字号和颜色(格式|字体) • 改变数据表的样式(格式|数据表) • 调整行和列的大小(格式|行高、格式|列宽) • 列的隐藏、冻结和取消隐藏与冻结(格式|隐藏列、格式|冻结列、格式|取消隐藏列、格式|取消对所有列的冻结)