-
1 视频
-
2 作业
数数据库创建完毕,接下来工作是创建数据表,表是用来存储和管理数据的对象,是数据库的基础,也是数据库中其他对象的数据来源。
表由表结构和记录组成。表结构是表的一个框架,由每个字段的字段名、字段的数据类型、字段的属性组成;记录就是要存放的内容、数据。一般先设计表结构,然后输入数据。
表结构设计
表结构由字段名称、字段数据类型和字段属性组成。
1.字段名称
字段名称是表中某一列的名称,在数据表中字段名必须保证唯一,字段名命名要符合规则,可以使用字母、汉字、数字、空格和其他字符,长度为1~64个字符,但不能够使用句号(。)、感叹号(!)、重音符(`)和方括号([])等。
2.字段数据类型
字段数据类型决定了该字段所保存数据的存储形式和使用方式。Access包括12种数据类型。
(1)文本
用于文字或文字和数字的组合,文字如姓名,地址等。还包括不需要计算的数字,如电话号码、学号等。文本类型最多可以存储255个字符。
(2)备注
用于保存较长的文字信息,如简历、备注、产品说明等。备注型最多可存储65535个字符。
(3)数字
主要是用于需要进行计算的数值数据,如成绩、工资等。
(4)日期和时间
用于日期和时间格式的字段。如参加工作时间、生日、入学时间等。
(5)货币
用于货币值,当输入货币型数据时,系统会根据所输入的数据自动添加货币符号和千位分隔符。
(6)是/否
就是布尔类型,用于存放逻辑数据,只能取两种值中的一种(“是/否”、“真/假”、“开/关”)。如团员否、婚否等。
(7)自动编号
自动编号型字段存放系统指定的记录号,不允许人工指定或者修改,其值一旦被指定,就永久和该条记录绑定在一起,当该条记录被删除时,该自动编号数据将不再被使用。
(8)OLE对象
用于链接或嵌入OLE对象,如文字、声音、图像、表格等。如照片、录像等。
(9)计算字段
用于存放根据同一表中的其他字段计算所得的结果值。计算时必须引用同一张表中的其他字段。
(10)超链接
超链接用于存放链接到本地或网络上资源的地址。可以是UNC(通用命名规则)路径或URL(统一资源定位符)网址。
(11)附件
可以将图像、电子表格文件、文档、图表等各种文件附加到数据库记录中。它是存放任意类型的二进制文件的首选数据类型。
(12)查阅向导
显示从表或查询中检索到的一组值,或显示创建字段时指定的一组值。查阅向导型字段显示为文本型,所不同的是该字段保存一个值列表,输入数据时从一个下拉列表中选择。
3.字段的属性
字段的属性用于描述字段的特征,控制字段的存储、输入和显示方式等。在设计表结构时不但要考虑字段的名称、字段的类型,还要考虑字段的大小、小数点的位数、输入格式、显示格式、默认值、字段的有效性规则、有效性文本、是否为空、是否建立索引、主键等。例如学生表中的“学号”字段,数据类型为文本型,宽度最大设置为12位;对于“性别”字段可以考虑设置默认值“男”;对于“出生日期”字段,要考虑日期的输入格式、显示格式;另外为了提高检索的速度要考虑对哪些字段设置索引、为了标识实体记录要考虑哪个字段可以建立主键等。
创建表
对数据表的结构了解之后,下面开始创建表。Access创建表的方法有以下几种:
(1)使用设计器创建表
(2)使用数据表视图创建表
(3)通过数据导入创建表
(4)使用SharePoint列表创建表
在前面介绍的创建空数据库后,Access默认创建一个表“表1”,并自动进入数据表视图让用户设计表。而在实际应用中,利用设计器设计表方法最灵活、最常使用,本节只介绍利用设计器创建表。
【例】在学籍管理数据库中创建“学生”表,表的结构如表所示:
字 段 名
类 型
宽 度
说 明
xh
文本
12
学号
xm
文本
4
姓名
xb
文本
1
性别
csrq
日期
默认
出生日期
mz
文本
12
民族
zzmm
文本
4
政治面貌
rxsj
日期
8
入学时间
gkcj
整形
默认
高考成绩
bjmc
文本
20
班级名称
jg
文本
50
籍贯
jl
备注
默认
个人简历
zp
OLE
默认
照片
操作步骤如下:
(1)打开“学籍管理”数据库,选择“创建”选项卡,单击“表设计”按钮,打开表设计窗口,如图所示:
(2)在表编辑器中,字段名称输入xh,数据类型选择文本,常规属性区域中,设置字段大小12,标题属性输入“学号”,允许空字符串输入“否”,索引选择“有(无重复)”,即为唯一索引;
(3)重复第二步骤的操作,按要求定义其他字段,设计好的表结构如图所示:
用同样的方法创建“课程”表和“成绩”表,结构分别如表1和表2:
表1:
字 段 名
类 型
宽 度
说 明
kch
文本
6
课程号
kcm
文本
20
课程名称
kcxz
文本
10
课程性质,选修或是必修
xs
整型
默认(2)
学时
xf
整型
默认(2)
学分
表2:
字 段 名
类 型
宽 度
说 明
xh
文本
12
学号
kch
文本
6
课程号
cj
整型
默认(2)
成绩
输入记录
表创建完毕,开始输入数据。在表中输入记录非常简单,只要打开一个表,在该表的“数据表视图”中直接输入数据。输入数据时要注意数据的规范性,日期/时间型要用一对“#”号括起来,例如#2013-5-5#;自动编号型数据系统自动添加,不能手动指定或更改自动编号型字段中的数值,删除记录时,系统不再使用已被删除的自动编号数值;OLE类型的字段如“照片”字段输入数据时需要将光标处于该单元格,单击鼠标右键,选择“插入对象”,插入图片、Word文档、Excel表格等对象,插入数据后,该字段显示插入文件的类型,不会直接将内容在表格中显示出来,例如插入一个BMP格式的文件,显示为BitmapImage。
输入完记录,“学生”表的数据视图如图所示:
建立关系
数据库中往往存放多张表,为了能够同时显示来自多个表中的数据,必须为表建立关系。表间建立了关系,还可以设置参照完整性、编辑关联规则等。要建立关系,必须首先为相关联的字段建立索引。
1.建立索引
索引是按照某个字段或字段集合的值进行排序的一种技术,目的是为了提高检索速度,同时也是建立表间关系的前提。
索引分为普通索引和唯一索引两大类。普通索引允许该属性值有重复,主要作用就是为了加快排序和检索的速度,一个表可以建立多个普通索引;唯一索引不允许该属性值有重复值,唯一索引可以标识该条记录,一个表也可以建立多个唯一索引,在Access数据中,只能选择一个作为主索引。当把字段设置为主键后,该字段就是主索引。
【例6.4】将“学生”表中的“学号”字段设置为主键,“姓名”字段设置为普通索引。
操作步骤如下:
(1)打开“学籍管理”数据库,选择“学生”表,单击鼠标右键,选择设计视图,在设计视图下打开“学生”表;
(2)在“设计”选项卡中单击索引图标,打开索引设计窗口,如图所示:
3)在第一行输入索引名称“xh”,字段名称选择“xh”字段,排序方式默认“升序”,然后在下半部分索引属性区域,主索引设置为“是”,唯一索引设置为“是”,“xh”字段设置为主键,该行左侧出现一个小钥匙图标。同样方法为“xm”字段建立一个索引名称为“xm”,索引属性区域主索引和唯一索引都设置为“否”,便为“xh”字段设置为普通索引。
用同样的方法将课程表中,“kch”字段可以设置为主键,成绩表中“xh”和“kch”设置为普通索引。
2.建立关系
表之间可以通过具有相同意义的字段建立关系,关系有一对一、一对多、多对多三种。建立关系时将具有“一”的一方称为主表,具有“多”的一方称为子表。
【例】对“学籍管理”数据库中的表建立关系。
分析:该数据库有学生、课程、成绩三个表,已经按照公共字段建立了索引。学生表和成绩表可以通过学号字段建立一对多关系;课程表和成绩表可以通过课程号字段建立一对多的关系。两个关系将三个实体联系起来。
操作步骤如下:
(1)打开“学籍管理”数据库,在功能区选择“数据库工具”选项卡,单击关系图标,打开关系设计窗口如图所示:
(2)将主表“学生”表中的“xh”字段拖到子表成绩表的“xh”字段上,弹出如图所示的编辑关系窗口:
(3)从图6.23看出“学生”表和“成绩”表通过“xh”字段建立了关系。单击“确定”按钮返回到关系设计窗口。同样的方法将课程表和成绩表建立关系,结果如图所示:
实施参照完整性
参照完整性是一个规则,利用它可以确保存在关系的表中的记录的有效性,并且不会随意的删除或更改相关数据。
如图所示,已经为学生表和成绩表建立了关系,双击之间的联系,弹出的编辑关系窗口。该窗口有三个复选框实施参照完整性、级联更新相关字段、级联删除相关字段,只有选择了实施参照完整性复选框,后两个才有效。
1.实施参照完整性
如果实施参照完整性,那么在主表中不存在的记录,不能够添加到子表中;反之,如果子表中存在与主表相匹配的记录时,则在主表中不能够删除该记录。
例如,假若学生表中不存在学号为“201300140001”的学生记录,则在成绩表中不能添加该学生的成绩;如果学生表中有一个学生记录,学号为“201300140002”,成绩表中也有该学生的成绩信息,则在学生表中不能够删除该学生信息。
2.级联更新相关字段
如果更改主表中的主键值,则可以在一次操作中更新主表中记录及所有子表中的相关记录。例如学生表中有个学号为“201200140002”的学生,现将学号修改为“301200140002”,则在成绩表中所有学号为“201200140002”的值,自动修改为“301200140002”,保证了数据的一致性。
3.级联删除相关字段
如果某个记录在相关表中有匹配记录,则可以在一次操作中删除主表中的记录及所有相关子表中的记录。
例如要删除学生表中学号为“201200140002”的记录,则自动删除成绩表中相关记录。