数据库原理实验报告二.docx
- 文档编号:6407212
- 上传时间:2023-01-06
- 格式:DOCX
- 页数:26
- 大小:2.70MB
数据库原理实验报告二.docx
《数据库原理实验报告二.docx》由会员分享,可在线阅读,更多相关《数据库原理实验报告二.docx(26页珍藏版)》请在冰豆网上搜索。
数据库原理实验报告二
LIAOCHENGUNIVERSITY
计算机学院实验报告
【2015~2016学年第2学期】
【一、基本信息】
【实验课程】
数据库原理与应用
【设课形式】
独立□非独立
【课程学分】
0.5
【实验项目】
实验二、SQL数据操作及查询
【项目类型】
基础综合□设计□研究创新□其它[]
【项目学时】
4
【学生姓名】
傅雪晨
【学号】
2014204359
【系别专业】
电子商务
【实验班组】
2014.06
【同组学生】
【实验室名】
综合实验楼
【实验日期】
【报告日期】
【二、实验教师对报告的最终评价及处理意见】
实验成绩:
(涂改无效)
指导教师签名:
年月日
注:
要将实验项目、实验课程的成绩评定及课程考核办法明确告知学生,并报实验管理中心备案
【三、实验预习】
实验条件(实验设备、软件、材料等):
实验2SQL数据操作及查询
实验目的:
1.向实验1建立的表中添加数据(元组),掌握INSERT语句的用法;
2.修改基本表中的数据,掌握UPDATE语句的用法;
3.删除基本表中的数据,掌握DELETE语句的用法;
4.体会数据完整性约束的作用,加深对数据完整性及其约束的理解。
5.熟练掌握SELECT语句,能够运用该语句完成各种查询。
实验内容:
1.使用INSERT语句将教材P82表中的数据添加到数据库STUDENTDB中.
2.
Insertintostudent59
select'201215121','李勇','男','20','CS','',''union
select'201215122','刘晨','女','19','CS','',''union
select'201215123','王敏','女','18','MA','',''union
select'201215125','张立','男','19','IS','',''
select*fromstudent59
select*fromcourse59
select*fromsc59
altertablecourse59NOCHECKConstraintfk_cpno
Insertintocourse59
select'1','数据库','5','4'union
select'2','数学','','2'union
select'3','信息系统','1','4'union
select'4','操作系统','6','3'union
select'5','数据结构','7','4'union
select'6','数据处理','','2'union
select'7','PASCAL语言','6','4'
altertablecourse59CHECKConstraintFK_course59_course59
Insertintosc59
select'201215121','1',92union
select'201215121','2',85union
select'201215121','3',88union
select'201215122','2',90union
select'201215122','3',80
altertablesc59CHECKConstraintfk_S_c
altertablesc59NOCHECKConstraintfk_S_c
3.将教材P70表中的数据添加到数据库SPJDB中.体会执行插入操作时检查实体完整性规则、参照完整性规则和用户定义完整性规则的效果.
InsertintoS59
select's1','精益','20','天津'union
select's2','盛锡','10','北京'union
select's3','东方红','30','北京'union
select's4','丰泰盛','20','天津'union
select's5','为民','30','上海'
InsertintoP59
select'p1','螺母','红',12union
select'p2','螺栓','绿',17union
select'p3','螺丝刀','蓝',14union
select'p4','螺丝刀','红',14union
select'p5','凸轮','蓝',40union
select'p6','齿轮','红',30
InsertintoJ59
select'J1','三建','北京'union
select'J2','一汽','长春'union
select'J3','弹簧厂','天津'union
select'J4','造船厂','天津'union
select'J5','机车厂','唐山'union
select'J6','无线电厂','常州'union
select'J7','半导体厂','南京'
InsertintoSPJ59
select'S1','P1','J1','200'union
select'S1','P1','J3','100'union
select'S1','P1','J4','700'union
select'S1','P2','J2','100'union
select'S2','P3','J1','400'union
select'S2','P3','J2','200'union
select'S2','P3','J4','500'union
select'S2','P3','J5','400'union
select'S2','P5','J1','400'union
select'S2','P5','J2','100'union
select'S3','P1','J1','200'union
select'S3','P3','J1','200'union
select'S4','P5','J1','100'union
select'S4','P6','J3','300'union
select'S4','P6','J4','200'union
select'S5','P2','J4','100'union
select'S5','P3','J1','200'union
select'S5','P6','J2','200'union
select'S5','P6','J4','500'
select*fromS59
select*fromP59
select*fromJ59
select*fromSPJ59
4.删除student表中学号为201215121的学生,体会执行删除操作时检查参照完整性规则的效果.将参照完整性中的删除规则改为“级联(层叠)”(CASCADE),重新删除该学生信息。
deletefromstudent59wheresno='201215121'
altertablesc59dropConstraintfk_S_c
altertablesc59addConstraintFK_SC_sno_cascade
foreignkey(sno)referencesstudent59(sno)
ondeletecascadeonupdatecascade
5.更新student表中201215122学生的新学号为201215128,体会执行更新操作时检查参照完整性规则的效果.将参照完整性中的更新规则改为“级联”,重新更新该学生信息。
updatestudent59
setsno=201215128
wheresname='刘晨'
select*fromstudent59
6.设计一组更新操作,它需要另外一个表中的数据作为更新条件(如将选修了“信息系统”课程的成绩均提高15%)。
updatesc59
setgrade=grade*1.15
fromcourse59whereo=oandcname='信息系统'
select*fromsc59
7.设计一个删除操作,它需要另外一个表中的数据作为删除条件(如将“刘晨”的选课记录删除)。
select*fromsc59
select*fromstudent59
deletefromsc59
fromstudent59wheresc59.sno=student59.snoandsname='刘晨'
7.完成P128习题4和习题5中
(1)~(7)的查询。
(1)找出所有供应商的姓名和所在城市
selectsname,cityfromS59
(2)找出所有零件的名称、颜色、和重量
selectpname,color,weightfromP59
(3)找出使用供应商S1所供应零件的工程号码
selectjnofromSPJ_392wheresno='S1'
(4)找出工程项目J2使用的各种零件的名称及其数量
selectpnam,weightfromP59,SPJ59whereP59.pno=SPJ59.pnoandjno='J
(5)找出上海厂商供应的所有零件号码
selectdistinctpnofromSPJ59,S59whereS59.sno=SPJ59.snoandcity='上海'
(6)找出使用上海产的零件的工程名称
selectdistinctJNamefromSPJ59,S59,J59whereS59.sno=SPJ59.snoandJ59.jno=SPJ59.jno
(7)找出没有使用天津产的零件的工程号码
selectjnofromJ59wherejnonotin(selectjnofromSPJ59,S59whereSPJ59.sno=S59.snoandcity='天津')
8.完成以下查询:
(1)查询所有课程都及格的学生信息。
select*fromstudent59wheresnonotin(selectsnofromsc59wheregrade<60)
(2)统计每一门课程的最高分、最低分和平均分。
selectcno,MAX(grade)High,MIN(grade)Low,AVG(grade)avg
fromsc59
groupbycno
(3)从course表中查询课程名中包含“数据”二字的课程的信息。
sselect*fromcourse59wherecnamelike'%数据%'
(4)统计所有学生3号课程的平均成绩,要求某个学生3号课程成绩为NULL,如不存在空值,请先插入。
select*fromstudent59
insertintosc59(sno,cno)values('201215125','3')
select*fromsc59
selectAVG(grade)fromsc59wherecno='3'
(5)查询每个学生及其选修课情况,显示学生姓名、课程名称和成绩,要求使用外连接输出所有学生和所有课程的信息。
(6)查询所有学生中平均成绩最高的那个学生的学号。
selectsnofromsc59
where
grade>
(selectavg(grade)fromsc59)
(7)查询只选修了2号课程的学生的信息,可以使用集合查询。
SELECTSno
FROMsc59
WHERECno='2'
(8)查询所有计算机系学生的学号、选修课程号以及分数。
(使用IN谓词)。
selectsno,cno,grade
fromsc59
wheresnoin(selectsno
fromstudent59
wheresdept='cs')
(9)查询选修了课程名为“操作系统”的学生学号和姓名。
selectstudent59.sno,sname
fromstudent59
wheresnoin(
selectsnofromsc59wherecnoin(
selectcnofromcourse59wherecname='信息系统'))
(10)查询所有计算机系学生的学号、选修课程号以及分数(使用EXISTS谓词)。
selectsno,cno,grade
fromsc59
whereexists(selectsno
fromstudent59
wheresdept='cs')
实验设计方案(实验方法、步骤、操作过程、设计型实验、实验数据记录表格):
实验预习成绩(涂改无效)
合格□
不合格□
【四、实验过程、数据和实验结果记录】
实验方法、步骤、操作过程的记录描述或程序代码。
实验过程中输入/输出数据、程序运行结果的记录。
(可加附页)
记录成绩(涂改无效)
合格□
不合格□
【五、实验结果分析】
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 原理 实验 报告