数据库原理及应用实验大纲及指导册.doc_第1页
数据库原理及应用实验大纲及指导册.doc_第2页
数据库原理及应用实验大纲及指导册.doc_第3页
数据库原理及应用实验大纲及指导册.doc_第4页
数据库原理及应用实验大纲及指导册.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

附录:数据库原理及应用实验大纲及指导册数据库原理与应用实验大纲一、 上机性质、目的及任务:通过上机实践,配合课堂教学内容加深对数据库的基本概念和基本技术的理解,掌握数据库系统设计的基本思想和基本步骤,熟悉关系数据库的标准语言SQL,并对关系数据库系统的一些典型技术有较深入的了解,使学生的动手能力有较大的提高。另外,通过上机实践善于发现数据库应用程序中的错误,并且快速排除这些错误,使其正确运行,为今后使用大型数据库进行数据库应用系统的开发积累经验。二、 实验内容:实验一 熟悉MysQL环境及SQL定义语言实验二 SQL语言进行简单查询实验三 SQL进行复杂查询实验四 SQL常用数据更新操作(以上实验为基础实验内容,在保证基础实验完成的前提下,感兴趣的同学可尝试通过编写Web界面和后台程序的形式操作数据库,构建一个简易的Web数据库管理系统)9实验一 熟悉MySQL环境及SQL定义语言一、实验目的:1. 了解MySQL程序构成、安装、管理方法。2. 了解MySQL数据库及表结构。3. 熟练掌握SQL语言进行基本表结构的创建。4. 熟练应用SQL语言进行表结构的修改。5. 掌握SQL语言进行基本表的删除。6. 掌握SQL语言进行索引的建立和删除。二、实验内容和主要步骤:1. 参考“MYSQL简体中文参考文档.chm”,熟悉MySQL构成和功能特性。2. 打开Windows服务管理器,实验启动、停止MySQL服务,了解MySQL的服务管理方法; 3. 打开“MySQL管理控制台.bat”,熟悉控制台中操作数据库;4. 利用控制台创建“Student数据库”。5. 打开“Student”数据库,创建如下三个表,按下面的列表中的字段名(英文)、类型和宽度建立:表1 student (学生)字段名字段说明类型字段大小小数位数sno学号Char8sname姓名Varchar8ssex性别Char2sdept系别Varchar20sage年龄Int整型表2 course (课程)字段名字段说明类型字段大小小数位数cno课程号Char3cname课程名称Varchar20Credit学分Numeric1Cpno系别char3表3 sc (选修)字段名字段说明类型字段大小小数位数sno学号Char8cno课程号Char3Grade成绩numeric16. 按图1-3所示向表中插入数据;图1 student表数据图2 course表数据图3 SC表数据7. 用SQL语言CREATE TABLE语句创建学生表student、课程表course和选课表SC;(字段类型及长度参照实验一)8. 用SQL语言ALTER语句修改表结构;a) STUDENT表中SNO设为非空和唯一;b) STUDENT表中增加一个字段SBIRTH,类型设置为日期时间类型,增加一个ADDRESS字段,类型为文本(字符);c) 删除STUDENT表中ADDRESS字段;d) COURSE表中CNO字段设为非空和唯一;9. 重新定义一个简单表,然后用SQL语言DROP语句删除该表结构;10. 用SQL语言CREATE INDEX语句定义表STUDENT的SNAME字段的降序索引;11. 用SQL语言CREATE INDEX语句定义表SC的GRADE字段的升序索引;12. 用SQL语言DROP语句删除索引;13. 输入部分数据,并试着修改其中的错误;注:l 注意数据的完整性。14. 备份数据库及数据,以备后面实验使用;三、实验要求:1. 独立完成MySQL数据库常用操作;2. 将上述任务中完整的SQL语句调试并使之运行正确;3. 写出实验报告(在实验报告纸上完成,包括预习报告、上机报告、总结报告)。实验二 SQL语言进行简单查询一、实验目的:1. 掌握SQL查询语句的一般格式2. 掌握简单数据查询操作。3. 熟练掌握各种查询条件的表示。4. 掌握排序和分组操作在SQL语句中的实现。5. 掌握集函数的使用。二、实验内容和主要步骤:1. 创建学生表student、课程表course和选课表SC,并输入数据(注意数据的完整性。);(可以使用实验一中已经建立的表和数据)2. 对各表中的数据进行不同条件的查询;) 查询全体学生的学号和姓名 select sno, sname from student;) 查询全体学生的详细记录 select * from student;) 查询所有选修过课程的学生学号 select distinct sno from sc;) 查询考试有不及格的学生学号 select sno from sc where grade from student - where sdeptis and sdeptcs;) 查询选修了4号课的学生学号和成绩,结果按成绩降序排列 select sno,grade from sc where cno=004 order by grade desc;) 查询每个课程号和相应的选课人数mysql select cno,count(cno) - from sc - group by cno;) 查询计算机系(CS)的学生姓名、年龄、系别mysql select sname,sage,sdept - from student - where sdept=cs;) 查询年龄1820岁的学生学号、姓名、系别、年龄;mysql select sno,sname,sage,sdept - from student - where sage between 18 and 20;) 查询姓刘的学生情况mysql select * - from student - where sname like liu%;) 查询既选修1号课程,又选修2号课程的学生学号mysql select distinct sno - from sc - where cno=1 and sno in (select distinct sno from sc where cno=2);) 查询学生的姓名和出生年份(今年2003年)select sname,sbirth from student;) 查询没有成绩的学生学号和课程号mysql select sno,cno from sc where grade=0;) 查询总成绩大于200分的学生学号select sno from sc group by sno having sum(grade)200;) 查询每门课程不及格学生人数select cno, count(distinct sno) from sc where grade select max(grade) from sc where cno=003 group by cno;) 查询每个同学的总成绩 select sno, sum(grade) from sc group by sno;三、实验要求:1. 将上述任务中完整的SQL语句调试并使之运行正确;2. 写出实验报告(在实验报告纸上完成,包括预习报告、上机报告、总结报告)注意:有些题目可以使用多种方法进行表示实验三 SQL进行复杂查询一、实验目的:1. 熟练掌握各种连接查询及其连接条件。2. 掌握各种嵌套查询的使用。3. 掌握复杂的集合查询。二、内容和主要步骤:1.实验一中的数据为基础2.对各表中的数据进行不同条件的连接查询和嵌套查询;) 查询每个学生及其选课情况;) 查询每门课的间接先修课) 将STUDENT,SC进行右连接) 查询有不及格的学生姓名和所在系) 查询所有成绩为优秀(大于90分)的学生姓名) 查询既选修了2号课程又选修了3号课程的学生姓名、学号;) 查询和刘晨同一年龄的学生) 选修了课程名为“数据库”的学生姓名和年龄) 查询其他系比IS系任一学生年龄小的学生名单) 查询其他系中比IS系所有学生年龄都小的学生名单) 查询选修了全部课程的学生姓名) 查询计算机系学生及其性别是男的学生) 查询选修课程1的学生集合和选修2号课程学生集合的差集) 查询李丽同学不学的课程的课程号) 查询选修了3号课程的学生平均年龄) 求每门课程学生的平均成绩) 统计每门课程的学生选修人数(超过3人的才统计)。要求输出课程号和选修人数,结果按人数降序排列,若人数相同,按课程号升序排列) 查询学号比刘晨大,而年龄比他小的学生姓名。) 求年龄大于女同学平均年龄的男同学姓名和年龄) 求年龄大于所有女同学年龄的男同学姓名和年龄) 查询至少选修了95002选修的全部课程的学生号码) 查询95001和95002两个学生都选修的课程的信息三、要求:1. 将上述任务中完整的SQL语句调试并使之运行正确;2. 写出实验报告(在实验报告纸上完成,包括预习报告、上机报告、总结报告)实验四 SQL的常用数据更新操作一、实验目的:1. 熟练掌握SQL的常用数据更新操作。2. 熟练应用INSERT,UPDATE,DELETE语句。3. 掌握更新操作的各种格式。二、实验内容和主要步骤1. 应用INSERT,UPDATE,DELETE语句进行更新操作;) 插入如下学生记录(学号:95030,姓名:李莉,年龄:18) 插入如下选课记录(95030,1) 计算机系学生年龄改成20) 数学系所有学生成绩改成0) 把低于总平均成绩的女同学成绩提高5分) 修改2号课程的成绩,若成绩小于75分提高5,成绩大于75时提高) 4(两个语句实现,注意顺序) 删除95030学生信息) 删除SC表中无成绩的记录) 删除张娜的选课记录) 删除数学系所有学生选课记录) 删除不及格的学生选课记录) 查询每一门课程成绩都大于等于80分的学生学号、姓名和性别,把值送往另一个已经存在的基本表STU(SNO,SNAME,SSEX)中) 把所有学生学号和课程号连接追加到新表中) 所有学生年龄增1)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论