资源描述:
《数据库的完整性约束-包含答案》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验八:数据库的完整性约束一、实验目的1.掌握主键约束、外键约束及及check约束的用法;2.掌握默认值约束的应用。二、实验环境已安装SQLServer2008企业版的计算机;具有局域网环境,有固定IP;三、实验学时2学时四、实验要求1.熟悉数据库完整性相关概念及约束;2.了解约束、默认值;3.完成实验报告;五、实验准备知识1、创建primarykey约束(1)在创建数据表时创建primarykey约束CREATETABLEtable_name(column_namedata_type[PRIMARYKEY
2、unique
3、NOTNULL][,column_na
4、medata_type[PRIMARYKEY
5、unique
6、NOTNULL]...[PRIMARYKEY(column[,...n])])(2)在修改表时同时创建primarykey约束ALTERTABLEtable_nameADDprimarykey(column[,...n])2、创建Foreignkey约束(1)创建表时同时定义Foreignkey约束CREATETABLEtable_name(column_namedata_type[FOREIGNKEY]REFERNCESref_table(ref_column)[,column_namedata_t
7、ype[FOREIGNKEY]REFERNCESref_table(ref_column)...[FOREIGNKEY](column)REFERNCESref_table(ref_column))(2)通过修改表定义Foreignkey约束ALTERTABLEtable_nameADD[FOREIGNKEY](column)REFERNCESref_table(ref_column)3、创建check约束(1)创建数据表时创建check约束CREATETABLEtable_name(column_namedata_type[NOTNULL
8、CHECK(log
9、ical_expression)]...CHECK(logical_expression)])(2)在修改数据表时添加check约束ALTERTABLEtable_nameADDCHECK(logical_expression)4、创建default约束(1)创建数据表时创建default约束Createtabletable_name(column_namedatatype[notnull
10、DEFAULT(constraint_expression)]…)(2)修改数据表时添加一个字段的同时创建default约束Altertabletable_nameADDc
11、olumn_namedatatype[notnull
12、DEFAULT(constraint_expression)]withvalues(3)对表中指定的列定义默认值约束Altertabletable_nameADD[DEFAULT(constraint_expression)]Forcolumn5、完整性约束命名子句CONSTRAINT<完整性约束条件名>[PRIMARYKEY短语︱FOREIGNKEY短语︱CHECK短语]6、删除primarykey约束或unique约束ALTERTABLEtable_nameDROPCONSTRAINTconstrain
13、t_name[,...n]六、实验内容及步骤使用T-SQL语句实现以下操作;1.请用至少2种方法定义stu数据库中student表的主键sno;方法1:CREATETABLEStudent(SnoCHAR(9)PRIMARYKEY,SnameCHAR(20),SsexCHAR(2),SageSMALLINT,SdeptCHAR(20))方法2:CREATETABLEStudent(SnoCHAR(9),SnameCHAR(20),SsexCHAR(2),SageSMALLINT,SdeptCHAR(20),PRIMARYKEY(Sno))2.将数据库stu的表
14、course的cno字段定义为主键,约束名称为cno_pk;AltertablecourseAddconstraintcno_pkprimarykey(cno)3.为表course中的字段cname添加唯一值约束;AltertablecourseAddconstraintcname_pkunique(cname)4.将数据库stu的表sc的sno及cno字段组合定义为主键,约束名称为sc_pk;AltertablescAddconstraintsc_pkprimarykey(sno,cno)5.对于数据表sc的sno、cno字段定义为外码,使之与表studen
15、t的主码sno及表course的主码c