SQL_server_2005完整性约束_第1页
SQL_server_2005完整性约束_第2页
SQL_server_2005完整性约束_第3页
SQL_server_2005完整性约束_第4页
SQL_server_2005完整性约束_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据库完整性数据库完整性(89)v数据库完整性(约束)数据库完整性(约束) 为了保证数据的准确性和一致性,而采取的为了保证数据的准确性和一致性,而采取的限制限制措施措施数据库完整性数据库完整性(89)v主要有四类数据完整性主要有四类数据完整性v实体完整性实体完整性 规定表的每一行在表中是唯一的规定表的每一行在表中是唯一的v域完整性域完整性 数据库表中的列必须满足的某种约束数据库表中的列必须满足的某种约束v引用完整性引用完整性 两个表的主关键字和外关键字的数据对应一致两个表的主关键字和外关键字的数据对应一致v用户定义的完整性(用户完整性)用户定义的完整性(用户完整性) 由用户定义的特定约束。由用

2、户定义的特定约束。 数据库完整性(数据库完整性(NOT NULL)vSSMS操作操作vT-SQL语句语句lCREATE TABLE 表名(表名( NOT NULL) 例如:例如:create table xuesheng (xh char(10) not null,xm varchar(10),cj int)lALTER TABLE 表名表名 ALTER COLUMM 列名列名 数据类型数据类型 NOT NULL 例如:例如:alter table xuesheng alter column xm char(10) not null数据库完整性(数据库完整性(DEFAULT)vSSMS操作操作

3、vT-SQL语句语句 lCREATE TABLE 表名(表名( DEFAULT 表表达式达式) 例如:例如:create table xuesheng2 (xh char(10) not null,xm varchar(10),xb char(10),bdate datetime default 1990-12-1)lALTER TABLE 表名表名 ADD CONSTRAINT 约束名约束名 DEFAULT 约束表达式约束表达式 FOR 列名列名例如:alter table xuesheng2 add constraint xb_def default 女 for xb数据完整性(数据完整性

4、(CHECK)vSSMS操作操作vT-SQL语句语句lCREATE TABLE 表名表名( CHECK(表达表达式式) 例如:例如:create table xuesheng3 (xh char(10),xm varchar(10),xb char(6), check(xb=男男 or xb=女女),cj int )lALTER TABLE 表名表名 WITH NOCHECK ADD CONSTRAINT 约束名约束名 check(约束表达式约束表达式)WITH NOCHECK: 既有值会被忽略,只有新的值才既有值会被忽略,只有新的值才会使用会使用CHECK约束进行验证。约束进行验证。 例如:

5、例如:alter table xuesheng3add constraint ck_cjcheck(cj50 and cj=100)数据完整性(数据完整性(PRIMARY KEY)v主键主键 能能唯一唯一标识表中每一行的标识表中每一行的一列或多列一列或多列v特点特点:l一个表一个表只能有一个只能有一个PRIMARY KEY约束,并且约束,并且PRIMARY KEY约束中的列约束中的列不能接受有空值不能接受有空值。l如果对多列定义了如果对多列定义了PRIMARY KEY约束,则一列中约束,则一列中的值可能重复,但来自的值可能重复,但来自PRIMARY KEY约束定义中约束定义中所有列的任何值组合

6、必须唯一所有列的任何值组合必须唯一l作为表级约束必须指明主键的名称。作为表级约束必须指明主键的名称。 数据完整性(数据完整性(PRIMARY KEY)编号订单号商品号价格数量1110120100011356121101206000137.44131143006000137.44141143001000720702511132010008270016218500100062720172185002000253441PRIMARY KEY(编号编号)数据完整性(数据完整性(PRIMARY KEY)订单号商品号价格数量11012010001135611101206000137.44111430060

7、00137.4411143001000720702111320100082700121850010006272012185002000253441PRIMARY KEY (订单号,商品号订单号,商品号)数据完整性(数据完整性(PRIMARY KEY)vSSMS操作vT-SQL语句 lcreate table xuesheng_pk (xh char(10) , xm varchar()10, xb char(6), cj int, Constraint pk_xh_xm primary key(xh,xm)lcreate table xuesheng_pk (xh char(10) prima

8、ry key, xm varchar()10, xb char(6), cj int)lalter table xuesheng3add constraint pk_xh primary key(xh) 数据完整性(数据完整性(UNIQUE)v唯一约束唯一约束 确保在非主键列中不输入重复的值。确保在非主键列中不输入重复的值。vUNIQUE与与PRIMARY KEY的区别与联系:的区别与联系:l都强制唯一性,都强制唯一性,PRIMARY KEY约束自动使用约束自动使用UNIQUE约束。约束。l允许空值的列上可以定义允许空值的列上可以定义UNIQUE约束,而不能定约束,而不能定义义PRIMARY

9、KEY约束。约束。l一个表可以定义多个一个表可以定义多个UNIQUE约束,而只能定义一约束,而只能定义一个个PRIMARY KEY约束。约束。 数据完整性(数据完整性(UNIQUE)vSSMS操作操作vT-SQL语句语句 lcreate table xuesheng5_uni(xh char(10) unique, xm varchar(10) , xb char(6),cj int)lalter table xuesheng5_uniadd constraint uni_xh unique(xh)lcreate table xuesheng6_uni(xh char(10),xm varch

10、ar(10),xb char(6),cj int, constraint uni_xh_xm unique(xh,xm) 数据完整性(数据完整性(FOREIGN KEY)商品商品编号编号商品商品名称名称商品商品价格价格类别类别编号编号001诺基诺基亚亚150001002三星三星250001003冰箱冰箱246803004劲霸劲霸西服西服146804类别编号类别编号类别名称类别名称01通信产品通信产品02电脑产品电脑产品03家用电器家用电器04服装服饰服装服饰主键外键商品表(商品表(GOODS)商品类别信息表(商品类别信息表(Types) 商品商品编号编号商品商品名称名称商品商品价格价格类别类别

11、编号编号001诺基诺基亚亚150001002三星三星250001003冰箱冰箱246803004劲霸劲霸西服西服146804类别编号类别编号类别名称类别名称01通信产品通信产品02电脑产品电脑产品03家用电器家用电器04服装服饰服装服饰商品表(商品表(GOODS)商品类别信息表(商品类别信息表(Types) 数据完整性(数据完整性(FOREIGN KEY)vSSMS操作操作v-SQL语句语句 lcreate table goods(bianhao char(10), mingcheng varchar(50), jiage int,leibiehao char(10) foreign key references types(bianhao_t)lalter table goodsadd constraint fk_goods_types foreign key(leibiehao)references types(bianhao_t)数据完整性(删除)数据

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论