ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:361.13KB ,
资源ID:3999290      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3999290.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(《数据库及其应用》实验报告2.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

《数据库及其应用》实验报告2.docx

1、数据库及其应用实验报告2数据库及其应用实验报告实验序号:B0901000-34 实验项目名称:SQL查询、选择查询和动作查询学号0906030155姓名黄明均专业、班管科0901实验地点现教中心指导教师孙夫雄时间2010年4月一、实验目的及要求1掌握Access表达式的基本概念。了解不同类型数据的常量、参数、运算与函数的使用。2理解查询对象的意义和建立方法。3掌握SQL语言中SELECT语句的主要应用。4掌握SQL的插入、更新、删除操作命令的基本应用。5了解SQL定义数据表的基本方法。6理解Access选择查询的意义和类别。7掌握一般选择查询的操作应用;理解并掌握交叉查询的应用;理解参数查询的

2、意义。8理解Access动作查询包含的查询类别。 9将动作查询与SQL命令进行对比,理解并掌握动作查询的操作应用。 二、实验设备(环境)及要求 PC机,Windows XP,Access 2003,学生管理数据库三、实验内容要求(一) SQL视图中表达式练习1进入SQL视图及在不同视图间切换在Access中进入查询的设计视图并在查询的不同视图之间切换。2不同类型数据的表达式运算在SQL视图中分别输入以下命令并运行,对于参数自己输入数据。查看并写出各表达式运算结果。SELECT -5.122+(17 mod 3);SELECT Hello +,World!,LEFT(清华大学出版社,2)+RIG

3、HT(清华大学出版社,3);SELECT 你毕业的年份是, VAL(LEFT(你的学号,4)+4;SELECT 现在是+STR(YEAR(DATE()+年,现在的时间是:+CSTR(TIME();SELECT 张三李四,ABCD1000;(二)SQL命令进行查询和操作1练习SQL查询的SELECT语句启动教学管理数据库,在数据库窗口对象栏中单击“查询”,然后进入SQL视图。在“SQL视图”中输入以下SELECT命令,查看执行结果,并仔细体会查询的实现。 查询“学院”、“专业”、“学生”完整数据。SELECT * FROM (学院 INNER JOIN 专业 ON 学院.学院号=专业.学院号)

4、INNER JOIN 学生 ON 专业.专业号=学生.专业号); 查询“工商管理”专业所有女生信息。SELECT 专业,学生.* FROM 专业 INNER JOIN 学生 ON 专业.专业号=学生.专业号WHERE 专业.专业=工商管理 AND 学生.性别=女; 查询平均成绩在80分以上的各位学生的学号、姓名和平均分。保存为查询对象,对象名“优秀学生”。SELECT 学生.学号,姓名,AVG(成绩) AS 平均分 FROM 学生 INNER JOIN 成绩 ON 学生.学号=成绩.学号 GROUP BY 学生.学号,姓名 HAVING AVG(成绩)=80 ;单击工具栏保存按钮,弹出“另存为

5、”对话框,输入“优秀学生”,单击“确定”按钮。 查询没有学生数据的专业编号和专业。SELECT 专业号,专业 FROM 专业 WHERE 专业号 NOT IN (SELECT 专业号 FROM 学生) ; 查询“湖北”籍1988年以后出生的学生信息。SELECT * FROM 学生 WHERE 籍贯 LIKE 湖北* AND 生日 =#1988-1-1# ; 查询选课人数最多的课程的课程号、课程名。SELECT TOP 1 课程.课程号,课程名 FROM 课程 INNER JOIN 成绩 ON 课程.课程号=成绩.课程号 GROUP BY 课程.课程号,课程名ORDER BY COUNT(*)

6、 DESC ;2练习SQL的插入、更新、删除操作命令 在课程表中插入一门新课,数据如命令所示。INSERT INTO 课程VALUES(06020101,会计学原理,3,06); 将“法学院(04)”开设课程的学分增加1分。UPDATE 课程 SET 学分=学分+1 WHERE 学院号=04 删除“信息学院(09)”开设的没有学生选修的课程。DELETE FROM 课程 WHERE 学院号=09 AND 课程号 NOT IN (SELECT 课程号 FROM 成绩)3创建“教师”表,包括:工号、姓名、性别、生日、职称、基本工资、学院号。写出创建命令。(三)选择查询操作1进入查询设计视图进行交互

7、式选择查询设置启动教学管理数据库。 查询“专业”表,显示开设的所有专业涉及的学科门类。 查询各专业学生的人数。 查询没有选课的男学生学号、姓名,即成绩表中没有记录的学生数据。2进行交叉表查询将学生的“学号”和“姓名”作为行标题,“课程名”作为列标题,成绩作为交叉数据,生成交叉表。3进行参数查询通过参数查询指定日期以后出生的某个民族的学生信息。(四)动作查询操作1生成表查询操作练习将“查询平均成绩在80分以上的各位学生的学号、姓名和平均分”的结果生成新表,表名“优秀学生名单”。2删除查询操作删除“优秀学生名单”表中,平均分在85分以下的记录。3追加查询操作将平均分在8085分之间的学生及成绩数据

8、加入“优秀学生名单”表, 4更新查询操作将没有学生选修的课程的学分减少1分。写出以上要求的操作步骤并截取必要的图片。四、回答问题1有哪几种方式可进入“SQL视图”?如果用“记事本”编写了SQL语句,是否可以在SQL视图中使用?如何操作?答:在数据库窗口中双击“在设计视图中创建查询”或者单击”新建”按钮,然后再”新建查询”中设计视图中单击“确定”按钮;在数据库窗口中选择“查询”对象,单击“新建”按钮,在“新建查询”对话框中选中“设计视图”并单击“确定”,关闭“显示表”对话框,单击查询工具栏的“视图”工具的下拉按钮,选择“SQL视图”选项;2为什么不能在数字常量前加“¥”或“$”符号表示币值常量?

9、“¥”或“$”有何作用?答:因为在“定义格式”已经输入相应的属性,只需输入数字常量后可自动显示。作用:可以在“格式”属性中的任何位置使用这些字符并且将这些字符原文照应。3如果在修改“法学院”学分的操作中要求根据“学院名”作为输入条件修改数据,查询命令应该如何写?答:UPDATE 课程 WHERE 学院名=“法学院”4不保存查询,与将查询保存为查询对象有何区别?查询对象有什么作用?答:将查询保存为查询对象后,可以随时在数据库窗口中的查询对象界面选中双击,或者单击选中,然后单击“打开”按钮,运行查询并立即查看结果。而不保存则不行。作为查询对象,还可以作为其他数据库操作与表类似的数据源。5根据以下给

10、定的查询要求,写出对应的查询命令。 查询学生中的民族来源,显示不重复的民族数据。SELECT DISTINCT 民族 FROM 学生 查询各民族男生和女生的人数。SELECT COUNT(男), COUNT(女) FROM 学生 GROUP BY 民族 查询没有学生选修的课程信息以及开课的学院名。SELECT 课程.*,学院名 FROM 课程 INNER JOIN 学院 ON 课程.学院号=学院.学院号 WHERE 课程号 NOT IN (SELECT 课程号 FROM 成绩) 插入几条教师记录。VALUES(,= 给“教授”职称的教师的基本工资增加10%。UPDATE 教师表 SET 基本工

11、资=基本工资(1+0.1) WHERE 职称=教授 删除没有学生就读的专业数据。WHERE 专业号 NOT IN (SELECT 专业号FROM 学生) 删除教师表。DELETE FROM 教师表6深入体会交叉表查询的作用,简述交叉表查询的实质意义。作为行标题的字段最多可以设置几个?作为列标题和交叉值的字段最多可以设置几个?答:交叉表查询是一种特殊的汇总查询。交叉表事实上反应的就是对两种实体及其联系的关系表示,转换为另一种二维表结构来显示;无限制;1个7参数查询的参数设置是否一定要通过菜单设置类型?通过菜单设置的参数是否一定要出现在查询中?答:不一定,只是为了明确起见,Access在“查询”菜

12、单中列出“参数查询”菜单,当用户设计查询需要使用参数时,可以启动该菜单先定义参数名及其类型,这样可以减少使用参数出错的情况。 不一定,只是无论是否在查询中用的定义的参数,在运行查询时,Access会先要求你输入这里定义的所有参数的值,并自动按照定义的类型检验输入数据是否合乎要求,然后再执行查询。8生成表查询实现的是SQL语言中什么语句的功能?答:生成表查询实现的是SQL语言中SELECT语句(中INTO子句)的功能。9追加查询对应SQL的什么语句?该语句是否只具有追加查询的功能?若有其他功能,如何实现交互操作?答:追加查询对应SQL的INSERT语句;不是;INSERT语句有两种语法,一种是将

13、一条记录追加到表中,另外一种是将一个查询的结果追加到表中。第一种语法的实现可以在表的数据表视图中完成,第二种用法的实现就是通过“ 追加查询”。五、分析讨论 (根据实验写出一些心得或分析等) 通过本次实验,对Select语句有了一定的了解,并且觉得这些语法很难记明白,所以在做实验时操作也不太熟练,在回答问题时,也遇到了很多疑问,所以对于这一章的内容要多熟悉、多复习,要对SQL语言有一个初步的了解及能够完成简单的应用。六、教师评语签名: 日期:成绩(一) SQL视图中表达式练习1进入SQL视图及在不同视图间切换在Access中进入查询的设计视图并在查询的不同视图之间切换。在Access中打开教学管

14、理数据库。在数据库窗口中选择“查询”对象,双击“在设计视图中创建查询”,弹出查询设计窗口及“显示表”对话框。关闭“显示表”对话框,然后单击查询工具栏的“视图”工具的下拉按钮,选择“SQL视图”选项,如图:不同视图间的切换就可通过这个工具栏按钮进行选择切换。2不同类型数据的表达式运算在SQL视图中分别输入以下命令并运行,对于参数自己输入数据。查看并写出各表达式运算结果。SELECT -5.122+(17 mod 3);SELECT Hello +,World!,LEFT(清华大学出版社,2)+RIGHT(清华大学出版社,3);SELECT 你毕业的年份是, VAL(LEFT(你的学号,4)+4;

15、SELECT 现在是+STR(YEAR(DATE()+年,现在的时间是:+CSTR(TIME();SELECT 张三李四,ABCD1000;(二)SQL命令进行查询和操作1练习SQL查询的SELECT语句启动教学管理数据库,在数据库窗口对象栏中单击“查询”,然后进入SQL视图。在“SQL视图”中输入以下SELECT命令,查看执行结果,并仔细体会查询的实现。 查询“学院”、“专业”、“学生”完整数据。SELECT * FROM (学院 INNER JOIN 专业 ON 学院.学院号=专业.学院号) INNER JOIN 学生 ON 专业.专业号=学生.专业号); 查询“工商管理”专业所有女生信息

16、。SELECT 专业,学生.* FROM 专业 INNER JOIN 学生 ON 专业.专业号=学生.专业号WHERE 专业.专业=工商管理 AND 学生.性别=女; 查询平均成绩在80分以上的各位学生的学号、姓名和平均分。保存为查询对象,对象名“优秀学生”。SELECT 学生.学号,姓名,AVG(成绩) AS 平均分 FROM 学生 INNER JOIN 成绩 ON 学生.学号=成绩.学号 GROUP BY 学生.学号,姓名 HAVING AVG(成绩)=80 ;单击工具栏保存按钮,弹出“另存为”对话框,输入“优秀学生”,单击“确定”按钮。 查询没有学生数据的专业编号和专业。SELECT 专

17、业号,专业 FROM 专业 WHERE 专业号 NOT IN (SELECT 专业号 FROM 学生) ; 查询“湖北”籍1988年以后出生的学生信息。SELECT * FROM 学生 WHERE 籍贯 LIKE 湖北* AND 生日 =#1988-1-1# ; 查询选课人数最多的课程的课程号、课程名。SELECT TOP 1 课程.课程号,课程名 FROM 课程 INNER JOIN 成绩 ON 课程.课程号=成绩.课程号GROUP BY 课程.课程号,课程名ORDER BY COUNT(*) DESC ;2练习SQL的插入、更新、删除操作命令 在课程表中插入一门新课,数据如命令所示。INS

18、ERT INTO 课程VALUES(06020101,会计学原理,3,06); 将“法学院(04)”开设课程的学分增加1分。UPDATE 课程 SET 学分=学分+1 WHERE 学院号=04 删除“信息学院(09)”开设的没有学生选修的课程。DELETE FROM 课程 WHERE 学院号=09 AND 课程号 NOT IN (SELECT 课程号 FROM 成绩)3创建“教师”表,包括:工号、姓名、性别、生日、职称、基本工资、学院号。写出创建命令。CREATE TABLE 教师(工号TEXT(6)PRIMARY KEY,姓名 TEXT(10)NOT NULL,性别 TEXT (2),生日

19、DATE,职称 TEXT(8),基本工资 MONEY,学院号 TEXT(2)REFERENCES 学院(学院号);(三)选择查询操作1进入查询设计视图进行交互式选择查询设置启动教学管理数据库。1 查询“专业”表,显示开设的所有专业涉及的学科门类。 将“专业”表加入设计视图。在QBE界面中“字段”栏选择“专业类别”字段显示。因为该字段的值有重复,因此,在设计视图的空白处单击右键,从弹出的快捷菜单中选择“属性”命令,打开“属性”对话框,选择“唯一值”属性值“是”。2 查询各专业学生的人数。 将“专业”表和“学生”表加入设计视图。在QBE界面中“字段”栏中选中“专业号”和“专业”字段显示,然后单击工

20、具栏中的“总计”按钮,在QBE中增加“总计”栏。将“专业号”和“专业”设置为“分组”,然后选择“学生”表的“学号”字段,设置为“计数”,最后在学号前加上“人数”,作为查询后的列名。 查询没有选课的男学生学号、姓名,即成绩表中没有记录的学生数据。2进行交叉表查询将学生的“学号”和“姓名”作为行标题,“课程名”作为列标题,成绩作为交叉数据,生成交叉表。3进行参数查询通过参数查询指定日期以后出生的某个民族的学生信息。启动选择查询设计窗口,将“学生”表加入设计窗口,在QBE窗口中选择“*”表示输出学生表所有字段。然后选中“生日”字段,去掉“显示”行的复选框,在条件行输入SR;按同样方式设置“民族”字段

21、。然后选择“查询”“参数”命令,弹出“查询参数”对话框,分别设置SR和MZ的类型,单击“确定”按钮,设置完毕。(四)动作查询操作1生成表查询操作练习将“查询平均成绩在80分以上的各位学生的学号、姓名和平均分”的结果生成新表,表名“优秀学生名单”。输入SQL命令后,选择“查询”“生成表”查询,弹出“生成表”对话框,输入表的名称,然后单击“确定”按钮。2删除查询操作删除“优秀学生名单”表中,平均分在85分以下的记录。进入设计视图,加入“优秀学生名单”表。选择“查询”“删除查询”命令,这时窗口改为“删除查询”,QBE栏目发生变化,出现“删除”栏,调整或撤销其他栏。在“字段”栏中选择“平均分”,这时删

22、除栏值默认为Where。在“条件”栏输入=80 and 85。 (3) 选择“查询”“追加查询”命令,打开“追加”对话框。选择“优秀学生名单”表,单击“确定”按钮。 (4) QBE窗口中增加“追加到”栏,选择“学号”、“姓名”和“平均分”字段,设计完成。运行查询,数据被追加到“优秀学生名单”表中。4更新查询操作将没有学生选修的课程的学分减少1分。(1)启动设计视图,添加“课程”表。选择“查询”“更新查询”命令,设计视图变为“更新查询”,QBE窗格中增加“更新到”栏。 选中“学分”字段,然后在“更新到”栏中输入“课程.学分1”。 选中“课程号”字段,在“条件”栏中输入“NOT IN(SELECT 课程号 FROM 成绩)”,设计完成。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1