第3章 数据库的基本操作.docx
- 文档编号:23776868
- 上传时间:2023-05-20
- 格式:DOCX
- 页数:25
- 大小:521.86KB
第3章 数据库的基本操作.docx
《第3章 数据库的基本操作.docx》由会员分享,可在线阅读,更多相关《第3章 数据库的基本操作.docx(25页珍藏版)》请在冰豆网上搜索。
第3章数据库的基本操作
第3章数据库的基本操作
本章介绍Access数据库的设计步骤,各种建立数据库的方法,以及打开与关闭数据库、维护数据库窗口和数据库的压缩与修复等基本操作。
3.1Access数据库设计
在使用Access创建数据库之前,应根据用户的需求对数据库应用系统进行分析和研究,然后再按照一定的原则设计数据库中的具体内容,一个好的设计将有助于数据库的分析和处理数据。
数据库的设计一般要经过需求分析、确定数据库中的表、确定表中的字段、确定主关键字以及确定表间的关系等过程,如图3.1所示。
图3.1 数据库的设计步骤
下面通过创建“学生成绩管理”数据库的设计过程说明数据库设计的步骤和方法。
1.需求分析
设计数据库和用户的需求息息相关,在分析过程中,应与数据库的最终用户进行交流,了解用户的需求和现行工作的处理过程,共同讨论使用数据库应该解决的问题和完成的任务,同时尽量收集与当前处理有关的各种表格。
在需求分析中,要从以下3个方面进行分析:
(1)信息需求信息需求定义了数据库应用系统应该提供的所有信息。
(2)处理需求处理需求表示对数据需要完成什么样的处理及处理的方式,也就是系统中数据处理的操作,应注意操作执行的场合、操作进行的频率和对数据的影响等。
(3)安全性和完整性需求建立“学生成绩管理”数据库的目的是组织和管理学生成绩信息,主要包括学生信息管理、课程信息管理和成绩信息管理。
对数据库命名时,要使名字能尽量体现数据库的内容,要做到“见名知意”。
2.确定数据库中的表
数据库中的表是数据库的基础数据来源。
确定需要建立的表,是设计数据库的关键,表设计的好坏直接影响数据库其他对象的设计及使用。
一个数据库中要处理的数据很多,不可能将所有的数据都放在—个表中,确定数据库中的表就是指将收集到的信息使用几个表进行保存。
应保证每个表中只包含关于一个主题的信息,这样,每个主题的信息可以独立地维护,通常可以分别为每个实体集设计一个表。
例如,分别将学生信息、课程信息及成绩信息放在不同的表中,这样对某一类信息的修改不会影响到其他的信息。
通过将不同的信息分散在不同的表中,可以使数据的组织和维护变得简单,同时也可以保证在此基础上建立的应用程序具有较高的性能。
根据上面的原则,确定在“学生成绩管理”数据库中使用以下3个表:
分别是学生表、课程表和成绩表。
3.确定表中的字段
确定每个表中包括的字段应遵循下面的原则:
(1)字段惟一性数据表中不能有与表主题无关的数据,即确保数据表中的每个字段都是围绕着一个主题的,例如,学号、姓名、性别、出生日期等字段都是与学生信息有关的字段。
(2)字段无关性即同一数据表中字段间不能有相互推导或计算的关系,字段所表示的数据应该是最原始的和最基本的。
例如,只要记录学生的“出生日期”就可计算出年龄;同样,总评成绩可以通过平时、期中和期末成绩计算得到。
因此,无须保留“年龄”和“总评成绩”字段,这些数据可以使用以后介绍的查询方法进行计算。
(3)避免在表之间出现重复字段在表中除了为建立表间关系而保留的外部关键字外,尽量避免在多个表中同时存在重复的字段,这样做—是为了尽量减少数据的冗余,同时也是防止因插入、删除和更新数据时造成的数据不一致。
(4)字段命名应符合规则在为字段命名时,应符合所用的DBMS中对字段名的命名规则。
在使用Access设计、开发应用系统时,建议使用英文或汉语拼音作为字段名称,利用“标题”属性在工作表中显示中文,这样处理起来会更方便一些。
按照以上原则,确定“学生成绩管理”数据库3个表中的各字段,见表3.1。
表3.1“学生成绩管理”数据库中的表及各表中的字段
学生表
成绩表
课程表
学号
学号
课程号
姓名
课程号
课程名
性别
平时
学时
出生日期
期中
学分
政治面貌
期末
类别
专业
简介
四级通过
入学成绩
家庭住址
照片
注意在成绩表中的“学号”和“课程号”字段已经分别在学生表和课程表中出现,这里重复设置的目的就是为了在成绩表和学生表、课程表之间建立关系。
4.确定主键
在一个表中确定主键,其目的一是保证实体的完整性,即主键的值不允许是空值或重复值,二是在不同的表之间建立联系。
在学生表中“学号”是主键,课程表中的主键是“课程号”,在成绩表中可以是“学号”和“课程号”的组合。
5.确定表之间的关系
接下来是确定表之间的关系,需要强调的是,表之间的关系要根据具体的问题来确定,绝不是不加区别地在任意两个表之间都建立关系。
由于实休集之间的关系有一对一、一对多和多对多3种,下面分析不同的关系如何在数据库中实现。
(1)一对一联系两个表之间的一对一联系不经常使用,因为在许多情况下,可将两个表中的数据合并成一个表。
但也可能出于某种原因不想合并,比如,有些数据是不常用的,或者某些数据是不应给每个人看到的。
例如“学生登记卡”中保留的一些特殊数据(如病历资料或受到的处分等),这些数据不需要经常查看,或者只能由学校的某些授权单位查看。
因此可创建一个以“学号”为主键的单独表来存储这些数据,学生基本情况表与这张表是一对一的联系。
如果两个表表示的是两个不同的实体,它们有不同的主键,这时,可以将一个表中的主键字段也保存在另一个表中,这样可以建立两个表之间的关系。
(2)一对多联系两个表间存在一对多关系时,可以将一方的主键字段添加到多方的表中,例如,学生表和成绩表之间存在着一对多的联系,所以要将学生表中的主键“学号”字段添加到课程表中。
一对多联系是关系数据库中最普遍的联系。
(3)多对多联系对于“学生成绩管理”数据库中的学生表和课程表,由于一名学生可以选修多门课程,这样,学生表中的每条记录在课程表中可以有多条记录相对应,同样,由于每门课程可以被多名学生选修,则课程表中的每条记录,在学生表中也可以有多条记录与之对应,所以它们之间就是多对多的联系,为保持它们之间多对多的联系,通常是创建第3个表,这个表中包含了两个表的主键字段,例如成绩表,成绩表中包括学生表和课程表的主键“学号”和“课程号”,也包含自身的属性字段,如“平时”、“期中”和“期末”。
成绩表在两表之间起着纽带的作用,所以也称为“纽带表”。
纽带表中不一定需要指定主键,如果需要,可以将它所联系的两个表的主键组合起来作为纽带表的主键。
这种方法实际上是将多对多的联系用两个一对多的联系代替。
先看学生表和成绩表,由于“学号”字段是学生表的主键、成绩表的外键,这两个表之间可以建立一对多的关系。
再看课程表和成绩表,由于“课程号”字段是课程表的主键、成绩表的外键,这两个表之间也可以建立一对多的关系。
这样,学生表和课程表之间事实上也就通过成绩表联系起来。
最终3个表之间的关系如图3.2所示,其中表间连接两端的1和∞表示两个表之间是一对多的关系,具体的创建方法在第4.8节中会详细地介绍。
图3.2“学生成绩管理”数据库各表之间的关系
经过以上的设计后,还应该对数据库中的表、表中的字段和表间的关系进一步地分析、完善,主要是从下面几个方面检查是否需要进行修改:
是否漏掉了某些字段?
多个表中是否有重复的字段?
表中包含的字段是否都是围绕一个实体的?
每个表中主键的设计是否合适?
如果确认设计符合要求,就可以在Access中创建数据库、表和表之间关系了。
3.2Access数据库中的对象
Access数据库管理系统是通过各种数据库对象来管理信息。
这些数据库对象包括表、查询、窗体、报表、页、宏和模块,它们都保存在扩展名为mdb的同一个数据库文件中。
不同的数据库对象在数据库中起着不同的作用,完成不同的功能。
1.表
表(table)是数据库中用来存储数据的对象,它是整个数据库系统的数据源,也是数据库中其他对象的基础。
一个Access数据库中可以包含多个表,这些表之间可以通过相关字段建立关联。
2.查询
数据库管理的主要目标之一就是方便、快捷地查询信息。
查询(query)是根据所设置的条件,在一个或多个表中筛选出符合条件的记录,查找时可从行向的记录或列向的字段进行。
查询的结果也是以二维表的形式显示的,但它与基本表有着本质的区别,查询是以基本表为数据源的“虚拟表”,在数据库中只记录了查询的方式(即规则),每执行一次查询操作,都是对基本表中现有的数据进行的。
此外,查询的结果还可以作为窗体、报表等其他对象的数据源。
3.窗体
窗体(form)是屏幕的工作窗口,用来向用户提供交互的界面。
用户可以按照自己的风格来建立窗体,使得数据的输入、输出及交互方式更加丰富、清晰、方便。
窗体的数据源可以是表或查询。
4.报表
报表(report)是以打印的格式表现用户数据的一种有效的方式。
用户可以控制报表上每个对象的大小和外观,可以按照所需的方式显示信息以便查看信息。
报表中的数据源是基础表、查询等。
此外,利用报表还可以创建多级汇总、统计比较以及添加图形等。
5.页
页(datapage)是一种特殊类型的Web页,用户可以在页中查看、修改Access数据库中的数据,可以方便、快捷地将文件作为Web发布程序存储到指定的文件夹,或者将其复制到Web服务器上,以便在网络上发布信息。
6.宏
宏(macro)是一组用户自定义操作命令的集合,其中每个命令实现一个特定的操作,每个宏都有宏名。
解决一个实际问题时可能存在大量的重复操作,利用宏可以使这些重复性操作自动完成,从而简化工作,使管理和维护数据库更加简单。
建立好的宏可以单独使用,也可以与窗体配合使用。
7.模块
模块(module)是由VisualBasic程序设计语言编写的程序集合,或一个函数过程。
它通过嵌入在Access中的VisualBasic程序设计语言编辑器和编译器实现与Access的完美结合。
模块通常与窗体、报表结合起来完成完整的应用功能。
各个对象的相互关系如图3.3所示。
用户由“窗体”输入数据,会保存于“表”中,再以“报表”输出数据;以“窗体”设置“查询”条件,从“表”中取得符合条件的数据。
如果在网络上,则以“页”取得用户输入的数据。
其中的“宏”和“模块”用来实现数据的自动操作。
图3.3数据库中的对象
由此可见,这7个对象分工极为明确,从功能和彼此间的关系角度考虑,可以分为三个层次:
第一层次是“表”和“查询”,它们是数据库的基本对象,用于在数据库中存储数据和查询数据。
第二层次是“窗体”、“报表”和“页”,它们是直接面向用户的对象,用于数据的输入输出和应用系统的驱动控制。
第三层次是“宏”和“模块”,它们是代码类型的对象,用于通过组织宏操作或编写程序来完成复杂的数据库管理工作并使得数据库管理工作自动化。
3.3创建数据库
Access提供了多种建立数据库的方法,本节将介绍常用的创建数据库的3种方法,即使用向导创建数据库、直接建立一个空数据库和根据现有文件新建数据库。
不论使用哪一种方法创建的数据库,都可以在以后任何时候进行修改或扩充。
3.3.1使用向导创建数据库
使用“数据库向导”创建数据库是利用Access提供的数据库模板,在向导的帮助下,一步一步地按照向导的提示,进行一些简单的操作,就可以创建一个新的数据库。
这种方法很简单,并具有一定的灵活性,适合初学者使用。
Access提供的数据库模板有“订单”、“分类总帐”、“库存控制”等。
通过这些模板可以方便快速地创建出基于该模板的数据库。
通常的方法是先从数据库向导提供的模板中找出与所建数据库相近的模板,然后利用向导创建数据库,最后再对向导创建的数据库进行修改,直到满足用户的要求为止。
例3.1创建联系人管理数据库。
操作步骤如下:
启动Access数据库系统,在“新建文件”任务窗格中单击“本机上的模板”超链接,打开“模板”对话框。
在该对话框中选择“数据库”选项卡,这时可以看到本机上所有的数据库模板,如图3.4所示。
图3.4“模板”对话框
选择与所建数据库相近的模板,这里选择“联系人管理”模板,然后单击“确定”按钮。
弹出“文件新建数据库”对话框,如图3.5所示。
图3.5“文件新建数据库”对话框
在该对话框中的“文件名”下拉列表框中,输入数据库文件名“联系人管理”,在“保存类型”下拉列表框中,保持默认类型即“MicrosoftAccess数据库”,在“保存位置”下拉列表框中,选择文件的保存位置为“E:
\Access示例”,单击“创建”按钮。
提示:
为了便于以后管理和使用,在创建数据库之前,最好先建立用于保存该数据库的文件夹。
弹出“数据库向导”对话框之一,该对话框列出了在“联系人管理”数据库模板中将要包含的信息。
单击“下一步”按钮,如图3.6所示。
图3.6“数据库向导”对话框之一
弹出“数据库向导”对话框之二,其中列出联系人管理数据库所使用的表及字段结构。
其中字段分成两类,黑体字段是必须包括的字段,斜体字段是自选字段。
需要哪些字段,就选择该字段前的复选框,如图3.7所示。
图3.7“数据库向导”对话框之二
单击“下一步”按钮,弹出“数据库向导”对话框之三,其中列出了10种屏幕显示样式,选择其中一种,如图3.8所示。
图3.8“数据库向导”对话框之三
单击“下一步”按钮,弹出“数据库向导”对话框之四,其中列出了6种报表样式,从中选择需要的样式,如图3.9所示。
图3.9“数据库向导”对话框之四
单击“下一步”按钮,打开“数据库向导”对话框之五,在“请指定数据库的标题”文本框中输入“联系人管理”。
如果想要在每一个报表上加一幅图片,例如公司的徽标,可以选择“是的,我要包含一幅图片”复选框,然后单击“图片”按钮,在图片列表中选择相应的图片添加到报表中,如图3.10所示。
图3.10“数据库向导”对话框之五
单击“下一步”按钮,打开“数据库向导”对话框之六,如图3.11所示。
这是建立数据库的最后一个步骤,在这一对话框中可以选择是否立即启动新建的数据库。
默认情况下,“是的,启动该数据库”复选框是被选中的。
单击“完成”按钮,系统将自动生成“联系人管理”数据库中的表、查询、窗体和报表等,并打开如图3.12所示的联系人管理“主切换面板”窗口。
提示:
用户可以在数据库向导的任一个步骤中单击“完成”按钮来结束数据库的创建过程,这时,Access数据库向导会自动按默认方式创建数据库。
图3.11“数据库向导”对话框之六
图3.12自动生成的数据库系统
完成上述操作后,“联系人管理”数据库的结构框架就建立起来了。
但数据库中所包含的表以及每个表中所包含的字段不一定完全符合要求,因此,在使用向导创建数据库后,还要对其进行修改,使其最终满足需要,修改的方法将在后面的章节中介绍。
用户创建的数据库在Access2003中的默认格式为Access2000的文件格式,这一点使用Access时要注意。
如果要改变新建立数据库的文件格式,可以单击“工具”菜单中“选项”命令项,在“高级”选项卡中将“默认文件格式”改为“Access2002-2003”,如图3.13所示。
改变后的数据库文件格式,必须创建新的数据库才会生效。
图3.13“选项”对话框的“高级”选项卡
3.3.2创建空数据库
在很多情况下,利用向导不能创建完全满足要求的数据库,或者要创建的数据库的内容同数据库向导所提供的差别较大,这时就需要自行创建数据库了。
用户可以首先建立一个空数据库,然后再根据实际需要,添加所需要的表、查询、窗体、报表等对象。
这种方法最灵活,可以创建出所需要的各种数据库。
一个系统的建立,可以从创建空数据库入手,逐步添加对象,完善功能。
例3.2创建一个空的学生成绩管理数据库。
操作步骤如下:
启动Access数据库系统,在“新建文件”任务窗格中,单击“空数据库”超链接,弹出“文件新建数据库”对话框(如图3.5所示)。
在该对话框中的“保存位置”下拉列表框中,指定文件的保存位置为“E:
\Access示例”,在“文件名”下拉列表框中,输入数据库文件名“学生成绩管理”,保持默认类型,如图3.14所示。
图3.14“文件新建数据库”对话框
单击“创建”按钮,Access将创建“学生成绩管理”数据库,窗口中显示“学生成绩管理”数据库窗口,如图3.15所示。
图3.15“学生成绩管理”数据库窗口
目前,空数据库中没有任何表和其他对象,有待以后添加。
3.3.3根据现有文件新建数据库
为了能够利用以前开发完成的数据库系统资源,Access还提供了“根据现有文件新建数据库”的方法。
使用现有文件创建数据库是以用户以前所创建的数据库文件为模板创建数据库。
例3.3根据联系人管理数据库新建一个数据库。
操作步骤如下:
在Access窗口的“新建文件”任务窗格中,单击“根据现有文件”超链接,弹出“根据现有文件新建”对话框,如图3.16所示。
图3.16“根据现有文件新建”对话框
在“根据现有文件新建”对话框中,在“查找范围”下拉列表框中找到所需要的数据库文件夹,在该文件夹中,选中所需要的数据库文件,例如“联系人管理”,如图3.16所示。
单击“创建”按钮,窗口中即显示“联系人管理1”数据库窗口,如图3.17所示。
图3.17根据现有文件创建的数据库
使用这种方法新建的数据库文件与原有的数据库文件存放在相同的文件夹中,新的数据库文件名是原有文件名的后端加上“1”。
新建的数据库文件的数据库对象与原有的数据库文件的对象相同(包括相应的数据),如同是原有数据库文件的一个副本。
设计人员可以在该文件的基础上,根据新的数据库系统的开发要求,对数据库进行修改。
这样利用以前的资源可以较快地开发新的数据库系统。
3.4使用数据库
使用或维护数据库,都需要先打开数据库,然后根据个人的使用习惯设置数据库窗口的外观。
3.4.1打开数据库
Access提供了3种打开数据库的方法:
1.直接双击数据库文件
在Access中,数据库文件是一个文档文件,所以可以在“资源管理器”或“我的电脑”窗口中,通过双击.mdb文件,打开数据库文件,与Windows中打开文件的方法相同。
2.通过“开始工作”任务窗格
如果数据库文件名出现在任务窗格中,则通过直接单击数据库文件名就可以打开该数据库。
如果数据库文件名没有出现在任务窗格中,则按照下面的操作步骤打开数据库文件:
启动Access,在“开始工作”任务窗格中,单击“打开”选项区域中的超链接,弹出“打开”对话框,如图3.18所示。
图3.18“打开”对话框
在“打开”对话框的“查找范围”下拉列表框中,找到保存要查找的数据库文件的文件夹,例如“E:
\Access示例”。
如果找不到想要打开的数据库,可单击“打开”对话框中的“工具”,再单击“查找”,然后在打开的“文件搜索”对话框中,输入附加搜索条件。
在列表窗格中,选择所需要的数据库文件,例如“联系人管理”。
然后单击“打开”按钮,打开相应的数据库文件。
3.使用“打开”命令
操作步骤如下:
启动Access后,单击“文件”菜单中“打开”命令项,或者单击工具栏上的“打开”按钮,弹出“打开”对话框(如图3.18)。
在“打开”对话框的“查找范围”下拉列表框中,找到保存要查找的数据库文件的文件夹,选中需要打开的数据库文件,最后单击“打开”按钮即可。
以上是在单用户环境下,打开数据库的方法。
若在多用户环境下(即多个用户,通过网络共同操作一个数据库文件),则应根据使用方式的不同,选择相应的打开方式。
在“打开”对话框中,“打开”按钮的右侧有一个下拉按钮,单击该按钮会弹出一个下拉菜单,如图3.19所示。
菜单中的4个选项含义如下:
●选择“打开”选项
被打开的数据库文件可被其他用户共享,这是默认的打开方式。
●选择“以只读方式打开”选项
只能使用和浏览被打开的数据库文件,不能对其进行修改。
●选择“以独占方式打开”选项
其他用户不能使用被打开的数据库文件。
●选择“以独占只读方式打开”选项
只能使用和浏览被打开的数据库文件,不能对其进行修改,其他用户不能使用该数据库文件。
3.4.2关闭数据库
在完成数据库操作后,需要将它关闭。
在Access中,关闭了数据库窗口,也就关闭了相应的数据库文件,可以使用下面的方法关闭数据库:
●单击“数据库”窗口右上角的“关闭”按钮。
●双击“数据库”窗口左上角的“控制”菜单图标。
●单击“数据库”窗口左上角的“控制”菜单图标,在弹出的菜单中选择“关闭”命令。
●在Access主菜单中选择“文件”菜单中的“关闭”命令。
●打开“文件”菜单,按【C】键。
●使用快捷键【Ctrl+F4】。
3.5完善数据库
3.5.1设置数据库属性
数据库的标题、作者、单位等属性,可以通过数据库属性窗口进行定义或查看,如图3.20所示。
例3.4设置“学生成绩管理”数据库属性,相关属性值参见图3.20。
操作步骤如下:
图3.20数据库属性窗口的“摘要”选项卡
在Access窗口中单击“文件”菜单中“数据库属性”命令项,打开数据库属性窗口,如图3.20所示。
在“摘要”选项卡的相关编辑框中,输入相应的值。
单击“确定”按钮,完成设置。
如果要更改数据库操作的系统环境及其他数据库对象的默认设置,则必须在“选项”对话框(如图3.21)中进行。
在Access中,数据库中全部资源的基本属性都可以通过“选项”对话框的不同选项卡来设置。
3.5.2设置默认文件夹
通常Access系统打开或保存数据库文件的默认文件夹是“MyDocuments”。
但为了数据库文件管理、操作上的方便,可把数据库放在一个“专用”的文件夹中,这就需要设置默认文件夹。
例3.5设置Access的数据库默认文件夹为“E:
\Access示例”。
操作步骤如下:
在Access窗口中单击“工具”菜单中“选项”命令项,打开“选项”对话框,如图3.21所示。
图3.21“选项”对话框的“常规”选项卡
在“常规”选项卡的“默认数据库文件夹”框中,输入要设置为默认工作文件夹的路径。
在此输入“E:
\Access示例”。
单击“确定”按钮,完成设置。
3.5.3数据库的压缩与修复
在对数据库进行操作时,因为需要经常对数据库中的对象进行维护,这时数据库文件中就可能包含相应的“碎片”。
压缩和修复数据库可以重新整理、安排数据库对磁盘空间的占有,可以恢复因操作失误或意外情况丢失的数据信息,从而提高数据库的使用效率,保障数据库的安全性。
在压缩和修复数据库时,用户必须对该数据库具有“以独占方式打开”的权限。
1.数据库的压缩
压缩数据库文件有两种方法,一种是打开数据库文件再压缩;另一种是不打开数据库文件直接压缩。
例3.6对“学生成绩管理”数据库进行压缩操作。
方法一:
打开数据库文件再压缩。
在Access窗口中打开“学生成绩管理”数据库。
单击“工具”菜单中“数据库实用工具”下的“压缩和修复数据库”命令项,系统自动完成压缩。
方法二:
不打开数据库文件直接压缩。
启动Access系统。
单击“工具”菜单中“数据库实用工具”下的“压缩和修复数据库”命令项,弹出“压缩数据库来源”对话框,如图3.22所示。
图3.22“压缩数据库来源”对话框
在“压缩数据库来源”对话框中,选择要压缩的数据库文件,如“学生成绩管理”,再单击“压缩”按钮,弹出“将数据库压缩为”对话框,如图3.23所示。
图3.23“将数据库压缩为”对话
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第3章 数据库的基本操作 数据库 基本 操作
![提示](https://static.bdocx.com/images/bang_tan.gif)