SQL Server 2008数据完整性实现与外键约束管理指南
标题+SQL+Server+2008数据库中有哪些手段来实施数据完整性?
在SQLServer2008中,我们可以使用以下手段来实现数据完整性:
主键约束:主键约束可以保证一个或多个列是唯一的且非空(非零),您可以使用系统提供的约束,在创建表时指定它们,或者在创建表后通过ALTERTABLE命令添加它们。
唯一键约束:唯一键约束可以保证一列或多列的唯一性,可以使用系统提供的约束,在创建表时指定,也可以在创建表后通过ALTERTABLE命令添加桌子。
Foreignkey(外键)约束:外键约束可以保证两个表之间数据的一致性,即被引用表中的外键值必须在被引用表中有对应的值,即可以作为约束,由系统提供,在创建表时指定,或者在创建表后通过ALTERTABLE命令添加。
检查约束(check):检查约束可以限制列中的值满足特定条件,例如不能为负数。
您可以使用系统提供的约束,在创建表时指定它们,或者创建表并使用ALTERTABLE命令添加它。
触发器:触发器可以在数据库事件执行时(如插入、更新、删除数据)自动触发某些逻辑操作,以保证数据的完整性。
以上是实现数据完整性的常用方法,在不同的场景下,您可以选择使用不同的方法或者组合多种方法来保证数据的完整性。
sqlserver怎样删除外键约束?
使用此后跟:alterable表名dropconstraint外键名称
使用以下SQL语句查询表中的外键约束名称:
1selectname2fromsys.foreign_key_columnsfjoinsys.objectsoonf.constraint_object_id=o.object_id3wheref.parent_object_id=object_id('表name')
执行以下SQL语句进行删除。
1可编辑表名dropconstraint外键约束名
详细信息:注释
关系上可以双击键约束row添加外键约束,外键约束有四种不同的选项:CASCADE、SETNULL、NOACTION、RESTRICT。
1.CASCADE:从父表中删除或更新匹配行,并自动从表中删除或更新匹配行。
[ONDELETECANSCADE和ONUPDATECANSCADE都受InnoDB支持。
2.SETNULL:删除或更新父表中的相应行,并将子表中的外键列设置为空。
[请注意,这些仅在外键列未设置为NOTNULL时才有效。
ONDELETESETNULL和ONUPDATESETSETNULL都受InnoDB支持。
3.NOACTION:InnoDB拒绝删除或更新父表。
4.RESTRICT:拒绝删除或更新父表。