《数据建模-经典教程》读书笔记七:键

一、理解候选键、主键及备用键

        键由一个或多个属性构成,其目的在于实施规则,有效数据检索,而且允许从一个实体导航到另一个实体。

        候选键是一个或多个可以唯一标识实体实例的属性。

        候选键具备以下4个基本特征:

        1)唯一性:候选键必须不能标识多于一个实体实例(或现实世界中的事物)。

        2)强制性:候选键不能为空,每个实体实例要求必须能被一个特定的候选键值标识,候选键取不同值的数目,始终与不同的实体实例数目一致。如果实体图书选择ISBN作为其候选键,那么当存在500个图书实例时,必然存在500个不同的ISBN与其对应。

        3)非异变性:实体实例的候选键值应该不会被更改。

        4)最小化:候选键中仅仅包含那些用于唯一标识实体实例的属性,假设列出由4个属性组合成的一个候选键,但其中仅仅只有3个是标识实体实例所必需的,那么只能用这3个属性构成候选键。

        主键是在众多候选键中首选出来唯一标识实体的选项。选择主键应该考虑下面两点:

        1)简洁性。指如果存在多个候选键时,通常选择属性数最少或最短的充当主键。

        2)隐私性。指候选键中如果含有一些敏感数据时,这个候选键不适合充当主键。

二、理解代理键

        代理键是数据表的唯一标识符,它通常由一个固定大小的、无人工干预的、系统自动产生的计数器生成,代理键不具备任何业务含义(换言之你不能将月份标识“1”当作“月份”实体实例中的一月)。对于具体的业务而言,代理键是不可见的,但应该允许它在幕后存在,以便更有效地实现跨结构数据导航和跨应用程序的集成。

【备注说明】代理键在数据库中一般指的数据库中的记录的ID号。

三、理解外键

        外键是可以与其他实体产生关联的一个或多个属性(或者在递归关系中,连接同一个实体的情况下,有可能存在来自同一个实体的两个实例相互关联)。

        在物理层,使用外键可以从数据库管理系统中的一张表导航至另外一张。

四、理解辅助键

        辅助键是经常被访问的,或者需要被快速检索到的一个或多个属性(如果多于一个属性,则称之为复合辅助键)。辅助键又被称为非唯一性索引或倒排入口(inversion entry,E)。辅助键无需是唯一的、稳定的,而且也不要求必须拥有值。例如,我们可以在学生实体中为“学生姓氏”添加辅助键,于是可以对任何检索学生姓氏的请求给予快速响应。

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值