表与表之间的关系
"""把所有数据都存放于一张表的弊端
1.组织结构不清晰
2.浪费硬盘空间
3.扩展性极差"""
#上述的弊端产生原因类似于把代码全部写在一个py文件中,你应该怎么做?>>>解耦合!将上述一张表拆成员工和部门两张表!#类似的表关系学生与班级,也是如此,一张学生表和一张班级表
”””
确立表与表之间的关系 一定要换位思考(必须两方都考虑周全之后才能得出结论)
以员工表和部门表为例
先站在员工表看能否有多个员工对应一个部门
翻译过来:
一个部门能否有多个员工
可以!!!(暂时只能确定员工单向多对一部门)
再站在部门表看能否有多个部门对应一个员工
翻译过来:
一个员工能否属于多个部门
不可以!!!
结论:员工表和部门表之间仅仅是单向的多对一
那么它们的表关系就是"一对多"表关系中没有多对一一说,只有一对多
(无论是多对一还是一对多都叫"一对多")
””’
外键
"""通过我们的分析我们可以得到把一张表拆成两张表之后它们概念上的联系,那么我们要如何让这两张表有在代码层面上的真正关联,那么就要用到外键。
什么是外键?
让表与表有硬性物理层面上的联系。
foreign key
外键约束
1.在创建表的时候,必须先创建被关联表
2.插入数据的时候,也必须先插入被关联表的数据"""
一对多
#上代码来创建表#先建被关联表
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_