zoukankan      html  css  js  c++  java
  • 多表设计


    dept 表

    id name
    1 行政部
    2 财务部
    3 人事部
    4 销售部

    emp表

    id name dept_id(外键)
    1 芙蓉姐姐 1
    2 犀利哥 2
    3 春哥 3
    4 曾哥 3

    部门和员工是 1对多的关系

    外键约束:
    表是用来保存现实生活中的数据,而现实生活中数据和数据之间有一定的关系
    ,我们在使用表来存储数据时,可以明确的声明表与表之间的依赖关系,命令数据库
    来帮我们维护这种关系,向这种约束就是外键约束。

    1对多的关系:
    在多的一方保存一的一方的主键作为外键,以此保存两张表之间的关系

    1对1的关系:
    在一对一的关系中,在任意的一方保存另一方的主键作为外键

    多对多的关系: 老师和学生
    在多对多的关系中,需要设计一张第三方的关系表,保存两方的主键作为外键
    保存两者的对应关系

    create table dept(
    id int primary key auto_increment,
    name varchar(20)
    );
    insert into dept values(null, '财务部'),(null, '人事部'),(null, '销售部'),(null, '行政部');

    create table emp(
    id int primary key auto_increment,
    name varchar(20),
    dept_id int,
    foreign key(dept_id) references dept(id)
    );
    insert into emp values(null, '奥巴马', 1),(null, '哈利波特', 2),(null, '本拉登', 3),
    (null, 'zy', 3);

    insert into emp values(null, '三胖', 5); //插入失败

  • 相关阅读:
    游标cursor
    SQL: EXISTS
    LeetCode Reverse Integer
    LeetCode Same Tree
    LeetCode Maximum Depth of Binary Tree
    LeetCode 3Sum Closest
    LeetCode Linked List Cycle
    LeetCode Best Time to Buy and Sell Stock II
    LeetCode Balanced Binary Tree
    LeetCode Validate Binary Search Tree
  • 原文地址:https://www.cnblogs.com/superPerfect/p/4358215.html
Copyright © 2011-2022 走看看