zoukankan      html  css  js  c++  java
  • 外键、超键、候选键

    外键、超键、候选键

    外键

    外键:指向另一张表的主键

    Foreign key(外键字段) references 表(主键)

    子表(外键所在)外键不能指向不匹配的父表主键

    父表主键不能随意更改,默认为严格模式,不能删除或更新记录,级联模式,父表更新记录子表也更新,置空模式,父表更新记录子表关联数据置空

    外键的两端必须类型相同,至少存在一对相同的数据,表中外键名不能重复,存储引擎必须是innodb

    不推荐使用外键,原因在于外键会对删除和更新操作造成限制,导致开发和测试困难,而且会造成性能浪费、并发问题,不加外键数据迁移分库分表会更方便,从本质上讲,使用外键完全在应用程序上实现逻辑,无需借助数据库,否则会造成数据库性能下降,毕竟数据库的主要工作是存储和快速查询

    超键

    超键:如果有一学生表(学号,姓名,性别,身份证号),那么含有学号或身份证号的任何字段组合都是超键,比如(学号)、(学号,姓名)、(身份证号、性别),这样的组合可以唯一标识一条记录。(但是学号和身份证号不一定是复合主键,它们中的一个可能会被定义成主键)

    候选键

    候选键:超键中的最小集,如果去掉任意一个字段就不再是超键了,那么这个超键就是候选键,如(学号)、(身份证号)

  • 相关阅读:
    明白python文件如何组织,理解建立源文件
    Python特殊语法:filter、map、reduce、lambda [转]
    html标签属性大全
    使用Webdriver执行JS小结
    Sublime Text ——3200破解补丁
    JavaScript——JS屏蔽F12和右键
    Typecho——数据库无法连接问题
    vscode——配置git的path
    windows电脑连接蓝牙耳机的正确步骤
    eolinker——添加项目成员
  • 原文地址:https://www.cnblogs.com/yinyunmoyi/p/11561800.html
Copyright © 2011-2022 走看看