您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 数据库原理实验报告二
1LIAOCHENGUNIVERSITY计算机学院实验报告【2015~2016学年第2学期】【一、基本信息】【实验课程】数据库原理与应用【设课形式】独立□非独立【课程学分】0.5【实验项目】实验二、SQL数据操作及查询【项目类型】基础综合□设计□研究创新□其它[]【项目学时】4【学生姓名】傅雪晨【学号】2014204359【系别专业】电子商务【实验班组】2014.06【同组学生】【实验室名】综合实验楼【实验日期】【报告日期】【二、实验教师对报告的最终评价及处理意见】实验成绩:(涂改无效)指导教师签名:年月日注:要将实验项目、实验课程的成绩评定及课程考核办法明确告知学生,并报实验管理中心备案2【三、实验预习】实验条件(实验设备、软件、材料等):实验2SQL数据操作及查询实验目的:1.向实验1建立的表中添加数据(元组),掌握INSERT语句的用法;2.修改基本表中的数据,掌握UPDATE语句的用法;3.删除基本表中的数据,掌握DELETE语句的用法;4.体会数据完整性约束的作用,加深对数据完整性及其约束的理解。5.熟练掌握SELECT语句,能够运用该语句完成各种查询。实验内容:1.使用INSERT语句将教材P82表中的数据添加到数据库STUDENTDB中.2.Insertintostudent59select'201215121','李勇','男','20','CS','',''unionselect'201215122','刘晨','女','19','CS','',''unionselect'201215123','王敏','女','18','MA','',''unionselect'201215125','张立','男','19','IS','',''select*fromstudent59select*fromcourse59select*fromsc59altertablecourse59NOCHECKConstraintfk_cpnoInsertintocourse59select'1','数据库','5','4'unionselect'2','数学','','2'unionselect'3','信息系统','1','4'unionselect'4','操作系统','6','3'unionselect'5','数据结构','7','4'unionselect'6','数据处理','','2'unionselect'7','PASCAL语言','6','4'altertablecourse59CHECKConstraintFK_course59_course59Insertintosc59select'201215121','1',92unionselect'201215121','2',85unionselect'201215121','3',88unionselect'201215122','2',90unionselect'201215122','3',80altertablesc59CHECKConstraintfk_S_caltertablesc59NOCHECKConstraintfk_S_c33.将教材P70表中的数据添加到数据库SPJDB中.体会执行插入操作时检查实体完整性规则、参照完整性规则和用户定义完整性规则的效果.InsertintoS59select's1','精益','20','天津'unionselect's2','盛锡','10','北京'unionselect's3','东方红','30','北京'unionselect's4','丰泰盛','20','天津'unionselect's5','为民','30','上海'InsertintoP59select'p1','螺母','红',12unionselect'p2','螺栓','绿',17unionselect'p3','螺丝刀','蓝',14unionselect'p4','螺丝刀','红',14unionselect'p5','凸轮','蓝',40unionselect'p6','齿轮','红',30InsertintoJ59select'J1','三建','北京'unionselect'J2','一汽','长春'unionselect'J3','弹簧厂','天津'unionselect'J4','造船厂','天津'unionselect'J5','机车厂','唐山'unionselect'J6','无线电厂','常州'unionselect'J7','半导体厂','南京'InsertintoSPJ594select'S1','P1','J1','200'unionselect'S1','P1','J3','100'unionselect'S1','P1','J4','700'unionselect'S1','P2','J2','100'unionselect'S2','P3','J1','400'unionselect'S2','P3','J2','200'unionselect'S2','P3','J4','500'unionselect'S2','P3','J5','400'unionselect'S2','P5','J1','400'unionselect'S2','P5','J2','100'unionselect'S3','P1','J1','200'unionselect'S3','P3','J1','200'unionselect'S4','P5','J1','100'unionselect'S4','P6','J3','300'unionselect'S4','P6','J4','200'unionselect'S5','P2','J4','100'unionselect'S5','P3','J1','200'unionselect'S5','P6','J2','200'unionselect'S5','P6','J4','500'select*fromS59select*fromP59select*fromJ59select*fromSPJ594.删除student表中学号为201215121的学生,体会执行删除操作时检查参照完整性规则的效果.将5参照完整性中的删除规则改为“级联(层叠)”(CASCADE),重新删除该学生信息。deletefromstudent59wheresno='201215121'altertablesc59dropConstraintfk_S_caltertablesc59addConstraintFK_SC_sno_cascadeforeignkey(sno)referencesstudent59(sno)ondeletecascadeonupdatecascade5.更新student表中201215122学生的新学号为201215128,体会执行更新操作时检查参照完整性规则的效果.将参照完整性中的更新规则改为“级联”,重新更新该学生信息。updatestudent59setsno=201215128wheresname='刘晨'select*fromstudent5966.设计一组更新操作,它需要另外一个表中的数据作为更新条件(如将选修了“信息系统”课程的成绩均提高15%)。7updatesc59setgrade=grade*1.15fromcourse59wheresc59.cno=course59.cnoandcname='信息系统'select*fromsc597.设计一个删除操作,它需要另外一个表中的数据作为删除条件(如将“刘晨”的选课记录删除)。select*fromsc59select*fromstudent59deletefromsc59fromstudent59wheresc59.sno=student59.snoandsname='刘晨'7.完成P128习题4和习题5中(1)~(7)的查询。(1)找出所有供应商的姓名和所在城市selectsname,cityfromS598(2)找出所有零件的名称、颜色、和重量selectpname,color,weightfromP599(3)找出使用供应商S1所供应零件的工程号码selectjnofromSPJ_392wheresno='S1'(4)找出工程项目J2使用的各种零件的名称及其数量selectpnam,weightfromP59,SPJ59whereP59.pno=SPJ59.pnoandjno='J10(5)找出上海厂商供应的所有零件号码selectdistinctpnofromSPJ59,S59whereS59.sno=SPJ59.snoandcity='上海'11(6)找出使用上海产的零件的工程名称selectdistinctJNamefromSPJ59,S59,J59whereS59.sno=SPJ59.snoandJ59.jno=SPJ59.jno(7)找出没有使用天津产的零件的工程号码selectjnofromJ59wherejnonotin(selectjnofromSPJ59,S59whereSPJ59.sno=S59.snoandcity='天津')128.完成以下查询:(1)查询所有课程都及格的学生信息。select*fromstudent59wheresnonotin(selectsnofromsc59wheregrade60)13(2)统计每一门课程的最高分、最低分和平均分。selectcno,MAX(grade)High,MIN(grade)Low,AVG(grade)avgfromsc59groupbycno14(3)从course表中查询课程名中包含“数据”二字的课程的信息。sselect*fromcourse59wherecnamelike'%数据%'15(4)统计所有学生3号课程的平均成绩,要求某个学生3号课程成绩为NULL,如不存在空值,请先插入。select*fromstudent59insertintosc59(sno,cno)values('201215125','3')select*fromsc59selectAVG(grade)fromsc59wherecno='3'(5)查询每个学生及其选修课情况,显示学生姓名、课程名称和成绩,要求使用外连接输出所有学生和所有课程的信息。(6)查询所有学生中平均成绩最高的那个学生的学号。selectsnofromsc59wheregrade(selectavg(grade)fromsc59)16(7)查询只选修了2号课程的学生的信息,可以使用集合查询。SELECTSnoFROMsc59WHERECno='2'17(8)查询所有计算机系学生的学号、选修课程号以及分数。(使用IN谓词)。selectsno,cno,gradefromsc59wheresnoin(selectsnofromstudent59wheresdept='cs')18(9)查询选修了课程名为“操作系统”的学生学号和姓名。selectstudent59.sno,snamefromstudent59wheresnoin(selectsnofromsc59wherecnoin(selectcnofromcourse59wherecname='信息系统'))19(10)查询所有计算机系学生的学号、选修课程号以及分数(使用EXISTS谓词)。selectsno,cno,gradefromsc59whereexists(selectsnofromstudent59wheresdept='cs')2021实验设计方案(实验方法、步骤、操作过程、设计型实验、实验数据记录表格):实验预习成绩(涂改无效)合格□不合格□22【四、实验过程、数据和实验结果记录】①实验方法、步骤、操作过程的记录描述或程序代码。②实验过程中输入/输出数据、程序运行结果的记录。(可加附页)
本文标题:数据库原理实验报告二
链接地址:https://www.777doc.com/doc-4922781 .html