文档详情

数据完整性控制.ppt

发布:2025-04-10约1.24万字共10页下载文档
文本预览下载声明

2.使用CREATETABEL语句创建IDENTITY列语法格式如下。CREATETABLE表名(列名数据类型[其他约束]IDENTITY[(seed,increment)][,...n])其中,参数说明如下。数据类型:必须是整型数据类型或decimal和numeric。Seed:装载到表中的第一行所使用的值,又称标识种子,默认值为1。Increment:增量值,该值被添加到前一个已装载的行的标识值上,默认值为1。【例6.18】在学生成绩数据库中,新建一名为“New_成绩表”的表,其表结构如表6-3所示。列名数据类型宽度为空性说明序号(ID)Int0主关键字,自动编号学号Char8课程编号Char4成绩Decimal(4,1)√取值在0~100表6-3New_成绩表在查询编辑器窗口中执行如下Transact-SQL语句。USE学生成绩GOCREATETABLENew_成绩表([序号(ID)]IntNOTNULLPRIMARYKEYIDENTITY(1,1),学号Char(8)NOTNULL,课程编号Char(4)NOTNULL,成绩Decimal(4,1)CHECK(成绩=0AND成绩=100)GO3.修改表语句创建唯一约束语法格式如下。ALTERTABLE表名ADDCONSTRAINT约束名UNIQUE[CLUSTERED|NONCLUSTERED](列名1[,…列名n])【例6.7】为例5.2中创建的“班级表”的“班级名称”列添加唯一约束。在查询编辑器窗口中执行如下Transact-SQL语句。USE学生成绩GOALTERTABLE班级表ADDCONSTRAINTUQ_班级表UNIQUE(班级名称)GO?唯一约束的删除同主键约束,这里不再介绍。外键约束(foreignkeyconstraint)强制实现参照完整性,能够在同一个数据库的多个表之间建立关联,并维护表与表之间的依赖关系。外键约束定义一个列或多个列的组合为当前表的外键,该外键值引用其他表中的主键约束所映射列的列值。1.使用SSMS创建外键约束【例6.8】在学生成绩数据库中,为班级表添加外键。具体操作步骤如下。1)在【对象资源管理器】窗口中,展开【数据库】|【学生成绩】|【表】|【dbo.班级表】节点。右击【键】节点,在弹出的快捷菜单中执行【新建外键】命令,打开如图6-6所示的【外键关系】对话框。2)单击【表和列规范】属性项右侧的按钮,打开【表和列】对话框。选择系部表作为主键表,其主键为“系部编号”,系统默认选择班级表作为外键表,并将“系部编号”作为外键,如图6-7所示,单击【确定】按钮。图6-6【外键关系】对话框图6-7【表和列】对话框”在【外键关系】对话框中单击【关闭】按钮。然后保存对班级表结构所做的修改,班级表的外键创建成功。刷新学生成绩数据库后,在【对象资源管理器】窗口中,展开【数据库】|【学生成绩】|【表】|【dbo.班级表】|【键】节点,可以看到所创建的外键约束,如图6-8所示。【说明】为确保班级表的外键约束创建成功,先把班级表中的记录清除,因为在第5章中在班级表中插入有记录,而系部表为空,这样如不清除班级表中的记录,创建外键约束时会发生冲突。图6-8查看班级表外键01022.使用ALTERTABLE语句定义外键约束语法格式如下:ALTERTABLE外键表名ADDCONSTRAINT外键约束名FOREIGNKEY(列名1,列名2,…,列名n)REFERENCES主键表名(列名1,列名2,…,列名n)[ONDELETE{CASCADE|NOACTION|SETNULL|SETDEFAULT}][ONUPDATE{CASCADE|NOACTION|SETNULL|SETDEFAULT}]其中,参数说明如下。其中,参数说明如下。ONDELETE选项子句用来规定当从主键表中删除记录时,外键表中的记录将执行何种操作。子句各备选项参数意义如下。CASCADE:当从主键表中删除一行记录时,外键表中的相应记录行将被删除。NOACTION:当从主键表中删除一行记录时,外键表不采取任何操作,仅返回删除失败的错误信息,为默认值。SETNULL:当从主键表中删除一行记录时,外键表中相应记录各列被赋予空值。SETDEFAULT:当从主键表中删除一行记录时,外键表中相

显示全部
相似文档