欢迎来到天天文库
浏览记录
ID:35506865
大小:81.69 KB
页数:4页
时间:2019-03-25
《数据库原理与技术复习资料(中南大学)数据库系统实验报告2》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、《数据库系统概论》实验报告题目:实验二交互式SQL语言班级通信1202班姓名章雅婷学号0909121201日期2014年5月5日实验内容与完成情况:(-)数据定义一、基本表操作1•建立基本表1)建立一个学生表StudentCREATETABLEStudent(SnoCHAR(9)PRIMARYKEY,SnameCHAR(20)UNIQUE,SsexCHAR(2),SageSMALLINT,SdeptCHAR(20));2)建立一个课程表CourseCREATETABLECourse(CnoCHAR(4)PRIMARYKEY,CnameCHAR(40),CpnoCHAR(4)
2、,CcreditSMALLINT,FOREIGNKEY(Cpno)REFERENCESCourse(Cno));3)建立一个学生选课表SCCREATETABLESC(SnoCHAR(9),CnoCHAR(4),GradeSMALLINT,PRIMARYKEY(Sno,Cno),/*主码由两个属性构成,必须作为表级完整性进行定义*/FOREIGNKEY(Sno)REFERENCESStudent(Sno),/*表级完整性约束条件,Sno是外码,被参照表是StudentFOREIGNKEY(Cno)REFERENCESCourse(Cno)/*表级完整性约束条件,Cno是外码,
3、被参照表是Course*/);创建完表后,对左边表列进行刷新,可看到新建的三个表也在列之中了,如图所示:■无标£@mydb(本地吕觀*)•童询•NavicatforMySQL文件童音收蘇IS©□群助连多用户乙Bl本帧努information^schema▲2mydb接表计划「壬歹无标SB@mydb体地£务)•套
4、警*无愉K©mydb体地R务)ft*无ISSOmydb体地R涪)•…运行・-7-世卿KA首保存ffe另存为•;莫化SQL£导出■圉表匿course屈sc[T1student>f()匿数》取)爭牛眶J豪询園抿表•>國齢[>Smysqlperformance^schem
5、atest童询创建工具查询巒器1UREATETABLECourse2El(CnoCHAR(4)PRIMARYKEY.CnameCHAR(-SO)fCpnoCHAR(4),CcredicSI4ALLI::Tr-FORE13NKEY(Cpno)REFERENCESCourse(Cno));6789CRZATETABLESC100(SnoCHAR(9)rCnoCHAR(4)rGradeS!6、须烂为表级完整性迸行走M/FOREIGNKEY(Sno)REFERENCESStudent(Sno),r表级老K性约克気件・SnoS^ffi,«#B2表身Student7FOREIGNKEY(Cno)REFERENCESCourse(Cno)P表级完整性约集条件,Cno彩国,取奏照表是Course/);更影肩的行:0时间:0.014s2修改基本表1)增加课程名称必须取唯一值的约束条件。ALTERTABLECourseADDUNIQUE(Cname);3•删除基本表1)在所有操作结束后删除Student表DROPTABLEStudentCASCADE;2)在所有操作结束后删除7、Course表DROPTABLEStudentCASCADE;1)在所有操作结束后删除SC表DROPTABLEStudentCASCADE;二、索引操作1.建立索引为学生■课程数据库中的Student,Course,SC三个表建立索引。Student表按学号升序建唯一索引,Course表按课程号升序建唯一索引,SC表按学号升序和课程号降序建唯一索引CREATEUNIQUEINDEXStusnoONStudent(Sno);CREATEUNIQUEINDEXCoucnoONCourse(Cno);CREATEUNIQUEINDEXSCnoONSC(SnoASC,CnoDESC8、);2、删除索引删除Student表的Stusname索引DROPINDEXStusname;出现的问题及解决方案:1、在查询中输入的时候,由于输入法的问题,有部分的中文标点符号不能被识别所以经常出现错误,进行修改过后就可以运行了。2、在实验室做实验的吋候,使用的是SQL2000的版本,进行Course表的插入数据时,采用肓接键入的方法进行,但是在输入先修课这个属性的时候,由于有约束,在课程号为5的课程未定义的情况下,不能键入5,可先全键入1,然后再修改。3、在实验室上机时,还发现,不同版本的SQL-些数据类型的定
6、须烂为表级完整性迸行走M/FOREIGNKEY(Sno)REFERENCESStudent(Sno),r表级老K性约克気件・SnoS^ffi,«#B2表身Student7FOREIGNKEY(Cno)REFERENCESCourse(Cno)P表级完整性约集条件,Cno彩国,取奏照表是Course/);更影肩的行:0时间:0.014s2修改基本表1)增加课程名称必须取唯一值的约束条件。ALTERTABLECourseADDUNIQUE(Cname);3•删除基本表1)在所有操作结束后删除Student表DROPTABLEStudentCASCADE;2)在所有操作结束后删除
7、Course表DROPTABLEStudentCASCADE;1)在所有操作结束后删除SC表DROPTABLEStudentCASCADE;二、索引操作1.建立索引为学生■课程数据库中的Student,Course,SC三个表建立索引。Student表按学号升序建唯一索引,Course表按课程号升序建唯一索引,SC表按学号升序和课程号降序建唯一索引CREATEUNIQUEINDEXStusnoONStudent(Sno);CREATEUNIQUEINDEXCoucnoONCourse(Cno);CREATEUNIQUEINDEXSCnoONSC(SnoASC,CnoDESC
8、);2、删除索引删除Student表的Stusname索引DROPINDEXStusname;出现的问题及解决方案:1、在查询中输入的时候,由于输入法的问题,有部分的中文标点符号不能被识别所以经常出现错误,进行修改过后就可以运行了。2、在实验室做实验的吋候,使用的是SQL2000的版本,进行Course表的插入数据时,采用肓接键入的方法进行,但是在输入先修课这个属性的时候,由于有约束,在课程号为5的课程未定义的情况下,不能键入5,可先全键入1,然后再修改。3、在实验室上机时,还发现,不同版本的SQL-些数据类型的定
此文档下载收益归作者所有