事物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的一些理解,有写的不对的地方希望大家能够指出来。
时间: 2024-11-05 12:16:44