1、课程实验报告课程名称数据库系统概论班级实验日期姓名学号实验成绩实验名称实验1:数据定义语句及数据查询语句实验目的及要求1掌握数据查询语句。实验环境操作系统:WindowsDBMS:SQL Server 2005实验内容首先在DBMS环境下直接创建书中第56页的3张表。1在查询分析器在窗口下用SELECT语句完成单表查询:(1) 查询全体学生的详细记录;(2) 查询所有选修过课的学生的学号;(3) 查询考试成绩不及格的学生的学号;(4) 查信息系(IS)、数学系(MA)和计算机科学系(CS)的学生的姓名和性别;(5) 查所有姓刘的学生的姓名、学号和性别;(6) 查包含课程名中包含“DB% Ana
2、lysis”的课程的课程号和学分;(7) 查询选修了3号课程的学生的学号及其成绩,查询结果按分数的降序排列;(8) 查询学习1号课程的学生最高分数;(9) 查询各个课程号与相应的选课人数;2在查询分析器在窗口下用SELECT语句完成连接(嵌套)查询:(10) 查询每个学生及其选修课程的详细情况,包括学生姓名和课程名;(11) 查询选修2号课程且成绩在90分以上的所有学生的基本情况;(12) 查询每个学生及其选修的课程名其及成绩;(13) 查询与“XXX”在同一个系学习的学生;(XXX为自己的真实姓名)(14) 查询其他系中比信息系某一学生年龄小的学生姓名和年龄;(15) 查询其他系中比信息系所
3、有学生年龄都小的学生姓名及年龄;调试过程及实验结果1 在查询分析器在窗口下用SELECT语句完成单表查询:(1) 查询全体学生的详细记录;(2) 查询所有选修过课的学生的学号;(3) 查询考试成绩不及格的学生的学号(4)查信息系(IS)、数学系(MA)和计算机科学系(CS)的学生的姓名和性别;(5) 查所有姓刘的学生的姓名、学号和性别(6) 查包含课程名中包含“DB% Analysis”的课程的课程号和学分(7) 查询选修了3号课程的学生的学号及其成绩,查询结果按分数的降序排列;(8) 查询学习1号课程的学生最高分数;(9) 查询各个课程号与相应的选课人数;2 在查询分析器在窗口下用SELEC
4、T语句完成连接(嵌套)查询(10) 查询每个学生及其选修课程的详细情况,包括学生姓名和课程名;(11) 查询选修2号课程且成绩在90分以上的所有学生的基本情况(12) 查询每个学生及其选修的课程名其及成绩(13) 查询与“XXX”在同一个系学习的学生(14) 查询其他系中比信息系某一学生年龄小的学生姓名和年龄(15)查询其他系中比信息系所有学生年龄都小的学生姓名及年龄总结1,学会根据软件提示修改错误调试执行2;数据库建立时要注意命名的一致。3;查询时记住选择自己刚建立的数据库。4;比较复杂的嵌套查询语句书写时要细心。附录1在查询分析器在窗口下用SELECT语句完成单表查询:(1) 查询全体学生
5、的详细记录;SELECT DISTINCT *FROM Student(2) 查询所有选修过课的学生的学号; SELECT SnoFROM SC(3) 查询考试成绩不及格的学生的学号;SELECT DISTINCT SnoFROM SC WHERE Grade90(12) 查询每个学生及其选修的课程名其及成绩;SELECT Student.Sno,Sname,Cname,GradeFROM Student,SC,CourseWHERE Student.Sno=SC.Sno AND SC.Cno=Course.Cno(13) 查询与“XXX”在同一个系学习的学生;(XXX为自己的真实姓名)SEL
6、ECT Sno,Sname,SdeptFROM Student WHERE Sdept IN (SELECT Sdept FROM Student WHERE Sname=吕阳)(14) 查询其他系中比信息系某一学生年龄小的学生姓名和年龄;SELECT Sname,SageFROM StudentWHERE SageANY (SELECT Sage FROM Student WHERE Sdept=IS)AND SdeptIS(15) 查询其他系中比信息系所有学生年龄都小的学生姓名及年龄;SELECT Sname,SageFROM StudentWHERE SageALL (SELECT Sa
7、ge FROM Student WHERE Sdept=IS)AND SdeptIS课程实验报告课程名称数据库系统概论班级实验日期姓名学号实验成绩实验名称实验2:数据更新及视图实验目的及要求1掌握数据定义语句;2掌握数据更新语句;3掌握视图的使用。实验环境操作系统:WindowsDBMS:SQL Server 2005实验内容商品(商品号 字符(3),商品名 字符(20),单价 浮点型,商品类别字符(5),供应商 字符(20);顾客(顾客号 字符(3),姓名 字符(10),住址 字符(20);购买(顾客号 字符(3),商品号 字符(3),购买数量 整型);用SQL语句实现如下题目:1创建上述3
8、个表。2往表中插入数据:商品:M01,佳洁士,8.00,牙膏,宝洁;M02,高露洁,6.50,牙膏,高露洁;顾客:C01,Dennis,海淀;C02,John,朝阳;购买:C01,M01,13;C01,M05,12;3将所有的“牙刷”商品单价增加30%。4将“宝洁”供应商改为“P&G”。5删除所有卖出总数量少于20个的商品信息,不包括从没有卖出的商品。6删除没有购买记录的商品。7创建顾客号,商品号,商品名称,单价,购买数量的视图。调试过程及实验结果(详细记录在调试过程中出现的问题及解决方法。记录实验执行的结果)总结(对实验结果进行分析,问题回答,实验心得体会及改进意见)附录(源程序清单)课程实
9、验报告课程名称数据库系统概论班级124实验日期2014.4.29姓名董龙钱学号201207295实验成绩实验名称实验3:数据库的完整性和安全性实验目的及要求1掌握实体完整性规则的定义方法;2掌握参照完整性规则的定义方法;3掌握用户定义完整性的定义方法;4掌握数据库安全性控制。实验环境操作系统:WindowsDBMS:SQL Server 2005实验内容有三个关系模式:Student(sno varchar(10) 主键,sname varchar(8), ssex varchar(2) 默认为男, sage int 介于20到50之间, sdept varchar(20);Course(cn
10、o varchar(5) 主键, cname varchar(20) 唯一, cpno varchar(5), credit int);SC(sno varchar(10) 主键,Student表的外键, cno varchar(5) 主键,Course表的外键, grade int)。数据库的完整性(1) 利用查询分析器创建上述3个基本表。(2) 删除student表的关于sage 20到50的约束数据库的安全性:用GRANT和REVOKE语句完成以下授权定义或存取控制功能:(3) 用户王明对Student表和Course表有SELECT权力;(4) 用户李勇对Student表和Course
11、表有INSERT和DELETE权力;(5) 用户刘星对Student表有SELECT权力,对Student表的sage字段有更新权力;(6) 用户张新具有创建表的权力;(7) 用户周平具有对Student表和Course表所有权力,并具有给其他用户授权的权力;(8) 回收李勇、张新的权限Student表:Course表:SC表:调试过程及实验结果总结1:更加了解了数据库的完整性和安全性;2:提高了动手操作解决问题的能力;3:对sql使用更加熟练;附录(1):create table Student(sno varchar(10) primary key,sname varchar(8),sse
12、x varchar(2) default(男),sdept varchar(20), sage int constraint C1 check (sage=20 and sage=50);create table Course(cno varchar(5) primary key,cname varchar(20) unique, cpno varchar(5), credit int);create table SC(sno varchar(10),cno varchar(5),primary key(sno,cno),foreign key (sno) references Student
13、 (sno),foreign key (cno) references Course (cno),grade int);(2):alter table Student drop constraint C1;(3):Grant selecton Student to 王明;Grant selecton Courseto 王明;(4):Grant INSERT,DELETEon Student to 李勇;Grant INSERT,DELETEon Courseto 李勇;(5):Grant SELECTon Student to 刘星;Grant updateon Course(sage)to
14、刘星;(6):Grant Createto 张新;(7):Grant all privilegeson Studentto 周平;Grant all privilegeson Courseto 周平; (8):Revoke INSERT,DELETEon Student from 李勇;Grant INSERT,DELETEon Coursefrom 李勇;课程实验报告课程名称数据库系统概论班级实验日期姓名学号实验成绩实验名称实验4:编写存储过程访问数据库实验目的及要求1熟悉使用存储过程来进行数据库应用程序的设计。实验环境操作系统:WindowsDBMS:SQL Server 2005实验内容
15、创建关系模式SCSC(sno varchar(10) 主键,Student表的外键, cno varchar(5) 主键,Course表的外键, score int,newscore varchar(1)一开始SC表中的前3列是有数据的,newgrade列全部是空的1编写存储过程将学生选课成绩(百分制)转换成等级制(即5、4、3、2、0),要求使用游标完成其中,5:90100 4:8089 3:7070 2:6069 0:0592执行该存储过程,使得newgrade列中为各等级。调试过程及实验结果(详细记录在调试过程中出现的问题及解决方法。记录实验执行的结果)总结(对实验结果进行分析,问题回答,实验心得体会及改进意见)附录(源程序清单)