当前位置:文档之家› 数据完整性的含义

数据完整性的含义


➢声明create table 默认值 • 语法:create table 表名 (字段名 数据类型 [default 常量表达式]
[{null|not null|identity}][,……]
) • 说明:default定义可适用于除定义为
timestamp或带identity属性的列以外的任 何列。 例
create default time_default as getdate() 默认学生入学年龄为18
create default age_limited as 18
➢创建: ➢绑定:sp_bindefault <默认名>,<‘表.字段
名’> 例:sp_bindefault age_limited ,‘学生表.年龄’ ➢解除:sp_unbindefault <‘表.字段名’> 例:sp_unbindefault ‘学生表.年龄’ ➢删除:drop default <默认名称> 例:drop default age_limited
create table default_example
(pid int not null,
names char(8), sex char(2) default'男' not null, age int default 18)
insert into default_example(pid,names,sex) values(101,'苏晴','女')
• 使用规则时,要确保规则的值与其绑定列的数 据类型一致
三、默认(default)
➢含义:是一种数据库的对象,与默认值 约束的功能一样。它用来向无值的列 (字段)提供一个预先指定的值。且在 创建后,必须和某一列绑定才能生效。
➢创建:create default <默认名称>as<常量 表达式>
例:默认时间为当前系统时间
alter table default_example
add pid1 int default 101 ➢默认和默认值的使用限制 • 每列只能有一个默认绑定,且值与绑定
的数据类型一致,与该列的规则一致 • 解除绑定后才可删除。
➢在UPDATE中使用默认值 Update default_example Set sex=default Where age=18 ➢查看规则和默认 select name from sysobjects where type
create rule enter_university_date_rule
as @enter_date>='1953-01-01'and @enter_date<='getdate()'
--创建入学日期规则,假定某大学是1953年建校。
create rule age_ruHERE子句中任何有效的表达式,并且可以包含诸如算 术运算符、关系运算符和IN、LIKE、BETWEEN之类的 元素。它不能引用列或其他数据库对象,可以包含不引 用数据库对象的内置函数。它包含一个变量,每个局部 变量的前面都有一个@符号民,该表达式引用通过 UPDATE或INSERT语句输入的值。且规则的第一个字符 必须是@
➢ 绑定: Sp_bindrule<规则名称>,<‘表.字段名’> 例:sp_bindrule enter_university_date_rule,'学生表.入
学年份' ➢ 解除: Sp_unbindrule <‘表.字段名’> 例:sp_unbindrule ‘学生表.入学年份’ ➢ 删除: Drop rule <规则名称> 例:drop rule enter_university_date_rule
➢ 查看规则及属性 选中库—单击规则—选中规则—右键单击—属
性—绑定列—选择表和列。 ➢ 使用规则的限制条件 • 规则只能处理常量和函数,不能用来查找表和
比较表中的列
• 表中的每列只能与一条规则绑定,若再绑定则 旧规则将被新规则代替
• 若规则与某列或某个用户定义的数据类型绑定, 则不能被直接删除须先解除后删除
--创建学生年龄必须在一定范围的规则 create rule sex_rule as @xb_scope in('男','女') --创建学生性别只能是男、女
create rule scope_rule as @cj_scope between 0 and 100
--创建学生的成绩规则
➢ 创建规则 选中库-新建-规则
二、规则
➢ 规则就是数据库中,对存储在数据库中表的列(字段) 或用户自定义数据类型中的值的规定和限制。它具有独 立性,它可以有一个规则及多个check约束规则。 它必须在INSERT和UPDATE语句之前给出。
➢ 创建:create rule rule_name as condition_expression ➢ 说明:condition_expression是定义规则的条件,可以是
➢ 域完整性:指列的完整性,要求域中指定的列 (字段)的数据具有正确的数据类型、格式和 有效的数值范围它通过默认值、foreign key和 check等约束以及默认、规则等数据库对象来实 现。
➢ 参照完整性:是指两个表的主关键字和外关键 字的数据,应对应一致。
➢ 用户定义的完整性:允许用户定义不属于其他 任何一类完整的特定规则。主要有规则rule、 缺省值default、约束constraint和触发器trigger
insert into default_example(pid,names,age) values(201,'马山',20)
select * from default_example
➢用alter table添加或删除默认值 例:alter table default_example
Replace age default 19
数据完整性的含义
一、数据完整性的含义 数据完整性是指存储在数据库中的数据,应该 保持一致性和可靠性。在SQL SERVER中可以 通过规则和默认等数据库对象及各种约束,来 保证数据的完整性。它分为四类:
➢ 实体完整性:表的每一行在表中是唯一的实体。 要求所有行都具有唯一标识,可以通过建立唯 一索引表、UNIQUE、PRIMARY KEY和 IDENTITY约束等措施来审判庭实体完整性
相关主题