2012-03-26 15 views
-1

Ich habe eine Eins-zu-viele-Beziehung zwischen zwei Klassen für diese Situation. Ich habe einen Schwimmwettbewerb und dieser Wettkampf kann x Schwimmer haben.SQL Unbekannte Anzahl von Attributen

Wie kann ich eine SQL-Tabelle dafür erstellen, ich weiß, dass ich den Primärschlüssel von Swimmers als Fremdschlüssel im Schwimmwettbewerb verwenden muss, aber ich habe keine Ahnung, wie man die richtige Anzahl von Attributen darstellt, da sie unbekannt ist .

+1

Warum ist die Anzahl der Attribute unbekannt? – keyser

+0

klingt wie Sie müssen etwas mehr Zeit auf dem Design/Architektur Aspekt der Anwendung vor dem Erstellen der Tabelle verbringen ... –

+0

Ihre Frage ist nicht spezifisch. Wenn Sie eine Antwort erhalten möchten, müssen Sie Ihre Situation genauer erklären. Bitte schließen Sie diese Frage. – Ben

Antwort

1

Dies wird als m: n-Beziehung bezeichnet und normalerweise mit einer Zuordnungstabelle gelöst.

Etwas wie folgt aus:

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