zoukankan      html  css  js  c++  java
  • 权限功能之数据库为何要设置为复合主键(一)?

    复合主键

    指的就是一张表的主键含有一个以上的字段组成,不使用无业务含义的自增id作为主键。

    在一张数据表中:“当表中只有一个主键时,它是唯一的索引;当表中有多个主键时,称为复合主键,复合主键联合保证唯一索引”。

    为什么自增长ID已经可以作为唯一标识的主键,为啥还需要复合主键呢?

    因为,并不是所有的表都要有ID这个字段,比如,我们建一个学生表,没有唯一能标识学生的ID,怎么办呢,学生的名字、年龄、班级都可能重复,无法使用单个字段来唯一标识,这时,我们可以将多个字段设置为主键,形成复合主键,这多个字段联合标识唯一性,其中,某几个主键字段值出现重复是没有问题的,只要不是有多条记录的所有主键值完全一样,就不算重复

    联合主键:

    就是多个主键联合形成一个主键组合。

    比如 :
    主键A跟主键B组成联合主键
    主键A跟主键B的数据可以完全相同(……),联合就在于主键A跟主键B形成的联合主键是唯一的
    下例主键A数据是1,主键B数据也是1,联合主键其实是11,这个11是唯一值,绝对不充许再出现11这个唯一值。(这就是多对多关系)
    主键A数据 主键B数据
    1      1
    2      2
    3      3
    主键A与主键B的联合主键值最多也就是
    11
    12
    13
    21
    22
    23
    31
    32
    33

  • 相关阅读:
    创建可管理的对象属性
    解析简单xml文档
    定义类的__slots__属性节省内存的开销
    读写json数据
    读写csv,excel文件数据
    常用的字符串处理方法
    sql中case when 的使用
    对字典的处理
    元组的元素命名
    列表,字典,集合按条件筛选
  • 原文地址:https://www.cnblogs.com/zhengyeye/p/10087042.html
Copyright © 2011-2022 走看看