文档详情

06数据完整性.ppt

发布:2018-03-18约1.34千字共10页下载文档
文本预览下载声明
第六讲 数据完整性 数据完整性保证了在数据库中存储数据的一致性、相容性和正确性。 作用: 防止数据库中存在不符合语义的数据。 防止错误信息的输入与输出。 数据完整性分类 实体完整性: 保证每一行都能被由称为主键的属性来标识 域完整性: 保证在效范围内的值才能存储到相应列中 引用完整性: 确保外键的值必须与相关的主键相匹配 实现数据完整性的主要方式是约束。 约束类型分为: 值的约束(类型、范围、精度… ) 数据之间联系的约束(属性之间 :主码、引用… ) 约束类型包括: 主键约束 primary key 确保字段值不重复不为NULL 外键约束 foreign key 确保字段值必须来自于指定表 非空约束 NOT NULL 确保字段值不为NULL 检查约束 check 确保字段值的取值范围 唯一约束 unique 确保字段值不重复 创建主键约束: CREATE TABLE STU (STUNUM number(6), CODE char(3), GRADE number(3), Constraint p_stunumcode primary key (STUNUM, CODE)); 或者 alter table STU add constraint p_stunumcode primary key(STUNUM, CODE ) 创建外键约束: CREATE TABLE STU_bak (STUNUM number(6), CODE char(3), GRADE number(3), constraint f_stunumcode foreign key(STUNUM,code) references STU(STUNUM,code)); 或者 alter table STU_bak add constraint f_stunumcode foreign key(STUNUM,code) references STU(STUNUM,code) 创建非空约束: alter table STU modify GRADE constraint n_STUNUM not null; 主键无须再创建非空约束 创建检查约束: CREATE TABLE STU1 (STUNUM number(6), CODE char(3), GRADE number(3) check(GRADE between 1 and 10)); 或者: alter table 表名 add [constraint 约束名] check (字段检查表达式) 创建唯一约束: alter table STU add constraint u_GRADE unique(GRADE); 或者: alter table 表名 add [constraint 约束名] unique(字段名) * *
显示全部
相似文档