页数:28页文件大小:423.5 KB来源: SQLServer2005数据库技术及应用ppt课件
本章给出实现数据完整性的具体做法,逐一介绍主键约束、唯一约束、检查约束、外键约束和默认值约束的作用,并分别给出在SSMS中的操作步骤与对应的T-SQL语法;随后说明默认值对象与规则这两种数据库对象的创建、绑定、解除绑定和删除方法,以及它们与默认值约束、CHECK约束的区别。
第12章数据完整性的实现方法
第12章数据完整性的实现方法
12.1约束
约束(CONSTRAINTS)是实现数据完整性的首选方法。顾名思义,约束就是一种限制,使数据表中对象的取值不能随心所欲,要在允许的范围内12.1.1主键约束主键约束(PRIMARY KEY)保证某一列或多列组合中的数据相对于表中的每一行都是唯一的,并且这些列就是该表的主键。主键约束不允许在创建主键约束的列上有空值
12.1.1主键约束使用SQL Server Management Studio设置主键约束的步骤:1.启动SQL Server Management Studio2.在对象资源管理器上点击“+”,展开欲设置的数据库和表,在弹出的快捷菜单上单击“修改”3.鼠标右击要设置为主键的字段,在弹出的快捷菜单上选择“设置主键”选项,单击鼠标左键
12.1.1主键约束用T-SQL语句创建主键约束的语法格式:CREATE TABLE table_name( column_name datatype[ CONSTRAINT constraint_name PRIMARY KEY][ CLUSTERED | NONCLUSTERED ] [ ,…n ][CONSTRAINT constraint_name PRIMARY KEY<列名1>[,<列名2>,…]])12.1.2唯一约束
12.1.2唯一约束使用SQL Server Management Studio设置唯一约束的步骤如下:1.展开数据库和表,右击鼠标选择“修改”,在窗口空白处单击鼠标右键,选择“索引/键”2.单击“添加”按钮,系统会自动加上一个默认的唯一约束名称3.在常规项“列”对应的输入框选择要创建唯一性约束的列名及排列顺序,在“是唯一的”对应下拉框中选择“是”,单击“关闭”按钮
12.1.2唯一约束用T-SQL语句创建唯一约束的语法格式:CREATE TABLE table_name /*指定表名( column_name datatype /*定义字段[ CONSTRAINT constraint_name UNIQUE]/*列级约束,直接在字段后面定义[ CLUSTERED | NONCLUSTERED ] /*约束的索引类型[ ,…n ] /*表示可定义多个字段[CONSTRAINT constraint_name UNIQUE<列名1>[,<列名2>,…]])/*表级约束,可在多个字段上定义12.1.3检查约束
12.1.3检查约束使用SQL Server Management Studio设置检查约束的步骤如下:1.展开数据库和表,右击鼠标选择“修改”,在窗口空白处单击鼠标右键,选择“check约束”2.单击“添加”按钮,系统会给出默认的约束名称3.在约束表达式窗格中输入约束条件,例如“grade>=0 and grade<=100”
12.1.3检查约束
用T-SQL语句创建检查约束语法格式:CREATE TABLE table_name/*指定表名( column_name datatype/*定义字段[[check_name] CHECK ( logical_expression )] /*CHECK约束表达式[ ,…n ])12.1.4外键约束
12.1.4外键约束使用SQL Server Management Studio设置外键约束的步骤如下:1.展开数据库和表,右击鼠标选择“修改”,然后在上面窗口空白处单击鼠标右键,在快捷菜单中选择“关系”2.弹出“外键关系”对话窗口,单击“添加”按钮,系统会给出默认的关系名称3.点击“表和列规范”左边的“+”,让系统弹出“表和列”窗口4.在“表和列”窗口选择所要参考的主键的表名、表中的主键,以及本表中设置外键的列名,单击“确定”按钮,再单击“关闭”按钮
12.1.4外键约束用T-SQL语句创建外键约束语法格式:create TABLE table_name /*指定表名( column_name datatype [FOREIGN KEY]REFERENCES ref_table (ref_column) /*指定被参照基本表的表名和列名[, …n ])或create TABLE table_name(/*指定表名column_name datatype[, …n ]CONSTRAINT constranint_name FOREIGN KEY(列名) REFERENCES ref_table (ref_column))/*单独列出,并指定约束名12.1.5默认值约束
12.1.5默认值约束用SQL Server Management Studio设置默认值约束的步骤如下:1.展开数据库和表,右击鼠标选择“修改”2.在系统弹出的窗口中单击要设置默认的列,在下面列属性设置栏的“默认值或绑定”输入框中,输入对应的默认值即可
12.1.5默认值约束用T-SQL语句设置默认值约束语法格式:ALTER TABLE table_nameADD [CONSTRAINT constraint_name ]DEFAULT default_value FOR column_name12.2默认值
12.2默认值用T-SQL创建默认值语法:CREATE DEFAULT default_name ASconstant_expression参数说明:default_name是新建默认值的名称;constant_expression为default_name的值,必须是一个常数表达式12.2默认值默认值的绑定:默认值创建好之后,必须将其绑定到某个列或用户自定义数据类型上才能生效。语法:sp_bindefault default_name, ‘object_name’参数说明:sp_bindefault是实现默认值绑定功能的系统存储过程;default_name是默认值名称;object_name是要与默认值绑定的列名或用户自定义数据类型名,如果指定的是表中的列,格式必须是“table.column”12.2默认值默认值绑定的解除一个默认值被绑定到表中的列或用户自定义数据类型之后,如果不想再使用了,可以用系统存储过程unbinddefault解除绑定,语法如下:sp_unbinddefault ‘object_name’注意绑定解除后作为数据库对象的默认值仍然存在于数据库中12.2默认值默认值绑定的删除:如果一个默认值不再使用了,可以用DROP语句将其删除,语法如下:DROP DEFAULT default_name12.3规则
12.3规则用T-SQL语句创建规则:语法:CREATE RULE rule_name AS condition_expression参数说明:rule_name是被创建的规则的名称;condition_express指明定义规则的条件,在这个条件表达式中不能包含列名或其他数据库对象名,但它带有一个@为前缀的参数,即参数的名字必须以@为第一个字符12.3规则规则的绑定:规则创建好以后,也必须绑定到某个列或用户自定义的数据类型上才能生效。语法:sp_bindrule rule_name, object_name参数说明:rule_name是已创建的规则名;object_name指定要与规则绑定的列名或用户自定义数据类型名,如果指定的是表中的列,格式必须是“table.column”12.3规则解除规则:使用系统存储过程sp_unbindrule可以解除已经绑定到列或用户自定义数据类型上的规则,但解除的规则仍然存在于数据库中。语法:sp_unbindrule rule_name, object_name12.3规则删除规则:使用DROP RULE可以删除已经解除了绑定的规则。语法:DROP RULE rule_name
下载地址:{{downurl}}
{{{a}}}
{{#b}}{{{b}}}
{{/b}} {{/title}} {{#nolog}}登陆注册
{{/nolog}} {{#djsx}}点我刷新
{{/djsx}} {{#gocz}} {{/gocz}} {{#ffqr}} {{/ffqr}}