理解并给出下列术语的定义: 函数依赖、部分函数依赖、完全函数依赖、传递依赖、多值依赖、候选码、主码、外码、全码(all-key)、1NF、2NF、3NF、BCNF、4NF。
时间: 2024-06-22 19:02:56 浏览: 118
非主属性、完全函数依赖、候选键-数据库系统原理 丁宝康2007
在数据库理论中,这些术语是数据关系模型中用于描述表结构和数据完整性的重要概念:
1. **函数依赖 (Function Dependency)**: 函数依赖指的是属性A函数决定属性B,即对于表中的每一个值,A的每个可能取值都会对应B的一个唯一值。
2. **部分函数依赖 (Partial Dependency)**: 如果属性A函数决定属性B,但并非A的每一个可能值都唯一确定B,那么就存在部分函数依赖。例如,一个人的出生日期决定了他的年龄,但不是所有可能的出生日期都会对应唯一的年龄。
3. **完全函数依赖 (Total Dependency)**: 当属性A的每一个可能值都唯一确定属性B时,A对B是完全函数依赖。如邮政编码完全决定了邮递区号。
4. **传递依赖 (Transitive Dependency)**: 如果A函数依赖于B,而B又函数依赖于C,那么A也依赖于C,这称为传递依赖。比如,部门ID通过经理ID间接决定了员工的薪水。
5. **多值依赖 (Multivalued Dependency)**: A对B有多值依赖意味着A的某个值集合可以对应B的多个值,通常出现在多对多关系中。
6. **候选码 (Candidate Key)**: 表中能唯一标识每一条记录的最小属性集,一个或多个候选码可以用来定义主键。
7. **主码 (Primary Key)**: 候选码中选择的一个或多个属性作为唯一标识表中每一行的标识,通常用作表的索引。
8. **外码 (Foreign Key)**: 表示两个表之间的关联,它是另一个表的候选码,用来引用另一个表中的数据,确保数据的一致性。
9. **全码 (All-Key)**: 表中所有的属性都是候选码,这种设计并不多见,但在某些特定场景下可以增加数据的完整性和一致性。
10. **1NF (First Normal Form)**: 数据库的最基础形式,要求每个属性只包含单一的数据类型,且不可有复合属性。
11. **2NF (Second Normal Form)**: 满足1NF的基础上,消除部分函数依赖,即非主属性不依赖于任何候选码的一部分。
12. **3NF (Third Normal Form)**: 在2NF的基础上消除传递函数依赖,即非主属性之间不直接依赖。
13. **BCNF (Boyce-Codd Normal Form)**: 提供更强的数据独立性,要求所有非平凡的函数依赖都是超键决定键,即不存在部分依赖和传递依赖。
14. **4NF (Fourth Normal Form)**: 高级的范式,要求除主码外的属性都不传递依赖于其他非主属性,消除多值依赖。
了解这些概念有助于设计高效、一致和易于维护的数据库模式。如果你对某个具体的概念还有疑问,可以详细提问。
阅读全文