美文网首页
数据库 主键 外键 表间关联的概念

数据库 主键 外键 表间关联的概念

作者: fc82bb084ee7 | 来源:发表于2018-02-27 12:48 被阅读61次
主键

主键就是数据行的唯一标识, 不准许有重复值. 一个表可以没有主键, 但是会难以处理, 因此一般情况下都要给数据库表设置主键.


![屏幕快照 2018-02-27 下午12.27.55.png](https://img.haomeiwen.com/i1312119/78c8c66dbabf5b9d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

从上图可见, 这个表中的工号列中的数据是唯一的, 可以作为主键使用.

外键

以设计这个食品数据库表为例, 可以把需求设计成上面这张表来使用.


屏幕快照 2018-02-27 下午12.27.55.png

但有2个弊端:

  1. 表中的数据有大量的重复数据, 会占用大量的存储空间. 例如伊利食品厂的地址就是重复项数据.
  2. 因为有重复项, 因此不便于对数据的修改. 例如如果想把伊利食品厂的地址修改一下的话, 以上面这张表中的数据为例, 就需要改3处.

因此, 在设计这张数据库表的时候, 最好是把这张表分拆为两张表.
这样, 既减少了存储空间的占用, 又方便了对数据的修改.

其中, 厂家编号这列数据就叫做外键, 外键的特点是: 外键列的数据可以用重复值. 并且, 外键列中的数据正好对应着另一张表中的主键列的数据. 也正是因为有这种对应关系, 因此把这种对应关系叫做表间关联.

相关文章

  • 数据库 主键 外键 表间关联的概念

    主键 主键就是数据行的唯一标识, 不准许有重复值. 一个表可以没有主键, 但是会难以处理, 因此一般情况下都要给数...

  • 数据库的基本应用

    数据库的基本应用: 主键 : 唯一 ,不能重复 ,不能为空 , 可以同时当外键 外键 : 将两个表关联起来 , 不...

  • thinkphp6 关联模型使用注意事项

    如果使用模型关联,建立数据库表时主键外键尽量使用不同的名字,避免起别名的麻烦

  • ORM 关联关系

    参看手册文档 关联关系 可以 创建外键或不创建外键 假设存在 users 表 id(主键) -> phones 表...

  • 五、SQL–索引/约束⑤(主键约束)

    第一范式要求每张表都要有主键,因此主键约束是非常重要的,而且*主键约束是外键关联的基础条件。主键约束为表之间的关联...

  • 09_MySQL多表 & JDBC

    MySQL多表 外键 主表主键和从表外键 ==(从表的外键引用主表的主键)== 从表的外键类型必须和主表的主键类型...

  • SQL之数据库设计

    数据库设计 表关系 一对一 实现方式 在任意一方加入外键,关联另一方主键,并且设置外键为唯一(unique) 一...

  • Flask-SQLAlchemy外键约束

    外键:数据库一个表的键是另一个表的主键,这个键称为这个表的外键 1.连接数据库 2.创建用户表和文章表,文章表中以...

  • 番外篇:主键和外键

    在数据库中有两个很关键的概念:主键和外键。 有两张表。两张表中每个表有且仅有一个主键,如果一张表中主键所在的字段同...

  • 浅谈数据库主键外键索引

    目录 1、主键、外键、索引定义 2、为什么定义主键、外键 3、主键和外键的关系 4、数据库中主键和外键的设计原则 ...

网友评论

      本文标题:数据库 主键 外键 表间关联的概念

      本文链接:https://www.haomeiwen.com/subject/ntgpxftx.html