• MySQL之表的关系


    MySQL之表的关系

    表的关系:

    一对一:1:1

    eg:一个人只有一个身份证

    注:通过添加关键字段的方式来实现  一对一 关键字段加哪个都可以

    -- 方法一
    CREATE TABLE t_Person(
    id INT PRIMARY KEY AUTO_INCREMENT,
    uname VARCHAR(10)
    );
    
    CREATE TABLE t_card(
    id INT PRIMARY KEY AUTO_INCREMENT,
    start_time DATE,
    end_time DATE,
    pid INT UNIQUE, //关键字段 这个字段是惟一的
    FOREIGN KEY (pid) REFERENCES t_Person(id) //创外键保证数据的完整性和合法性  
    );
     -- 方法二
    CREATE TABLE t_card2(
    card_id INT PRIMARY KEY AUTO_INCREMENT,
    start_time DATE,
    end_time DATE,
    FOREIGN KEY (card_id) REFERENCES t_Person(id)
    );

    一对多:1:n

    eg:一个学生有多门成绩

    注:通过添加关键字段的方式来实现  一对多 关键字段要加在多的那个上面

    -- 一对多
    -- 一个学生有多门成绩
    CREATE TABLE t_student(
    id INT PRIMARY KEY AUTO_INCREMENT,
    uname VARCHAR(10)
    );
    
    CREATE TABLE t_scores(
    id INT PRIMARY KEY AUTO_INCREMENT,
    num INT,
    stu_id INT, //关键字段
    FOREIGN KEY (stu_id) REFERENCES t_student(id)
    );

    多对多:n:n

     eg:多个老师教多个学生

    注:通过添加关键字段的方式来实现  多对多 需要新建一个表  把两个关键字段都添加进去

    -- 多对多
    
    CREATE TABLE t_teacher(
    id INT PRIMARY KEY AUTO_INCREMENT,
    tname VARCHAR(10)
    );
    
    CREATE TABLE t_student(
    id INT PRIMARY KEY AUTO_INCREMENT,
    sname VARCHAR(10)
    );
    
    CREATE TABLE t_stu_tea(
    id INT PRIMARY KEY AUTO_INCREMENT,
    stuid INT, //关键字段
    teaid INT, //关键字段
    FOREIGN KEY (stuid) REFERENCES t_student(id),
    FOREIGN KEY (teaid) REFERENCES t_teacher(id)
    );
  • 相关阅读:
    AttributeError: 'DatasetV1Adapter' object has no attribute 'group_by_window'版本兼容问题解决
    Jupyter kernel管理
    AttributeError: module 'tensorflow_core._api.v2.nn' has no attribute 'rnn_cell' tensorflow版本兼容问题-解决
    在虚拟机Linux中安装VMTools遇到的问题-小结
    VuGen总结
    Controller控制器
    事物
    loadrunner参数化
    编写get和post请求
    loadrunner组成
  • 原文地址:https://www.cnblogs.com/whm1012/p/8494921.html
Copyright © 2020-2023  润新知