mysql关系模式怎么写_mysql表关系

表与表之间的关系

e534c632a0a6b65483d8a980e9270ba4.png

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

1.组织结构不清晰

2.浪费硬盘空间

3.扩展性极差"""

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

”””

确立表与表之间的关系 一定要换位思考(必须两方都考虑周全之后才能得出结论)

以员工表和部门表为例

先站在员工表看能否有多个员工对应一个部门

翻译过来:

一个部门能否有多个员工

可以!!!(暂时只能确定员工单向多对一部门)

再站在部门表看能否有多个部门对应一个员工

翻译过来:

一个员工能否属于多个部门

不可以!!!

结论:员工表和部门表之间仅仅是单向的多对一

那么它们的表关系就是"一对多"表关系中没有多对一一说,只有一对多

(无论是多对一还是一对多都叫"一对多")

””’

外键

"""通过我们的分析我们可以得到把一张表拆成两张表之后它们概念上的联系,那么我们要如何让这两张表有在代码层面上的真正关联,那么就要用到外键。

什么是外键?

让表与表有硬性物理层面上的联系。

foreign key

外键约束

1.在创建表的时候,必须先创建被关联表

2.插入数据的时候,也必须先插入被关联表的数据"""

一对多

44bb2795e23a0ef70554e4bff1e01c8e.png

#上代码来创建表#先建被关联表

create table dep(

id int primary key auto_increment,

dep_name varchar(32),

dep_desc varchar(128)

);#再建关联表

create table emp(

id int primary key auto_increment,

emp_name varchar(64),

emp_

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值