• 外键、超键、候选键


    外键、超键、候选键

    外键

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

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

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

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

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

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

    超键

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

    候选键

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

  • 相关阅读:
    (Problem 4)Largest palindrome product
    (Problem 3)Largest prime factor
    (Problem 2)Even Fibonacci numbers
    (Problem 1)Multiples of 3 and 5
    Ural 1086
    Ural 1319
    Ural 1149
    Ural 1079
    Ural 1068
    2016/04/06
  • 原文地址:https://www.cnblogs.com/yinyunmoyi/p/11561800.html
Copyright © 2020-2023  润新知