|NO.Z.00047|——————————|BigDataEnd|——|Java&MySQL多表/外键/数据库设计.V05|——|MySQL.v05|多表关系介绍|一对多关系|

一、多表关系设计
### --- 多表关系设计

——>        实际开发中,一个项目通常需要很多张表才能完成。
——>        例如:一个商城项目就需要分类表(category)、商品表(products)、订单表(orders)等多张表。
——>        且这些表的数据之间存在一定的关系,接下来我们一起学习一下多表关系设计方面的知识
表与表之间的三种关系
一对多关系: 最常见的关系, 学生对班级,员工对部门
多对多关系: 学生与课程, 用户与角色
一对一关系: 使用较少,因为一对一关系可以合成为一张表
二、一对多关系
### --- 一对多关系(1:n)
——>        例如:班级和学生,部门和员工,客户和订单,分类和商品

### --- 一对多建表原则
——>        在从表(多方)创建一个字段,字段作为外键指向主表(一方)的主键
三、sql语句
### --- sql语句

/*
    表与表之间的三种关系
        一对多关系(1:n 常见): 班级和学生 部门和员工
        多对多关系(n:n 常见): 学生与课程 演员和角色
        一对一关系(1:1 了解): 身份证 和 人
*/
-- 一对多关系 省表与市表

-- 创建省表 主表 一的一方
CREATE TABLE province(
    id INT PRIMARY KEY AUTO_INCREMENT,
    NAME VARCHAR(20),
    description VARCHAR(20)
);
-- 创建市表 从表 中 外键字段指向 主表的主键
CREATE TABLE city(
    cid INT PRIMARY KEY AUTO_INCREMENT,
    NAME VARCHAR(20),
    description VARCHAR(20),
    -- 创建外键 添加外键约束
    pid INT,
    FOREIGN KEY(pid) REFERENCES province(id)
);

 
 
 
 
 
 
 
 
 

Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
                                                                                                                                                   ——W.S.Landor

 

posted on 2022-04-05 13:38  yanqi_vip  阅读(22)  评论(0编辑  收藏  举报

导航