您的位置:首页 > 数据库

sql server 2005之 约束 规则 默认操作

2010-11-21 12:46 197 查看
实体完整性:
规定表中的每一行在表中是唯一的实体。也可在这样说,在表中不可能存在相同的记录,主键在存在保证了任何记录都不重复
域完整性:域完整性是指数据表中字段必须满足某种特定的数据类型或约束。.
参照完整性:参照完整性是指两个表的主键和外键的数据应对应一致。
用户自定义完整性

约束的类型
约束就是一种强制性的规定,在sql server 2005中提供的约束是通过定义字段的取值规则来维护数据性的
在sql server 2005中支持6类约束:not null(非空)约束、check(检查约束)、unique(唯一束)、primary key(主键约束)
foreign key(外键约束)和default(默认约束)

唯一约束:
用企业管理器创建:
在"对你资源管理器"窗口中,右击需要设置唯一约束的表
在弹出菜单选"修改"命令,打开"表设计器"
在表设计器窗口中,右击需要设置为唯一约束的字段,在弹出菜单中选"索引/键"命令,然后添加唯一约束
使用sql语句创建唯一约束
为已经存在的表创建唯一约束:
alter table 表名
add constraint 唯一约束名
unique nonclustered(字段名)

最大区别在于clustered是物理上实现数据排序,并且同一个表里只能有一个clustered索引,而nonclustered是逻辑上的排序

检查约束:对输入的数据的值进行检查,从而维护数据的完整性
用企业管理器创建:
在"对象资源管理器"窗口中,右击需要设置唯一 约束的表,在弹出的菜单中选"修改"命令
在"表设计器"窗口中右击需要创建检查约束的字段,选择"CHECK约束",然后添加约束
使用sql语句创建检查约束:
alter table table_name
addd constraint 约束名
check (表达式)

默认约束:自动加入默认值
sql语句创建 :
alter table table_name
add constraint 约束名
default '默认值' for column_name

删除约束
atler table table_name
drop constraint 约束名

数据完整性之规则
规则类似于CHECK约束 ,是用来限制数据字段的输入值的范围
实现强制数据的域完整性,但不同于CHECK约束,CHECK约束针对一个列可以应用多个CHECk约束,但不能应用多个规则
规则需要单独创建,只需要创建一次 可以被使用多次,应用于多个表

规则的创建:
规则作为一种数据库对象,在使用之前必须被创建,格式如下:
create rule 规则名 as 条件表达式
绑定规则:
要使创建好的规则作用到指定的列或表等,还必须将规则绑定到列或用户定义在数据类型上
execute sp_bindrule '规则名','表名.字段名'
接触规则:
execute sp_unbindrule '表名.列名'
删除规则:
drop rule 规则名

使用默认:
创建:
create default 默认名
as "常量表达式"
绑定默认:
execute sp_bindefault '默认名','表名.列名'
接触绑定:
execute sp_unbindefault '表名.列名'
删除默认:删除之前必须将绑定删除
drop default '默认名'
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐