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