创建数据库和表.ppt
第2章创建数据库和表,一个Access数据库是一个应用程序,它保存该程序的所有对象,包括表、查询、窗体、报表、宏和模块,甚至包括一些数据访问页。虽然在有些数据库软件中将数据库和表看成同一个词,但Access使用的是标准的数据库术语,数据库包括所有数据及管理这些数据的所有对象,创建新表时,并不需要创建新的数据库,本章将介绍如何创建数据库以及如何在数据库中创建表。 本章要点 2.1 创建第一个Access数据库 2.2 创建“员工”表 2.3 建立“睿智图书发展公司”数据库中表之间的关系 习题 2,2.1 创建第一个Access数据库,Access启动以后并不能直接创建一个数据库,任何一个数据库都必须用一定的方法进行创建,下面就介绍几种创建数据库的方法。 2.1.1 创建空数据库 对于一位熟悉数据库的用户,如果要创建一个特殊的数据库,可以直接创建一个空的数据库,然后再依据自己的需要建立数据库。 1调出“新建文件”任务窗格 在Access中,创建数据库都要用“新建文件”任务窗格来完成,调出此任务窗格的方法如下。 (1)如果是刚启动Access 2003,界面上出现“开始工作”任务窗格,单击任务窗格上方的“其他任务窗格”按钮,调出它的下拉菜单,如图2-1-1所示,从中选择“新建文件”菜单命令,调出“新建文件”任务窗格,如图2-1-2所示。如果已经使用过其他的任务窗格,也可以单击这个按钮,调出“新建文件”任务窗格。,2.1 创建第一个Access数据库,图2-1-1 单击“其他任务窗格”按钮 图2-1-2 “新建文件”任务窗格,2.1 创建第一个Access数据库,(2)如果工作界面上没有任务窗格,单击“文件”“新建”菜单命令,或单击工具栏上的“新建”按钮都可以调出“新建文件”任务窗格。 2创建空数据库 创建空数据库的方法如下。 (1)调出“新建文件”任务窗格,如图2-1-2所示。 (2)在“新建”栏中单击“空数据库”选项,调出“文件新建数据库”对话框,如图2-1-3所示。,图2-1-3 “文件新建数据库”对话框,2.1 创建第一个Access数据库,(3)在“保存位置”下拉列表框中选择合适的路径,在“文件名”文本框中输入数据库的名称,保存类型选择默认的“Microsoft Office Access数据库(*.mdb)”。 (4)单击“创建”按钮,就可以生成空数据库窗口,如图2-1-4所示。,图2-1-4 “教学管理”数据库窗口,2.1 创建第一个Access数据库,2.1.2 使用向导建立数据库 创建空数据库后,还要建立真正的基本数据,如表、查询、窗体与报表等。如果用户对数据库不是太熟悉,则可以使用“数据库向导”来快速、有效地创建一个完整的数据库文件。 “数据库向导”在让用户回答多个对话框所提出的问题后,建立一个用户所需要的数据库,在这个数据库中包括表、窗体、查询、报表及宏等完整的对象。使用向导创建数据库的具体操作步骤如下。 (1)单击“文件”“新建”菜单命令,调出“新建文件”任务窗格,如图2-1-2所示。 (2)在“模板”栏中单击“本机上的模板”选项,调出“模板”对话框,如图2-1-5所示。,2.1 创建第一个Access数据库,图2-1-5 “模板”对话框,2.1 创建第一个Access数据库,如果本机上的模板还不能满足要求,可以在该栏中选择到网上进行搜索,直接单击“Office Online模板”按钮。 (3)在“模板”对话框中单击 “数据库”选项卡,选择“联系人管理”模板,如图2-1-5所示。 (4)单击“确定”按钮,调出“文件新建数据库”对话框,如图2-1-3所示。 (5)在“保存位置”下拉列表框中选择合适的路径,在“文件名”文本框中输入“联系人管理”文字,保存类型选择默认的“Microsoft Office Access数据库(*.mdb)”。 (6)单击“创建”按钮,调出“数据库向导”对话框之一,如图2-1-6所示。 这时如果要对数据库进一步进行设置,则单击“下一步”按钮,如果不再创建此数据库,则单击“取消”按钮,如果准备全部按向导中默认设置创建数据库,则可以单击“完成”按钮,直接创建。 本书中以后可能要遇到的有关“上一步”、“下一步”、“取消”和“完成”按钮的使用方法和含义,都与上面所述的基本一致,其向导的设置过程的作用都是相同的。 (7)单击“下一步”按钮,调出“数据库向导”对话框之二,如图2-1-7所示。,2.1 创建第一个Access数据库,图2-1-6 “数据库向导”对话框之一 图2-1-7 “数据库向导”对话框之二,2.1 创建第一个Access数据库,在“数据库中的表”列表框中显示了本数据库所创建的3个表:“联系信息”、“通话信息”和“联系类型”。在向导中不能修改表的数量和名称,单击一个表,则可在右侧的列表框中对表中的字段进行设置。 在此对话框中“上一步”按钮有效,如果要修改对上一个对话框的设置,单击此按钮可以回到上一个对话框。 (8)在“数据库中的表”列表框中选中“联系信息”,则其右侧“表中的字段”列表框如图2-1-7所示,根据需要选择要增加的字段。 在这个列表框中有所有可以选择的字段。在所列出的字段中有些是正体字,默认情况下字段前的复选框中有“”标记,表示该字段为选中状态,这些字段是必选字段,不能取消;另外一些字段是斜体字,默认情况下字段前的复选框中没有“”标记,如果单击该复选框,选中该项,则在表中可以添加此字段。 在此对话框中的其他两个表中均为必选字段,不能进行修改,所以在此不再列出其中的内容,请读者上机查看。 (9)单击“下一步”按钮,调出“数据库向导”对话框之三,如图2-1-8所示,在右侧的列表框中选择一种样式。 在该对话框中要对在屏幕上显示的样式进行设置,右侧的列表框中是可以选择的样式,左侧为该样式的效果。,2.1 创建第一个Access数据库,(10)单击“下一步”按钮,调出“数据库向导”对话框之四,如图2-1-9所示,对打印报表所用的样式进行设置,在右侧的列表框中选择一种格式。,图2-1-8 “数据库向导”对话框之三 图2-1-9 “数据库向导”对话框之四,2.1 创建第一个Access数据库,(11)单击“下一步”按钮,调出“数据库向导”对话框之五,如图2-1-10所示。 在“请指定数据库的标题”文本框中输入其标题,如果要在所有报表上加一幅图片,则可以选中“是的,我要包含一幅图片”复选框,这时“图片”按钮有效,单击它可以调出“插入图片”对话框,用于选择所需要的图片。 (12)单击“下一步”按钮,调出“数据库向导”对话框之六,如图2-1-11所示。 如果对前面所做的工作没有要修改的内容,这时单击“完成”按钮,如果要重新设置前面的选项,单击“上一步”按钮。如果选中“是的,启动该数据库”复选框,则在创建完数据库后,直接启动该数据库,否则不启动它。,2.1 创建第一个Access数据库,图2-1-10 “数据库向导”对话框之五 图2-1-11 “数据库向导”对话框之六,2.1 创建第一个Access数据库,(13)单击“完成”按钮,则Access 2003开始创建数据库,屏幕上显示正在创建的提示性对话框,如图2-1-12所示。,图2-1-12 “数据库向导”对话框之七,2.1 创建第一个Access数据库,创建完成之后就可以看到数据库窗口,如图2-1-13所示,同时在屏幕上显示“主切换面板”窗体,如图2-1-14所示。此窗体会在每次打开数据库后显示,目的是让用户在此进行操作。,图2-1-13 “联系人管理”数据库窗口 图2-1-14 “主切换面板”窗体,2.1 创建第一个Access数据库,在数据库中输入数据以后,如果要预览报表,可以在图2-1-14所示的窗体中单击“预览报表”选项,则显示下一层“报表切换面板”窗体,如图2-1-15所示,在这层窗体中选择要预览的报表名称。图2-1-15所示为选择“预览每周通话摘要报表”复选框后所出现的对话框,在该对话框中输入开始日期和终止日期后,单击“预览”按钮,就可以看到报表。,图2-1-15 “报表切换面板”窗体,2.1 创建第一个Access数据库,2.1.3 数据库窗口的工具栏 在第1章中曾提到Access的工具栏是随着对象发生变化的,当用户创建数据库之后,就可以打开数据库窗口,这时的工具栏就是数据库的工具栏,如图2-1-16所示。,“数据库”工具栏中各按钮的作用如表2-1-1所示。,图2-1-16 “数据库”工具栏,2.1 创建第一个Access数据库,2.1.4 有关组的操作 在数据库窗口中左侧的对象栏下方有一对象为“组”,建立组是为了更方便的管理数据库中的各种对象,例如,可以将同一类对象放到一个组中,这样有利于查找,下面介绍有关组的操作。 1新建、删除或重命名组 新建一个组的方法如下所述。 (1)将鼠标移动到Access数据库窗口的左边“组”下面的区域,然后单击鼠标右键,在弹出的菜单中选择“新组”菜单命令,调出“新建组”对话框,如图2-1-17所示。 (2)在“新组名称”文本框中输入名称,单击“确定”按钮,这时就新建了一个组。 如果要删除一个已经存在的组,就将鼠标移动到要删除的组上,单击鼠标右键,从菜单中选择“删除组”,这个组就被删除。 如果要修改一个组的名称,可将鼠标移动到组名上,右键单击这个组名,在弹出的菜单中选择“重命名组”菜单命令,弹出“重命名组”对话框,如图2-1-18所示。在对话框的“新建组名”文本框中输入新组的名字,然后单击“确定”按钮。图2-1-19所示为重命名为“订单”的组和组中的对象。,2.1 创建第一个Access数据库,图2-1-18 “重命名组”对话框,图2-1-17 “新建组”对话框,2.1 创建第一个Access数据库,图2-1-19 组中的对象,2.1 创建第一个Access数据库,2在组中添加、删除对象 (1)向建立好的空组中添加对象:首先要选中对象所属的类别,然后在已有对象的列表中,选中要添加的对象,将它拖动到组中即可。 (2)删除组中的一个对象:选中这个对象,然后按键盘上的Delete键,就会弹出一个对话框询问是否要删除这个对象,单击“是”按钮,组中的这个对象将被删除。 这个对象被从组中删除,只是删除了它在组中的快捷方式,并没有将这个对象真正的删除。,2.2 创建“员工”表,如果要用Access数据库数据,必须将数据存放在表中,表是Access中最重要的组件,也是很多应用的根源。表是由一组特定的数据或相同主题的数据集合而成,同时也是查询、窗体及报表的基础,一个Access数据库中至少应包含一个以上的表。 在2.1节中是用数据库向导创建的数据库,可以直接学习表中数据的输入,如果用户创建的是一个空数据库,则这个库中还没有任何对象,这时就要自己建立表,建立表时也可以使用Access所提供的表向导。 2.2.1 用表向导创建表 创建一个名为“客户资料”的空数据库,在“对象”列表中单击“表”对象,这时的数据库窗口中列出的是当前数据库中的表和创建表的方法,如图2-2-1所示。可以看到在这个数据库中还没有任何一个表,下面就要在这个数据库中创建表。用表向导创建表的具体操作步骤如下。 (1)使用下面的一种方法,调出“表向导”对话框。 单击数据库窗口中的按钮,调出“新建表”对话框,如图2-2-2所示,选择“表向导”选项,单击“确定”按钮,调出“表向导”对话框,如图2-2-3所示。,2.2 创建“员工”表,图2-2-1 “客户资料”数据库窗口 图2-2-2 “新建表”对话框,2.2 创建“员工”表, 双击图2-2-1所示数据库窗口中的“使用向导创建表”选项,也可以调出图2-2-3所示的“表向导”对话框。 (2)选择“商务”单选钮,然后在“示例表”列表框中选择“客户”选项,在“示例字段”列表框中选择所需要的字段名,然后双击该字段名或单击按钮,将所选择的字段添加到“新表中的字段”列表框中。 (3)重复步骤(2)中的操作,将新建表中所需要的其他字段添加到“新表中的字段”列表框中。 添加、删除和重命名字段的方法有以下几种: 单击按钮,可以将“示例字段”列表框中所有的字段都添加到“新表中的字段”列表框中。 选中一个已经添加到“新表中的字段”列表框中的字段,双击该字段名或单击按钮,可以在“新表中的字段”列表框中将其删除。 单击按钮可以将“新表中的字段”列表框中所有的字段均删除。 如果要在“新表中的字段”列表框中移动字段,则需要先清除它,然后在“新表中的字段”列表框中单击字段要出现的地方,再将这个字段添加进来。 单击“重命名字段”按钮,调出“重命名字段”对话框,如图2-2-4所示,在“重命名字段”文本框中输入新的字段名,单击“确定”按钮。,2.2 创建“员工”表,图2-2-3 “表向导”对话框之一 图2-2-4 “重命名字段”对话框,2.2 创建“员工”表,(4)单击“下一步”按钮,调出如图2-2-5所示的“表向导”对话框之二,在“请指定表的名称”文本框中输入表的新名称,选中“是,帮我设置一个主键”单选钮。 (5)单击“下一步”按钮,调出“表向导”对话框之三,如图2-2-6所示,在这个对话框中要对创建完表以后的操作进行设置。,图2-2-5 “表向导”对话框之二 图2-2-6 “表向导”对话框之三,2.2 创建“员工”表,(6)单击“完成”按钮,就可以根据上一步的设置,调出“客户:表”窗口或“客户”窗体,同时在图2-2-1所示的数据库窗口中也看到刚刚建立的表。,图2-2-7 “客户:表”窗口 图2-2-8 “客户”窗体,2.2 创建“员工”表,2.2.2 在数据表视图中直接输入数据创建表 在Access 2003中,表共有4种视图,即数据表视图、设计视图、数据透视表视图和数据透视图视图。图2-2-7所示的表窗口就是表的数据表视图。 1在数据表视图中创建表 Access 2003除了允许用户使用表向导创建表,也允许用户自选创建一个具有个性的表。在自选设计时,要注意做好表的规划工作,首先要确定表中要放的字段,一般窗体上的一个窗格要对一个字段。在设计表时,表中只包含原始数据,而不应包含任何计算结果。在数据表视图中创建表的具体操作步骤如下。 (1)创建或打开一个空数据库,其窗口如图2-2-1所示,用下面的方法调出数据表视图。 单击数据库窗口中的“新建”按钮,调出“新建表”对话框,如图2-2-2所示。选择“数据表视图”选项,双击该选项或单击“确定”按钮。 在图2-2-1所示的数据库窗口中,双击“通过输入数据创建表”选项。 (2)屏幕上出现表窗口,这个窗口就是“数据表视图”,如图2-2-9所示。,2.2 创建“员工”表,该窗口是由行和列构成的表格,其中列标记是“字段1”、“字段2”这样的名称,说明数据库的表中,字段名只能在列上输入,行方向上可以输入不同的记录。,图2-2-9 数据表视图,2.2 创建“员工”表,(3)双击“字段1”文字,使其反白显示,输入新的字段名称,然后用同样的方法在“字段2”、“字段3”中输入字段名称。 (4)单击“关闭”按钮,弹出提示保存的对话框,如图2-2-10所示。 (5)单击“是”按钮,调出“另存为”对话框,如图2-2-11所示。 如果单击“保存“按钮,则会直接调出“另存为”对话框。,图2-2-11 “另存为”对话框,图2-2-10 提示对修改进行保存,2.2 创建“员工”表,(6)在“表名称”文本框中输入表的名称,按Enter键或单击“确定”按钮,调出提示对话框要求设置主键,如图2-2-12所示。,图2-2-12 提示设置主键,2.2 创建“员工”表,调出这个对话框的原因是在表中输入字段时没有设置主键,有关主键的含义及设置方法,将在后面进行介绍。 (7)单击“是”按钮,由系统自动设置主键。 这时表设计视图关闭,同时可以在数据库窗口中看到刚刚建立的表。 2数据表视图的工具栏 在打开表的数据表视图后,这时的工具栏如图2-2-13所示。,在这个工具栏中的一些按钮与数据库工具栏中按钮的作用类似,还有一些没 有介绍过的工具按钮,它们的作用如表2-2-1所示。,图2-2-13 “表(数据表视图)”工具栏,2.2 创建“员工”表,2.2.3 用表的设计视图创建表 Access中可以存放不同的数据,如果不用向导建立表,则应考虑数据的类型,在直接输入数据创建表的过程中,没有考虑数据类型。如果用“表设计器”创建表,则在自定义创建表的过程中可以指定数据的类型。 1在设计视图中创建表 表的设计视图也可以叫作“表设计器”,用它创建表的具体操作步骤如下。 (1)创建或打开一个空数据库,其窗口如图2-2-1所示,用下面的方法调出表设计窗口。 单击数据库窗口中的“新建”按钮,调出“新建表”对话框,如图2-2-2所示。选择“设计视图”选项,双击该选项或单击“确定”按钮。 在图2-2-1所示的数据库窗口中,双击“使用设计器创建表”选项。 (2)屏幕上出现表设计窗口,如图2-2-14所示。,2.2 创建“员工”表,图2-2-14 表设计窗口,2.2 创建“员工”表,(3)在第一个“字段名称”列处输入“客户编号”文字。 (4)单击其右侧的表格或按Tab键或按键,均可在该表格中显示默认数据类型“文本”,同时出现向下箭头,单击该箭头可以调出下拉列表框,如图2-2-14所示,单击所需要的数据类型。 (5)将光标移到下一个字段名称处,输入另一个字段,如此操作直至所有数据输入完成。 (6)单击标题栏上的“表”按钮,在调出的菜单中单击“关闭”命令或单击表设计窗口右上方的“关闭”按钮,调出提示对话框,询问对表的修改是否保存,单击“是”按钮,完成表的设计。 2设计视图和它的工具栏 (1)设计视图:整个表设计窗口分为两部分,上半部分是用于输入字段的表格,下半部分列出对不同数据类型所具有的属性以及对属性的描述,图2-2-14所示是对文本属性的描述。每一种属性都可以进行设置,当光标移到某一个属性上面时,在其右侧的文本框中会显示对该属性的描述,而对该属性进行设置的文本框会出现3种情况:一种是直接输入文本;另一种是出现下拉列表框,提供不同的选项;第三种情况是出现按钮,单击它会调出一个对话框以便对属性进行进一步的设置。,2.2 创建“员工”表,(2)设计视图工具栏:在打开表的设计视图后,这时的工具栏如图2-2-15所示。,在这个工具栏中的一些按钮与数据库工具栏中按钮的作用类似,还有一些 没有介绍过的工具按钮,它们的作用如表2-2-2所示。,图2-2-15 “表(设计视图)”工具栏,2.2 创建“员工”表,2.2.4 Access数据类型 定义数据类型的目的是“允许在此字段输入的数据类型”,例如一个字段的类型为数字,就不可以输入文本,如果输入错数据,Access会发出错误信息,并且不允许保存。 1Access数据类型的种类 Access的数据类型共有10种,当光标移到“数据类型”这一列上的任意位置时,在其下方的“字段属性”栏中就会出现该种类型字段的属性。 (1)文本:这种数据用于保存文本或数字,最大字符数为255个字符。 除了一般的文本要设置为这种类型外,还有一些数字也必须设置为这种类型,如邮政编码、电话号码、传真号码和E-mail地址等字段。文本与数值这两种类型的主要区别是文本类型可以加入标点符号和字母。 (2)备注:可以用于保存比较多的文本,最大允许为64 000个字符。一般用于保存经历、说明等文字比较多的数据。 (3)数字:用于数学计算的数值数据。 (4)日期/时间:可以保存日期及时间,允许的范围从100年到9999年。 (5)货币:用于保存货币值或用于数学计算的数值数据,这里的数学计算的对象是带有1到4位小数的数据,有美元和欧元符号可供选择,会自动加上千分位分隔。,2.2 创建“员工”表,(6)自动编号:由Access自动分配,不能人工改变的数字。 (7)是/否:其值只允许输入是和否的字段。 (8)OLE对象:内容为图形、声音和其他软件制作的文件或数据。 (9)超链接:存入的内容可以是文件路径、网页的名称等。 (10)查阅向导:来自其他表、查询或用户提供的数值清单的数据。 如果要进一步了解如何决定表中字段的数据类型,单击表设计窗口中的“数据类型”列,然后按F1键,打开帮助的DataType属性来查看。 2数据类型中字段属性 在表设计窗口的下方是“字段属性”栏,它有“常规”和“查阅”两个选项卡,这个区域一次只能显示一个字段的属性,每一种数据类型的属性也不尽相同,但有些属性对各种数据类型都存在,下面将介绍在部分进行字段属性设置时所遇到的属性。 (1)允许空字符:如果为“是”,则该字段可以接受空字符串为有效输入项。 (2)字段大小:可以指定字段中文本或数字的范围,文本缺省长度为50,数值为长整型。,2.2 创建“员工”表,(3)文本字段的长度设置不会影响磁盘空间,但字段大小的最大值比较小时可以节约内存和加快处理速度。 (4)格式:可以定义字段中数据的格式。 (5)标题:可以定义字段的别名,作为创建窗体和报表时数据单中使用的标签。因字段名的要求比较严格,如字段名中不能有空格,如果字段名为LastName,将标题设置为Last Name则其可读性有了很大的提高。 (6)索引:可以选择是否为这个字段建立索引或者是否允许重复建立索引。 (7)默认值:定义自动插入字段的值,必要时可在数据项输入不同值。 (8)小数位数:用一个数字指定小数点右边的位数,选择“自动”时格式的属性自动确定小数位。 (9)输入掩码:用于设置数据输入字段的模式,单击该属性后的,会调出“输入掩码向导”对话框。 (10)必填字段:用于设置这个字段是否必须填写,设置成“是”时,这个字段不能空着。 (11)有效性规则:创建测试进入字段的数据并拒绝无效项目的表达式,它的规则与查询中的条件类似,请参看第4章的内容。 (12)有效性文本:定义字段中输入无效数据时屏幕上显示的错误消息。,2.2 创建“员工”表,3Access 2003对象命名的规则 在上面创建表的过程中,遇到了给表命名的问题,Access 2003中的表、字段、窗体、报表、查询、宏和模块等都是对象,给它们命名时允许的自由度很大,但也不是没有规则的,一般来说要遵循以下原则。 (1)任何一处对象的名称不能与数据库中其他同类对象同名,例如不能有两个名为“客户”的表。 (2)表和查询不能同名。 (3)命名字段、控件或对象时,其名称不能与属性名或Access已经使用的其他要素同名。 (4)名称最多可用64个字符,包括空格,但是不能以空格开头。 虽然字段、控件和对象名中可以包含空格,但要尽量避免这种现象。原因是某些情况下,名称中的空格可能会和 Microsoft Visual Basic for Applications 存在命名冲突。 用户应该尽量避免使用特别长的字段名。因为如果不调整列的宽度,就难以看到完整的字段名。 (5)名称可以包括除句号(.)、感叹号(!)、重音符号()和方括号( )之外的标点符号。,2.2 创建“员工”表,(6)不能包含控制字符(从 0 到 31 的 ASCII 值)。 (7)在Microsoft Access 项目中,表、视图或存储过程的名称中不能包括双引号()。 (8)为字段、控件或对象命名时,最好确保新名称和 Microsoft Access 中已有的属性和其他元素的名称不重复;否则,在某些情况下,数据库可能产生意想不到的结果。 有关命名的详细信息可以查看Office助手。 2.2.5 主键和索引 Microsoft Access 2003是一种关系型数据库系统,其强大功能来自于其可以使用查询、窗体和报表快速地查找并组合存储在各个不同表中的信息。为了做到这一点,每个表都应该设定主关键字。关键字是用于惟一标识每条记录的一个或一组字段,Access 2003建议为每一个表设置一个主关键字,主关键字简称为主键。设立主键能提高Access在查询、窗体和报表操作中的快速查找能力。,2.2 创建“员工”表,1主键 表中所存储的每条记录的惟一标识,即称作表的主键。指定了表的主键之后,Access 将阻止在主键字段中输入重复值或Null值。 主键可以包含一个或多个字段,以保证每条记录都具有惟一的值。设定主键的目的在于以下几个方面:一个是保证表中的所有记录都能够被惟一识别,二是保持记录按主键字段项目排序,三是加速处理。Access 2003中可以设置3种主键,即自动编号、单字段及多字段。 (1)“自动编号”主键:当向表中添加每一条记录时,可将“自动编号”字段设置为自动输入连续数字的编号。将自动编号字段指定为表的主键是创建主键的最简单的方法。如果在保存新建的表之前未设置主键,则Microsoft Access会询问是否要创建主键,如果回答为“是”,Microsoft Access 将创建“自动编号”主键。 (2)单字段主键:如果字段中包含的都是惟一的值,例如ID号或部件号码,则可以将该字段指定为主键。只要某字段包含数据,且不包含重复值或Null值,就可以为该字段指定主键。 (3)多字段主键:在不能保证任何单字段包含惟一值时,可以将两个或更多的字段指定为主键。,2.2 创建“员工”表,2设定和删除主键的方法 如果表中没有可以用作惟一识别表中记录的字段,则可以使用多个字段来组合成主关键字。在表设计器中设置主键的步骤如下。 (1)在表设计视图中,单击字段名称左边的字段选择按钮,选择要作为主键的字段。单击字段选择按钮的同时按住Ctrl键可以同时选择多个字段。 (2)单击“编辑”“主键”菜单命令,或单击工具栏上的“主键”按钮,则在该字段的左边显示钥匙标记,如图2-2-16所示。 如果要删除主键,只要重复上面两步操作即可。 3索引 “索引”是数据库(不只是Access)中极为重要的概念,它就像数据的指针,能够迅速地找到某一条数据。当表中的数据量越来越大时,就会越来越体现出索引的重要性。以公司的人事数据库为例,一般的查询方式是利用“编号”或“姓名”,但姓名可能重复(同名同姓),编号则不应该有两人一样的情况,因而“编号”就比“姓名”更适合作为索引键。 并不是所有的数据类型都可以建立索引,不能在“自动编号”及“备注”数据类型上建立索引,在设定时请稍加注意。此外,并非是表中所有的字段都有建立索引的必要,因为每增加一个索引,就会多出一个内部的索引文件,增加或修改数据内容时,Access同时也需要更新索引数据,有时反而降低系统的效率。,2.2 创建“员工”表,图2-2-16 设置了主键,2.2 创建“员工”表,增加或删除字段的索引,具体操作步骤如下。 (1)单击要处理的字段名。 (2)单击字段属性栏中的“常规”选项卡。 (3)单击“索引”属性出现向下箭头,单击此箭头出现3个选项,如图2-2-17所示,从中选择一个选项。,图2-2-17 定义索引,2.2 创建“员工”表,索引的这3个选项的含义如下。 无:该字段不需要建立索引。 有(有重复):以该字段建立索引,其属性值可重复出现。图2-2-18 “索引”对话框 有(无重复):以该字段建立索引,其属性值不可重复。设置为主键的字段取得此属性,要删除该字段的这个属性,首先应先删除主键。 单击工具栏上的“索引”按钮,可以调出“索引”对话框,如图2-2-18所示,在该对话框中,可以定义索引。,图2-2-18 “索引”对话框,2.3 建立“睿智图书发展公司”数据库中表之间的关系,在数据库中设立了不同的表以后,必须告诉Access 2003如何再将信息合并在一起,这种合并要定义表之间的关系,然后创建查询、窗体和报表。 2.3.1 关系的种类 要在两个表间建立关系,必须在这两个表中拥有相同数据类型和大小的字段。表与表之间的关系有3种,分别是:一对一关系、一对多关系和多对多关系。 1“一对一”关系和“一对多”关系 (1)“一对一”关系:如果一个表A中的一个记录与另一个表B中的一个记录直接相关联,这就是“一对一”的关系。 例如,在一个教学管理数据库中,有一个表“学生”和另一个表“成绩”,因为一个学生只有一个成绩,所以这种关系就是一对一的关系。在Access中,这种关系可以直接用视图的方式进行设置并显示出来,显示关系的视图是关系窗口,在关系窗口中两个表之间由一条直线相连,表示这是“一对一”的关系,如图2-3-1所示。 (2)“一对多”关系:如果一个表A中的一个记录与另一个表B中的多个记录直接相关联,这就是“一对多”的关系,这种关系是Access中最常使用的关系种类。,2.3 建立“睿智图书发展公司”数据库中表之间的关系,在关系窗口中“一对多”关系在两个表之间用一条直线相连,直线的一端有“1”,表示是一对多中的一端;另一端有“”符号,表示是一对多中的多端,如图2-3-2所示。在这个关系中,因为一位雇员承接或完成的订单不只一个,所以一个“雇员”表的“雇员ID”就会重复出现在“订单”表的记录中,代表着一对多的关系。,图2-3-1 “一对一”关系 图2-3-2 “一对多”关系,2.3 建立“睿智图书发展公司”数据库中表之间的关系,2“多对多”关系 “多对多”关系是一个表A中的一条记录对应到另一个表B中的多条记录,同时表B中的一条记录,反过来也会对应到表A中的多条记录,这种关系就是多对多的关系。 (1)多字段主键:“多对多”型的关系仅能通过定义第3个表(称作联结表)来达成,它的主键可以包含两个以上字段,即来源于A和B两个表的外键,外键是引用其他表中的主键字段(一个或多个)的一个或多个表字段(列),它用于表明表之间的关系。 在多字段主键中,字段的顺序可能会非常重要。多字段主键中字段的次序按照它们在表设计视图中的顺序排列。可以在“索引”窗口中更改主键字段的顺序。 如果不能确定是否能为多字段主键选择合适的字段组合,应该添加一个“自动编号”字段并将它指定为主键。例如,将“名字”和“姓氏”字段组合起来作为主键并非是很好的方法,因为在这两个字段的组合中,完全有可能会遇到重复的数据。,2.3 建立“睿智图书发展公司”数据库中表之间的关系,例如,在一家商贸公司的数据库中,“订单明细”表与“订单”及“产品”表之间都有关系,因此它的主键包含两个字段:“订单ID”及“产品ID”。“订单明细”表能列出许多产品和许多订单,但是对于每个订单,每种产品只能列出一次,所以将“订单ID”及“产品ID”字段组合可以生成恰当的主键,如图2-3-3所示。,图2-3-3 “多对多”关系,2.3 建立“睿智图书发展公司”数据库中表之间的关系,(2)“多对多”关系:多对多关系实际上是和第3个表的两个一对多关系。在图2-3-3所示的“多对多”关系中,“订单”表和“产品”表有一个多对多的关系,它是通过建立与“订单明细”表中两个一对多关系来创建的。一份订单可以有多种产品,每种产品可以出现在多份订单中,这样“产品”和“订单”两个表,通过“订单明细”表,形成了多对多的关系。 2.3.2 创建表之间的关系 通常在数据库中有多个表,而且其中的很多表又有相互的关系,用户可以在任何时间定义表之间的关系,但一般情况下是在输入大量数据之前进行定义。这样做是因为有以下几个原因:在查询中打开多个关系表时,关系表自动连接;Access可以自动创建必要的索引,使关系表工作更快;可以定义表连接时相互间引用完整的关系,保证关系表中记录间的关系保持有效,防止删除或改变与另一表中记录有关系的记录时出现问题。 1创建表之间的关系的方法 创建表之间关系的具体操作步骤如下。 (1)在数据库窗口中单击“工具”“关系”菜单命令,或单击数据库工具栏上的“关系”按钮,打开“关系”窗口,如图2-3-4所示。,2.3 建立“睿智图书发展公司”数据库中表之间的关系,(2)用鼠标右键单击空白区域,在出现的快捷菜单中单击“显示表”选项,调出“显示表”对话框,如图2-3-4所示。,图2-3-4 “显示表”对话框,2.3 建立“睿智图书发展公司”数据库中表之间的关系,(3)在对话框中选择要建立关系的表,单击“添加”按钮。 (4)重复步骤(3)加入其他表,如果想一次选取多个表,可使用键盘上的Ctrl键及Shift键与鼠标共同操作。 (5)将所需要的表加入到“关系”窗口后,单击“关闭”按钮,结果如图2-3-5所示。,图2-3-5 在关系窗口中显示要建立关系的表,2.3 建立“睿智图书发展公司”数据库中表之间的关系,(6)在窗口中选择源表中的某个字段,如学号,接着拖曳鼠标到目标表的上方,然后放开鼠标左键,调出“编辑关系”对话框,如图2-3-6所示。,图2-3-6 “编辑关系”对话框,2.3 建立“睿智图书发展公司”数据库中表之间的关系,如果将源表中主键字段,拖曳到目标表的主键字段上,则在该对话框的“关系类型”中显示“一对一”;如果将源表中的主键字段拖曳到目标表的非主键字段上,则在“关系类型”中显示“一对多”;如果将源表中某个字段拖动到另一个字段,且这两个字段都既不是主键也没有惟一索引时,则在“关系类型”中显示“未定”,即是一种未定的关系。在包含具有未定关系的表的查询中,Microsoft Access 将在两个表之间显示一条默认的连接线,但是不强制实现参照完整性,并且也不保证任何一个表中的记录是惟一的。 (7)检查左右两边的关系字段是否均为“学号”,然后选中“实施参照完整性”、“级联更新相关字段”和“级联删除相关记录”复选框,单击“创建”按钮,得到如图2-3-1所示的结果。 2编辑现有的关系 在Microsoft Access数据库中编辑现有关系的操作步骤如下。 (1)关闭所有已打开的表。已打开表之间的关系是无法修改的。 (2)按F11键切换到“数据库”窗口。 (3)单击工具栏上的“关系”按钮。 (4)如果要编辑其关系的表未显示出来,单击工具栏上的“显示表”按钮,并双击要添加的每个表。 (5)双击要编辑关系的关系连线,调出“编辑关系”对话框,如图2-3-6所示。,2.3 建立“睿智图书发展公司”数据库中表之间的关系,(5)双击要编辑关系的关系连线,调出“编辑关系”对话框,如图2-3-6所示。 (6)设置关系选项。 3删除关系 删除关系的操作步骤如下。 (1)关闭所有已打开的表。打开的表之间的关系无法被删除。 (2)按F11键切换到“数据库”窗口。 (3)单击工具栏上的“关系”按钮。 (4)如果要删除其中关系的表未显示出来,请单击工具栏上的“显示表”按钮,双击每个要添加的表,然后单击“关闭”按钮。 (5)单击所要删除关系的关系连线(当选中时,关系线会变成粗黑状),然后按Delete 键。 4查看关系 在“数据库”窗口中查看表中关系的操作步骤如下。 (1)单击工具栏上的“关系”按钮。 (2)如果要查看数据库中的所有关系,单击工具栏上的“显示所有关系”按钮。如果要查看为特定表定义的关系单击表,然后单击工具栏上的“显示直接关系”按钮。,2.3 建立“睿智图书发展公司”数据库中表之间的关系,