《数据库原理及应用》实验报告SQL语句部分:绩成总实验一熟悉SQL SERVER,数据定义实验实验一成绩:一、实验目的1、利用查询分析器创建数据库2、利用查询分析器用SQL语言定义基本表、索引并进行相关操作二、实验步骤及内容在以下实验中,使用学生-课程数据库,它描述了学生的基本信息、课程的基本信息及学生选修课程的信息。
1.创建学生课程数据库2.创建学生关系表S :3.创建课程关系表C :课程名学分先行课课程号Cno ccreditCname Cpno4.创建课程关系表SC :5.将以上创建表S、C、SC的SQL命令以 .SQL文件的形式保存在磁盘上。
6、在表S上增加“出生日期”属性列。
7、删除表S的“年龄”属性列。
8、删除S姓名列的唯一值约束。
9、修改SC表成绩属性列为精确数字型。
10、在表S上,按“Sno”属性列的唯一值方式建立索引。
11、删除表SC,利用磁盘上保存的.SQL文件重新创建表SC。
12、创建教材P74页习题5中SPJ数据库中的四个关系:S、P、J、SPJ。
三、实验结果:1.创建学生课程数据库; Studend create database2.创建学生关系表S :S create table(, 9Sno CHAR()PRIMARYKEY UNIQUE,)(Sname CHAR20CHAR Ssex (2),smallint Sage ,char Sdept 20(),);.创建课程关系表C 3:课程号课程名先行课学分ccredit Cpno CnoCnametable C create(primary key,) Cno char(4Cname CHAR(40 ),char(), 4Cpno,Ccredit SMALLINT);4.创建课程关系表SC :学号课程号成绩grade Sno Cno createtable SC(9),Sno char(),char Cno (4, Grade smallint); 5.将以上创建表S、C、SC的SQL命令以 .SQL文件的形式保存在磁盘上。
6、在表S上增加“出生日期”属性列。
;datetimeadd Sbirthday alter table S7、删除表S的“年龄”属性列。
; Sage columndroptablealter S8、删除S姓名列的唯一值约束。
UQ__S__7D78A4E7;table S dropalter表成绩属性列为精确数字型。
9、修改SCGrade int;table SC alter columnalter属性列的唯一值方式建立索引。
、在表S上,按“Sno”10S(Sno);indexcreate unique Stusno on文件重新创建表SC。
11、删除表SC,利用磁盘上保存的.SQL; SC drop tableP、、J、。
SPJSSPJ5P7412、创建教材页习题中数据库中的四个关系:实验二数据更新实验实验二成绩:一、实验目的1、熟悉和掌握数据表中数据的插入、修改、删除操作和命令的使用2、加深理解表的定义对数据更新的作用二、实验步骤及内容(一)利用查询分析器在表中插入数据打开在实验一中建立的“学生课程”数据库;在“SCDB”数据库中的student、course、sc表中插入数据;student表的内容:SNO SNAME SSEX SAGE SDEPT95001 李勇男 20 CS95002 刘晨女 19 IS95003 王敏女 18 MAcourse表的内容CNO CNAME CPNO CREDIT1 数据库 5 42 数学 NULL 23 信息系统 1 44 操作系统 NULL 35 数据处理 NULL 2sc表的内容SNO CNO GRADE95001 1 9295001 2 6595001 3 8895002 2 9095002 3 80(二)修改表中的数据在插入数据后的三张表S、C、SC中进行相关的更新操作:1、将student表中‘李勇'的名字改为‘李明';2、将student表中‘王敏'的年龄改为20岁;3、将所有学生的年龄增加1岁;4、修改学生的学号‘95002'为‘95005',注意表之间的关系,保持一致性;5、把选修了“2”号课程,且成绩低于70分的成绩提高5%;6、将“CS”系全体学生的成绩置零;(三)删除表中的数据1、把选修了“2”号课程,且成绩低于70分的学生的成绩删除掉;2、删除学号为“95003”的相关信息;3、删除?屓系选修了?号课程的选课记录;”系的全体学生的选课记录;CS、删除“4.5、删除整张表的数据,注意表之间的关系,保持一致性。
三、实验结果:(一)利用查询分析器在表中插入数据打开在实验一中建立的“学生课程”数据库;在“SCDB”数据库中的student、course、sc表中插入数据;student表的内容:SNO SNAME SSEX SAGE SDEPT95001 李勇男 20 CS95002 刘晨女 19 IS95003 王敏女 18 MAcourse表的内容CNO CNAME CPNO CREDIT1 数据库 5 42 数学 NULL 23 信息系统 1 44 操作系统 NULL 35 数据处理 NULL 2sc表的内容SNO CNO GRADE95001 1 9295001 2 6595001 3 8895002 2 9095002 3 80insertinto S(Sno,Sname,Ssex,Sage,Sdept) values('95001','李勇','男',20,'CS');insertinto S(Sno,Sname,Ssex,Sage,Sdept) values('95002','刘晨','女',19,'IS');insertinto S(Sno,Sname,Ssex,Sage,Sdept) values('95003','王敏','男',20,'CS');select*from S;insertinto C(Cno,Cname,Cpno,Ccredit) values('1','数据库','5',4);insert)Ccredit,Cpno,Cname,Cno( C into values('2','数学',NULL,2);insertinto C(Cno,Cname,Cpno,Ccredit) values('3','信息系统','1',4);insertinto C(Cno,Cname,Cpno,Ccredit) values('4','操作系统',NULL,3);insertinto C(Cno,Cname,Cpno,Ccredit) values('5','数据处理',NULL,2);insertinto SC(Sno,Cno,Grade)values('95001','1',92);insertinto SC(Sno,Cno,Grade)values('95001','2',65);insertinto SC(Sno,Cno,Grade)values('95001','3',88);insertinto SC(Sno,Cno,Grade)values('95002','2',90);insertinto SC(Sno,Cno,Grade));80,'3','95002'(values(二)修改表中的数据在插入数据后的三张表S、C、SC中进行相关的更新操作:1、将student表中‘李勇'的名字改为‘李明';update S'='李明set Sname;='95001'where Sno岁;表中‘王敏'的年龄改为202、将student S update20 set Sage=;='王敏'where Sname 将所有学生的年龄增加1岁;3、S update1=Sage+; Sage set,注意表之间的关系,保持一致性;'修改学生的学号‘4、95002'为‘95005 S update '95005'=set Sno; '95002'= Sno where5、把选修了“2”号课程,且成绩低于70分的成绩提高5%;update SC*=Grade set Grade; <70='2'and Grade where Cno”系全体学生的成绩置零;将“CS6、SC update0set Grade==; from S where where'CS'=(select Sdept(三)删除表中的数据分的学生的成绩删除掉;2”号课程,且成绩低于701、把选修了“from SC delete; 70'2'and Grade< Cno where=”的相关信息;2、删除学号为“95003delete from S; ='95003'where Sno?号课程的选课记录;3、删除?屓系选修了 SC delete from); 'IS'=from'2'=and Sno in(select Sno S where Sdept Cno where”系的全体学生的选课记录;、删除“4CS fromdelete SC=; where'CS'=(select Sdept from S where5、删除整张表的数据,注意表之间的关系,保持一致性。
; from SC delete数据查询实验实验三实验三成绩:一、实验目的熟悉和掌握对数据表中数据的查询操作和SQL命令的使用,学会灵活熟练的使用SQL 语句的各种形式;加深理解关系运算的各种操作(尤其的关系的选择,投影,连接和除运算)二、实验方法及步骤1.在表student,course,sc上进行简单查询;2.在表student,course,sc上进行连接查询;3.在表student,course,sc上进行嵌套查询;4.使用聚合函数的查询;5.对数据的分组查询;6.对数据的排序查询。