实验二 - 交互式SQL实验报告
更新时间:2023-09-20 08:38:01 阅读量: 医药卫生 文档下载
- 实验二小推荐度:
- 相关推荐
交互式SQL
一 实验目的
1.熟悉数据库的交互式SQL工具。 2.熟悉通过SQL对数据库进行操作。 3.完成作业的上机练习。
二 实验工具SQL Server 2005
利用SQL Server 2005及其交互式查询来熟悉SQL语句。
三 实验内容和要求
1.在SQL Server 2005中建立一个数据库,进行实验所要求的各种操作,所有的SQL操作均在建立的新库里进行;
2.根据以下要求认真填写实验报告,记录所有的实验用例的SQL语言;
3.1 数据定义
(1)熟悉基本表的创建、修改及删除。 (2)熟悉索引的创建和删除。
3.2 数据操作
(1)完成各类查询操作(单表查询,连接查询,嵌套查询); (2)完成各类更新操作(插入数据,修改数据,删除数据);
3.3 视图的操作
视图的定义(创建和删除),查询,更新(注意更新的条件)。
3.4 具体操作内容
在MS SQL Server中创建学生-课程数据库,要求有学生表(Student)、课程表(Course)和选课表(SC),向三个表中分别插入相关数据,再用SQL语句完成一下要求的查询。
1.使用SQL语言创建下面的三个表。 表一:学生信息表(Student) 列名 说明 数据类型 约束 Sno 学号 字符串,长度为10 非空 Sname 姓名 字符串,长度为10 非空 Ssex 性别 字符串,长度为10 非空 Sage 年龄 字符串,长度为10 非空 Sdept 所在系 字符串,长度为10 非空 表二:课程信息表(Course) 列 名 说 明 数据类型 约 束 Cno 课程号 整形 非空 Cname 课程名 字符串,长度为10 非空 Cpno 先行课 整型 允许为空 Ccredit 学分 整型 非空 表三:学生选课信息表(SC)
1
列名 说明 数据类型 Sno 学号 字符串,长度为10 Cno 课程号 整型 Grade 成绩 字符串,长度为10 2.在以上的三个表中,分别插入下面的数据; 表一:学生信息表(Student) Sno Sname Ssex 男 女 女 男 200215121 李勇 200215122 刘晨 200215123 王敏 200215125 张立 表二:课程信息表(Course) Cno Cname 1 2 3 4 5 6 7 数据库 数学 信息系统 操作系统 数据结构 数据处理 PASCAl语言 20 19 18 19 约束 主码,引用Student的外码 主码,引用Course的外码 取值0~100 Sage Sdept CS CS MA IS Ccredit 4 2 4 3 4 2 4 Cpno 5 1 6 7 6 表三:学生选课信息表(SC) Sno Cno Grade 200215121 1 92 200215121 2 85 200215121 3 88 200215122 2 90 200215122 3 80 3.根据上面的三种表,写出完成如下查询功能的SQL语句: (1)查询全体学生的详细记录 (2)查询选修了课程的学生学号 (3)查询计算机科学系(CS)、数学系(MA)和信息系(IS)学生的姓名和性别 (4)查询所有姓刘的学生的姓名、学号和性别
(5)查询全体学生情况,查询结果按所在系的系号升序排列,同一系中的学生按
年龄降序排列
(6)查询选修1号课程的学生最高分数
(7)查询每一门课的间接先修课(即先修课的先修课) (8)查询没有选修1号课程的学生姓名
(9)查询与‘刘晨’在同一个系学习的学生
(10)查询其他系中比计算机科学系所有学生年龄都小的学生姓名及年龄
(11)将一个新学生元组(学号:200215128;姓名:陈冬;性别:男;所在系:
2
IS;年龄:18岁)插入到Student表中
(12) 将学生200215121的年龄改为22岁 (13) 删除学号为200215128的学生记录 (14) 建立信息系学生的视图
(15) 在信息系学生的视图中找出年龄小于20岁的学生
(16) 将信息系学生视图is_Student中学号为200215122的学生姓名改为“刘
辰”
(17)删除信息系学生视图is_Student中学号为200215125的记录
四 实验报告 4.1 实验环境:
Windows XP
Microsoft SQL server 2005
4.2 实验内容与完成情况:
(1) 查询全体学生的详细记录
SELECT * From Student;
(2)查询选修了课程的学生学号
SELECT DISTINCT Sno FROM SC;
(3)查询计算机科学系(CS)、数学系(MA)和信息系(IS)学生的姓名和性别
SELECT Sname,Ssex FROM Student WHERE Sdept IN('CS','MA','IS');
(4)查询所有姓刘的学生的姓名、学号和性别
SELECT * Sname,Sno,Ssex FROM Course WHERE Sname LIKE '刘%';
3
(5)查询全体学生情况,查询结果按所在系的系号升序排列,同一系中的学生按年龄降序排列
SELECT * FROM Student ORDER BY Sdept,Sage DESC;
(6)查询选修1号课程的学生最高分数
SELECT MAX(Grade) FROM SC WHERE Cno='1';
(7)
①查询每一门课的间接先修课(即先修课的先修课)
SELECT first.Cno,second.Cpno FROM Course first,Course second WHERE first.Cpno=second.Cno;
②查询每一门课的间接先修课(即先修课的先修课)(消除有空的行)
SELECT first.Cno,second.Cpno FROM Course first,Course second WHERE first.Cpno=second.Cno and second.Cpno is not null;
(8) 查询没有选修1号课程的学生姓名
select Sname from Student where not exists(select * from SC where Sno=Student.Sno and Cno=’1’)
(9) 查询与‘刘晨’在同一个系学习的学生
select Sno,Sname,Sdept from Student where Sdept in (select Sdept from Student where Sname='刘晨');
(10)查询其他系中比计算机科学系所有学生年龄都小的学生姓名及年龄
select Sname ,Sage from Student
where Sage 'CS';
4
(11)将一个新学生元组(学号:200215128;姓名:陈冬;性别:男;所在系:IS;年龄:18岁)插入到Student表中
insert into Student(Sno,Sname,Ssex,Sdept,Sage) values ('200215128','陈冬','男','IS','18'); select * from Student;
(12)将学生200215121的年龄改为22岁
update Student set Sage ='22' where Sno='200215121'; select * from Student;
(13)删除学号为200215128的学生记录
delete from Student where Sno='200215128'; select * from Student;
(14)建立信息系学生的视图
create view is_Student as select Sno,Sname,Sage from Student where Sdept='IS';
(15)在信息系学生的视图中找出年龄小于20岁的学生
select Sno,Sage from is_Student where Sage<20 ;
(16)将信息系学生视图is_Student中学号为200215122的学生姓名改为“刘辰”
update is_Student set Sname='刘辰' where Sno='200215122';
5
select * from is_Student;
(17)删除信息系学生视图is_Student中学号为200215125的记录
delete from is_Student where Sno='200215125'; select * from is_Student;
4.3 出现的问题:
1.建表时要将三个表建在一个数据库中,否则不可以链接查询
2. 三个表中相同的属性的数据类型要一致,否则涉及到表连接时就会出错
五 实验感想
通过这次实验课,我对自己的动手能力有了一个清楚地认识,只顾学习理论知识那是远远不够的,学习计算机这个专业勤动手操作才行。现在感觉,理论加实践这种学习方法真的很好,对于巩固知识很有效。同时让我对数据查询,数据更新,视图的创建、删除、查询、更新有了进一步的了解,对它们的认识不再是那么抽象。
6
正在阅读:
实验二 - 交互式SQL实验报告09-20
小蚂蚁历险记作文350字06-21
第2章 快速入门教程01-20
教育部直属师范大学免费师范毕业生在职攻读教育硕士专业学位实施04-18
年产3000吨饲料级动物油脂提取项目可行性研究报告07-09
我国未成年人刑事司法保护制度完善研究06-17
《好的孤独》读书心得【优秀5篇】03-26
《土地利用规划》作业参考答案02-29
徐泾地区最新规划文件04-09
- 新版外研版7年级下册课时作业 Module 10 A holiday journey Unit 2
- 《瓦尔登湖》读后感1000
- 瓦斯抽采管理规定
- 高中开放式作文教学的理论思考和实践
- 系统生物质燃烧发电控制方案
- 华东交通大学招生考试复试面试英语自我介绍
- 中国古代历史上的改革专题总结
- 严格责任原则在刑法中的应用分析
- 2016高考英语二轮复习:书面表达 - 图表作文(含答案)
- 化工原理期末试卷
- 关于石柱县六塘乡三汇小学留守儿童的调查报告
- 初中语文阅读理解最全的33套答题公式
- 善于思辨 学会辩证分析 赛课用
- 两化融合试运行清单(1) - 信息系统(实施与运行)
- LTE名词解释-供参考
- 学生临床检验科实习报告
- 2018秋福师《20世纪中国文学研究专题》在线作业一1
- 青岛版五年级数学上册知识点归纳及易错题
- 职业生涯规划教学设计前四单元
- 机械原理复习题