数据库实验报告sql语句.doc_第1页
数据库实验报告sql语句.doc_第2页
数据库实验报告sql语句.doc_第3页
数据库实验报告sql语句.doc_第4页
数据库实验报告sql语句.doc_第5页
免费预览已结束,剩余9页可下载查看

下载本文档

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

文档简介

合肥工业大学 数据库系统原理及应用合 肥 工 业 大 学实 验 报 告 一课程名称:数据库系统原理及应用学号: 20095406 姓名: 刘晓雷 专业班级: 电子商务09-1班 指导教师: 马华伟 二零一一年十月一、实验目的:(1)熟练掌握数据更新语句,灵活地操作插入数据、修改数据和删除数据;(2)熟练掌握关系数据库中的完整性概念的应用;(3)了解数据录入的方法和过程。(4)掌握单表查询的基本方法;(5)掌握连接查询的基本方法;(6)熟练掌握以下练习,并进行以下各类查询: 选择表中的若干列、查询全部列、查询经过计算的值; 选择表中的若干元组,即消除取值重复的行与查询满足指定条件的元组(包括:比较大小、确定范围、确定集合、字符匹配、涉及空值和多种条件查询); 对查询结果排序; 使用集函数; 对查询结果分组(7)熟练掌握以下练习,并进行下列各类连接查询: 等值与非等值连接查询; 自身连接; 外连接; 复合条件连接;(8)掌握嵌套查询的基本方法;(9)掌握集合查询的基本方法;(10)熟练掌握查询视图操作(11)熟练掌握更新视图操作(12)熟练关系的完整性概念,领会视图的用途(13)练习以下各类查询: 带有IN谓词的子查询; 带有比较运算符的子查询; 带有ANY或ALL谓词的子查询; 带有EXISTS谓词的子查询; 视图查询与更新操作;二、实验要求:(1)为了便于程序正确性测试,需要对自己建立起来的数据表录入一些模拟数据(模拟数据是指符合数据格式要求的假数据),然后按照教材中结构化查询语言SQL章节例题和习题自己组织SQL语句:(2)设计的SQL程序应该涵盖数据更新操作的全部内容不,包括插入、修改、删除;(3)综合运用SQL语句实现数据插入、修改、删除等操作的综合运用能力。(4)按照SQL语言编程要求,实现各类查询和检索操作;(5)利用后台的SQL平台环境,编程验证数据库的控制保护功能。(6)将查询视图命令等价改写为对数据表的查询操作命令,利用SQL编程设计完成并进行效率分析。三、实验内容:(1)根据以下给定的数据表信息分别对student, course, score, teacher, teching 表进行数据插入和修改,以完成给定的数据录入,同时要求输入班级同学名录模拟客观真实情况,给student、score表添加30条以上记录,以便以后查询应用方便。Student表:SnosnameSbirthdaySclass011110101章海潮1982.02.07信管系0101011111103王天力1982.03.04电商系0101011111204董丞悟1982.06.06电商系0102011112110马丽鹃1982.04.03工商系0101011113104杨乾坤1982.03.23会计系0101011113221刘抗日1983.01.16会计系0102011114111丘海棠1983.02.08旅游系0101011115208齐振国1982.07.22旅游系0102001011101王晓悦1982.01.12材料系0001001011212程伊莲1982.03.21材料系0002course表:CnoCnameCpnoCreditCtimeC001数据库原理C005464C002高等数学472C003管理信息系统C001454C004操作系统C006332C005数据结构C007432C006计算机文化基础232C007C语言程序设计C006332score表:SnoCnoScore011110101C00190011111103C00185011111204C00173011112110C00198011113104C00196011113221C00197011114111C00183011115208C00185011110101C00792011111103C00797teacher表:TnoTnameTsexDepartmentT001江承基男信息管理系T002梁其征男信息管理系T003徐茉莉女信息管理系T004吴雅云女信息管理系T005杨运铎男电子商务系T006张昌盛男电子商务系T007程力衡男电子商务系Teaching表:TnocnotdateclassroomsclassT001C0051988-01-09西二405信管系0101T002C0071990-02-01西二406电商系0101T003C0011985-09-10西二504电商系0102T004C0061984-07-15主401工商系0101T005C0041989-11-12主402会计系0101T006C0021991-05-21西二506会计系0102(2)将两个同学(数据自己临时设置,用后即删除)的两门课程的成绩以运行SQL语句插入的形式加入score表中。该题用以验证、理解和掌握关系模型的完整性规则;(3)求每门课的平均成绩,并把结果存入average表;(4)将学生“马丽鹃”的出生日期改为“1982.8.20”;(5)将所有学生的zipcode属性列值填补上;(6)将average表中的所有课程的平均成绩置零;(7)删除average表中的课程号为c007的平均成绩记录;(8)删除所有average表中平均成绩记录;(9)建立一个临时学生信息表(tstudent),删除该表中的学号前六位为001011的所有学生记录。(10)查询全体学生的学号与姓名;(11)查询全体学生的学号、姓名、所属班级;(12)查询全体学生的详细记录;(13)查询全体学生的姓名及其年龄;(14)查询全体学生的姓名、出生年份;(15)查询所有修过课的学生的学号;(16)查询“信管系0101”班全体学生名单;(17)查询查询所有年龄在27岁以下的学生姓名及其年龄;(18)查询考试成绩有不及格的学生的学号;(19)查询年龄在15至28岁之间的学生姓名、班级和年龄;(20)查询年龄不在15至28岁之间的学生姓名、班级和年龄;(21)查询“信管系0101”和“电商系0102”班的学生的姓名和班级信息;(22)查询既不是“信管系0101”也不是“电商系0102”班的学生的姓名和班级信息;(23)查询学号为“011113104”的学生的详细情况;(24)查询学号以“0111”打头的学生信息;(25)查询所有姓“张”学生的学号、姓名、性别、年龄;(26)查询名字中第二个字有“海”字的学生的学号、姓名、性别、年龄;(27)查询所有不姓“刘”学生的姓名;(28)查询课程号以“C”开头的最后两个字母为“05”的课程号和课程名;(29)某些学生选修某门课程后没有参加考试,所以有选修课记录,但没有考试成绩,试查找缺少考试成绩的学生和相应的课程号;(30)查找全部有成绩记录的学生学号、课程号;(31)查找“电商系0101”班年龄在27岁以下的学生学号、姓名;(32)查找选修了“C001”号课程的学生学号及其成绩,查询结果按分数降序排序;(33)查询全体学生情况,查询结果按所在班级升序排列,对同一班级中的学生按年龄降序排列;(34)查询学生总人数;(35)查询选修了课程的学生人数;(36)在所有课程中查询最高分的学生学号和成绩;(37)查询学习“C001”课程的学生最高分数;(38)计算各个课程号与相应的选课人数;(39)查询“电商系0102”班选修了两门课程以上的学生学号、姓名;(40)自然连接student和score表;(41)使用自身连接查询每一门课程的间接先行课(即先行课的先行课)(42)使用复合条件连接查询选修“c001”号课程且成绩在90分以上的所有同学;(43)使用复合条件连接查询每个学生选修的课程名及其成绩;(44)查询选修了全部课程的学生;(45)查询至少选修全部学分数为4个学分的课程的学生的学号、姓名;(46)查询所有选修了C001号课程的学生学号、姓名;(47)查询选修了课程C001或c007的学生学号、姓名;(48)查询“会计系0102”班的学生及年龄不大于27岁(现有年龄)的学生;(49)查询既选修了课程C001又选修了课程c007的所有学生学号、姓名;(50)查询选修了课程名为“数据库原理”的学生的学号、姓名、性别、年龄;(51)查询其他班中比“信管系0101”班所有学生年龄都小的学生名单;(52)查询与“齐振国”在同一个班学习的学生学号、姓名、性别、年龄;(53)建立“信管系0101”班学生的视图,定义视图名为“info_student1”;(54)建立“信管系0101”班学生的视图,定义视图名为“info_student2”,并要求进行修改与插入时,仍须保证该视图只有“信管系0101”班学生;(55)建立“信管系0101”班选修了“C001”课程的学生的视图,定义视图名为“info_C001_student1”;(56)建立“信管系0101”班选修了“C001”课程且成绩在90分以上的学生的视图,定义视图名为“info_c001_student2”;(57)定义一个反映学生年龄的视图,定义视图名为“vbirthday_student”;(58)将学生表中所有女生记录定义为一个视图,视图名为“vfemale_student”;(59)将学生的学号及其平均成绩定义为一个视图,视图名为“vaverage_student”;(60)删除视图“info_student1”,删除后即重建;(61)在“信管系0101”班学生视图中找出年龄小于27岁(现在的年龄)的学生;(62)利用视图查询“信管系0101”班选修了“C001”课程的学生;(63)通过“信管系0101”班info_student2视图中学号“011111103”的学生姓名改为“潘长江”;(64)向“信管系0101”班info_student1视图中插入一个新学生记录,其中:学号:011111136,姓名:张艺谋,性别:男,出生日期:1987.11.9;(65)通过视图info_student1删除信管系0101班学号为“011111135”、姓名为“黄健中”的学生记录;四、实验程序代码及结果:(1)建表结果分别如下:Average表:Course表:Score表:Student表:Teacher表:Teaching表:Tstudent表:(2)代码:create table student ( sno Char(9),snameChar(10) constraint c12 not null,sbirthdayDatetime,ssexChar(2) constraint c22 check(ssex in (男,女),sclassChar(20),sremarkChar(100),addressChar(40),zipcodeChar(6),phoneChar(15),emailChar(40),constraint pk2_student primary key(sno) );create table Course (cno Char(6) Primary key ,cname Char(20), cpno Char(6), ctime Numeric(2),credit Numeric(2),);create table Score (sno Char(9) , cno Char(6) , score Numeric(3), constraint ss1 Primary key (sno, cno), constraint ss2 Foreign key (sno) references student(sno), constraint ss3 Foreign key (cno) references Course (cno); create table Teacher (tno Char(7), tname Char(10), tsex Char(2), tbirthday DateTime, position Char(12), department Char(16), tamount Numeric(7), experience Char(200), Primary key (tno);create table Teaching (tno Char(7), cno Char(6) , tdate DateTime, classroom Char(10),sclass Char(10) , Primary key (tno, cno), Foreign key (tno) references Teacher(tno), Foreign key (cno) references Course (cno);insert into score(sno,cno,score)values(001011101,C001,90);insert into score(sno,cno,score)values(011111103,C001,85);delete from scorewhere sno=001011101;delete from scorewhere sno=011111103;(3)create table average (cno Char(9),ave Numeric(3);insert into average(cno,ave)select cno,AVG(score)from score group by cno;(4)update student set Sbirthday=1982-08-20 where sname=马丽鹃;(5)update student set zipcode=230000;(6)update average set ave=0;(7)delete from average where cno=c007;(8)delete from average(9)create table tstudent( sno Char(9),snameChar(10) constraint c32 not null,sbirthdayDatetime,ssexChar(2) constraint c32 check(ssex in (男,女),sclassChar(20),sremarkChar(100),addressChar(40),zipcodeChar(6),phoneChar(15),emailChar(40), constraint pk3_tstudent primary key(sno) );insert into tstudentselect* from student;delete from tstudent where sno like 001011_;(10)select sno,sname from student;(11)select sno,sname,sclass from student;(12)select * from student;(13)select sname, 2011-year(sbirthday) age from student;(14)select sname, year(sbirthday) 出生年份from student;(15)select distinct sno from score where cno;(16)select sno,sname from student where sclass=信管系;(17)select sname, 2011-year(sbirthday) age from student where 2011-year(sbirthday)=28;(18)select sno from score where score80;(19)select sname,age=2011-year(sbirthday) ,sclass from student where 2011-year(sbirthday) between 15 and 28;(20)select sname,age=2011-year(sbirthday) ,sclass from student where 2011-year(sbirthday)=28;(21)select sname,Sclass from student where Sclass IN(信管系,电商系);(22)select sname,Sclass from student where Sclass NOT IN(信管系,电商系);(23)select * from student where sno=011113104;(24)select * from student where sno like 0111%;(25)select sno,sname,ssex,2011-year(sbirthday) age from student where sname like张%;(26)select sno,sname,ssex,2011-year(sbirthday) age from student where sname like_海%;(27)select sname from student where sname not like刘%;(28)select Cno,Cname from Course where Cno like C%05;(29)select sno,cno from Score where score IS NULL;(30)select sno,cno fromScore where score IS NOT NULL;(31)SELECT sno,sname from student where 2011-year(sbirthday)=2);(40)select *from student,score where student.sno=score.sno;(41)select o,o from course fir,course sec where fir.cpno=o;(42)select student.sno,sname from student,score where student.sno=score.sno and score.score=90and cno=C001;(43)select student.sno,cname,score from student,course,score where o=o and student.sno=score.sno;(44)select sno,sname from student where not exists(select * from course where not exists (select * from score where sno=student.sno and cno=o);(45)select sno,sname from student where not exists(select * from course where credit=4 and not exists (select * from score where sno=student.sno and cno=o );(46)select sno,sname from student where exists(select * from score where sno=student.sno and cno=C001);(47)select sno,sname from student where exists(select * from score where sno=student.sno and (cno=C001or cno=C007);(48)select sno,sname from student where sclass=会计系and 2011-year(sbirthday)=29;(49)select sno,sname from student where exists(select * from score where sno=student.sno and sno in (select sno from score where cno=C001union select sno from score where cno=C007) );(50)select sno,sname,ssex,2011-year(sbirthday) age from student where exists(select * from course,score where sno=student.sno and o=o and cname=数据库原理);(51)

温馨提示

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

评论

0/150

提交评论