zoukankan      html  css  js  c++  java
  • 数据查询之键浅析

    如果存在大量的数据,如何筛选出想要查找的所有数据?那么就需要引入键的概念。下面解释候选键,主键,备用键,代理键,外键的概念。

    选说候选键,是一个或者能唯一标识多个实体实例的属性,例如在定义学生,一般有,学号,名字,姓氏,生日等等。明显一个学号就可以唯一标识出一个学生,但是名字和姓氏和生日组合在一起就能标识出一个学生。上述的两种组合都是候选键

    接下来说明候选键具有四大属性,唯一性:能标识出唯一的实体实例。

                                                        强制性:候选键必须要对应一个实体实例。

                                                      稳定性:一旦确定了候选键,就不能再次更改。

                                                     最小性:在保证确定唯一性的情况下,组合中属性个数的下确界。

    主键先是候选键,其次主键应该具有简洁性:属性个数相对少。

                                                            隐私性:因为主键可能会作为外键被传递,这样敏感数据可能完全暴露在数据库中。(优先于简洁性)

    所以上诉实例中应该选第一种组合。 那么剩下的组合就称为备选键。

    代理键:是数据表的唯一标识符,

    外键:在一对多关系中,“一”的一端称为父实体,“多”的一端称为子实体。当从父实体向子实体创建一个关系时,父的主键应该被拷贝到子实体作为外键。

    辅助键:为了实现快速的数据检索而存在。无需唯一性,稳定性,且可以空。例如可以在学生实体中将“学生姓氏”添加辅助键,就可以对任何检索学生姓氏的请求给与快速响应。

  • 相关阅读:
    RPC细谈
    RPC浅谈
    动态规划
    libco 的定时器实现: 时间轮
    一次HTTP请求的完整过程——协议篇(DNS、TCP、HTTP)
    多个CPU、多核CPU以及超线程(Hyper-Threading)
    Linux下which、whereis、locate、find命令的区别
    warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
    使用OutputDebugString输出调试信息
    VS或windows用代码产生GUID
  • 原文地址:https://www.cnblogs.com/smellpawn/p/10630613.html
Copyright © 2011-2022 走看看