Access基础教程(第三版)第3章建立数据库第3章建立数据库3.1数据库的设计3.2创建数据库3.3创建表3.4字段类型和属性3.5字段编辑操作3.6主键和索引3.7表的联接3.8输入和编辑数据3.1数据库的设计1.确定创建数据库的目的2.确定该数据库中需要的表3.确定字段4.确定主键5.确定表之间的关系6.输入数据3.2创建数据库新建空Access数据库的方法:3.3创建表一个数据库中通常包含若干个数据表对象,数据表对象是数据库中的基本对象,是数据库中所有数据的载体。在Access中有三种创建表的方法:3.3.1使用表向导创建表在数据库窗口的“对象”列表下选择“表”,将当前工作状态切换到“表”上(图3.3),然后双击“使用向导创建表”,弹出“表向导”对话框(图3.4)。在“示例表”中选择要创建的表名,然后在右侧“示例字段”列表中选择所需的字段组成一个新表。3.3创建表3.3.2通过输入数据方式创建表在Access中还可以通过直接输入数据方式来创建表,我们不需要考虑字段类型及属性,系统会通过输入的数据来分析字段类型及属性,并加以定义。操作方法:在如图3.3所示的数据库窗口中双击“通过输入数据创建表”,则出现如图3.5所示的窗口。首先修改字段名称,然后输入数据,所有数据输入完后,单击工具栏中的“保存”按钮。在如图3.6所示的提示框,询问是否创建主键(主键是指能惟一标识表中每一行数据的字段),用户可以根据需要自行定义,也可以由Access指定,若默认给出,即选择“是”按钮,此时所给出的主键为ID(自动编号)。3.3创建表3.3.3使用设计器创建表相对前两种方法,使用设计器创建表更方便、直观和易于掌握,所以也是最常用的创建表的方法。在如图3.3所示的数据库窗口中,双击“使用设计器创建表”则出现如图3.7所示的窗口,在每一行中输入需要定义的字段名称,在数据类型列表框中选择所需的类型,在说明栏中输入对该字段的一些解释和注释信息,所输入的内容将会显示在窗口的状态栏中。在窗口下方的“常规”选项卡中可以对字段的属性进行设置。3.3创建表完成字段定义后,整个表的创建就完成了,单击工具栏中的“保存”按钮,会弹出如图3.8所示的对话框,要求输入表的名称,输入名称后单击“确定”按钮,屏幕上会出现提示框,询问是否创建主键,用户可以根据需要自行定义,选择需要定义为主键的字段,然后单击工具栏中的按钮,则此字段被设置为主键。当然也可以由Access自动创建。3.4字段类型和属性表的创建过程实际就是定义字段的过程:定义字段的类型、字段的属性以及关于字段的一些说明。字段是组成表的基本元素,创建一张表实际就是构造字段的过程。3.4.1字段类型例:表3.1字段数据类型字段类型的选择是由数据决定的,定义一个字段类型需要先来分析输入的数据。从两个方面来考虑,一是数据类型,字段类型要和数据类型一致,数据的有效范围决定数据所需存储空间的大小;二是对数据的操作,例如可以对数值型字段进行相加操作,但不能对“是/否”类型进行加法操作。例:图3.9“学生档案表”设计视图3.4字段类型和属性3.4.2字段属性1.字段大小在如图3.7所示的表设计视图中,设定一个字段,当输入字段类型时,在如图3.10所示的“数据类型”列表框选择所需要的类型,此时窗口下方“常规”选项卡如图3.11所示。该选项卡是对字段属性的设置,选择“字段大小”属性框。对于文本字段,该属性是允许输入数据的最大字符数。对于数字字段,将字段设置为数字型,单击“字段大小”属性框,单击会出现图3.12所示的下拉菜单,选择不同数字类型其操作范围也不同,如表3.2所示。3.4字段类型和属性2.格式可以统一输出数据的样式,如果在输入数据时没有按规定的样式输入,在保存时系统会自动按要求转换。格式设置对输入数据本身没有影响,只是改变数据输出的样式。若要让数据按输入时的格式显示,则不要设置“格式”属性。预定义格式可用于设置自动编号、数字、货币、日期/时间和是/否等字段,对文本、备注、超级链接等字段没有预定义格式,可以自定义格式。预定义格式如表3.3-3.5所示。3.4字段类型和属性“是/否”类型提供了Yes/No、True/False以及On/Off预定义格式。Yes、True以及On是等效的,No、False以及Off也是等效的。操作方法:在“常规”选项卡中,单击“格式”框空白处,在下拉列表中选择预定义格式,例如“是/否”类型,选择后结果如图3.13所示,可以设置输入方式。用户也可以在格式属性框中输入自定义格式符来定义数据的输入形式,例:将“出生日期”的格式属性定义为“mm\月dd\日yyyy”,如图3.14-3.15所示。3.4字段类型和属性3.输入法模式输入法模式用来设置是否允许输入汉字,有三种状态:“随意”、“输入法开启”和“输入法关闭”。“随意”为保持原来的汉字的输入状态。4.输入掩码输入法模式用来设置字段中的数据输入格式,可以控制用户按指定格式在文本框中输入数据,输入掩码主要用于文本型和时间/日期型字段,也可以用于数字型和货币型字段。例:设置学生表中的出生日期字段输入掩码为短日期图3.16-3.18表3.6输入掩码字符表3.4字段类型和属性5.标题在“常规”窗口下的“标题”属性框中输入名称,将取代原来字段名称在表中显示。例:将“院系”字段的“标题”属性设置为“所属院系”图3.19-3.206.默认值添加新记录时的自动输入值,通常在某字段数据内容相同或含有相同部分时使用,目的在于简化输入。3.4字段类型和属性7.有效性规则输入数据按指定要求输入,若违反“有效性规则”,将会显示“有效性文本”设置的提示信息,设置该属性可以防止非法数据的输入。例:设置“性别”字段的“有效性规则”属性设置为“男”Or“女”图3.218.有效性文本当用户违反“有效性规则”时所显示的提示信息。例:将“性别”字段的“有效性文本”属性设置为“提示:请输入男或女!”图3.22-3.233.4字段类型和属性9.必填字段此属性值为“是”或“否”项。设置“是”时,表示此字段值必须输入,设置为“否”时,可以不填写本字段数据,允许此字段值为空。10.允许空字符串该属性仅用来设置文本字段,属性值也为“是”或“否”项,设置为“是”时,表示该字段可以填写任何信息。11.索引设置索引有利于对字段的查询、分组和排序,此属性用于设置单一字段索引。属性值有三种,一是“无”,表示无索引;二是“有(重复)”,表示字段有索引,输入数据可以重复;三是“有(无重复)”,表示字段有索引,输入数据不可以重复。3.4字段类型和属性12.Unicode压缩在Unicode中每个字符占两个字节,而不是一个字节。在一个字节中存储的每个字符的编码方案将用户限制到单一的代码页(包含最多有256个字符的编号集合)。但是,因为Unicode使用两个字节代表每个字符,因此它最多支持65536个字符。可以通过将字段的“Unicode压缩”属性设置为“是”来弥补Unicode字符表达方式所造成的影响,以确保得到优化的性能。Unicode属性值有两个,分别为“是”和“否”,设置“是”,表示本字段中数据可能存储和显示多种语言的文本。3.5字段编辑操作表的修改也就是对字段进行添加、修改、移动和删除等操作。对字段修改通常是在表设计图中进行的。1.添加字段2.更改字段3.移动字段4.删除字段3.6主键和索引3.6.1主键表创建后都要设定主键,用它惟一标识表中的每一行数据。关系型数据库系统的强大功能,在于它可以查询窗体和报表以便快速地查找并组合保存在各个不同表中的信息。要做到这一点,每个表应该包含这样的一个或一组字段,这些字段是表中所保存的每一条记录的惟一标识,此信息称作表的主键。指定了表的主键之后,为确保惟一性,MicrosoftAccess将禁止在主键字段中输入重复值或Null。3.6主键和索引1.主键的基本类型(1)自动编号主键当向表中添加每一条记录时,可以将自动编号字段设置为自动输入连续数字的编号。将自动编号字段指定为表的主键是创建主键的最简单的方法。(2)单字段主键如果字段中包含的都是惟一的值,例如ID号或学生的学号,则可以将该字段指定为主键。(3)多字段主键在不能保证任何单字段都包含的惟一值时,可以将两个或更多的字段设置为主键。3.6主键和索引2.设置或更改主键(1)定义主键。在设计视图中打开相应的表,选择所要定义为主键的一个或多个字段。如果选择一个字段,请单击行选定器。如果要选择多个字段,请按下Ctrl键,然后对每一个所需的字段单击行选定器,然后单击工具栏上的“主键”按钮。(2)删除主键。在设计图中打开相应的表,请单击当前使用的主键的行选定器,然后单击工具栏上的“主键”按钮。3.6主键和索引3.6.2索引对于数据库来说,查询和排序是常用的两种操作,为了能够快速查找到指定的记录,经常通过建立索引来加快查询和排序的速度。建立索引就是要指定一个字段或多个字段,按字段的值将记录按升序或降序排列,然后按这些字段的值来检索。比如利用拼音检索来查字典。选择索引字段,可以通过要查询的内容或者需要排序的字段的值来确定索引字段,索引字段可以是“文本”类型、“数字”类型、“货币”类型、“日期/时间”类型等,主键字段会自动索引,但OLE对象、超级链接和备注等字段不能设置索引。3.6主键和索引1.创建单字段索引在设计视图中打开表,单击要创建索引的字段,在“常规”选项卡下“索引”属性框内部选择“有(有重复)”或“有(无重复)”。其中“有(无重复)”选项,可以确保这一字段的任何两个记录没有重复值。2.创建多字段索引在进行索引查询时,有时按一个字段的值不能惟一确定一条记录。例:学生表按“班级”检索时就有可能几个人同为一个班,不能惟一确定一个学生记录,可以采取“班级”字段+“出生日期”字段组合检索。3.7表的连接表之间的关系分为三类:一对一关系、一对多关系和多对多关系。(1)“一对一”关系。若有两个表分别为A和B,A表中的一条记录仅能在B表中有一个匹配的记录,并且B表中的一条记录仅能在A表中有一个匹配记录。(2)“一对多”关系。在一对多关系中,A表中的一个记录能与B表中的许多记录匹配,但是B表中的一个记录仅能与A表中的一个记录匹配。(3)“多对多”关系。多对多关系中,A表中的一个记录能与B表中的许多记录匹配,并且B表中的一个记录也能与A表中的许多记录匹配。此关系的类型仅能通过定义第三个表来完成,实际上是使用第三个表的两个一对多关系。3.7表的连接3.7.1定义表之间的关系1.一对一关系的创建(1)首先关闭所有打开的表,不能在已打开的表之间创建或修改关系。(2)如果还没有切换到数据库窗口,可以按F11键从其他窗口切换到“数据库”窗口。(3)单击工具栏上的“关系”按钮。(4)如果数据库没有定义任何关系,将会自动显示“显示表”对话框(图3.25)。如果需要添加一个关系表,而“显示表”对话框却没有显示,请单击工具栏上的“显示表”按钮。如果关系表已经显示,直接跳到步骤(6)。3.7表的连接(5)双击要作为相关表的名称,然后关闭“显示表”对话框。(6)从某个表中将所要的相关字段拖动到其他表中的相关字段。如果表中已有表数据,且要实施参照完整性,一定要从主表中将相关字段拖到关联表中的相关字段上,然后在弹出的“编辑关系”对话框(图3.26)中选中“实施参照完整性”复选框,否则可能会出现错误提示。(7)显示“编辑关系”对话框,检查显示在两个列中的字段名称以确保正确性。必要情况下可以进行更改。(8)选中“实施参照完整性”复选框,单击“新建”按钮创建关系。在关闭“关系”窗口时,MicrosoftAccess将询问是否保存此关系配置。不论是否保存此配置,所创建的关系都已保存在此数据库中。新建的关系如图3.27所示。3.7表的连接关于一对一关系的其他操作:(1)如果需要查看数据库中定义的所有关系,请单击工具栏上的“显示所有关系”按钮。如果只要查看特定表所定义的关系,请单击表,然后单击工具栏上的“显示直接关系”按钮。(2)如果要更改表的设计,可