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 '默认名'
规定表中的每一行在表中是唯一的实体。也可在这样说,在表中不可能存在相同的记录,主键在存在保证了任何记录都不重复
域完整性:域完整性是指数据表中字段必须满足某种特定的数据类型或约束。.
参照完整性:参照完整性是指两个表的主键和外键的数据应对应一致。
用户自定义完整性
约束的类型
约束就是一种强制性的规定,在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 '默认名'
相关文章推荐
- Sql Server 2005 --使用Select * into 时默认值约束名重复时丢失默认值
- SQL SERVER 2005 由于默认排序规则造成多数据库查询报错的问题
- SQL Server重温——约束、默认、规则
- 在连接Sql Server 2005 时,在默认的设置下SQL Server不允许远程连接可能会导致此操作
- sql server 2000/2005 游标的使用操作
- [转]SQL Server 2005 设置字符集以及更改排序规则
- sql server 2005 基本操作语句
- SQL Server修改已有字段类型,并添加默认约束
- SQL server 2005基本操作
- sql server 中删除默认约束的通用sql脚本(轉)
- SQL Server 2005 - Default Trace (默认跟踪)
- SQL SERVER 2005中使用sql语句对xml 文件和其数据的进行操作(很全面)
- 在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接)
- C#操作Sql Server 2005的Image字段
- 在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接
- SQL SERVER 2005 集合操作(except distinct, except all, intersect distinct, intersect all)
- 数据库开发基本操作-安装Sql Server 2005出现“性能监视器计数器要求”错误解决方法
- 在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: SQL 网络接口, error: 26 - 定位指定的服务器/实例时出错)
- Sql Server 2005 约束(constraint)的增加
- sql server 2005 排序规则与大小写敏感 (sql server2005学习笔记1)