《2022年数据库及其应用实践报告 .pdf》由会员分享,可在线阅读,更多相关《2022年数据库及其应用实践报告 .pdf(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、本文档如对你有帮助,请帮忙下载支持!数据库及其应用实验报告实验序号:B0901000-02 实验项目名称:数据库设计及数据库创建与应用学号姓名专业、班实验地点指导教师时间一、实验目的及要求(一)实验项目1:数据库和表1熟悉 Access 中数据库及表的概念。了解并掌握建立数据库、表和关系的过程。2熟悉数据库窗口的界面特点,掌握数据库窗口几种设置方法。3理解并掌握关系数据库完整性基本概念。掌握完整性的设置方法。4掌握字段属性的概念和一些属性的用途。并掌握一些字段属性的设置方法。5了解 Access 数据表视图的一些基本功能。(二)实验项目2:查询1掌握 Access 表达式的基本概念。了解不同类
2、型数据的常量、参数、运算与函数的使用。2理解查询对象的意义和建立方法。3掌握 SQL 语言中 SELECT 语句的主要应用。4掌握 SQL 的插入、更新、删除操作命令的基本应用。理解Access 动作查询。5了解 SQL 定义数据表的基本方法。6掌握一般选择查询的操作应用;理解并掌握交叉查询的应用;理解参数查询的意义。(三)实验项目3:数据交换1了解什么是Access 的外部数据,理解Access与外部数据交换的意义和作用。2理解在Access 数据库系统中使用外部数据的两种方法及特点:链接、导入。3掌握导出数据库中表或查询对象到文本文件和EXCEL 的方法。4掌握从文本文件和EXCEL 表导
3、入到表的方法。二、实验设备(环境)及要求PC 机,Windows XP,Access 2003 参考教材:数据库及其应用( Access及 Excel)学习与实验实训教程 。三、实验内容要求(实验操作内容和步骤写在表格后面、回答问题写在表给内)实验项目 1:数据库设计及数据库与表的创建与操作(一) 数据库与表的设计与创建1给定如下数据分析,进行概念设计与逻辑设计。即设计系统的E-R 模型并转换为关系模型。(数据参见附表) 。某学校设计学生教学管理系统。学生实体包括学号、姓名、性别、生日、民族、籍贯、简历、登记照,每名学生选择一个主修专业,专业包括专业编号和名称,一个专业属于一个学院,一个学院可
4、以有若干个专业。学院信息要存储学院号、学院名、院长。教学管理还要管理课程表和学生成绩。课程表包括课程号、课程名、学分,每门课程由一个学院开设。学生选修的每门课程获得一个成绩。2. 数据库结构设计指定数据库文件的名称,并为设计好的关系模型设计表结构。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 12 页 - - - - - - - - - 本文档如对你有帮助,请帮忙下载支持!3.数据库文件保存在“教学管理”文件夹中。数据库文件保存在教学管理 文件夹中,数据库文件名为教学管
5、理 .MDB 。表包括学院表,专业表,学生表、课程表和成绩单. 学院表字段名类型宽度小数主键 /索引参照表约束Null 值学院号文本4 主学院名文本16 院长文本8 专业表字段名类型宽度小数主键 /索引参照表约束Null 值专业号文本6 主专业名文本16 专业类别文本8 学院号文本4 学院学生表字段名类型宽度小数主键 /索引参照表约束Null 值学号文本8 主姓名文本8 性别文本2 男 or 女生日日期型民族文本6 籍贯文本20 专业号文本6 专业简历备注登记照OLE 对象课程表字段名类型宽度小数主键 /索引参照表约束Null 值课程号文本8 主课程名文本24 学分字节学院号文本2 学院成绩单
6、字段名类型宽度小数主键 /索引参照表约束Null 值学号文本8 主学生课程号文本8 主课程成绩单精度4 1 =0 and 李四 ,ABCD1000 ;在数据库窗口中双击“在设计视图中创建查询”,或者先单击“新建”按钮,然后在“新建查询”对话框中选中“设计视图”并单击“确定”按钮,进入设计视图界面。在“视图”选项中选择SQL 视图或右键快捷菜单中选择SQL 视图。在窗口中输入SELECT -5.122+17 mod 3 ;在数据库窗口中双击“在设计视图中创建查询”,或者先单击“新建”按钮,然后在“新建查询”对话框中选中“设计视图”并单击“确定”按钮,进入设计视图界面。在“视图”选项中选择SQL
7、视图或右键快捷菜单中选择SQL 视图。在窗口中输入SELECT Hello +,World! ,LEFT(清华大学出版社,2)+RIGHT( 清华大学出版社,3);在数据库窗口中双击“在设计视图中创建查询”,或者先单击“新建”按钮,然后在“新建查询”对话框中选中“设计视图”并单击“确定”按钮,进入设计视图界面。在“视图”选项中选择SQL 视图或右键快捷菜单中选择SQL 视图。在窗口中输入SELECT 你毕业的年份是, VAL(LEFT( 你的学号 ,4)+4 ;在数据库窗口中双击“在设计视图中创建查询”,或者先单击“新建”按钮,然后在“新建查询”对话框中选中“设计视图”并单击“确定”按钮,进入
8、设计视图界面。在“视图”选项中选择SQL视 图 或 右 键 快 捷 菜 单 中 选 择SQL视 图 。 在 窗 口 中 输 入SELECT 现 在 是+STR(YEAR(DATE()+年,现在的时间是:+CSTR(TIME();在数据库窗口中双击“在设计视图中创建查询”,或者先单击“新建”按钮,然后在“新建查询”对话框中选中“设计视图”并单击“确定”按钮,进入设计视图界面。在“视图”选项中选择SQL 视 图 或 右 键 快 捷 菜 单 中 选 择SQL 视 图 。 在 窗 口 中 输 入SELECT 张 三 李 四 ,ABCD1000 ;(二)SQL命令进行查询和操作1练习 SQL 查询的 S
9、ELECT 语句启动教学管理数据库,在数据库窗口对象栏中单击“查询”,然后进入SQL 视图。在“ SQL 视图”中输入以下SELECT 命令,查看执行结果,并仔细体会查询的实现。 查询“学院” 、 “专业”、 “学生”完整数据。SELECT * FROM ( 学院 INNER JOIN 专业ON 学院 .学院号 =专业.学院号 ) INNER JOIN 学生 ON 专业 .专业号 =学生 .专业号 ); 查询“工商管理”专业所有女生信息。SELECT 专业 ,学生 .* FROM 专业 INNER JOIN 学生 ON 专业 .专业号 =学生 .专业号WHERE 专业.专业 =工商管理 AND
10、 学生 .性别 =女;在数据库窗口中双击“在设计视图中创建查询”,或者先单击“新建”按钮,然后在“新建查询”对话框中选中“设计视图”并单击“确定”按钮,进入设计视图界面。在“视图”选项中选择SQL 视图或右键快捷菜单中选择 SQL 视图。在窗口中输入SELECT 学生表 .*, 专业表 .* FROM 专业表INNER JOIN 学生表ON 专业表 .专业号= 学生表 .专业号WHERE ( 专业表 .专业名 )=工商管理 ) AND ( 学生表 .性别 )=女); 查询平均成绩在80 分以上的各位学生的学号、姓名和平均分。保存为查询对象,对象名“优秀学生” 。SELECT 学生 .学号 ,姓
11、名 ,AVG(成绩 ) AS 平均分FROM 学生 INNER JOIN 成绩 ON 学生 .学号 =成绩 .学号GROUP BY 学生 .学号 ,姓名名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 12 页 - - - - - - - - - 本文档如对你有帮助,请帮忙下载支持!HAVING A VG( 成绩 )=80 ;在数据库窗口中双击“在设计视图中创建查询”,或者先单击“新建”按钮,然后在“新建查询”对话框中选中“设计视图”并单击“确定”按钮,进入设计视图界面。在
12、“视图”选项中选择SQL 视图或右键快捷菜单中选择 SQL 视图。在窗口中输入SELECT 学生表 .学号 , 学生表 .姓名 , Avg(成绩单 .成绩 ) AS 平均分FROM 学生表INNER JOIN 成绩单ON 学生表 .学号 = 成绩单 .学号GROUP BY 学生表 .姓名HAVING (Avg( 成绩单 .成绩 )=80); 单击工具栏保存按钮,弹出“另存为”对话框,输入“优秀学生”,单击“确定”按钮。单击工具栏保存按钮,弹出“另存为”对话框,输入“优秀学生”,单击“确定”按钮。 查询没有学生数据的专业编号和专业。SELECT 专业号 ,专业FROM 专业WHERE 专业号NO
13、T IN (SELECT 专业号FROM 学生 ) ;SELECT 专业表 .专业号 ,专业名FROM 专业表WHERE ( 专业表 .专业号 ) Not In (Select 专业号FROM 学生表 ); 查询“湖北”籍1988 年以后出生的学生信息。SELECT * FROM 学生WHERE 籍贯 LIKE 湖北 * AND 生日 =#1988-1-1# ;在数据库窗口中双击“在设计视图中创建查询”,或者先单击“新建”按钮,然后在“新建查询”对话框中选中“设计视图”并单击“确定”按钮,进入设计视图界面。在“视图”选项中选择SQL 视图或右键快捷菜单中选择 SQL 视图。在窗口中输入SELE
14、CT 学生表 .* FROM 学生表WHERE (学生表.籍贯) Like 湖北*) AND (学生表.生日)=#1/1/1988#); 查询选课人数最多的课程的课程号、课程名。SELECT TOP 1 课程 .课程号 ,课程名FROM 课程 INNER JOIN 成绩 ON 课程 .课程号 =成绩 .课程号GROUP BY 课程 .课程号 ,课程名ORDER BY COUNT(*) DESC ;SELECT TOP 1 课程表 .课程号 , 课程表 .课程名FROM 课程表INNER JOIN 成绩单ON 课程表 .课程号= 成绩单 .课程号GROUP BY 课程表 .课程号 , 课程表 .
15、课程名名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 12 页 - - - - - - - - - 本文档如对你有帮助,请帮忙下载支持!ORDER BY Count(*) DESC; 2练习 SQL 的插入、更新、删除操作命令 在课程表中插入一门新课,数据如命令所示。INSERT INTO 课程VALUES(06020101, 会计学原理 ,3,06) ;在数据库窗口中双击“在设计视图中创建查询”,或者先单击“新建”按钮,然后在“新建查询”对话框中选中“设计视图”并单击“
16、确定”按钮,进入设计视图界面。在“视图”选项中选择SQL 视图或右键快捷菜单中选择 SQL 视图。在窗口中输入INsert into 课程表Values(06020101, 会计学原理 , 3, 06); 将“法学院( 04) ”开设课程的学分增加1 分。UPDATE 课程SET 学分 =学分 +1 WHERE 学院号 =04 UPDATE 课程表SET 课程表 .学分 = 学分 +1 WHERE ( 课程表 .学院号 )=04); 删除“信息学院(09) ”开设的没有学生选修的课程。DELETE FROM 课程WHERE 学院号 =09 AND 课程号NOT IN (SELECT 课程号FR
17、OM 成绩 ) 在数据库窗口中双击“在设计视图中创建查询”,或者先单击“新建”按钮,然后在“新建查询”对话框中选中“设计视图”并单击“确定”按钮,进入设计视图界面。在“视图”选项中选择SQL 视图或右键快捷菜单中选择 SQL 视图。在窗口中输入DELETE FROM 课程WHERE 学院号 =09 AND 课程号NOT IN (SELECT 课程号FROM 成绩单 ) 3创建“教师”表,包括:工号、姓名、性别、生日、职称、基本工资、学院号。写出创建命令。CREATE TABLE 教师(工号TEXT(6) PRIMARY KEY, 姓名TEXT(10) NOT NULL, 性别TEXT(2),
18、生日DATE, 职称TEXT(8), 基本工资MONEY , 学院号TEXT(2) REFERENCES 学院表 (学院号 ) (三)选择查询操作1进入查询设计视图进行交互式选择查询设置启动教学管理数据库。 查询“专业”表,显示开设的所有专业涉及的学科门类。点击查询,双击在设计视图中创建查询,在显示表的对话框中选择专业,单击添加关闭对话框,在字段中选择专业类别,然后窗口的上半部分空白区域单击右键选择属性,在唯一值中选择是,关闭对话框,点击“运行”的快捷键。 查询各专业学生的人数。将专业表和学生表加入设计视图。在QBE 界面中字段栏选中“专业号”和“专业”字段显示,然后单击工具栏中的总计按钮,在
19、QBE 界面中增加总计栏。将“专业号”和“专业”名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 12 页 - - - - - - - - - 本文档如对你有帮助,请帮忙下载支持!字段设置为分组,然后选择“学生”表的学号字段,设置其为计数,在学号前面加上“人数:” ,作为查询后的列名。运行查询。 查询没有选课的男学生学号、姓名,即成绩表中没有记录的学生数据。2进行交叉表查询将学生的“学号”和“姓名”作为行标题,“课程名”作为列标题,成绩作为交叉数据,生成交叉表。启动算责查询
20、设计窗口,将“学生”“成绩”和“课程”表加入设计窗口,选择“查询”-“交叉表查询”命令,在QBE 窗格中选择“学生”表的“学号”“ 姓名”作为行标题“课程名”作为列标题,“成绩”总计后作为值。3进行参数查询通过参数查询指定日期以后出生的某个民族的学生信息。启动选择查询设计窗口,将学生表加入设计窗口,在QBE 窗口中选择“ *”表示输出学生表所有字段, 然后选中 “生日” 字段, 去掉显示行的复选框,在条件行输入 .SR;按同样方式设置 “民族“字段然后选择查询-参数命令,弹出查询参数对话框,分别设置SR 和 MZ 的类型,单击确定. (四)动作查询操作1生成表查询操作练习将“查询平均成绩在80
21、 分以上的各位学生的学号、姓名和平均分” 的结果生成新表,表名“优秀学生名单” 。在数据库窗口中双击“在设计视图中创建查询”,或者先单击“新建”按钮,然后在“新建查询”对话框中选中“设计视图”并单击“确定”按钮,进入设计视图界面。在“视图”选项中选择SQL 视图或右键快捷菜单中选择SQL 视图。在窗口中输入SELECT 学生表 .学号 , 学生表 .姓名 , Avg(成绩单 .成绩 ) AS 平均分INTO 优秀学生名单FROM 学生表INNER JOIN 成绩单ON 学生表 .学号= 成绩单 .学号GROUP BY 学生表 .学号 , 学生表 .姓名HAVING (Avg(成绩单 .成绩 )
22、80); 输入 SQL 命令后,选择“查询”“生成表”查询,弹出生成表的对话框。输入表的名称,然后单击确定。运行查询。结果保存到当前数据库中2删除查询操作删除“优秀学生名单”表中,平均分在85 分以下的记录。进入设计视图, 加入优秀学生名单表,选择查询 “删除查询” 命令,这是窗口改为删除查询,QBE 栏目发证变化,初选删除栏调整或撤销其他栏。在字段中选择“平均分”,在条件栏输入85 单击工具栏中的运行,删除数据。3追加查询操作将平均分在8085 分之间的学生及成绩数据加入“优秀学生名单”表,启动设计视图, ,添加“学生”和“成绩”表在字段栏设置“学号” “姓名”和“成绩”字段,单击工具栏中的
23、总计按钮,增加“总计”栏,设置“学号” 和“姓名” 为“分组” 字段, “成绩” 为“平均值” 字段,在条件中输入between 80 and 85. 选择“查询”追加查询命令,打开追加对话框,选择“优秀学生名单”表单击确定按钮。这时,在设计师图的QBE 窗格中增加“追加到”栏,选择“学号”“姓名”“平均分”字段,设计完成。运行查询4更新查询操作名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 12 页 - - - - - - - - - 本文档如对你有帮助,请帮忙下载支持
24、!将没有学生选修的课程的学分减少1 分。启动设计视图,添加“课程”选择查询-更新查询命令,设计视图变为更新查询, QBE 窗格中增加“更新到”栏。选中“学分”字段,然后在更新到栏中输入“课程.学分 -1”选中“课程号”字段,在“条件”栏中输入“Not In(SELECT 课程号 FROM 成绩)” ,设计完成如图:单击运行按钮进行查询。实验项目三:数据交换(一) 导出操作1在“教学管理”数据库中创建一个查询并保存。查询的名称为“学生成绩单”。查询的结构为:学号、姓名、专业、课程号、课程名、成绩。2将“学生成绩单”查询导出为文本文件,字段值之间用逗号作为分隔符,文本型数据不要加引号。文本文件要包
25、括字段名。3将“学生成绩单”查询导出到桌面EXCEL 文件“学生成绩表”中。启动“教学管理”数据库,选中“查询”后,双击“在设计视图中创建查询”,在“显示表”中添加“学生” , “专业”、 “课程”、 “成绩”在字段中分别选择学号、姓名、专业、课程号、课程名、成绩,如图所示选择“文件”“保存”后出现另存为对话框,并命名为“学生成绩单”。启动“教学管理”数据库,选择查询,右键单击“学生成绩单”在选择菜单中选择“导出”,在保存类型的下拉列表中选择文本文件,然后单击导出。弹出 “导出文本向导”对话框。选择“带分隔符每个字段”单击下一步,在“请选择字段分隔符”中选择“逗号”,且将在“文本识别符”的下拉
26、菜单中选择“无”, “第一行包含字段名称”前打钩。并继续点击“下一步”。启动“教学管理”数据库,在查询中选中“学生成绩单”右键单击在选择菜单中“导出”命打开“将表学生成绩单导出为”对话框,在对话框中选择保存类型为Excel 数据类型, 选择目标文件夹,可用复选框选择 “带格式保存”和“自动保存” 。 ,选择这个两个复选框,导出成功后,Access 系统会自动打开所创建的对象。单击“导出”命令按钮,完成导出过程。(二)导入操作1将上面实验产生的文本文件导入教学管理数据库中作为表对象。命名为“学生成绩单”。并为各字段列指定合适的类型。2上面实验产生的EXCEL文件“学生成绩表”导入教学管理数据库中
27、作为表对象。命名为“学生成绩表” 。并为各字段列指定合适的类型。产生表后,指定学号、课程号为主键。打开“教学管理” 数据库, 鼠标指向空白处,单击鼠标右键, 在弹出的快捷菜单中选择“导入”命令,打开“导入”对话框。在对话框中选择文件类型为“文本文件”,选择“学生成绩单” 。 单击“导入” , 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 12 页 - - - - - - - - - 本文档如对你有帮助,请帮忙下载支持!在第一个对话框中选择单选框 “带分隔符用逗号或制表
28、之类的符号分割两个字段” 。在第二个对话框中,选择分隔符为“逗号”, 在第三个对话框中,选择“新表中”, 在第四个对话框中,选择各文本字段及字段信息和属性值的修改。例如学号:姓名、专业、课程号、课程名、成绩等修改步骤同上。打开“教学管理”数据库在空白处,单击鼠标右键,在弹出的快捷菜单中选择“导入”命令,打开“导入”对话 ; 在对话框中选择数据库文件类型为Excel 数据类型,选择学生成绩单的Excel文件双击打开“导入数据表向导”如图。在第一个对话框中,可以将数据表的第一行设为标题。在第二个对话框中,可以选择导入的数据最为一个新的Access表存储。在第三个对话框中,修改其字段名,使其有合适的
29、字段类型。第四个对话框中, 选择不定义主键。在第五个对话框中, 确定生成的Access 表的名称为“学生成绩表” ,单击完成按钮 ; 在表中选择“学生成绩表”,进入设计视图。按住 c trl 键,鼠标选择学号和课程号,再单击工具栏中主键的图标。定义学号和课程号为主键四、回答问题(一)实验项目1 (一)实验项目1 1Access 存储数据时,用到几个数据库文件?扩展名是什么?答:一个,扩展名为.mdb。2设计ER 模型、关系模型、数据库及表结构,分别属于数据库设计中的什么步骤?答:分别属于ER 模型 -概念设计、关系模型-逻辑设计、数据库及表结构-物理设计。3在表结构设计中,应该包含哪些内容?答
30、:包括定义字段,主键,索引,约束,是否取空值,查阅向导等。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 12 页 - - - - - - - - - 本文档如对你有帮助,请帮忙下载支持!六、教师评语1按时完成实验;2实验内容和过程记录完整;3回答问题完整、正确;4有实验的心得或讨论;5实验报告的撰写认真、格式符合要求,没有抄袭行为。签名:日期: 2012.6 成绩名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 12 页 - - - - - - - - -