您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > 2016数据库实验完整版
实验报告(2016/2017学年第一学期)课程名称数据库系统与设计实验名称数据库系统程序设计与分析实验时间2016年12月15/22日指导单位计算机学院、软件学院指导教师毛燕琴学生姓名班级学号B140205学院(系)电子科学与工程学院专业电磁场与无线技术1实验报告实验名称数据库系统程序设计与分析指导教师毛燕琴实验类型上机实验学时8实验时间12.156-9节12.226-9节一、实验目的和要求(1)掌握数据库系统创建和数据添加的程序设计方法(2)掌握采用SQL编程语言实现关系数据库查询的程序设计方法要求独立完成实验方案的设计、数据库的构建、数据录入、SQL程序的编制、调试和运行;要求独立完成实验报告的编写。二、实验环境(实验设备)硬件:微机软件:SQLServer或者MySQL三、实验原理及内容实验1、利用教材习题2.3.1给出的关系模式和习题2.4.1给出的数据,建立包括Product、PC、Laptop、Printer四个关系模式的关系数据库,并且录入四个关系的样例数据。实验2、按照教材习题6.2.2要求,利用实验1已经建立的关系数据库,编写并执行查询语句,得出查询结果。实验3、按照教材习题6.3.1要求,使用子查询编写查询语句,对在实验1中建立的关系数据库进行查询,并且记录查询结果。实验4、按照教材习题6.4.6要求,编写查询语句,对在实验1中建立的关系数据库进行查询,并且记录查询结果。参考教材《数据库系统基础教程(第三版)》中译本,JefferyD.Ullman,JenniferWidon著,岳丽华,金培权,万寿红等译.北京:机械工业出版社,2011.2实验报告四、实验方案、过程和结果(包括SQL语句或执行过程的截图以及执行结果的截图)软件版本:SQLServer2016MicrosoftSQLServerManagementStudio(SSMS)软件界面:3实验1、利用教材习题2.3.1给出的关系模式和习题2.4.1给出的数据,建立包括Product、PC、Laptop、Printer四个关系模式的关系数据库,并且录入四个关系的样例数据。表总览:PC数据类型:4Laptop数据类型:Printer数据类型:Product数据类型:关系PC数据:5关系Laptop数据:关系Printer数据:关系Product数据:6实验2、按照教材习题6.2.2要求,利用实验1已经建立的关系数据库,编写并执行查询语句,得出查询结果。习题6.2.2Product(maker,model,type)PC(model,speed,ram,hd,price)Laptop(model,speed,ram,hd,screen,price)Printer(model,color,type,price)查询步骤:然后a)查询硬盘容量至少30G的笔记本电脑制造商及该电脑的速度。查询语句:7selectmaker,speedfromProduct,Laptopwherehd30ANDLaptop.model=Product.model查询结果:b)查询制造商B生产的任意类型的所有产品的型号和价格。查询语句:selectProduct.model,pricefromProduct,PCwhereProduct.model=PC.modelANDmaker='B'unionselectProduct.model,pricefromProduct,LaptopwhereProduct.model=Laptop.modelANDmaker='B'unionselectProduct.model,pricefromProduct,PrinterwhereProduct.model=Printer.modelANDmaker='B'查询结果:8c)查询卖笔记本电脑不卖PC的厂商。查询语句:selectmakerfromproductwheretype='laptop'exceptselectmakerfromproductwheretype='pc'查询结果:d)查询出现在两种或两种以上PC中硬盘的大小。查询语句:selectdistinctpc1.hdfromPCpc1,PCpc2wherepc1.modelpc2.modelandpc1.hd=pc2.hd9查询结果:e)查询每对具有相同速度和RAM容量的PC型号。每一对只能列出一次,例如若(i,j)已被列出,则(j,i)就不能再被列出。查询语句:selectpc1.model,pc1.speed,pc1.ram,pc2.ram,pc2.speed,pc2.modelfrompcaspc1,pcaspc2wherepc1.speed=pc2.speedandpc1.ram=pc2.ramandpc1.modelpc2.model查询结果:f)查询生产至少两种速度至少3.0的电脑(PC或笔记本电脑)的厂商。查询语句:selectM.maker10from(selectmaker,R.modelfromPCP,ProductRwhereSpeed=3.0andP.model=R.modelunionselectmaker,R.modelfromlaptopL,ProductRwherespeed=3.0andL.model=R.model)MGroupBYM.makerhavingcount(M.model)=211查询结果:实验3、按照教材习题6.3.1要求,使用子查询编写查询语句,对在实验1中建立的关系数据库进行查询,并且记录查询结果。基于习题2.4.1的数据库模式写出后面的查询。Product(maker,model,type)PC(model,speed,ram,hd,price)Laptop(model,speed,ram,hd,screen,price)Printer(model,color,type,price)每题的答案应当至少使用一个子查询,并且要求使用两种不同的方法写出每个子查询。a)找出速度在3.0以上的PC制造商。查询语句:语句1:selectdistinctmakerfromproductwheremodelin(12selectmodelfrompcwherespeed3.0)语句2:.selectdistinctmakerfromproductwhereexists(select*frompcwherespeed3.0andmodel=product.model)查询结果:13b)找出价格最高的打印机。查询语句:语句1:selectP1.modelfromPrinterP1whereP1.price=ALL(selectP2.pricefromPrinterP2);语句2:selectP1.modelfromPrinterP1whereP1.priceIN(selectMAX(P2.price)14fromPrinterP2);查询结果:c)找出速度比任何一台PC都慢的笔记本电脑。查询语句:语句1:selectL.modelfromLaptopLwhereL.speedAny(selectP.speed15fromPCP);语句2:selectL.modelfromLaptopLwhereexists(selectP.speedfromPCPwhereP.speed=L.speed);查询结果:16d)找出价格最高的产品的型号查询语句:语句1:selectmodelfrom(selectmodel,pricefrompcunionselectmodel,pricefromlaptopunionselectmodel,pricefromprinter)M1whereM1.price=all(selectpricefrompcunionselectpricefromlaptopunionselectpricefromprinter);语句2:selectmodel17from(selectmodel,pricefromPCunionselectmodel,pricefromlaptopunionselectmodel,pricefromprinter)M1whereM1.priceIN(selectMAX(price)from(selectpricefromPCunionselectpricefromlaptopunionselectpricefromPrinter)M2);查询结果:18e)找出价格最低的彩色打印机的制造商。查询语句:语句1:selectR.makerfromproductR,printerTwhereR.model=T.modelandT.price=all(selectmin(price)fromprinter);语句2:selectR.makerfromproductR,printerT1whereR.model=T1.modelandT1.priceIN(selectmin(T2.price)19fromPrinterT2);查询结果:f)找出在PC中具有最快速度同时且RAM容量最小的制造商。查询语句:语句1:selectR1.makerfromproductR1,PCP1whereR1.model=P1.modelandP1.ramIN20(selectMIN(ram)fromPC)andP1.speed=all(selectP1.speedfromProductR1,PCP1whereR1.model=P1.modelandP1.ramIN(selectMIN(ram)fromPC));语句2:selectR1.makerfromProductR1,PCP1WHERER1.model=P1.modelandP1.ram=(selectMIN(ram)fromPC)andP1.speedIN(selectMAX(P1.speed)fromProductR1,PCP1whereR1.model=P1.model21andP1.ramIN(selectMIN(ram)fromPC));查询结果:22实验4、按照教材习题6.4.6要求,编写查询语句,对在实验1中建立的关系数据库进行查询,并且记录查询结果。a)查询PC的平均速度。查询语句:selectavg(speed)as平均速度frompc;查询结果:b)查询价格在$1000以上笔记本电脑的平均速度。查询语句:selectavg(speed)as平均速度fromlaptopwhereprice100023查询结果:c)查询厂商“A”生产PC的平均价格。查询语句:selectavg(price)as平均价格fromproduct,pcwhereproduct.model=pc.modelandmaker='A'查询结果:d)查询厂商“D”生产的PC和笔记本电脑的平均价格。查询语句:selectavg(price)as平均价格24from((selectpricefromproduct,pcwhereproduct.model=pc.modelandmaker='D')union(selectpricefromproduct,laptopwhereproduct.model=laptop.modelandmaker='D'))assprice查询结果:e)查询不同速度PC的平均价格。查询语句:selectspeed,avg(price)as平均价格frompcgroupbyspeed查询结果:25f)查询各个厂商生产笔记本电脑的平均屏幕尺寸。查询语句:selectmaker,avg(screen)asavgscreenfromproduct,laptopwhereproduct.model=laptop.modelgroupbymaker查询结果:g)查询至少生产3种不同型号PC的制造商。查询语句:26selectmaker,count(pc.model)as型
本文标题:2016数据库实验完整版
链接地址:https://www.777doc.com/doc-5644142 .html