对于这种情况,我在两个班级之间有一对多的关系。我有一个游泳比赛,那场比赛可以有x个游泳运动员。
我如何为此创建一个SQL表,我知道我将不得不在游泳比赛中使用Swimmers的主键作为外键,但我不知道如何表示正确数量的属性,因为它是未知的。
答案 0 :(得分:1)
这称为m:n关系,通常用映射表解决。
这样的事情:
create table swimmer
(
id integer not null primary key,
lastname varchar(100) not null,
firstname varchar(100)
)
create table competition
(
id integer not null primary key,
name varchar(50) not null,
comp_date date not null
)
create table participant
(
swimmer_id integer not null,
competition_id integer not null,
rank_in_competetion integer,
primary key (swimmer_id, competition_id),
constraint fk_participant_swimmer (swimmer_id) references swimmer(id),
constraint fk_participant_competition (competition_id) references competition(id)
)