数据库及其应用实验报告
《数据库及其应用》实验报告
实验序号:B0901000-02 实验项目名称:数据库设计及数据库创建与应用
本实验的操作步骤如下。
实验项目1:数据库设计及数据库与表的创建与操作
(一) 数据库与表的设计与创建
1. 首先,使用E-R 模型将学生实体、学院实体、成绩单等实体及其属性列出,如:学生属性
包括学号、姓名、性别、生日、民族、籍贯、简历、登记照,学院信息要存储学院号、学院名、院长, 课程表包括课程号、课程名、学分, 等。
其次,将E-R 模式转化为关系模型,转化方法为:①. 每个实体都转化为一个关系模式。②. 实体间的每一种联系都转化为一种关系模式。③. 对关系模式进行优化。
教学管理系统关系模型:
学生(学号,姓名,性别,生日,民族,籍贯,专业号,简历,登记照)
专业(专业号,专业,专业类别,学院号)
学院(学院号,学院,院长)
课程(课程号,课程名,学分,学院号)
成绩(学号,课程号,成绩)
2. 根据以上设计进行结构设计,数据库文件保存在“E ;\教学管理|\”文件夹中,数据库文件名为“教学管理.MDB ”。表包括学院名、专业名、课程和成绩单。
3. 在E 盘上建立“教学管理”文件夹。启动access, 单击“新建”按钮图标,出现“任务窗格”。
在“任务窗格”中单击“空数据库”超链接,出现“文件新建数据库”对话框。在对话框中找到“E :\教学管理”文件夹,然后在文件名下拉列表中输入“教学管理”,单击创建,即可。
4. 第一.在“数据库”窗口中选择“表”对象栏。在“表”对象窗口中双击“使用设计器创建表”
选项,弹出表设计窗口。
第二.根据事先设计好的结构,分别定义各字段名、字段属性。
第三.单击工具栏中的“保存”按钮,弹出“另存为”对话框。
第四.在“表名称”文本框中输入“学院”,单击“确定”按钮,即可。其他表按照同类方法
即可。
5. 第一.当所有表都定义好后,在工具栏中单击“关系”按钮,弹出关系定义窗口,并同时出现“显示表”对话框。
第二.依次选中各表,并单击“添加”按钮,将各表添加到关系窗口中。
第三.选中“学院”表中“学院号”字段,拖到“专业”表内的学院号上,弹出“编辑关系”对话框,选中“实施参照完整性”复选框,单击“创建”按钮,创建表之间的联系。
第五.类似方式建立“课程”和“学院”,“学生”和“专业”等表之间的关系,得到整个数据库的关系。
6. 第一.将所有表建立好以后依次输入学院表、专业表、学生表、和课程表记录,最后输入成绩
单表的记录。
第二.在数据库对象窗口,双击“学院”表的“数据表”视图。在视图中依次输入各条 记录。
(二)Access 数据库窗口基本操作
1. 在access 中打开教学管理数据库,在“对象”栏中选择“表”,然后单击命令栏中“详细信息”
按钮图标。
2. 隐藏步骤:在“工具”菜单上,选择“启动”菜单项,在弹出的对话框中清除“显示数据库
窗口”复选框,确定即可。
显示步骤:直接按“F11”键。
3. 第一.在教学管理数据库窗口中,选择“编辑”→“组”→“新组”命令:或者在对象标签
栏中单击右键,从弹出的快捷菜单中选择“新组”命令,弹出对话框。在“新组名称”文本框中输入组的名称“学生与成绩”,单击“确定”按钮,则在数据库窗口中创建了一个组。 第二.选择“表”对象,然后选中“学生”表单击右键,从弹出的快捷菜单中选择“添加到组”→“学生与成绩”命令,这样“学生”表的快捷方式就加入到组中。用类似的方式将“成绩”表放置到该组中。
(三) 创建表时的完整性设置
1. 每个表都可以定义主键,在Access 中打开教学管理数据库,然后打开任何一个表的设计器。例如打开“学生表”, 然后选中一个字段定义为主键,如果没有一个合适的字段作为主键,增加一个“id 字段”,在成绩表中增加一个“id 字段”定义为“自动编号型”,然后定义为主键。
2. 在表对象窗口,单击工具栏中的“关系”按钮,打开“关系”窗口,将所有表添加到窗口中,然后将主键拖到发生联系的表的外键上,就会自动弹出“编辑关系”对话框。然后进行设置。
3. 可以定义字段不允许输入空值;可以定义有效性规则;可以定义“查阅”控件可以使输入局限在给定的值域内;可以定义字段的不重复索引达到限制该字段输入重复值。
(四)字段属性定义与应用
(1). 在“学生”表的设计视图中选中“民族”字段,然后设置“格式”字段属性值为:
&&&&&&&&[黄色]
(2). 在“学生”表的设计视图中选中“生日”字段,然后设置“格式”字段属性值为:yyyy\年m\月d\日[红色]。
(3). 在“成绩”表的设计视图中选中“成绩”字段,然后设置“格式”字段属性值为:###.0[蓝
色]。
2. 在“学生”表设计视图中选中“学号 ”字段,定义“输入掩码”字段属性的值为00000000。
3. 进入“专业”表的设计视图,选中“专业类别”字段,选择“查阅”选项卡,在“显示控件”文本框中选择“列表框”,在“行来源类型”文本框中选择“值列表”,在“行来源”下拉列表框中输入“经济学;法学;管理学;理学;人文”然后单击工具栏的“保存”按钮保存设计即可。
(五)数据表视图下数据记录的显示与操作
1. 进入“专业”表的数据表视图,分别输入“专业号”、“专业”,从列表中选择“专业类别”,然后输入“学院号”。
2. (1)进入“课程”表的数据表视图,直接修改。
(2)在数据表视图中单击“美术设计”所在记录左边的“记录选定器”,选中该记录,单击右
键。在弹出的快捷菜单中选择“删除记录”命令。
3. (1). 进入“学院”数据表视图,若需要展开“信息学院”记录的子表,单击记录左端的“+’”
弹出“插入子数据表”对话框。在其中选中“课程表”。又展开下一层子表。
(2)按照指定字段排序浏览。在成绩数据表视图中,若按成绩的大小排列,选中“成绩”字
段,然后单击工具栏中的“降序排列”按钮,数据即重新排列显示。
(3)在“学生”表的数据表视图中,选择“记录”→“筛选”→“按窗体筛选”命令,这时数据
表视图变成“按窗体筛选”窗口,选择“性别”字段,从列表中选择“女”。这时,菜单中出现“筛选”菜单,选择“筛选”→“应用筛选/排序“命令,数据表视图就只显示女生信息。 实验项目二:查询
(一) SQL视图中表达式练习
1.(1)在数据窗口中选择“查询”对象,双击在“在设计视图中创建查询”的选项。
弹出查询设计窗口及“显示表”对话框,关闭“显示表”对话框,,单击“SQL ”选项就可以打开“SQL 视图”选项。点击那个三角符号就可以在不同视图中的切换
2.SELECT -5.12^2+(17 mod 3)的结果为28.2144
SELECT "Hello "+",World!",LEFT("清华大学出版社",2)+RIGHT("清华大学出版社",3) 的结果是表格中显示:Hello,Word!/清华出版社
SELECT " 你毕业的年份是", VAL(LEFT([你的学号],4))+4的结果为表格中显示:你毕业的年份是/910
SELECT " 现在是"+STR(YEAR(DATE()))+"年" ," 现在的时间是:"+CSTR(TIME())结果是表格中显示:现在是2012年/现在的时间是:19:44:50
SELECT "张三">"李四" ,"ABCD"1000结果是表格中显示:-1/0/-1
(二)SQL 命令进行查询和操作
1 .(1).SQL查询中输入SELECT *
FROM ((学院 INNER JOIN 专业 ON 学院. 学院号=专业. 学院号) INNER JOIN 学生 ON 专业. 专业号=
学生. 专业号) ;然后运行即可显示所查询的完整数据。
(2).SQL 查询中输入SELECT 专业, 学生.*
FROM 专业 INNER JOIN 学生 ON 专业. 专业号=学生. 专业号
WHERE 专业. 专业="工商管理" AND 学生. 性别="女" ;然后运行即可显示所查询的完整数据。
(3)SQL 查询中输入SELECT 学生. 学号, 姓名,A VG(成绩) AS 平均分
FROM 学生 INNER JOIN 成绩 ON 学生. 学号=成绩. 学号
GROUP BY 学生. 学号, 姓名
HA VING AVG(成绩)>=80 ;单击工具栏保存按钮,弹出“另存为”对话框,输入“优秀学生”,单击“确定”按钮即可。
(4)SQL 查询中输入SELECT 专业号, 专业
FROM 专业
WHERE 专业号 NOT IN (SELECT 专业号 FROM 学生) ;然后运行即可。
(5)SQL 查询中输入SELECT *
FROM 学生
WHERE 籍贯 LIKE "湖北*" AND 生日 >=#1988-1-1# ;然后运行即可。
(6)SQL 查询中输入SELECT TOP 1 课程. 课程号, 课程名
FROM 课程 INNER JOIN 成绩 ON 课程. 课程号=成绩. 课程号
GROUP BY 课程. 课程号, 课程名
ORDER BY COUNT(*) DESC ;然后运行即可。
2.练习SQL 的插入、更新、删除操作命令
(1)按照给定的数据输入,结果会出现一个对话框点“是”即可完成操作
(2)按照给定的数据输入,结果会出现一个对话框显示:你正准备更新2行,然后点“是”
确定即可
(3)按照给定的数据输入,结果出现一个对话框显示:你正准备从指定表删除2行,然后点
“是”即可完成操作。
3. 创建命令为CREATE TABLE 教师(工号TEXT(6) PRIMARY KEY , 姓名TEXT(10)NOT
NULL ,性别 TEXT(2) ,生日 DA TE 职称 TEXT (8) 基本工资 MONEY 学院号TEXT (2) 学院(学院号) ) ;
(三)选择查询操作
1. (1)将“专业”加入设计视图。在QBE 界面中的“字段”选择“专业类型”字段显示。
在空白的地方单击右键选择“属性”对话框。选择“唯一值”的属性“是”。
(2)步骤是将专业表和学生表加入视图。在QBE 界面中的“字段”选择“专业号”和“专
业”字段显示。然后单击工具栏中的“总计”按钮。在QBE 中增加“总计”一栏。
将“专业号”和“专业”字段设置为“分组”。然后再选择学生表的学号字段,设置
为“计数”,最后在学号前面加上“人数”作为查询后的列名即可。
(3)将学生表加入设计视图。选择学号姓名字段显示,至第三处输入“注”:‘尚未选课’”,
选中“显示”复选框。在第四列中选中学号但不显示,。在条件栏中输入输入一个子
查询“(NOT IN select学号from 成绩)”就可以完成对应的操作。
2. 首先可以将学生的“学号”和“姓名”作为行标题,“课程名”作为列标题,成绩作为交
叉数据,生成交叉表。然后再打开设计视图的窗口,将学生、成绩、课程加入。选择“查询”中的“交叉表查询”命令,然后在QBE 中选择学生中的学号、姓名作为行标题,课程名作为列标题,成绩总计后作为值。这样就完成了该项操作。
3. 启动选择查询设计窗口,将“学生”表加入设计窗口,在QBE 窗口中选择“*”表示输出
学生所有字段。然后选中“生日”字段,去掉“显示”行的复选框,在条件行输入>[SR];
按同样的方法设置“民族”字段。然后选择“查询”——“参数”命令,弹出“查询参数”对话框,分别设置SR 和MZ 的类型,单击“确定”按钮,设置完毕。
。
(四)动作查询操作
1. 具体的步骤如下:将“查询平均成绩在80分以上的各位学生的学号、姓名和平均分”的
结果生成新表,表名“优秀学生名单”。然后再接着输入SQL 命令后,选择“查询”中的“生成表”查询,弹出对话框,输入表的名称,单击确定就行了。
2. 进入设计视图,加入“优秀学生名单”表。选择“查询”→“删除查询”命令,这时窗口改 为“删
除查询” ,QBE 栏目发生变化,出现“删除”栏,调整或撤销其他栏。在“字段”栏中选择 “平均分” ,这时“删除”栏值默认为 Where 。在“条件”栏输入
3. ⑴ 启动设计视图,添加“学生”和“成绩”表。 ⑵在“字段”栏设置“学号”“姓名”和“成绩”字段。
单击工具栏中的“总计”按钮,增加 、 “总计”栏。设置“学号”和“姓名”为“分组”字段, “成绩”字段为“平均值”字段。在“条 件”栏中输入>=80 and
4. ⑴启动设计视图,添加“课程”表。选择“查询”→“更新查询”命令,设计视图变为“更新 查询” ,QBE 窗口中增加“更新到”栏。 ⑵选中“学分”字段,然后在“更新到”栏中输入“课程. 学分-1” 。 ⑶选中“课程号”字段,在“条件”栏中输入“Not In(SELECT 课程号 FROM 成绩)” ,设计完 成。单击运行按钮运行查询。 实验项目三:数据交换
(一) 导出操作
1. 在数据库窗口中选择“查询”对象,双击“在设计视图中创建查询” 。将学生表、专业表、 课
程表、成绩表加入设计视图。在 QBE 界面中“字段”栏选中“学号”“姓名”“专业名”“课 、 、 、 程号”“课程名”和“成绩”字段显示。设计完成,运行查询。 、
单击工具栏保存按钮,弹出“另存为”对话框,输入“优秀学生” ,单击“确定”按钮。
2.打开数据库,在数据库窗口中选择要导出的查询“学生成绩单” ,单击右键,在弹出的快捷 菜单中选择“导出”命令。在“导出”对话框中选择指定的文件类型“文本文件” ,然后单击“导 出”命令按钮,完成导出过程。在第一个对话框中选择单选框 “带分隔符——用逗号或制表符之类的符号分隔每个字段” 。在第二个对话框中,选择“逗号”分隔符,选择“第一行包含字段名称”选项,在“文本识别 符”中选择“﹛无﹜” 。最后在对话框中单击“完成”按钮,弹出已完成“学生成绩单”导出的提示。
3 打开数据库,在数据库窗口中选择要导出的查询“学生成绩单” ,单击右键,在弹出的快捷菜 单中选择“导出”命令。在“导出”对话框中选择要导出的 Excel 数据类型。选择要导出的目的文 件夹,可用复选框选择“带格式保存”和“自动保存” 。单击“导出”命令按钮,完成导出过程。
(二)导入操作
1.在数据库窗口表对象界面,选择“外部数据”→“文本文件”→“导 入”命令;或在空白处单 击 右键,在弹出的快捷菜单中选择“导入”命令,启动“导入”对话框。 在“导入”对话框中选择“文本类型”为“文本文件” ,然后选中要导入的对象“学生成绩单” , 单击“确定”按钮,弹出“导
入文本向导”对话框。在第一个对话框中,选择单选框“带分隔符——用逗号或制表符之类的符号分隔每个字段” 。在第二个对话框中,选择“逗号”分隔符,选择“第一行包含字段名称”选项,在“文本识别 符”中选择“﹛无﹜” 。点击 高级 更改代码页让 access 添加主键选定名称完成。
2.在数据库窗口表对象界面,选择“外部数据”→“excel”→; 在“导入”对话框中选择“文本类型”为 Excel ,然后选中要导入的对象“学生成绩单” ,单击 “确定”按钮,弹出“导入文本向导”对话框。选择显示命名区域在第一个对话框中,选择“第一行包含列标题” 。指定字段选项、选定主键、指定名称、完成。
.