外键 forigen key作用 :建立表之间的关系

什么是外键

员工信息表有这些字段:id号  姓名 性别 员工所在部门名 部门描述信息

公司有3个部门,但是有1个亿的员工,那意味着 员工所对应的部门 这个字段需要重复存储,部门名字越长,越浪费

1.员工所对应的部门 出现重复问题 数据出现重复

2.如果改部门名字段  例如技术部门改为IT ,那要找到所有技术部门的人字段 ,全部改为IT

存在空间问题,管理问题

把两张表独立分开

把部门和id 单独建立一张表 每个部门对应一个id字段 每个部门存储一个就可以了

我们把表拆分成两张表,隔离的两张表,两张表没有任何关系,但是业务要求员工有部门信息,我们可以在emp表新增一个dep_id字段,关联着dep表的id字段。

我们完全可以定义一个部门表,左边是员工表,右边是部门表

然后让员工信息表关联部门表,如何关联,即foreign key 外键

把员工表emp的dep_id字段关联到 dep表的id字段 从而两张表就建立关系

在dep_id 字段加上forigen key

转载于:https://www.cnblogs.com/mingerlcm/p/9853174.html

mysql 约束条件 外键 forigen key 介绍相关推荐

  1. 【MySQL】解决MySQL删除外键(foreign key)时报错问题

    [MySQL]解决MySQL删除外键(foreign key)时报错问题 文章目录 [MySQL]解决MySQL删除外键(foreign key)时报错问题 一.现象 二.分析 三.问题解决 四.拓展 ...

  2. 解决MySQL删除外键时报错Error Code: 1091. Can‘t DROP ‘XXX‘; check that column/key exists

    解决MySQL删除外键时报错Error Code: 1091. Can't DROP 'XXX'; check that column/key exists   长期不写基础的 MySQL 代码,笔者 ...

  3. MySQL数据库(25):外键 foreing key

    外键 foreing key 外键表示了两个实体之间的联系 外键 foreing key: A表中的一个字段的值指向另B表的主键 B: 主表 A: 从表 主表:主键(主关键字) = 从表:外键(外关键 ...

  4. mysql定义外键_MySQL定义外键的方法

    MySQL定义外键的方法是每个学习MySQL的人都需要掌握的知识,下文就对MySQL定义外键的语句写法进行了详细的阐述,供您参考. 外键为MySQL带来了诸多的好处,下面就为您介绍MySQL定义外键的 ...

  5. mysql删除外键_MySQL删除外键定义的方法

    MySQL外键在定以后,如果我们不再需要这个外键,可以进行删除操作,下面就为您介绍MySQL删除外键定义的方法,供您参考. 不知道大家有没有发现,在定义外键的时候articles.member_id外 ...

  6. default默认值 unique单列唯一和联合唯一 primary key主键 auto_increment自增 外键foregin key 表与表之间关系

    约束条件 之前讲过: zerofill (填充0) unsigned (约束条件值unsigned 无符号) not null 非空(不能插入空) 补充知识点 插入数据的时候可以指定字段 create ...

  7. mysql 添加外键 完整_详解mysql添加外键的方法

    本文主要向大家介绍了mysql添加外键的方法,通过具体的实例让大家了解,希望对大家学习mysql有所帮助. 为已经添加好的数据表添加外键: 语法:alter table 表名 add constrai ...

  8. mysql创建外键级联更新_MySQL中利用外键实现级联删除、更新

    MySQL支持外键的存储引擎只有InnoDB,在创建外键的时候,要求父表必须有对应的索引,子表在创建外键的时候也会自动创建对应的索引.在创建索引的时候,可以指定在删除.更新父表时,对子表进行的相应操作 ...

  9. 数据库六大约束用法:主键(primary key)、外键(foreign key)、非空(not null)、默认(default)、检查(check)、唯一(unique)

    1. 数据库有六大约束 主键(primary key) 外键(foreign key):被参照的键必须有唯一约束或是主键 非空(not null) 默认(default) 检查(check):orac ...

最新文章

  1. 权限表管理之保存权限表数据
  2. python自学路线-最适合小白的Python学习路线图
  3. python自动化开发是什么_Python自动化开发学习6
  4. JAVA语法基础作业
  5. linux学习笔记:vim编辑器的各种用法操作命令
  6. QT 选择文件,另存为文件组件
  7. 选择电子商务平台:Shopify与WooCommerce
  8. 服务器自带ddos工具,详解DDoS工具 一款流行DDoS木马工具
  9. python agg函数,python pandas自定义agg函数
  10. 贾小伟—Web前端开发工程师(作品集)
  11. 使用UUP DUMP下载多版本Windows镜像
  12. 51单片机~光敏传感器,比较器(模电,运放,放大原理)原理芯片
  13. 一种基于卷积神经网络的图像去雾研究-含matlab代码
  14. 基于NE555的方波信号发生器
  15. react icons库介绍及使用
  16. php语言中计算字符串长度的函数是,php 语言中计算字符串长度函数是:
  17. Java 3D 绘图性能
  18. 黑群晖Docker 安装Jellyfin 家庭影院
  19. 输入10个整数,将其中最小的数与第一个数对换, 把最大的数与最后一个数对换。写3个函数:①输人10个数;②进行处理;③输出10个数。
  20. 使用lable regression 能得到比分类模型更好的结果

热门文章

  1. EOS1.1版本新特性介绍
  2. ZOJ3944People Counting暴力/枚举
  3. linux编程之信号
  4. VC++2012编程演练数据结构《31》狄杰斯特拉算法
  5. c#调用带有安全认证的java webservice
  6. [导入]基于Spring+zk的WebDisk系统研究.pdf(462.84 KB)
  7. 数据库索引的使用及优化
  8. 解决Vscode提示bodyparser已被弃用的问题
  9. 每次发工资条,同事都要随意传看,怎么解决这个问题?
  10. 对方删了你的微信,你列表依然有ta的存在,该不该也把ta删掉?