《数据库原理》实验报告学号:041060124姓名:陈云飞南京航空航天大学计算机科学与技术学院实验一:SQL定义功能、数据插入1.建立教学数据库的三个基本表:S(Sno,Sname,Ssex,Sage,Sdept)学生(学号,姓名,性别,年龄,系)SC(Sno,Cno,Grade)选课(学号,课程号,成绩)C(Cno,Cname,Cpno,Ccredit)课程(课程号,课程名,先行课,学分)//创建表SQLCREATETABLES2(SnoCHAR(9)PRIMARYKEY,3SnameCHAR(20)UNIQUE,4SgenderCHAR(20),5SageSMALLINT,6SdeptCHAR(20)7);表已创建。SQLCREATETABLEC2(CnoCHAR(4)PRIMARYKEY,3CnameCHAR(40),4CpnoCHAR(4),5CcreditSMALLINT,6FOREIGNKEY(Cpno)REFERENCESC(Cno)7);表已创建。SQLSQLCREATETABLESC2(SnoCHAR(9),3CnoCHAR(4),4CradeSMALLINT,5PRIMARYKEY(Sno,Cno),6FOREIGNKEY(Sno)REFERENCESS(Sno),7FOREIGNKEY(Cno)REFERENCESC(Cno)8);表已创建。2.DROPTABLE、ALTERTABLE、CREATEINDEX、DROPINDEX及INSERT语句输入数据。//删除表//没选默认restrict(有限制条件),cascadeCONSTRAINTS(没限制条件)DROPTABLESC;DROPTABLES;DROPTABLEC;//结果显示SQLDROPTABLESC;表已删除。SQLDROPTABLES;表已删除。SQLDROPTABLEC;表已删除。//增加列SQLALTERTABLESADDEntranceDATE;表已更改。//S表插入数据SQLINSERTINTOS(Sno,Sname,Sgender,Sage,Sdept)2VALUES('041060124','陈云飞','男',20,'软件工程');已创建1行。SQLINSERTINTOS(Sno,Sname,Sgender,Sage,Sdept,Entrance)2VALUES('041060126','史太齐','男',21,'软件工程','21-8月-03');已创建1行。SQLINSERTINTOS(Sno,Sname,Sgender,Sage,Sdept,Entrance)2VALUES('041060128','小梁','男',18,'软件工程','21-8月-2010');已创建1行。SQLINSERTINTOS(Sno,Sname,Sgender,Sage,Sdept,Entrance)2VALUES('041060112','心心','女',19,'机械工程','21-9月-2009');已创建1行。SQLINSERTINTOS(Sno,Sname,Sgender,Sage,Sdept,Entrance)2VALUES('041060101','小倩','女',20,'信息安全','30-5月-12');已创建1行。SQLINSERTINTOS(Sno,Sname,Sgender,Sage,Sdept,Entrance)2VALUES('041060102','洁','女',21,'互联网','09-9月-12');已创建1行。SQLINSERTINTOS(Sno,Sname,Sgender,Sage,Sdept,Entrance)2VALUES('041060103','泽林','男',21,'电子商务',NULL);已创建1行。SQLselect*fromS;SNOSNAMESGENDERSAGESDEPTENTRANCE---------------------------------------------------------------------------------------------041060124陈云飞男20软件工程041060126史太齐男21软件工程21-8月-03041060128小梁男18软件工程21-8月-10041060112心心女19机械工程21-9月-09041060101小倩女20信息安全30-5月-12041060102洁女21互联网09-9月-12041060103泽林男21电子商务已选择7行。SQL//C表插入数据SQLINSERTINTOC(Cno,Cname,Cpno,Ccredit)2VALUES('2','数学',NULL,2);已创建1行。SQLINSERTINTOC(Cno,Cname,Cpno,Ccredit)2VALUES('6','数据结构',NULL,2);已创建1行。SQLINSERTINTOC(Cno,Cname,Cpno,Ccredit)2VALUES('7','PASCAL语言','6',4);已创建1行。SQLINSERTINTOC(Cno,Cname,Cpno,Ccredit)2VALUES('5','数据结构','7',4);已创建1行。SQLINSERTINTOC(Cno,Cname,Cpno,Ccredit)2VALUES('1','数据库','5',4);已创建1行。SQLINSERTINTOC(Cno,Cname,Cpno,Ccredit)2VALUES('3','信息系统','1',4);已创建1行。SQLINSERTINTOC(Cno,Cname,Cpno,Ccredit)2VALUES('4','操作系统','6',3);已创建1行。SQLSQLINSERTINTOC(Cno,Cname,Cpno,Ccredit)2VALUES('10','C语言',NULL,3);已创建1行。SQLINSERTINTOC(Cno,Cname,Cpno,Ccredit)2VALUES('8','计算机网络','7',3);已创建1行。SQLINSERTINTOC(Cno,Cname,Cpno,Ccredit)2VALUES('9','计算机仿真','7',3);已创建1行。SQLselect*fromC;CNOCNAMECPNOCCREDIT----------------------------------------------------------2数学26数据结构27PASCAL语言645数据结构741数据库543信息系统144操作系统6310C语言38计算机网络739计算机仿真73已选择10行。//SC表插入数据SQLINSERTINTOSC(Sno,Cno,Crade)2VALUES('041060124','1',92);已创建1行。SQLINSERTINTOSC(Sno,Cno,Crade)2VALUES('041060124','2',90);已创建1行。SQLINSERTINTOSC(Sno,Cno,Crade)2VALUES('041060124','4',85);已创建1行。SQLINSERTINTOSC(Sno,Cno,Crade)2VALUES('041060124','3',55);已创建1行。SQLINSERTINTOSC(Sno,Cno,Crade)2VALUES('041060124','5',78);已创建1行。SQLINSERTINTOSC(Sno,Cno,Crade)2VALUES('041060124','6',98);已创建1行。SQLINSERTINTOSC(Sno,Cno,Crade)2VALUES('041060124','7',65);已创建1行。SQLINSERTINTOSC(Sno,Cno,Crade)2VALUES('041060124','8',85);已创建1行。SQLINSERTINTOSC(Sno,Cno,Crade)2VALUES('041060124','9',84);已创建1行。SQLINSERTINTOSC(Sno,Cno,Crade)2VALUES('041060124','10',89);已创建1行。SQLSQLSQLSQLINSERTINTOSC(Sno,Cno,Crade)2VALUES('041060126','1',80);已创建1行。SQLINSERTINTOSC(Sno,Cno,Crade)2VALUES('041060126','3',99);已创建1行。SQLINSERTINTOSC(Sno,Cno,Crade)2VALUES('041060126','7',80);已创建1行。SQLINSERTINTOSC(Sno,Cno,Crade)2VALUES('041060126','8',99);已创建1行。SQLINSERTINTOSC(Sno,Cno,Crade)2VALUES('041060126','9',80);已创建1行。SQLINSERTINTOSC(Sno,Cno,Crade)2VALUES('041060126','10',80);已创建1行。SQLSQLINSERTINTOSC(Sno,Cno,Crade)2VALUES('041060101','5',56);已创建1行。SQLINSERTINTOSC(Sno,Cno,Crade)2VALUES('041060101','1',70);已创建1行。SQLSQLINSERTINTOSC(Sno,Cno,Crade)2VALUES('041060102','1',50);已创建1行。SQLINSERTINTOSC(Sno,Cno,Crade)2VALUES('041060102','4',86);已创建1行。SQLselect*fromSC;SNOCNOCRADE-----------------------0410601241920410601242900410601244850410601243550410601245780410601246980410601247650410601248850410601249840410601241089041060126180SNOCNOCRADE-----------------------0410601263990410601267800410601268990410601269800410601261080041060101556041060101170041060102150041060102486已选择20行。//索引SQLCREATEUNIQUEINDEXStusnoONS(Sno);CREATEUNIQUEINDEXStusnoONS(Sno)*第1行出现错误:ORA-01408:此列列表已索引SQLCREATECLUSTERINDEXStusnameONS(Sname);CREATECLUSTERINDEXStusnameONS(Sname)*第1行出现错误:ORA-00941:缺失簇名SQLcreateuniqueindexSentranceonS(Entrance);索引已创建。//删除索引SQLdropindexSentrance;索引已删除。_______________________________________________________________________________实验二:数据查询1.查询选修1号课程的学生学号与姓名。SQLselectS.Sno,Sname2fromS,SC3whereS.Sno=SC.SnoandSC.Cno='1';SNOSNAME-----------------------------041060124陈云飞04106012