资源描述:
《SQL实验六:索引和数据完整性的使用》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、学校代码:10128学号:201220905048《数据库原理及应用》课内练习报告(题目:索引和数据完整性的使用学生姓名:孙跃学院:理学院系别:数学系专业:信息与计算科学班级:信计12-2任课教师:侯睿二〇一五年五月5一、练习目的1.掌握索引的使用方法;2.掌握数据完整性的实现方法。二、练习内容1.建立索引;2.重建索引;3.删除索引;4.数据完整性。三、练习程序及结果1.建立索引(1)使用CREATEINDEX语句创建索引对YGGL数据库的Employees表中的DepartmentID列建立索引USEYGGLGOCREATEI
2、NDEXdepart_indONEmployees(DepartmentID)GO在Employees表的Name列和Address列上建立复合索引USEYGGLGOCREATEINDEXAD_indONEmployees(Name,Address)GO对Department表上的DepartmentName列建立唯一非聚集索引USEYGGLGOCREATEUNIQUEINDEXDep_indONDepartment(DepartmentName)GO5(2)使用界面方式创建索引2.重建索引重建Employees中的所有索引USE
3、YGGLGOALTERINDEXALLONEmployeesREBUILD3.删除索引使用DROPINDEX语句删除表中Employees上索引depart_indUSEYGGLGODROPINDEXdepart_indONEmployees4.数据完整性(1)创建一个表Employees5,只含EmployeeID、Name、Sex和Education列。将Name设为主键,作为列Name的约束。对EmployeeID列进行UNIQUE约束,并作为表的约束USEYGGLGOCREATETABLEEmployees5(Employ
4、eeIDchar(6)NOTNULL,5Namechar(10)NOTNULLPRIMARYKEY,Sextinyint,Educationchar(4)CONSTRAINTUK_idUNIQUE(EmployeeID))(2)删除上例中创建的UNIQUE约束USEYGGLGOALTERTABLEEmployees5DROPUK_idGO(3)创建新表student,只考虑“号码”和“性别”两列,性别只能包含男或女USEYGGLGOCREATETABLEstudent(号码char(6)NOTNULL,性别char(2)NOTNU
5、LLCHECK(性别IN('男','女')))GO5(4)创建新表Salary2,结构与Salary相同,但Salary2表中不允许OutCome列大于InCome列USEYGGLGOCREATETABLESalary2(EmployeeIDchar(6)NOTNULL,InComefloatNOTNULL,OutComefloatNOTNULL,CHECK(InCome>=OutCome))GO(5)对YGGL数据库中Employees表进行修改,为其增加“DepartmentID”字段的CHECK约束USEYGGLGOALTE
6、RTABLEEmployeesADDCONSTRAINTdepartCHECK(DepartmentID>=1ANDDepartmentID<=5)GO5(6)创建一个规则对象,用以限制输入到该规则所绑定的列中的值只能是该规则中列出的值USEYGGLGOCREATERULElist_ruleAS@listIN('财务部','研发部','人力资源部','销售部')GOEXECsp_bindrule'list_rule','Department.DepartmentName'GO(7)创建一个表Salary3,要求所有Salary表上
7、EmployeeID列的值都要出现在Salary表中,利用参照完整性约束实现,要求当删除或修改Salary表上的EmployeeID列时,Salary3表中的EmployeeID值也会随之变化USEYGGLGOCREATETABLESalary3(EmployeeIDchar(6)NOTNULLPRIMARYKEY,InComefloatNOTNULL,OutComefloat(8)NOTNULL,FOREIGNKEY(EmployeeID)REFERENCESSalary(EmployeeID)ONUPDATECASCADEON
8、DELETECASCADE)GO5二、练习总结本次上机实验,通过对建立索引、重建索引、删除索引和数据完整性等四个部分的操作,让我对索引的使用方法和数据完整性的实现方法进行了进一步的掌握,对课堂所学知识进行了巩固和提高,通过实验我也体会到,数据库上机