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

本文介绍了数据库设计中常见的数据关系类型,包括一对一、一对多和多对多关系,并通过Python操作MySQL数据库,展示了如何使用外键(foreign key)实现这些关系。通过拆分冗余数据,提高数据组织的清晰性和效率。文中还提供了创建和管理外键的SQL语句示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今日重点:外键 一对多

多对多

一对一

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

一、引言:

我们在同一数据库创建的表时候,很多时候会出现相同数据的冗余问题,也就是说几个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文件中,你应该怎么做?>>>解耦合!将上述一张表拆成员工和部门两张表ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值