由上述码的形式化定义,我们可以说:码是由一个或多个属性组成的,可唯一标识元组的最小属性组。码在关系中总是唯一的,即一个码函数唯一地决定一行。如果码的值重复,则整个元组都会重复。否则,违反了实体完整性规则。而元组的重复则表示存在两个完全相同的实体,这显然是不可能的,所以码是不允许重复取值的。所以,只有当某个属性或属性组能够函数决定关系中的每一个其它的属性,且该属性组的任何一个真子集都做不到这一点时,该属性或属性组才是该关系的码。函数依赖是一个与数据有关的事物规则的概念。如果属性B函数依赖于属性A,那么若知道了A的值,则完全可以找到B的值。这并非是可以由A的值计算出B的值,而是逻辑上只能存在一个 B 的值。4.3关系模式的规范化一、非规范化的关系当一个表中存在还可以再分的数据项时,这个表就是非规范化的表。非规范化表存在两种情况:>表中具有组合数据项(P102表6-4)表中具有多值数据项(P103表6-5)例:工资职工号姓名职称系名系办地址学历毕业年份职工号工龄工大学1963姓名001教授计算机1305基本工资职务工资张三资研究生1982那么什么是规范化关系呢?当一个关系中的所有分量都是不可再分的数据项时,该关系是规范化的。即当表中不存在组合数据项和多值数据项,只存在不可分的数据项时,这个表是规范化的
由上述码的形式化定义,我们可以说:码是由一个或多个属性组成的,可唯一标识元组 的最小属性组。 码在关系中总是唯一的,即一个码函数唯一地决定一行。如果码的值重复,则整个元组 都会重复。否则,违反了实体完整性规则。而元组的重复则表示存在两个完全相同的实体, 这显然是不可能的,所以码是不允许重复取值的。 所以,只有当某个属性或属性组能够函数决定关系中的每一个其它的属性,且该属性组 的任何一个真子集都做不到这一点时,该属性或属性组才是该关系的码。 函数依赖是一个与数据有关的事物规则的概念。如果属性 B 函数依赖于属性 A,那么 若知道了 A 的值,则完全可以找到 B 的值。这并非是可以由 A 的值计算出 B 的值,而是逻 辑上只能存在一个 B 的值。 4.3 关系模式的规范化 一、非规范化的关系 当一个表中存在还可以再分的数据项时,这个表就是非规范化的表。非规范化表存在两 种情况: ➢ 表中具有组合数据项(P102 表 6-4) ➢ 表中具有多值数据项(P103 表 6-5) 例: 那么什么是规范化关系呢? 当一个关系中的所有分量都是不可再分的数据项时,该关系是规范化的。即当表中不存 在组合数据项和多值数据项,只存在不可分的数据项时,这个表是规范化的。 职工号 姓名 工资 基本工资 职务工资 工龄工 资 1002 张三 1000 800 200 职工号 姓名 职称 系名 系办地址 学历 毕业年份 001 张三 教授 计算机 1305 大学 研究生 1963 1982
二维表按其规范化程度从低到高可分为5级范式(NormalForm),分别称为1NF、2NF3NF(BCNF)4NF、5NF。规范化程度较高者必是较低者的子集,即:INFD2NFD3NFBCNFD4NFD5NH二、第一范式(1NF)定义1:如果关系模式R中不包含多值属性,则R满足第一范式(FirstNormalForm),记作:REINF1NF是对关系的最低要求,不满足INF的关系是非规范化的关系。非规范化关系转化为规范化关系1NF方法很简单,只要上表分别从横向、纵向展开即可。如下表:职工号职务工资职工号系办地址学历华业年份姓名基本工资工龄工资姓名职称系名1002200张三10008001305大学19631002张三教授计算机100512009001501982李四1002张三教投计算机1305研究生1005李四讲师信电2206大学1989上表虽然符合1NF,但仍是有问题的关系,表中存在大量的数据亢余和潜在的数据更新异常。原因是(职工号,学历)是右表的码,但姓名、职称、系名、系办地址却与学历无关只与码的一部分有关。所以上表还需进一步地规范化。三、第二范式(2NF)定义1:设X、Y是关系R的两个不同的属性或属性组,且X→Y。如果存在X的某一个真子集X',使X→Y成立,则称Y部分函数依赖于X,记作:XP→Y(Partial)反之,则称Y完全函数依赖于X,记作:XF→Y(Full)定义2:如果一个关系RE1NF,且它的所有非主属性都完全函数依赖于R的任一候选码,则R属于第二范式,记作:RE2NF。说明:上述定义中所谓的候选码也包括主码,因为码首先应是候选码,才可以被指定为码。例如关系模式:职工(职工号,姓名,职称,项目号,项目名称,项目角色)中(职工号,项目号)是该关系的码,而职工号一姓名、职工号一职称、项目号一项目名称...所以(职工号,项目号)P一→职称、(职工号,项目号)P→项目名称故上述职工关系不符合第二范式要求。它存在三个问题:插入异常、删除异常和修改异常
二维表按其规范化程度从低到高可分为 5 级范式(Normal Form),分别称为 1NF、2NF、 3NF(BCNF)、4NF、5NF。规范化程度较高者必是较低者的子集,即: 1NF 2NF 3NF BCNF 4NF 5NF 二、第一范式(1NF) 定义 1:如果关系模式 R 中不包含多值属性,则 R 满足第一范式(First Normal Form), 记作: R∈1NF 1NF 是对关系的最低要求,不满足 1NF 的关系是非规范化的关系。 非规范化关系转化为规范化关系 1NF 方法很简单,只要上表分别从横向、纵向展开即 可。如下表: 上表虽然符合 1NF,但仍是有问题的关系,表中存在大量的数据冗余和潜在的数据更新 异常。原因是(职工号,学历)是右表的码,但姓名、职称、系名、系办地址却与学历无关, 只与码的一部分有关。所以上表还需进一步地规范化。 三、第二范式(2NF) 定义 1:设 X、Y 是关系 R 的两个不同的属性或属性组,且 X → Y。如果存在 X 的某 一个真子集 X’,使 X’ → Y 成立,则称 Y 部分函数依赖于 X,记作:X P→ Y(Partial)。 反之,则称 Y 完全函数依赖于 X,记作:X F→ Y (Full) 定义 2:如果一个关系 R∈1NF,且它的所有非主属性都完全函数依赖于 R 的任一候选 码,则 R 属于第二范式,记作:R∈2NF。 说明:上述定义中所谓的候选码也包括主码,因为码首先应是候选码,才可以被指定为 码。 例如关系模式: 职工(职工号,姓名,职称,项目号,项目名称,项目角色)中 (职工号,项目号)是该关系的码,而职工号→姓名、职工号→职称、项目号→项目名 称. 所以(职工号,项目号)P→ 职称、(职工号,项目号)P→ 项目名称 故上述职工关系不符合第二范式要求。它存在三个问题:插入异常、删除异常和修改异 常。 职工号 姓名 基本工资 职务工资 工龄工资 1002 张三 1000 800 200 1005 李四 1200 900 150 职工号 姓名 职称 系名 系办地址 学历 毕业年份 1002 张三 教授 计算机 1305 大学 1963 1002 张三 教授 计算机 1305 研究生 1982 1005 李四 讲师 信电 2206 大学 1989