第12章约束 频繁更新是数据库的显著特征之一。而这种更新也带来了 巨大的风险——数据的可靠性变得复杂和难以控制。试图通过 人工方式来保证数据库的数据可靠性是不现实的。Oracle中的 约束正是解决这一问题的优秀策略。约束用于保证数据库数据 的完整性和可靠性。 Oracle的主要约束包括: 主键约束 外键约束 唯一性约束 检查约束 默认值约束 非空约束
—— Oracle Oracle
12.1主键约束 主键约束是Oracle数据库的最常用约束,也是数据库设 计者最需要注意的约束。主键的作用是用来保证数据的完整 性。主键可以像普通数据库对象那样进行创建、修改、删除 等操作。本节将着重讲述主键的创建、使用及相关操作
Oracle
12.1.1为什么要使用主键 在数据表设计时,数据表一般要求满足BCNF范式。这 要求数据表至少含有一个候选码(可看作唯一性约束)。而 其中一个候选码又被选为主码。这里的主码,可以看做数据 表的主键。 除了数据表设计的一般规则之外,主键的出现还有以 下现实意义。 1.防止出现重复数据一实体完整性 2.检索有利 3.支持外键
BCNF 1 —— 2 3
12.1.1为什么要使用主键 员工ID 员工姓名 员工年龄 员工职位 员工姓名 员工年龄 员工职位 35 1 王晓 35 王晓 开发经理 开发经理 钟小平 30 高级工程师 2 钟小平 30 高级工程师 刘俊 25 工程师 刘俊 25 工程师 刘俊 工程师 刘俊 25 工程师 钟文 24 工程师 5 钟文 24 工程师
员工姓名 王晓 钟小平 刘俊 刘俊 钟文 员工职位 开发经理 工程师 工程师 工程师 高级工程师 员工年龄 35 25 25 24 30 员工姓名 王晓 钟小平 刘俊 刘俊 钟文 员工职位 开发经理 工程师 工程师 工程师 高级工程师 员工年龄 35 25 25 24 30 员工ID 1 2 4 5 3
12.1.2主键简介 主键的来源是主码,而一个关系变量的主码来源于候 选码。本小节将结合数据库理论对主键进行分析。 1.主键列的数据类型并不一定是数值型 2.主键不一定只有一列 3.为什么是单列主键 4.为什么是自增的数值型主键 5.为什么主键值不能为空
12345