python设置mysql外键_python基础教程之MySQL数据库之-foreign key 外键(一

今日重点:外键 一对多

多对多

一对一

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

一、引言:

我们在同一数据库创建的表时候,很多时候会出现相同数据的冗余问题,也就是说几个id会有一个或者同n个相同字段,这样就导致数据表结构数据重复冗余,

冗余还无所谓,关键是如果我要改其中一个相同的字段信息,其他跟他相同字段的信息也都要同步修改,这就增加了很多工作量,特别是如果要处理大量数据的时候

所以需要有一种解决方式来处理这种显而易见的问题。

例如:

id

name

gender

dep_name

dep_desc

1

jason

male

外交部

形象代言人

2

egon

male

教学部

教书育人

3

kevin

male

教学部

教书育人

4

tank

male

教学部

教书育人

5

jerry

female

技术部

技术负责人

很显然,上表的id为2/3/4的人员同属于一个字段名(部门)教育部,部门描述也是一样。解决方法:拆分为2个表

c317cb63ab07bf1fc172a4e0ed016bd6.gif

+----+-------+--------+--------+

| id | name | gender | dep_id |

+----+-------+--------+--------+

| 1 | jason | male | 1 |

| 2 | egon | male | 2 |

| 3 | kevin | male | 2 |

| 4 | tank | male | 2 |

| 5 | jerry | female | 3 |

+----+-------+--------+--------+

+----+-----------+--------------------------+

| id | dep_name | dep_desc |

+----+-----------+--------------------------+

| 1 | 外交部 | 形象代言人 |

| 2 | 教育部 | 教书育人 |

| 3 | 技术部 | 技术负责人 |

+----+-----------+--------------------------+

c317cb63ab07bf1fc172a4e0ed016bd6.gif

c317cb63ab07bf1fc172a4e0ed016bd6.gif

"""把所有数据都存放于一张表的弊端

1.组织结构不清晰

2.浪费硬盘空间

3.扩展性极差"""

#上述的弊端产生原因类似于把代码全部写在一个py文件中,你应该怎么做?>>>解耦合!将上述一张表拆成员工和部门两张表

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值