`

数据库表设计中的超键、主键、候选键

 
阅读更多

 

1.定义

 

  •       超键(super key):在关系中能唯一标识元组的属性集称为关系模式的超键
  •       候选键(candidate key):不含有多余属性的超键称为候选键
  •       主键(primary key):用户选作元组标识的一个候选键程序主键

 

 

2.关系图

                                                       

 

3.举例

人(身份证 姓名 性别 年龄)

假设没有重名现象

解析:

 

  •        身份证唯一,所以是一个超键
  •        姓名唯一,所以是一个超键
  •      (姓名,性别)唯一,所以是一个超键
  •      (姓名,年龄)唯一,所以是一个超键
  •      (姓名,性别,年龄)唯一,所以是一个超键

 

--这里可以看出,超键的组合是唯一的,但可能不是最小唯一的

 

  •  身份证唯一,而且没有多余属性,所以是一个候选键
  • 姓名唯一,而且没有多余属性,所以是一个候选键
  • 虽然(姓名,性别)唯一,但是单独姓名一个属性就能确定这个人是谁,所以性别这个属性就是多余属性,所以(姓名,性别)不是候选键
  • 姓名,年龄),(姓名,性别,年龄)同上,也不是候选键

 

--这里可以看出,候选键是没有多余属性的超键

 

 

  •     考虑输入查询方便性,可以选择 身份证 为主键
  •     也可以 考虑习惯选择 姓名 为主键

 

--主键是选中的一个候选键

 

 

转自:http://blog.csdn.net/cjr15233661143/article/details/12970323

分享到:
评论

相关推荐

    超键 候选键 主键的简单介绍

    - **主键**是在候选键中选择出来的一个特定候选键,用于唯一标识表中的每一条记录。 正确理解和运用这些概念对于构建高效、稳定的关系型数据库系统至关重要。在进行数据库设计时,应仔细考虑每个概念的应用场景和...

    数据库函数依赖关系模式范式候选键主键码学习教案.ppt

    主键是候选键中的一种特殊情况。例如,在一个学生数据库中,学号可以作为主键,以唯一标识一个学生。 四、数据库函数依赖关系模式 数据库函数依赖关系模式是指在关系模式中,描述函数依赖关系的方式。函数依赖关系...

    数据库函数依赖关系模式范式候选键主键码PPT学习教案.pptx

    例如,在一个电商平台中,商品信息表的设计需要考虑函数依赖关系、候选键、主键码和范式,以确保数据库的性能和可扩展性。 数据库函数依赖关系模式范式候选键主键码PPT学习教案是数据库设计中一个非常重要的概念,...

    一文搞懂数据库设计基本概念(码、候选码、主码、主属性和非主属性)

    3. 主键(主码):在所有候选键中,我们通常选择一个作为主键,用于数据库的实际操作。主键是被选中的唯一标识记录的最小属性集,且在整个数据表中其值必须是唯一的,不能为NULL。一旦选定,主键的属性被称为主属性...

    oracle数据库表设计.pptx

    Oracle数据库表设计是数据库系统设计中的重要环节,它关乎到数据的存储效率、数据的一致性和完整性。在设计Oracle数据库表时,遵循一定的规范和原则是至关重要的。 首先,我们来探讨表设计的范式。范式是衡量数据库...

    Java数据库程序设计1

    - 主键:在实际应用中,数据库设计者会从候选键中选择一个作为主键来标识记录。 关于外键: - 外键并不一定要与引用的主键有相同的名称,它们可以不同,但必须参照的是同一张表中的主键。 - 外键的值可以为空,这在...

    数据库函数依赖___关系模式__范式_候选键_主键_码

    数据库函数依赖___关系模式__范式_候选键_主键_码

    关系型数据库设计范式

    2. 第二范式(2NF):在满足1NF的基础上,2NF要求每个非主键属性完全依赖于表的某个候选键,而不仅仅是键的一部分。比如,在选课关系SCI中,(SNO,CNO)是候选键,但学分CREDIT仅依赖于课程号CNO,不完全依赖于整个...

    数据库设计入门经典 中文完整版

    5. 关系设计:理解键的概念,包括主键、外键和候选键。学习如何通过设计良好的键来确保数据的完整性。 6. 数据库索引:索引能显著提升查询性能,但也会增加存储空间和更新成本。了解不同类型的索引(如B树、哈希...

    数据库设计中的规范化

    BCNF(Boyce-Codd范式)比3NF更高一级,它要求表中的每一个属性都不依赖于非候选键,即不存在属性对候选键的部分或传递依赖。BCNF进一步减少了更新异常,使得数据库模式更为简洁和规范。 第四范式(4NF)关注多值...

    数据库设计需要遵守的范式规则

    2. **第二范式(2NF)**:2NF在1NF基础上,要求表中的每个非主键字段都完全依赖于整个主键,而非主键的一部分。这样可以避免部分函数依赖,减少插入和更新异常。例如,如果部门描述仅与部门名称相关,而不依赖于员工...

    数据库设计法则详细介绍

    4. **BCNF(巴斯-科德范式)**:当关系模式R在每一个非平凡的X->Y函数依赖中,X都是超键时,R属于BCNF。BCNF比3NF更严格,能有效防止插入异常和删除异常。 5. **范式理论与反范式化**:在实际应用中,过度规范化...

    数据库设计与应用

    主键是表中用来唯一确定每条记录的字段集合,而候选键是理论上可以作为主键的字段集合,但实际中只选择其中一个作为主键。 数据库设计的基本步骤通常包括需求分析、概念设计、逻辑设计和物理设计。需求分析是指明确...

    西南交通大学数据库原理作业-第3章 关系数据库系统RDBS.docx

    - 转换为关系模型时,需要将ER图中的实体和联系转化为关系表,并确定主键和候选键,以及外键来表示联系。 - 触发器用于定义从表到主表的完整性,比如,当导演信息更改时,需要同步更新电影公司信息。 - 关系代数...

    软考系分之数据库函数依赖、键与约束

    - **候选键**:从超键中去除冗余属性后剩下的属性组合即为候选键。比如,在学生信息表中,学号可能是一个候选键,因为它是唯一的且必要的标识符。 - **主键**:任意一个候选键都可以被选为主键。通常情况下,我们会...

    数据库设计中的14个技巧

    主键与外键是数据库设计中的核心元素,用于确保数据的完整性和一致性。一般而言,每个实体至少应包含一个主键或外键。在E-R图中,处于叶子位置的实体可以不定义主键(因为没有子实体),但必须包含外键(因为有父...

    浅谈数据库设计技巧-程序员应该读的

    2. 第三范式(3NF):数据库设计通常追求高规范化,第三范式要求消除非主属性对候选键的传递依赖,以减少数据冗余和提高数据一致性。 二、需求分析与建模 1. 需求收集:了解业务流程,明确数据的来源、处理和存储...

    数据库设计的5步骤

    - **第二级规范化**:在第一级规范化的基础之上,消除非主键列对任何候选键的部分依赖。 - **第三级规范化**:进一步消除传递依赖,确保非主键列仅依赖于主键。 #### 四、设计模式和架构 在明确了实体、关系和所需...

Global site tag (gtag.js) - Google Analytics