- 1、本文档共127页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据完整性概念缺省与规则数据约束约束与缺省
二者是不相关的,而且缺省约束 仅用于INSERT语句,不适用于 UPDATE。由于“缺省定义”仍然建 立约束,有时也把“缺省定义”当作 “缺省约束”对待。 缺省值可以是常量或系统函 数。SQL 对缺省约束不能像缺省 对象那样建立和绑定,并且定义在 某个列的缺省不能应用于其他列。 如果需要一个表的多个列或多 个表的多个列设置相同的缺省,只 能逐一地进行定义,缺省值实际变 成了列属性。不过可以通过代码复 制,为每一列提供相同的缺省。 (一)命令方式定义缺省约束 用DEFAULT关键字定义缺省 约束。同样有两种方式建立缺省约 束,方法1是在创建表时定义缺省 约束,例如:CREATE TABLE jsy_temp4 (驾照号 int IDENTITY(1,1) NOT NULL PRIMARY KEY CLUSTERED, 姓名 varchar(8) NOT NULL, 是否见习 varchar(20)DEFAULT(‘是’), 身份证号 char(18) NOT NULL UNIQUE NONCLUSTERED) 方法2是在创建表之后用ALTER TABLE语句设定。例如: CREATE TABLE jsy_temp4 (驾照号 int IDENTITY(1,1) NOT NULL , 姓名 varchar(8) NOT NULL, 是否见习 char(2) , 身份证号 char(18) NOT NULL ) GO ALTER TABLE jsy_temp4 ADD CONSTRAINT def_ jsy_temp DEFAULT GO (二)界面方式定义缺省约束 在企业管理器中设置列缺省约 束步骤为: 第1步 在企业管理器窗口展开数据 库层次结构,择指定的表,打开表 设计器。 第2步 选中需要设置缺省的列, 在窗口下面部分缺省栏中进行设 置,此时缺省值成为了列的属性, 如图7-12。 在此不能对缺省约束命名。如 果已经建立了缺省对象,那么缺省 栏将出现下拉列表,可以选择某一 缺省对象进行绑定。 六、CHECK 约 束 CHECK约束与规则的作用相 同,可以让系统对列的输入值进行 正确性检查,用户在插入或修改数 据时列值必须符合CHECK约束条 件,否则数据便无法加入到数据表 中。CHECK约束可以是一个数据 列表,也可以是一个数据范围。在 某一列上可以加入多个CHECK约 束,如对电话号码列可以同时检查 位数和区域码是否正确。 (一)命令方式定义CHECK约束 用CHECK关键字定义CHECK 约束。同样有两种方式建立 CHECK约束,方法1是在创建表时 定义CHECK约束,例如: CREATE TABLE jsy_temp5 ( 驾照号 int IDENTITY(1,1) NOT NULL PRIMARY KEY CLUSTERED, 姓名 varchar(8) NOT NULL, 是否见习 char(1) DEFAULT(‘是’), 身份证号 char(18) NOT NULL UNIQUE NONCLUSTERED, 电话 char(8) CHECK(LEN(电 话)=8 AND 电话LIKE ‘72_-%’) ) 方法2是在创建表之后用ALTER TABLE语句设定,例如: CREATE TABLE jsy_temp5 ( 驾照号 int IDENTITY(1,1) NOT NULL , 姓名 varchar(8) NOT NULL, 是否见习 char(1) , 电话 char(8)) GO ALTER TABLE jsy_temp5 ADD CONSTRAINT ck_ jsy_temp5 CHECK(LEN(电话)=8 AND 电话LIKE ‘72_-%’) GO (二)界面方式定义CHECK约束 第1步 在企业管理器窗口展开数据 库层次结构,选择指定的表,打开 表设计器 ,选中需要设置CHECK 约束的列,单击鼠标右键,在弹出 的快捷菜单中选择“CHECK约 束”,如图7-13。 组合。主键具有以下特性: (1)每一个表仅能有一个主键。 (2)主键值不可为NULL,该值 在表内是唯一的,即没有重复值。 (3)主键已经具有UNIQUE的特 性,作为主键的列不能再被定义成 UNIQUE约束。 (4)IMAGE和TEXT类型的列不 能作为主键。 (5)主键具有自动索引的作用, 不能人为取消。取消索引的
文档评论(0)