Access数据库实验

时间:2024.4.7

实 验 报 告

Access数据库实验

Access数据库实验

Access数据库实验

实验目的:

1. 数据库的冗余

2. 数据共享

实验内容:

在Access中创建一个数据库学生选课. accdb,在该数据库中建立三个表:课程、选课、学生;创建一个查询设计,可以调用三张表,通过数据表的关联,运行显示包括学号、姓名、课程名、成绩字段的学生选课成绩查询(如下图所示)。

实验步骤:

1. 创建文件名为学生选课. accdb的数据库

a) 启动Access 2007:开始-程序-Microsoft Office-Access 2007

b) 在“开始使用 Microsoft Office Access”页中,单击“空白数据库”(如图

一)。

图一

c) 在“空白数据库”窗格的“文件名”框中,键入文件名:学生选课. accdb。若要更改文件位置,请单击“文件名”框旁边的“浏览”

选择新的位置,然后单击“确定”。

d) 单击“创建”。Access 将创建数据库学生选课. accdb,然后在数据表视图中打开一个空表(名为表1)。

2. 在该数据库中建立三个表:课程、选课、学生 ,通过浏览查找并

a) 保存数据表视图中表1时,将表名更名为课程(如图二):单击“Microsoft Office 按钮” ,然后单击“保存”。

Access数据库实验

图二

b) 切换到设计视图。在课程表中输入字段名称:课程号、课程名;选择对应数据

类型:文本(如图三)。

Access数据库实验

图三

c) 在“创建”选项卡上的“表”组中,单击“表”。

Access数据库实验

d) 单击“Microsoft Office 按钮” ,然后单击“保存”。表名为选课。 e) 切换到设计视图。在课程表中输入4个字段名称、选择4个字段对应数据类型;

同时拖选中学号、课程号所在两行,设置为主键(如图四)。

Access数据库实验

图四

f) 在“创建”选项卡上的“表”组中,单击“表”。

Access数据库实验

g) 单击“Microsoft Office 按钮” ,然后单击“保存”。表名为学生。

h) 切换到设计视图。在课程表中输入3个字段名称、选择3个字段对应数据类型;

Access数据库实验

3. 分别向课程、选课、学生三个表中录入数据

a) 将课程表设计完后保存,双击表名,按课程号、课程名字段内容要求输入两行

对应值(如图五)。

Access数据库实验

图五

b) 将选课表设计完后保存,双击表名,按学号、课程号、选课时间字段内容要求

输入两行对应值(如图六)。

Access数据库实验

图六

c) 将学生表设计完后保存,双击表名,按学号、姓名、专业字段内容要求输入两

行对应值(如图七)。

Access数据库实验

图七

4. 学生选课成绩查询

a) 创建-查询设计,添加课程、选课、学生表(如图八)。

图八

b) 选择需要查询的表、字段,决定是否显示,填写查询条件。(如图九)

图九

c) Office按钮-保存。(如图十)

Access数据库实验

图十

d) 查询工具-运行,结果如图十一。

Access数据库实验

Access数据库实验

Access数据库实验

图十一 实验小结:1.对主键功能的认识:一:作用

1)保证实体的完整性;

2)加快数据库的操作速度

3) 在表中添加新记录时,ACCESS会自动检查新记录的主键值,不允许该值与其他记录的主键值重复。

4) ACCESS自动按主键值的顺序显示表中的记录。如果没有定义主键,则按输入记录的顺序显示表中的记

5)主键唯一地标识一行编辑本段数据库主键

主键:表中经常有一个列或列的组合,其值能唯一地标识表中的每一行。这样的一列或多列称为表的主键,通过它可强制表的实体完整性。当创建或更改表时可通过定义 PRIMARY KEY 约束来创建主键。一个表只能有一个 PRIMARY KEY 约束,而且 PRIMARY KEY 约束中的列不能接受空值。由于 PRIMARY KEY 约束确保唯一数据,所以经常用来定义标识列。

作用 :1)保证实体的完整性;

2)加快数据库的操作速度

3) 在表中添加新记录时,ACCESS会自动检查新记录的主键值,不允许该值与其他记录的主键值重复。

4) ACCESS自动按主键值的顺序显示表中的记录。如果没有定义主键,则按输入记录的顺序显示表中的记录。

编辑本段主键的特性

主键的必要性:

有些朋友可能不提倡数据库表必须要主键,但在我的思考中,觉得每个表都应该具有主键,不管是单主键还是双主键,主键的存在就代表着表结构的完整性,表的记录必须得有唯一区分的字段,主键主要是用于其他表的外键关联,本记录的修改与删除,当我们没有主键时,这些操作会变得非常麻烦。

主键的无意义性:

我强调主键不应该具有实际的意义,这可能对于一些朋友来说不太认同,比如订单表吧,会有“订单编号”字段,而这个字段呢在业务实际中本身就是应该具有唯一性,具有唯一标识记录的功能,但我是不推荐采用订单编号字段作为主键的,因为具有实际意义的字段,具有“意义更改”的可能性,比如订单编号在刚开始的时候我们一切顺利,后来客户说“订单可以作废,并重新生成订单,而且订单号要保持原订单号一致”,这样原来的主键就面临危险了。因此,具有唯一性的实际字段也代表可以作为主键。因此,我推荐是新设一个字段专门用为主键,此主键本身在业务逻辑上不体现,不具有实际意义。

而这种主键在一定程序增加了复杂度,所以要视实际系统的规模大小而定,对于小项目,以后扩展不会很大的话,也查允许用实际唯一的字段作主键的。

编辑本段主键的选择

①编号作主键

此方法就是采用实际业务中的唯一字段的“编号”作为主键设计,这在小型的项目中是推荐这样做的,因为这可以使项目比较简单化,但在使用中却可能带来一些麻烦,比如要进行“编号修改”时,可能要涉及到很多相关联的其他表,就象黎叔说的“后果很严重”;还有就是上面提到的“业务要求允许编号重复时”,我们再那么先知,都无法知道业务将会修改成什么?

②自动编号主键

这种方法也是很多朋友在使用的,就是新建一个ID字段,自动增长,非常方便也满足主键的原则,优点是:数据库自动编号,速度快,而且是增量增长,聚集型主键按顺序存放,对于检索非常有利;数字型的,占用空间小,易排序,在程序中传递也方便;如果通过非系统增加记录(比如手动录入,或是用其他工具直接在表里插入新记录,或老系统数据导入)时,非常方便,不用担心主键重复问题。

缺点:其实缺点也就是来自其优点,就是因为自动增长,在手动要插入指定ID的记录时会显得麻烦,尤其是当系统与其他系统集成时,需要数据导入时,很难保证原系统的ID不发生主键冲突(前提是老系统也是数字型的);如果其他系统主键不是数字型那就麻烦更大了,会导致修改主键数据类型了,这也会导致其他相关表的修改,后果同样很严重;就算其他系统也是数字型的,在导入时,为了区分新老数据,可能想在老数据主键前统一加一个“o”(old)来表示这是老数据,那么自动增长的数字型又面临一个挑战。 ③Max加一

由于自动编号存在那些问题,所以有些朋友就采用自己生成,同样是数字型的,只是把自动增长去掉了,采用在Insert时,读取Max值后加一,这种方法可以避免自动编号的问题,但也存在一个效率问题,如果记录非常大的话,那么Max()也会影响效率的;更严重的是并发性问题,如果同时有两人读到相同的Max后,加一后插入的ID值会重复,这已经是有经验教训的了。

④自制加一

考虑Max加一的效率后,有人采用自制加一,也就是建一个特别的表,字段为:表名,当前序列值。这样在往表中插入值时,先从此表中找到相应表的最大值后加一,进行插入,有人可能发现,也可能会存在并发处理,这个并发处理,我们可以采用lock线程的方式来避免,在生成此值的时,先Lock,取到值以后,再unLock出来,这样不会有两人同时生成了。这比Max加一的速度要快多了。但同样存在一个问题:在与其他系统集成时,脱离了系统中的生成方法后,很麻烦保证自制表中的最大值与导入后的保持一致,而且数字型都存在上面讲到的“o”老数据的导入问题。因此在“自制加一”中可以把主键设为字符型的。字符型的自制加一我倒是蛮推荐的,应该字符型主键可以应付很多我们意想不到的情况。

⑤GUID主键

目前一个比较好的主键是采用GUID,当然我是推荐主键还是字符型的,但值由

GUID生成,GUID是可以自动生成,也可以程序生成,而且键值不可能重复,可以解决系统集成问题,几个系统的GUID值导到一起时,也不会发生重复,就算有“o”老数据也可以区分,而且效率很高,在.NET里可以直接使用System.Guid.NewGuid()进行生成,在SQL里也可以使用NewID()生成。优点是:

同IDENTITY 列相比,uniqueidentifier 列可以通过NewID() 函数提前得知新增加的行ID,为应用程序的后续处理提供了很大方便。

便于数据库移植,其它数据库中并不一定具有IDENTITY 列,而Guid 列可以作为字符型列转换到其它数据库中,同时将应用程序中产生的GUID 值存入数据库,它不会对原有数据带来影响。

便于数据库初始化,如果应用程序要加载一些初始数据,IDENTITY 列的处理方式就比较麻烦,而uniqueidentifier 列则无需任何处理,直接用T-SQL 加载即可。

便于对某些对象或常量进行永久标识,如类的ClassID,对象的实例标识,UDDI 中的联系人、服务接口、tModel标识定义等。

缺点是:

GUID 值较长,不容易记忆和输入,而且这个值是随机、无顺序的

GUID 的值有16 个字节,与其它那些诸如4 字节的整数相比要相对大一些。这意味着如果在数据库中使用uniqueidentifier 键,可能会带来两方面的消极影响:存储空间增大;索引时间较慢。


第二篇:access实验指导书


 

课 程 号:

适用专业:

制 定 人:

教 研 室:

电子商务教研室

2009 年7月


前言

Microsoft Access是Microsoft公司的Office办公自动化软件的组成部分,是应用广泛的关系型数据库管理系统之一,既可以用于小型数据库系统开发,又可以作为大中型数据库应用系统的辅助数据库或组成部分。在计算机等级、全国计算机应用证书考试等多种计算机知识考试中都有Access数据库应用技术。

 《Microsoft Access 应用》课程,面向电子商务专业开设计算机基础课。以Access数据库管理系统为平台,介绍数据库系统开发的思想和方法。通过理论与实践教学,使学生掌握关系型数据库的基本操作,理解关系型数据库的有关概念,具备一定的数据库结构设计的能力,并能综合运用所学知识,进行小型数据库应用系统的开发工作。

本实验指导书中详细介绍了每个实验的目的、实验内容,并在方法上给出了指导,希望对同学们的学习能够有所帮助。


实验要求

Microsoft Access应用实验是Microsoft Access应用课程的重要组成部分,属于学科基础实验范畴,是与相关教学内容配合的实践性教学环节。学生通过实验,验证课堂学习的知识,掌握数据库、数据表建立、查询、窗体、报表、宏以及数据访问页的方法,从而具有小型数据库管理系统的设计能力。

在《Microsoft Access应用》的课程实验过程中,要求学生做到:

(1)预习实验指导书有关部分,认真做好实验内容的准备,就实验可能出现的情况提前作出思考和分析。

(2)仔细观察上机和上网操作时出现的各种现象,记录主要情况,作出必要说明和分析。

(3)认真书写实验报告。实验报告包括实验目的和要求,实验情况及其分析。

(4)遵守机房纪律,服从辅导教师指挥,爱护实验设备。

(5)实验课程不迟到。如有事不能出席,所缺实验一般不补。

实验的验收将分为两个部分。第一部分是上机操作,包括检查程序运行和即时提问。第二部分是提交书面的实验报告。


  

实验一  创建Access数据库... 5

实验二  创建和使用表... 6

实验三  查询设计... 9

实验四  SQL语言... 10

实验五  窗体设计... 11

实验六  报表设计... 14

实验七  宏... 16

实验八  数据访问页设计... 17

实验九  小型数据库管理系统的设计... 18


实验一   创建Access数据库

实验目的

1.了解Access数据库窗口的基本组成

2.熟悉Access的工作环境,达到熟练使用的目的

3.学会查找7个数据库对象的相关帮助信息,为以后实验打下基础

4.学会如何创建数据库文件

实验内容

1.启动Access数据库,在“d:\Access练习”文件夹中创建一个名为“图书管理.mdb”的空数据库文件。

2.启动Access数据库,使用“库存控制”向导创建一个名为“库存管理.mdb”的数据库文件,并保存在“d:\ Access练习”文件夹中。然后运行该数据库应用系统,了解它的各部分组成和功能。


实验二 创建和使用表

实验目的

1.熟练掌握使用据库表的建立方法

2.掌握表属性的设置

3.掌握记录的编辑、排序和筛选

4.掌握索引和关系的建立

实验内容

1.表1~3,在上述建立的数据库中创建“读者”、“图书”、“借书登记”3个表。

表1  “读者”表结构

表2  “图书”表结构

表3  “借书登记”表结构

2.将所有日期型字段的格式设置为“短日期”。

3.将“图书”表的“书号”字段的“标题”设置为“图书编号”;“出版社”字段的默认值设置为“电子工业出版社”;“价格”字段的有效性规则为“价格>0”;有效性文本为“价格必须大于0”。

4.“登记”表设置有效性规则“还书日期>借书日期”,有效性文本为“还书日期必须大于借书日期”。

5.为“读者”表的“部门”字段设置查阅属性,显示控件为:组合框,行来源类型为:值列表,行来源为:法律系;英语系;中文系;科研处;人事处;教务处。

6.在“读者”、“图书”和“借书登记”3个表中输入记录,照片和备注内容可以自己定义。

“读者”表记录

“图书”表记录

“借书登记”表记录

7.在“读者”表中,将“部门”字段移到“姓名”字段的前面,然后增加一个“联系方式”字段,数据类型能够为“超链接”(存放读者的E-mail地址)。

8.在“读者”表和“图书”表中添加两条记录,内容自定。

9.删除“读者”表中新添加的两条记录。

10.备份数据库中的3个表。

11.对“读者”表按“办证日期”排序。

12.对“借书登记”表按“借书证号”排序,对同一个读者按“借书日期”降序排序。

13.从“图书”表中查找有破损的图书。

14.从“借书登记”表中查找借书证号为“522100”的读者在20##年的借书情况。

15.在“读者”表中,按“办证日期”字段建立普通索引,索引名为“办证日期”。

16.在“借书登记”表中,按“借书证号”和“书号”两个字段建立唯一索引,索引名为“借书证号+书号”。按“借书证号”和“借书日期”两个字段建立普通索引,索引名为“借书证号+借书日期”。

17.在“读者”表和“借书登记”表之间按“借书证号”字段建立关系,在“图书”表和“借书登记”表之间按“书号”字段建立关系,两个关系都实施参照完整性。


实验三   查询设计

实验目的

1.掌握选择查询的基本方法

2.掌握参数查询的基本方法

3.了解交叉表查询

实验内容

1.利用“查找不匹配项查询向导”查找从未借过书的读者的借书证号、姓名、部门和办证日期,查询对象保存为“未借过书的读者”。

2.利用“查找重复项查询向导”查找同一本书的借阅情况,包含书号、借书证号、借书日期和还书日期,查询对象保存为“同一本书的借阅情况”。

3.利用“交叉表查询向导”查询每个读者的借书情况和借书次数,行标题为“借书证号”,列标题为“书号”,按“借书日期”字段计数。查询对象保存为“借阅明细表”。

4.创建一个名为“法律系借书情况”的查询,查找法律系读者的借书情况,包括借书证号、姓名、部门、书名和借书日期,并按书名排序。

5.创建一个名为“按图书查询”的参数查询,根据用户输入的书名查询该书的借阅情况,包括借书证号、姓名、书名、作者、借书日期和还书日期。

6.创建一个名为“价格总计”的查询,统计各出版社图书价格的总和,查询结果中包括出版社和价格总计两项信息,并按价格总计项降序排列。

7.创建一个名为“借书超过60天”的查询,查找借书人的姓名、借书证号、书名、借阅时间等信息。

8.创建一个名为“已借出图书”的查询,查找书号、书名和借书日期。

9.创建一个名为“查询部门借书情况”的生成表查询,将“法律系”和“英语系”两个部门的借书情况(包括借书证号、姓名、部门、书号)保存到一个新表中,新表的名称为“部门借书登记”。

10.创建一个名为“添加部门借书情况”的追加查询,将“人事处”读者的借书情况添加到“部门借书登记”表中。

11.创建一个名为“删除部门借书情况”的删除查询,将“英语系”读者的借书情况从“部门借书登记”表中删除。

12.将“读者”表复制一份,复制后的表名为“读者 copy”,然后创建一个名为“更改部门”的更新查询,将“读者 copy”表中部门为“人事处”的字段值改为“教务处”。


实验四   SQL语言

实验目的

1.掌握SQL语言的使用方法

2.利用SQL语句实现相关的操作

3.能够独立写出一些较复杂的SQL语句

实验内容

1.使用SQL语句定义READER表,其结构与第4章中的“读者”表相同,然后使用插入命令在READER表中插入两条记录,内容自定。

2.根据“图书管理”数据库中的“读者”、“图书”和“借书登记”3个表,使用SQL语句完成以下查询。

(1)从“读者”表中查找法律系读者的所有信息。

(2)从“借书登记”表中查找尚未归还的图书的书号、借书证号和借书日期。

(3)从“借书登记”表中查询每本书每次借出的天数。

(4)从“借书登记”表中查询每本书的借阅次数。

(5)从“图书”表中查找各出版社图书的价格总计,并按价格降序输出。

(6)查询所有借过书的读者姓名和借书日期。

(7)查询所有借阅了“红楼梦”的读者的姓名和借书证号。

(8)查询至今没有人借阅的图书的书名和出版社。


实验五 窗体设计

本实验为设计性实验,要求学生设计一个自己感兴趣的窗体。课内学时2,课外学时8。

通过本实验,掌握窗体设计的方法。

实验目的

1.掌握窗体设计的方法

2.根据具体要求设计窗体,并使用窗体完成相关操作

实验内容

1.建立一个“读者登记”窗体,如图所示。数据源为“读者”表,窗体标题为“读者记录”。

2.建立一个“图书登记”窗体,如图所示。数据源为“图书”表,窗体标题为“图书记录”,要求出版社的信息利用组合框控件输入或选择。然后通过窗体添加两条新记录,内容自行确定。

3.建立一个“借书登记”窗体,如图所示。数据源为“借书登记”表,窗体标题为“借书记录”。要求显示系统当前的日期,并统计借书人次(使用count()函数实现)。

4.建立一个“读者借书情况”的主子窗体,如图7.76所示。主窗体显示读者的借书证号、姓名和部门。子窗体显示相应读者的借书情况,包括借书证号、书号、书名、借书日期和还书日期。

5.建立一个“图书管理主界面”的窗体,如图所示。单击各命令按钮,可分别打开上面建立的4个窗体,单击“退出”按钮,可关闭窗体。


实验六 报表设计

实验目的

1.掌握报表的创建方法

2.根据不同要求设计不同的报表,实现显示和统计功能

实验内容

1.建立一个“读者信息”报表,显示每位读者的详细信息,如图所示。

2.使用标签向导,建立一个“图书登记卡”标签,如图所示。

3.建立一个“图书借阅情况”报表,显示每本书的借阅情况及借阅次数。

4.建立一个“还书情况”报表,统计每个读者的还书情况(按书号排序)。如果还书日期不为空,则表示已还书;否则,就表示未还书(用红色文字显示)。

5.建立一个“读者借书”报表,显示每个读者的借书情况,要求使用子报表实现,并且第1页只显示报表的标题、制作人和日期等信息,从第2页开始显示读者借书的信息。

6.建立一个“借书统计”报表,显示图书信息及借书统计图表。


实验七  宏

实验目的

1.掌握宏的设计方法

2.根据要求设计窗体,实现具体功能

实验内容

1.设计一个“借阅记录”窗体,在“书号”文本框中输入书号(或书号的前几位)后,单击“查找”按钮即可显示借阅该书的所有记录;如果“书号”文本框中没有输入书号,则单击“查找”按钮时显示一个消息框,提示输入书号。用宏完成“查找”按钮的操作。

2.设计一个“图书查询”窗体,从组合框中选择一个书号后,单击“查找”按钮,可以打开“图书信息”窗体,显示与该书号对应的图书信息。单击“取消”按钮可以关闭“图书信息”窗体。用宏组完成“查询”和“取消”按钮的操作。


实验八  数据访问页设计

实验目的

1.掌握数据访问页的设计方法

2.利用数据访问页实现具体要求

实验内容

1.建立一个名为“图书信息”的数据访问页,页面标题为滚动文字。

2.建立一个名为“借书情况”的数据访问页,按“书号”分组显示每本图书的借阅情况。

实验九  小型数据库管理系统的设计

实验目的

1.运用课程所学知识,设计一个小规模的数据库关系系统。

2.进一步理解和掌握关系型数据库的管理软件的设计方法。

3.理解和掌握理解和掌握关系型数据库的知识,熟悉查询、窗体和报表的使用方法。

实验内容

学生自行设计一个小规模数据库管理系统,如学生成绩管理系统、教学管理系统等

要求涉及以下内容及知识点:

(1)建立一个关系型数据库文件,根据题目自行设计多个数据表。要求能够有效的存储系统所需的数据,数据冗余度小,并建立表之间的关系。

(2)对数据库中的一个或多个表中的数据进行查找、统计和加工等操作。

(3)使用窗体和各种控件方便而直观地查看、输入或更改数据库中的数据。

(4)实现将数据库中的各种信息(包括汇总和会计信息)按要求的格式和内容打印出来,方便用户的分析和查阅。

更多相关推荐:
Access数据库实验报告

数据库及其应用课程编号B0901000实验报告20xx20xx学年第2学期实验成绩学号姓名专业班级课堂号任课教师完成日期20xx0527直接启动Access或在文件选项卡中选择新建命令项出现新建空数据库的Bac...

大学Access数据库实验报告

Access数据库和表的创建实验报告Access查询和SQL查询实验报告Access窗体以及窗体控件实验报告VBA程序设计基础实验报告

access数据库实验报告-文成

附件四深圳大学实验报告课程名称班级实验时间实验报告提交时间教务处制

Access数据库实验报告

Access数据库实验报告学号姓名专业学院20xx年12月日

Access数据库实验报告

Access数据库考试实验报告20xx12341234机械设计赵土豆一实验目的考察本课程学习成果即对数据库基本操作的掌握二实验步骤1打开Access20xx在中间窗格选择创建空白数据库在右边窗格输入数据库名20...

Access实验报告

Access实习报告成绩管理系统小组成员施杰20xx30620xx04何元20xx30220xx11姜钰20xx30620xx30黄洁20xx30620xx11设计分析设计分析是创建数据库的保障它包括对系统功能...

实验一 access数据库及数据表的设计

琼州学院课程实验报告20xx20xx年度第二学期专业网络工程课程数据库系统原理班级姓名学号教师陈作聪琼州学院电子信息工程学院制实验报告填写说明填写一律用钢笔或圆珠笔填写或打印要求字迹工整条理清晰实验题目可以填写...

access数据库手工注入

access数据库手工注入一实验目的通过手工注入获得后台管理权限了解SQL注入的基本原理了解手动注入的各种常用SQL语句和注入流程手动注入探测出管理员账号和密码二实验要求认真阅读和掌握本实验相关的知识点上机实现...

《Access数据库程序设计》综合设计实训报告格式

北京联合大学应用文理学院实训报告实训项目姓名同组人专业班级指导教师实训地点实训时间实训报告内容1项目背景及目标2系统的组成和实现的主要功能包括1数据库结构描述为说明清晰可展示相应图片2数据库主要功能描述3原始数...

Access数据库应用技术实训大纲

Access数据库应用技术实训大纲一实训项目名称Access数据库应用技术实训二实训项目编号155209三项目类别和实训目的1项目类别本课程是面向全校非计算机专业开设的一门公共基础课程是计算机基础课程延续开设本...

《Oracle数据库》实验报告模板

广东石油化k工学院20xx年20xx年第一学期专业信息与计算科学课程名称数据库系统原理与应用oracle班级信息122班姓名李皓文指导教师梁柱森实验报告实验二创建数据库和表实验报告实验报告实验报告

oracle数据库实验报告1-3内容

重庆文理学院软件工程学院实验报告册专业软件工程班级软件一班学号姓名课程名称oracle数据库指导教师李瑞20xx年9月15日1下载oracle11g软件包写出下载的地址2安装oracle11g写出主要步骤实验过...

access数据库实验报告(14篇)