SQL SERVER2000教程-第四章 创建和维护表 第二节 数据完整性
2008-08-07 15:35
435 查看
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。/article/4534443.html |
是通过实现过程数据完整性和声明数据完整性来强制执行的。 1、Identity : identity属性可以生成唯一标识表中每一行的连续值。 (1)格式: Identity (初始值 ,增量) (2)实例:Create table tab1(id int identity(1,1),name varchar(10)) (3)说明: a)一个表中只能有一个identity标识的列,字段必须是整型。 b)不能更新定义有identity属性的列。 c)不能向定义有identity属性的列赋null值或附加默认约束。 2、Uniqueidentifier: 使用Uniqueidentifer和Newid函数也可以生成列的唯一值,与Identity属性类似。 如果创建的列是uniqueidentifer 数据类型,则必须使用newid函数为它生成新值。 A、手动添加列值 (1)实例:Create table tab2 (id uniqueidentifier,name varchar(10)) (2)插入值:insert into tab2 values(newid(),'mary') B、自动添加列值 (1)实例:Create table tab2 ( id uniqueidentifier NOT NULL ROWGUIDCOL CONSTRAINT [DF_tab2_ID] DEFAULT (newid()), name varchar(10)) (2)插入值:insert into tab2 values('mary') 说明:在创建ID列时直接设置列的值为自动填充,值的来源由newid()函数随机产生。 本文出自 51CTO.COM技术博客 第三节 使用约束 1)主键(primary key):唯一标识每一行。 1) 说明: a)一个表中只可以定义一个主键。 b)不能在主键列中输入null值。 c)最多可定义16列作为主键。 d)定义之后,则不能禁用primary key 约束. 2)实例: a)创建单一主键: Create table tab3(id int primary key, bid int) b)创建复合主键: Create table tab4(id int,bid int,constraint pk_id_bid primary key(id,bid)) (2)外键(foreign key): Foreign key定义列值与另一个表的Primary key相匹配的列。 1)说明: a)Foreign key约束必须引用另一个表的Primary key或Unique约束。 b)相关表中定义为主键的所有列必须作为Foreign key所包含在当前表中。 c)如果使用With nocheck 选项,将不会验证表中的现有数据。 2)实例: Create table tab5(cid int primary key not null,id int,foreign key(id) references tab3(id)) (3)CHECK约束:根据指定值测试列中的输入值。每次再列中插入或更新数据时均要进行这一测试。 1)说明: a)可以为Check约束定义Where字句中的类似条件,但它们不能包含子查询。 b)Check约束条件可以引用同一个表中的列。 c)Check约束条件必须对布尔表达式求值。 d)可以绑定有规则的列定义Check约束 2) 实例: create table tab6(id int, sex char(2) constraint chk_tab6_sex check (sex in ('m','w') ) ) (4)默认约束(default):此约束用于在用户未提供列值的情况下,提供一个自动添加的列值。 1)说明: a)一个表中只能有一列定义有Default约束。 b)不能在数据类型为Timestamp的列或具有Identity属性的列中定义Default约束。 2)实例: Create table tab7(id int, address varchar(20) constraint Def_tab7_add default '吉林省长春市') 或者Alter table tab7 add constraint def_tab7_id default 100 for id (5)唯一性约束(Unique):在列中应用unique约束以确保列中不输入重复值。列中所有行的值均不相同。 1)说明: a)可以向表中的多列应用unique约束。 b)向现有表应用unique约束时,一直会验证现有数据。 c)可以向not null 列应用unique约束,但仅有其中一行能包含null值 2)实例: Create table tab8(id int unique) 或者 Create table tab9(id int) Alter table tab9 add constraint unq_id unique (id) (6)删除约束:对不需要的约束从列中删除。 1)格式 Alter table 表名 drop constraint 约束名 2)实例: Alter table tab9 drop constraint unq_id 说明:删除列前必须先删除列中的约束 本文出自 51CTO.COM技术博客 |
相关文章推荐
- SQL SERVER2000教程-第四章 创建和维护表 第二节 数据完整性
- SQL SERVER2000教程-第四章 创建和维护表 第三节 使用约束
- SQL SERVER2000教程-第四章 创建和维护表 第一节 创建表、修改表、删除表
- SQL SERVER2000教程-第四章 创建和维护表 第一节 创建表、修改表、删除表
- SQL SERVER2000教程-第二章-创建和管理数据库 第七节 维护数据库
- SQL SERVER2000教程-第二章-创建和管理数据库 第二节 修改数据库
- SQL SERVER2000教程-第二章-创建和管理数据库 第六节 压缩数据库
- 网络营销教程SEO 第四章.搜索引擎优化基础(第二节)
- SQL SERVER2000教程-第六章 索引与视图 第二节 视图
- 大话数据库:第四章 创建和维护表
- SQL SERVER2000教程-第二章-创建和管理数据库 第一节 创建数据库
- SQL SERVER2000教程-第七章 Transact-SQL编程 第二节 流程控制命令
- cocos2d-x3.0/2.0 win7第一次创建项目需要调用到的脚本(不断更新维护)//cocos2d-x 教程一
- cocos2d-x2.0 win7第一次创建项目需要调用到的脚本(不断更新维护)//cocos2d-x 教程一
- SQL SERVER2000教程-第三章 数据类型 第二节用户自定义类型
- SQL SERVER2000教程-第五章 处理数据 第二节 检索数据
- SQL SERVER2000教程-第六章 索引与视图 第二节 视图
- SQL SERVER2000教程-第二章-创建和管理数据库 第三节 删除数据库
- 《划时代-51单片机C语言全新教程》-第四章 工程创建与深入 概览
- SQL SERVER2000教程-第二章-创建和管理数据库 第四节 设置数据库选项