您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > 数据库第一章实验报告
1《数据库原理及应用》实验报告题目:实验四、五、六SQL语言(视图、数据控制、空值处理)学号:132935姓名:么红帅专业班级:软件131指导教师:张满囤完成日期:2015年11月9日2实验1.1数据定义一、实验目的熟悉SQL的数据定义语言,能够熟练地使用SQL语句来创建和更改基本表,创建和取消索引。二、实验内容(1)创建数据库表CUSTOMERS(CID,CNAME,CITY,DISCNT)、数据库表AGENTS(AID,ANAME,CITY,PERCENT)、数据库表PRODUCTS(PID,PNAME)。其中CID、AID、PID分表是各表的主键,具有唯一性约束。(2)创建数据库表ORDERS(ORDNA,MONTH,CID,AID,PID,QTY,DOLLARS)。其中ORDNA分表是主键,具有唯一性约束。CID、AID、PID分别是外键引用自表CUSTOMERS、表AGENTS,表PRODUCTS。(3)增加数据库表PRODUCTS三个属性列:CITY、QUANTITY、PRICE。(4)为以上四个表建立各自的按主键增序排列的序列。(5)取消(4)建立的四个索引。三、实验结果(1)CREATETABLECUSTOMERS(CIDCHAR(8)UNIQUE,CNAMECHAR(20),CITYCHAR(20),DISCNTINT,PRIMARYKEY(CID))CREATETABLEAGENTS(AIDCHAR(8)UNIQUE,ANAMECHAR(20),CITYCHAR(20),[PERCENT]FLOAT,PRIMARYKEY(AID))CREATETABLEPRODUCTS(PIDCHAR(8)UNIQUE,PANMECHAR(20),PRIMARYKEY(PID))(2)CREATETABLEORDERS(ORDNACHAR(8)UNIQUE,MONTHINT,CIDCHAR(8)UNIQUE,AIDCHAR(8)UNIQUE,PIDCHAR(8)UNIQUE,QTYINT,DOLLARSFLOAT,PRIMARYKEY(ORDNA),FOREIGNKEY(CID)REFERENCESCUSTOMERS,FOREIGNKEY(AID)REFERENCESAGENTS,FOREIGNKEY(PID)REFERENCESPRODUCTS)(3)ALTERTABLEPRODUCTSADDCITYCHAR(20)ALTERTABLEPRODUCTSADDQUANTITYINT3ALTERTABLEPRODUCTSADDPRICEFLOAT(4)CREATEINDEXXSNOONCUSTOMERS(CID)CREATEINDEXXSNOONAGENTS(AID)CREATEINDEXXSNOONPRODUCTS(PID)CREATEINDEXXSNOONORDERS(ORDNA)(5)DROPINDEXCUSTOMERS.XSNODROPINDEXAGENTS.XSNODROPINDEXPRODUCTS.XSNODROPINDEXORDERS.XSNO4实验1.2数据查询一、实验目的熟悉SQL语句的数据查询语言,能够使用SQL语句对数据库进行单表查询、连接查询、嵌套查询、集合查询和统计查询。二、实验内容(1)查询全部课程的详细记录。(2)查询所有有选课的学生的编号。(3)查询课时80(小时)的课程的编号。(4)请找出总分超过400分的编号(5)查询课程的总数。(6)查询所有课程和选修该课程的学生总数。(7)查询选修成绩合格的课程超过两门的学生的编号。(8)统计各个学生的选修课程数目和平均成绩。(9)查询选修java的所有学生的编号及姓名。(10)分别使用等值连接和谓词IN两种方式查询姓名为sssht的学生所选的课程的编号和成绩。(11)查询课时比c++多的课程的名称。(12)查询选修c++课程的成绩比姓名为znkoo学生高的所有学生的编号和姓名。(13)找出和学生883794999或学生850955252的年级一样的学生的姓名。(14)查询没有选修java的学生的名称。(15)查询课时最少的课程的详细信息。(16)查询工资最高的教师的编号和开设的课号。(17)找出选修课程ERP成绩最高的学生编号。(18)查询没有学生选的课程的名称。(19)找出讲授课程UML的教师讲授的所有课程名称。(20查询选修了编号200102901的教师开设所有课程的学生编号。(21)查询选修课程database的学生集合与选修UML的学生集合的并集。(22)实现集合交运算,查询级选修课程database又选修UML的学生的编号。5(23)实现集合减运算,查询级选修课程database而又没有选修UML的学生的编号。三、实验结果(1)SELECT*FROMCOURSES;(2)SELECTsidFROMCHOICES;(3)SELECTcidFROMCOURSESWHEREhour88;(4)SELECTsidFROMCHOICESGROUPBYsidHAVINGSUM(score)400;(5)SELECTCOUNT(cid)FROMCOURSES;(6)SELECTcid,COUNT(sid)FROMCHOICESGROUPBYcid;(7)SELECTsidFROMCHOICESWHEREscore60GROUPBYsidHAVINGCOUNT(cid)2;(8)SELECTsid,COUNT(cid),AVG(score)FROMCHOICESGROUPBYsid;(9)SELECTsid,snameFROMSTUDENTSWHEREsidIN(SELECTsidFROMCHOICESWHEREcid=(SELECTcidFROMCOURSESWHEREcname='Java'));(10)等值连接:SELECTcid,scoreFROMSTUDENTS,CHOICESWHERESTUDENTS.sid=CHOICES.sidANDsname='sssht';谓词IN:SELECTcid,scoreFROMCHOICESWHEREsidIN(SELECTsidFROMSTUDENTSWHEREsname='sssht');(11)SELECTcnameFROMCOURSESWHEREhour(SELECThourFROMCOURSESWHEREcname='C++');(12)SELECTsid,snameFROMSTUDENTSWHEREsidIN(SELECTC1.sidFROMCHOICESC1,CHOICESC2WHEREC1.scoreC2.scoreANDC1.cid=C2.cidANDC1.cid=(SELECTcidFROMCOURSESWHEREcname='c++')ANDC2.sid=(SELECTsidFROMSTUDENTSWHEREsname='znkoo'));(13)SELECTsnameFROMSTUDENTSWHEREgradeIN(SELECTgradeFROMSTUDENTSWHEREsid='883794999'OR6sid='850955252');(14)SELECTsnameFROMSTUDENTSWHEREsidNOTIN(SELECTsidFROMCHOICESWHEREcid=(SELECTcidFROMCOURSESWHEREcname='Java'));(15)SELECT*FROMCOURSESWHEREhour=(SELECTMIN(hour)FROMCOURSES);(16)SELECTtid,cidFROMCHOICESWHEREtidIN(SELECTtidFROMTEACHERSWHEREsalary=(SELECTMAX(salary)FROMTEACHERS));(17)SELECTsidFROMCHOICESWHEREscore=(SELECTMAX(score)FROMCHOICESWHEREcid=(SELECTcidFROMCOURSESWHEREcname='ERP'))ANDcid=(SELECTcidFROMCOURSESWHEREcname='ERP');(18)SELECTcnameFROMCOURSESWHEREcidNOTIN(SELECTcidFROMCHOICES);(19)SELECTcnameFROMCOURSESWHEREcidIN(SELECTcidFROMCHOICESWHEREtidIN(SELECTtidFROMCHOICESWHEREcid=(SELECTcidFROMCOURSESWHEREcname='UML')));(20)SELECTsidFROMCHOICESWHEREcidIN(SELECTcidFROMCHOICESWHEREtid='200102901')GROUPBYsidHAVINGCOUNT(*)=(SELECTCOUNT(DISTINCTcid)FROMCHOICESWHEREtid='200102901');(21)SELECTsidFROMCHOICESWHEREcid=(SELECTcidFROMCOURSESWHEREcname='Database')UNIONSELECTsidFROMCHOICESWHEREcid=(SELECTcidFROMCOURSESWHEREcname='UML');(22)SELECTC1.sidFROMCHOICESC1,CHOICESC2WHEREC1.cid=(SELECTcidFROMCOURSESWHEREcname='Database')7ANDC2.cid=(SELECTcidFROMCOURSESWHEREcname='UML')ANDC1.sid=C2.sid;(23)SELECTC1.sidFROMCHOICESC1,CHOICESC2WHEREC1.cid=(SELECTcidFROMCOURSESWHEREcname='Database')ANDC1.sid=C2.sidANDC2.cid(SELECTcidFROMCOURSESWHEREcname='UML');8实验1.3数据更新一、实验目的熟悉数据库的数据更新操作,能够使用SQL语句对数据库进行数据的插入、更新、删除操作二、实验内容(1)向STUDENTS表插入编号是800022222且姓名是WangLan的元组。(2)向TEACHERS表插入元组(200001000,LXL,s4zrck@pew.net,3024)(3)将TEACHERS表中编号为200010493的老师工资改为4000。(4)将TEACHERS表中所有工资小于2500的老师工资改为2500。(5)将有编号200016731老师讲授的课程全部改成姓名rnupx的老师讲授。(6)更新编号800071780的学生年纪为2001。(7)删除没有学生选修的课程。(8)删除年级高于1998的学生信息。(9)删除没有选修课程的学生信息。(10)删除成绩不及格的选课记录。三、实验结果(1)INSERTINTOSTUDENTS(sid,sname)VALUES('800022222','WangLan');(2)INSERTINTOTEACHERSVALUES('200001000','LXL','s4zrck@pew.net',3024);(3)UPDATETEACHERSSETsalary=4000WHEREtid='200010493';(4)UPDATETEACHERSSETsalary=2500WHEREsalary2500;(5)UPDATECHOICESSETtid=(SELECTtidFROMTEACHERSWHEREtname='rnupx')WHEREtid='200016721';(6)UPDATESTUDENTSSETgrade='2001'WHEREsid='8000
本文标题:数据库第一章实验报告
链接地址:https://www.777doc.com/doc-5053540 .html