1、数据的完整性

总结分析:
当前表中存在不准确、不一致的数据,则数据库失去了完整性
数据完整性破坏一般由数据库的设计不合理导致
数据完整性概念:能够确保存储在数据库中的数据的准确性和一致性
2、完整性的约束类型
(1)域(列)完整性:添加列的约束范围,保证列值符合规定要求
(2)实体的完整性:要求表中的所有行唯一
(3)引用完整性:要求两表相同字段具有一致性
PS:为什么不直接把班级放入学员表?
如果将班级放入学员表,将会使班级依赖于学员信息而存在,未添加学员时不存在班级,不符合实际

3、实体完整性——主键约束与唯一约束
作用:保证实体的唯一性
方法:主键约束、标识列、唯一约束
(1)添加约束的基本语法

(2)约束名规则(建议):约束类型_约束字段
主键(Primary Key)约束:如PK_StudentId
唯一(Unique)约束:如Uq_StudentIdNo
约束可以直接在建表时添加,也可以如下添加:




4、域完整性
作用:保证实体属性符合规范要求
方法:检查约束、限制数据类型、默认值、非空约束
(1)检查约束与默认约束
约束名规则(建议):约束类型_约束名
检查(Check Key)约束:如CK_Key
默认(Default Key)约束:如DK_Key

例:


5、引用完整性
作用:保证两表中相同属性值的一致性
方法:外键约束


例:

6、数据完整性总结
实体完整性
能够唯一标识表中的每一条记录
实现方式:主键、唯一键、Identity属性
域完整性
表中特定列的数据的有效性,确保不会输入无效的值
实现方式:数据类型限制,默认值约束,非空值,检查约束
引用完整性
维护表间数据的有效性、完整性
实现方式:建立外键,关联另一表的主键
7、数据表的使用总结
(1)主键的选择
最小性原则:尽量选择单个键作为主键
稳定性原则:尽量选择数值更新少的列作为主键
(2)外键使用
要求数据类型、数据长度必须与对应的主键字段完全一致
添加数据时,要首先添加主键,再添加外键
删除数据时,要首先删除外检表数据,再删除主键表数据
(3)完整数据库创建步骤
建库——》建表——》主键约束——》域完整性约束——》外键约束
(4)插入数据的过程
验证主键、主外键关系、检查约束……——》插入成功
网友评论