数据库作业Word文件下载.docx
- 文档编号:17507576
- 上传时间:2022-12-06
- 格式:DOCX
- 页数:23
- 大小:85.03KB
数据库作业Word文件下载.docx
《数据库作业Word文件下载.docx》由会员分享,可在线阅读,更多相关《数据库作业Word文件下载.docx(23页珍藏版)》请在冰豆网上搜索。
4.掌握从文本文件和EXCEL表导入到表的方法。
二、实验设备(环境)及要求
PC机,WindowsXP,Access2003
参考教材:
《数据库及其应用(Access及Excel)学习与实验实训教程》。
三、实验内容要求
(实验操作内容和步骤写在表格后面、回答问题写在表给内)
实验项目1:
数据库设计及数据库与表的创建与操作
(一)数据库与表的设计与创建
1.给定如下数据分析,进行概念设计与逻辑设计。
即设计系统的E-R模型并转换为关系模型。
(数据参见附表)。
某学校设计学生教学管理系统。
学生实体包括学号、姓名、性别、生日、民族、籍贯、简历、登记照,每名学生选择一个主修专业,专业包括专业编号和名称,一个专业属于一个学院,一个学院可以有若干个专业。
学院信息要存储学院号、学院名、院长。
教学管理还要管理课程表和学生成绩。
课程表包括课程号、课程名、学分,每门课程由一个学院开设。
学生选修的每门课程获得一个成绩。
上图为学生教学管理E-R模型
由学生教学管理E-R模型转换为关系模型
学生(学号,,性别,生日,民族,籍贯,专业号,简历,登记照)
专业(专业号,专业,专业类别,学院号)
学院(学院号,学员名,院长)
课程(课程号,课程名,学分,学院号)
2.数据库结构设计
指定数据库文件的名称,并为设计好的关系模型设计表结构。
数据库文件保存在“E:
\教学管理\”文件夹中。
数据库文件保存在“E:
\教学管理\”文件夹中,数据库文件名为“教学管理.MDB”。
表包括学院名、专业名、学生、课程和成绩单。
3.定义数据库文件
定义存放路径,和数据库文件。
写出操作步骤。
可包括必要的截图
(1)在E盘(也可在其他盘)上建立“教学管理”文件夹。
(2)启动Access,单击“新建”按钮图标,出现“任务窗口”,在“任务窗口”中单击“空数据库”超链接,出现“文件新建数据库”对话框。
(3)在对话框中找到“E:
\教学管理”文件夹,然后在“文件名”下拉列表中输入“教学管理”,单击“创建”按钮,创建完毕
4.定义数据库中各表
根据事先设计好的结构,分别定义各表、字段名、字段属性。
重复的步骤可简化。
(1)在“数据库”窗口中选择“表”对象栏。
在“表”对象窗口中双击“使用设计器创建表”选项,弹出表设计窗口,在设计器中设计“学院表”。
(2)“学院号”是文本型,大小为4,单击工具栏中的“主题”按钮,定义为主键。
“学院名”是文本型,大小为16,“必填字段”设置为“是”。
“院长”是文本型,字段为8.
(3)然后单击工具栏中的“保存”按钮,弹出“另存为”对话框。
(4)在“表名称”文本框中输入“学院”,单击“确定”按钮,表对象创建完成。
(5)依次建立“专业”表、“课程”表、“学生”表和“成绩单”表
5.定义表之间的关系
当所有表都定义好后,定义各表之间的关系。
1)在工具栏中单击“关系”按钮,弹出关系定义窗口,并同时出现“显示表”对话框。
依次选中各表,并单击“添加”按钮,将各表添加到关系窗口中。
(2)选中“学院”表的“学院号”字段,拖到“专业”表内的学院号上,弹出“编辑关系”对话框,选中“实施参照完整性”复选框。
单击“创建”按钮,创建“专业”表和“学院”表之间的关系。
(3)类似方式建立“课程”和“学院、“学生”和“专业”、“成绩”和“学生”及“课程”表之间的关系,得到整个数据库的关系。
6.输入表记录
当所有表建立好后,可开始输入记录。
简要说明输入的操作
1)输入的顺序依次是学院表、专业表、学生表和课程表记录,最后是成绩单表的记录。
(2)在数据表对象窗口,双击“学院”表,出现“学院”表的“数据表”图。
在该视图中依次输入各条记录。
(3)当数据库不再使用时,关闭数据库窗口及Access
(二)Access数据库窗口基本操作
1.设置教学管理数据库窗口中表对象列表窗口的显示格式为“详细信息”
在Access中打开教学管理数据库,在“对象”栏中选择“表”,然后单击命令栏中的“详细信息”按钮图标。
2.隐藏和重新显示教学管理数据库窗口
(1)
(1)选择“工具”——“启动”命令,弹出“启动”对话框。
取消对“显示数据库窗口”
复选框的选择。
这样,下次在打开该数据库文件时,将不再显示相应的数据库窗口。
(2)
(2)要想重新显示数据库窗口,在打开数据库后按F11键,这时将重新显示数据库窗口。
然后在“启动”对话框中选中“显示数据库窗口”复选框。
这样以后再打开数据库时
会重新显示数据库窗口。
3.定义一个“学生与成绩”组,将“学生”、“成绩”表放置到该组中
写出创建组的操作和放置对象的操作。
(1)创建组的操作如下。
在教学管理数据库窗口中,选择“编辑”——“组”——“新组”命令;
或者在对象
标签栏中单击右键,从弹出的快捷菜单中选择“新组”命令,弹出“新建组”对话框。
在“新组名称”文本框中输入组的名称“学生与成绩”,单击“确定”按钮,则在数据
库窗口中创建了一个组,显示在对象标签栏的“收藏夹”下面。
(1)将“学生”表放入组的操作方法如下。
选择“表”对象,然后选中“学生”表单击右键,从弹出的快捷菜单中选择“添加到
组”——“学生与成绩”命令,这样“学生”表的快捷方式就加入到组中。
用类似的方式可以将“成绩”表放置到该组中。
(三)创建表时的完整性设置
1.定义主键,实现实体完整性的操作
每个表都可以定义主键。
在Access中为教学管理数据库的各表定义主键。
当一个表没有合适的字段作为主键时,一般会增加一个“id”字段。
试在“成绩”表中增加一个“成绩id”字段,并定义为“自动编号”型,然后定义其为主键。
2.进行设置参照完整性的操作
在定义的有关系的表上,为关系设置参照完整性。
3.通过不同方式实现用户定义的完整性的操作
用户定义的完整性,是指由用户规定的对于表中数据取值的约束。
在Access表定义时,除定义主键和关系外,通过多种方式设置用户定义完整性。
对教学管理数据库中必要的用户定义完整性进行设置和定义。
在“学生”表中,定义“姓名”等字段不允许取空值;
定义“性别”的“有效性规则”为
“男”或“女”;
为“学号”字段定义每位只能输入0~9的8位输入掩码等。
定义字段的不重复索引可以限制字段输入重复值;
定义“查阅”控件可以使输入局限在给
定的值域内。
(四)字段属性定义与应用
1.字段显示格式设置
①使“学生”表中的“民族”字段以黄色显示。
②使“学生”的生日以中文方式、红色显示。
③使“成绩”表中成绩的显示为3位整数和一位小数,蓝色。
在“学生”表的设计视图中选中“民族”字段,然后设置“格式”字段属性值为:
&
[黄色]。
在“学生”表设计视图中选中“生日”字段,然后设置“格式”字段属性为:
yyyy\年m\
月d\日[红色]。
在“成绩”表的设计视图中选中“成绩”字段,然后设置“格式”字段为属性值为:
###.0[蓝
色]。
2.字段输入掩码设置
在定义“学生”表时,由于“学号”是8位文本,且每位都由0~9组成,因此,要在定义“学号”字段时规定每一位的输入都必须是数字。
在“学生”表设计视图中选中“学号”字段,定义“输入掩码”字段属性的值为00000000
其他如课程表的“课程号”字段、专业表的“专业号”字段等都可以定义类似的输入掩码。
3.定义字段查阅方法
“查阅”控件与字段绑定,可以提示字段的输入。
为“专业”表的“专业类别”定义查阅控件绑定。
为“专业”表的“学院号”字段设计“查阅”控件。
数据从“学院”表中来,显示“学院号”和“学院名”两列数据,采用列表框。
(1)1)进入“专业”表的设计视图,选中“专业类别”字段,选择“查阅”选项卡,在“显
示控件”文本框中选择“列表框”,在“行来源类型”文本框中选择“值列表”,在“行来源”下拉列表框中输入“经济学;
法学;
管理学;
理学;
工学;
人文”。
(2)单击工具栏中的“保存”按钮保存设计,然后单击“视图”按钮进入数据表试图,可以看到。
输入“专业类别”时,可以从列表框中选择数据输入,也可以直接输入字段符串。
(五)数据表视图下数据记录的显示与操作
1.输入操作
利用数据表视图进行输入操作,输入的数据应该满足完整性的要求。
而如果是有关系的表中的子表,外键输入时还要与主键值对应。
根据给定的数据,为数据库中各表(重点介绍一到两个表)输入记录。
为“专业”表增加新的专业记录。
进入“专业”表的数据表视图。
分别输入“专业号”、“专业”,从列表中选择“专业类别”,然后输入“学院号”。
输入完毕后关闭。
2.修改和删除操作
修改“课程”表,将“运筹学”所在记录的学分增加1分,将开设学院变为“工商管理学院(05)”。
删除“课程”表中“美术设计”课程。
(1)进入“课程”表的数据表视图,完成直接修改数据的操作。
(2)在数据表视图中单击“美术设计”所在记录左边的“记录选定器”,选中该记录,单击右键,在弹出的快捷菜单中选择“删除记录”命令,删除记录。
3.数据表视图中的设置
数据表视图是浏览表中数据的界面,可以做不同的设置,以获得不同的效果。
1数据表视图中父子表的展开。
进入“学院”表数据视图,如需要展开“信息学院”记录的子单,单击记录左端的“+”。
由于“学院”表的子表有两个,因此会弹出“插入子数据表”对话框。
在其中选中“课程表”。
由于“课程”表有“成绩”表的子表,可以进一步单击有关课程的字表展开器“+”,这样又展开了下一层子表。
2按照指定的字段排序浏览。
在“成绩”数据表视图中,按照成绩的大小排列。
在“成绩”数据表视图中,若按照成绩的大小排列,选中“成绩”字段,然后单击工具栏中的“降序排列”按钮,数据即重新排列显示。
3在学生表中只显示女生数据记录。
在“学生”表的数据表视图中,选择“记录”——“筛选”——“按窗体筛选”,这时数据表视图变成“按窗体筛选”窗口,选择“性别”,从列表中选择“女”。
这时,菜单中出现出现“筛选”菜单,选择“筛选”——“应用筛选/排序”命令,数据表视图就只显示女生信息。
如果要取消筛选,选择“记录”——“取消筛选/排序”命令即可
实验项目二:
查询
(一)SQL视图中表达式练习
1.进入SQL视图及在不同视图间切换
在Access中进入查询的设计视图并在查询的不同视图之间切换。
在Access中打开教学管理数据库。
在数据库窗口中选择“查询”对象,双击“在设计视图中创建查询”,弹出查询设计窗口及“显示表”对话框。
关闭“显示表”对话框,然后右击查询工具栏的“视图”工具的下拉按钮,选择“SQL视图”选项。
当要在“设计视图”、“SQL视图”以及显示查询结果的“数据表视图”之间进行切换,以便可视化设计、SQL命令以及查询数据时,就通过这个工具栏按钮选择切换。
2.不同类型数据的表达式运算
在SQL视图中分别输入以下命令并运行,对于参数自己输入数据。
查看并写出各表达式运算结果。
SELECT-5.12^2+(17mod3);
SELECT"
Hello"
+"
World!
"
,LEFT("
清华大学出版社"
2)+RIGHT("
3);
你毕业的年份是"
VAL(LEFT([你的学号],4))+4;
现在是"
+STR(YEAR(DATE()))+"
年"
,"
现在的时间是:
+CSTR(TIME());
张三"
>
李四"
ABCD"
<
abcd"
,(DATE()-#1992-10-8#)>
1000;
(二)SQL命令进行查询和操作
1.练习SQL查询的SELECT语句
启动教学管理数据库,在数据库窗口对象栏中单击“查询”,然后进入SQL视图。
在“SQL视图”中输入以下SELECT命令,查看执行结果,并仔细体会查询的实现。
①查询“学院”、“专业”、“学生”完整数据。
SELECT*
FROM((学院INNERJOIN专业ON学院.学院号=专业.学院号)
INNERJOIN学生ON专业.专业号=学生.专业号);
②查询“工商管理”专业所有女生信息。
SELECT专业,学生.*
FROM专业INNERJOIN学生ON专业.专业号=学生.专业号
WHERE专业.专业="
工商管理"
AND学生.性别="
女"
;
③查询平均成绩在80分以上的各位学生的学号、姓名和平均分。
保存为查询对象,对象名“优秀学生”。
SELECT学生.学号,姓名,AVG(成绩)AS平均分
FROM学生INNERJOIN成绩ON学生.学号=成绩.学号
GROUPBY学生.学号,姓名
HAVINGAVG(成绩)>
=80;
单击工具栏保存按钮,弹出“另存为”对话框,输入“优秀学生”,单击“确定”按钮。
④查询没有学生数据的专业编号和专业。
SELECT专业号,专业
FROM专业
WHERE专业号NOTIN(SELECT专业号FROM学生);
⑤查询“湖北”籍1988年以后出生的学生信息。
SELECT*
FROM学生
WHERE籍贯LIKE"
湖北*"
AND生日>
=#1988-1-1#;
⑥查询选课人数最多的课程的课程号、课程名。
SELECTTOP1课程.课程号,课程名
FROM课程INNERJOIN成绩ON课程.课程号=成绩.课程号
GROUPBY课程.课程号,课程名
ORDERBYCOUNT(*)DESC;
2.练习SQL的插入、更新、删除操作命令
①在课程表中插入一门新课,数据如命令所示。
INSERTINTO课程
VALUES("
06020101"
"
会计学原理"
3,"
06"
);
②将“法学院(04)”开设课程的学分增加1分。
UPDATE课程
SET学分=学分+1
WHERE学院号="
04"
③删除“信息学院(09)”开设的没有学生选修的课程。
DELETEFROM课程
09"
AND课程号NOTIN(SELECT课程号FROM成绩)
3.创建“教师”表,包括:
工号、姓名、性别、生日、职称、基本工资、学院号。
写出创建命令。
CREATETABLE教师
工号TEXT(6)PRIMARYKEY,
姓名TEXT(10)NOTNULL,
性别TEXT
(2),
生日DATE,
职称TEXT(8),
基本工资MONEY,
学院号TEXT
(2)REFERENCES学院(学院号))
(三)选择查询操作
1.进入查询设计视图进行交互式选择查询设置
启动教学管理数据库。
1查询“专业”表,显示开设的所有专业涉及的学科门类
将“专业”表,显示开设的所有专业设计的学科门类。
将“专业”表加入设计视图。
在QBE界面中“字段”栏选择“专业类别”字段显示。
因为该字段的值有重复,因此,在设计视图的空白处单击右键,从弹出的快捷菜单中选择“属性”命令,打开“属性”对话框,选择“唯一值”属性是“是”。
2查询各专业学生的人数。
将“专业”表和“学生”表加入设计图。
在QBE界面中“字段”栏选中“专业号”和“专业”字段显示,然后单击工具栏中的“总计”按钮,在QBE中增加“总计”栏。
将“专业号”和“专业”字段设置为“分组”,然后选择“学生”表的“学号”字段,设置为“计数”,最后在学号前面加上“人数:
”,作为查询后的列名。
设计完成,运行查询。
③查询没有选课的男学生学号、姓名,即成绩表中没有记录的学生数据。
将“学生”表加入设计视图。
选择“学号”、“姓名”字段显示,在第三列处输入“注:
‘尚未选课’”,选中“显示”复选框。
然后在第四列中选择“学号”但不显示,只是作为比较的对象,在“条件”栏中输入一个子查询“NotIn(SELECT学号FROM成绩)”。
设置完毕后运行。
2.进行交叉表查询
将学生的“学号”和“姓名”作为行标题,“课程名”作为列标题,成绩作为交叉数据,生成交叉表。
启动选择查询设计窗口,将“学生”、“成绩”和“课程”表加入设计窗口。
选择“查询”——“交叉询”命令。
在QBE窗格中选择“学生”表的“学号”、“姓名”作为行标题,“课程名”作为列标题,“成绩”总计后作为“值”。
这样交叉表查询就设计完毕。
运行查询,可以看到交叉表查询的结果。
3.进行参数查询
通过参数查询指定日期以后出生的某个民族的学生信息。
启动选择查询设计窗口,将“学生”表加入设计窗口,在QBE窗口中选择“*”表示输出学生表所有字段。
然后选中“生日”字段,去掉“显示”行的复选框,在条件行输入>[SR];
按同样方式设置“民族”字段。
然后选择“查询”——“参数”命令,弹出“查询参数”对话框,分别设置SR和MZ的类型,单击“确定”按钮,设置完毕。
(四)动作查询操作
1.生成表查询操作练习
将“查询平均成绩在80分以上的各位学生的学号、姓名和平均分”的结果生成新表,表名“优秀学生名单”。
输入SQL命令后,选择“查询”——“生成表”查询,弹出“生成表”对话框,输入表的名称,然后单击“确定”按钮。
运行查询,结果被保存到当前数据库中。
2.删除查询操作
删除“优秀学生名单”表中,平均分在85分以下的记录。
进入设计视图,加入“优秀学生名单”表。
选择“查询”——“删除查询”命令,这时窗口改为“删除查询”,QBE栏目发生变化,出现“删除”栏,调整或撤销其他栏。
在“字段栏中选择”平均分”,这时“删除”栏值默认为Where。
在“条件”栏输入<85.
单击工具栏中的“运行”按钮运行,将删除数据。
如果选择“查询”——“删除查询”命令后,不进行条件设置而直接运行,即为无条件删除,将删除表中所有记录。
3.追加查询操作
将平均分在80~85分之间的学生及成绩数据加入“优秀学生名单”表,
4.更新查询操作
将没有学生选修的课程的学分减少1分。
(1)启动设计视图,添加“学生”和“成绩”表。
(2)在“字段”栏设置“学号”、“姓名”和“成绩”字段。
单击工具栏中的“总计”按钮,增加“总计”栏。
设置“学号”和“姓名”为“分组”字段,“成绩”字段为“平均值”字段。
在“条件”栏中输入>=80and<85.
(3)选择“查询”——“追加查询”命令,打开“追加”对话框。
选择“优秀学生名单”表,单击“确定”按钮。
(4)这时,设计视图的QBE窗格中增加“追加到”栏,选择“学号”、“姓名”和“平均分”字段,设计完成。
运行查询,数据被追加到“优秀学生名单”表中。
写出以上要求的操作步骤并截取必要的图片。
实验项目三:
(一)导出操作
1.在“教学管理”数据库中创建一个查询并保存。
查询的名称为“学生成绩单”。
查询的结构为:
学号、姓名、专业、课程号、课程名、成绩。
启动设计视图,添加“学生”、“课程”、“成绩”和“专业”表,在字段中选择“学号”、“姓名”、“专业”、“课程号”、“课程名”和“成绩”。
单击“运行”按钮。
单击“保存”按钮,在查询名称文本框中输入“学生成绩单”,单击“确定”按钮。
2.将“学生成绩单”查询导出为文本文件,字段值之间用逗号作为分隔符,文本型数据不要加引号。
文本文件要包括字段名。
单击“文件”菜单下的“导出”命令,在保存类型中选择“TextFiles”,选择“全部导出”。
在导出文本向导中,选择“高级”,将文本识别符改为“无”,单击“确定”按钮。
单击“下一步”。
在“第一行包含字段名称”前打钩,单击“下一步”。
单击“完成”。
3.将“学生成绩单”查询导出到桌面EXCEL文件“学生成绩表”中。
单击“文件”菜单中的“导出”,在保存类型中选择“MicrosoftExcel97-2003(*.xls)”,在“带格式保存”前打钩,单击“全部导出”按钮。
写出以上操作的主要过程。
(二)导入操作
1.将上面实验产生的文本文件导入教学管理数据库中作为表对象。
命名为“学生成绩单”。
并为各字段列指定合适的类型。
打开“教学管理.mdb”,在空白处单击鼠标右键,在弹出的快捷菜单中选择“导入”命令。
在对话框中选择“TextFiles”,选择要导入的文件并双击。
选择“带分隔符-用逗号或制表符之类的符号分隔每个字段”,单击“下一步”。
选择“第一行包含字段名称”,单击“下一步”。
选择“新表中”,单击“下一步”。
调整数据,单击“下一步”。
选择“不要主键”,单击“下一步”。
导入到表中输入“学生成绩单”,单击“完成”。
2.上面实验产生的EXCEL文件“学生成绩表”导入教学管理数据库中作为表对象。
命名为“学生成绩表”。
产生表后,指定学号、课程号为主键。
在对话框中选择“MicrosoftExcel”,选择要导入的文件并双击。
输入表名称,选择“完成”。
打开设计视图,按住Ctrl键,选择“学号”和“课程号”两行,单击“主键”按钮。
四、回答问题
(一)实验项目1
1.Access存储数据时,用到几个数据库文件?
扩展名是什么?
答:
1个,扩展名mdb
2.设计ER模型、关系模型、数据库及表结构,分别属于数据库设计中的什么步骤?
概念设计,逻辑设计,物理设计
3.在表结构设计中,应该包含哪些内容?
命名表,并且确定每个字段的字段名,类型,宽度,指定表的字段约束,主键和是否为必填字段
4.在本实验设计中,共使用了哪些数据类型?
文本型:
0-255字节;
备注型:
0-65536字节;
数字中的字节型:
0-255(是0和正整数);
数字
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 作业