资源描述:
《中南民族大学数据库实验报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、实验二数据完整性技术一、实验目的和要求1.熟悉SQLServer2005的开发环境;2.熟悉SQLServerManagementStudio的基本操作,进一步理解数据库、表、表间关系的概念。3.掌握数据完整性的设置方法。二、实验内容1.利用SQLServerManagementStudio创建数据库,名称为【TMIS】;2.在【TMIS】中建立数据表,表的定义可参考【实验指导书说明】中表的定义。要求定义每张表的主键,为属性选择合适的数据类型,决定是否允许为空,为【性别】属性定义默认值,并设置相关的约束条件。3.定义表之间
2、的关系。4.分别为表录入几行数据记录,同时练习数据的修改和删除操作。三、实验步骤1、主键约束1)将Student表中的Sno定义为主键。CREATETABLEStudent(SnoCHAR(10)PRIMARYKEY,SnameCHAR(8)NOTNULL,SsexCHAR(2),SbirthSmalldatetime,DnoCHAR(4));2)将Department表中的Dno定义为主键。 CREATETABLEDepartment (Dnochar(4)PRIMARYKEY, Dnamevarchar(20)N
3、OTNULL );3)将Course表中的Cno定义为主键。 CREATETABLECourse (Cnochar(8)PRIMARYKEY, Cnamevarchar(30)NOTNULL,Cpnochar(8),CcreditTinyint )4)将SC表中的Sno,Cno定义为主键。 CREATETABLECourseSC (Snochar(10)NOTNULL, Conchar(8)NOTNULLGradeDecimal(5,2),PRIMARYKEY(Sno,Cno) )5)将Teacher表中
4、的Tno定义为主键。 CREATETABLETeacher (Tnochar(7)PRIMARYKEY, Tnamevarchar(8)NOTNULL,Dnochar(8)NOTNULL,TbirthSmalldatetime,Ttitlevarchar(10) )6)将SC表中的Sno,Cno定义为主键。CREATETABLECourseSC (Snochar(10)NOTNULL, Conchar(8)NOTNULLGradeDecimal(5,2),PRIMARYKEY(Sno,Cno) )2、非空约束
5、1)将Student表中的Sno,Sname定义为非空Snochar(10)NOTNULLSnameVARCHAR(8)NOTNULL2)将Department表中的Dno,Dname定义为非空Dnochar(4)NOTNULLDnamevarchar(20)NOTNULL3)将Course表中的Cno,Cname定义为非空Cnochar(8)NOTNULLCnamevarchar(30)NOTNULL4)将SC表中的Sno,Cno定义为非空Snochar(10)NOTNULLCnochar(8)NOTNULL5)将Tea
6、cher表中的Tno,Tname,Dno定义为非空Tnochar(7)Tnamevarchar(8)Dnochar(4)6)将Teaching表中的Tno,Cno定义为非空Tnochar(7)Cnochar(8)3、外键约束1)定义表SC的外键:其中Sno是参照表Student的主键,Cno是参照表Course的主键,并定义层叠删除关系。2)通过插入操作验证外键约束;3)层叠删除相关记录CREATETABLESC(SnoCHAR(10)NOTNULL,CnoCHAR(8)NOTNULL,GradeDecimal(5,2),
7、PRIMARYKEY(Sno,Cno),--定义主码FOREIGNKEY(Sno)REFERENCESStudent(Sno),--Sno参照表Student的主码FOREIGNKEY(Cno)REFERENCESCourse(Cno)--Cno参照表Course的主码);ALTERTABLEtable_nameADDCONSTRAINTconstraint_nameFOREIGNKEY(column[,„n])REFERENCESref_table(ref_column[,„n])DropschemaSCcascade4
8、、唯一值约束设置系表(Department)中的Dname取值唯一。Dname VARCHAR(20) UNIQUE5、CHECK约束指定列值应该满足的条件:设置表Student的Ssex属性值只允许取“男”或“女”;设置表SC的Grade属性值定义在0-100之间。SsexCHAR(2)CHECK(