修改数据表和什么是约束 概念图 数据完整性 数据完整性指存储在数据库中的数据正确无误,且相关数据具有一致性的状态。
数据完整性 |
---|
实体完整性 | 字段(域)完整性 | 引用(参照)完整性 | 用户定义完整性(存储过程和触发器) |
*为减少数据查找的麻烦,允许数据有一定的冗余
*存在不正确的数据,数据就会“失取完整性”。 实体完整性 实体完整性要求表中不能存在两条完全相同的记录。 字段完整性 字段中输入的数据必须具有正确的数据类型、格式及有效的数据范围。 引用完整性 引用完整性性作用于有关联的表,使表中的键值在相关表中保持一致。
约束 约束是为了确保表中数据的完整性而作出的限制。
约束 |
---|
主键约束 | 外键约束 | 唯一约束 | 默认约束 | 检查约束 | 非空约束 |
列级约束是对一个特定列的约束 表级约束独立于列,可以应用在表中的多列
主键约束 主键是用来唯一标识表中记录的,一个或组合的多个字段。 表中可以没有主键。 一个表最多一个主键,主键不能为空,不能重复。 主键一般是自增的(唯一键也可以设置自增)一个表中还有一个自增列。 外键约束 外键是表中唯一标识另一个或同一个表记录的,一个或组合的多个字段。 外键用来强制引用完整性 “从表”中对应于“主表”的列,在从表中称为外键或者引用键。 外键的值与主表的主键相对应。 非空约束 强制字段不接受NULL值(强制字段始终包含值) 如不向字段添加值,就无法插入新纪录或者更新记录。 使用非空约束 创建表时添加约束(列级约束) 字段定义时加上关键字NOT NULL 字段定义时加上NULL表示可以为空
为什么要设计数据库 良好的数据库设计: ?节省数据的存储空间 ?能够保证数据的完整性 ?方便进行数据库应用系统的开发 ?糟糕的数据库设计 ?数据冗余、存储空间浪费 ?内存空间浪费 ?数据更新和插入的异常
|