zoukankan      html  css  js  c++  java
  • 数据库中多对多关系及其实现

    事物A中的一条记录可以对应事物B中的多条记录,而事物B中的一条记录也可以对应事物A中的多条记录。例如:学校中,一个班级可以有多名任课老师,而一名老师可以教多个班级。这时,可以引入一个表C来模拟多对多关系。

    SQL语句:

    --班级表
    create table banji
    (
        banji_id int primary key,
        banji_num int not null,
        banji_name nvarchar(100)
    )
    
    --教师
    create table jiaoshi
    (
        jiaoshi_id int primary key,
        jiaoshi_name nvarchar(200)
    )
    
    --第三张表 用来模拟班级和教师的关系
    create table banji_jiaoshi_mapping
    (
        banji_id int constraint fk_banji_id foreign key references banji(banji_id),
        jiaoshi_id int foreign key references jiaoshi(jiaoshi_id),
        kecheng nvarchar(20),
        constraint pk_banji_id_jiaoshi_id primary key (banji_id,jiaoshi_id,kecheng)
    )
    
    
    --删除表
    drop table banji_jiaoshi_mapping

    数据库关系图:

    注:本文参考了郝斌老师的SQL教程,也加入了自己对SQL的一些理解,有写的不对的地方希望大家能够指出来。

  • 相关阅读:
    Maven配置始终获取最新版本
    使用SpringBoot
    SpringBoot文档综述
    35_方法的使用
    34_结构体指针类型的使用
    33_同名字段的使用
    32_匿名字段的使用
    31_结构体的使用
    30_map的使用
    29_猜字游戏
  • 原文地址:https://www.cnblogs.com/ZRBYYXDM/p/5250679.html
Copyright © 2011-2022 走看看