Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > ADP及SQL SERVER

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

时 间:2011-11-17 17:26:42
作 者:赵文斌   ID:4506  城市:深圳
摘 要:共享
正 文:

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

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


约束的类型
约束就是一种强制性的规定,在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 '默认名'



Access软件网官方交流QQ群 (群号:483923997)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助