2012-03-26 91 views
-1

對於這種情況,我有兩個類之間的一對多關係。我有一場游泳比賽,比賽可以有x名游泳選手。SQL未知屬性數

我該如何爲此創建一個SQL表格,我知道我將不得不在游泳比賽中使用游泳主鍵作爲外鍵,但我不知道如何表示正確數量的屬性,因爲它是未知的。

+1

爲什麼屬性的數量未知? – keyser 2012-03-26 16:58:16

+0

聽起來像你需要花更多時間在應用程序的設計/體系結構方面,然後再構建表... – 2012-03-26 17:00:28

+0

您的問題不是特定的。如果你想得到答案,那麼你需要具體解釋你的情況。請關閉這個問題。 – Ben 2012-03-26 17:02:15

回答

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) 
)