Also wenn ich euch richtig verstanden habe einen neuen PK für Straßen anlegen. Was kommt dann in Abschnitte rein?
Irgendwie Blick ich da gerde nicht durch.
Die normale Abschnitt:Strassen Beziehung wäre eine 1:n. (Eine Straße hat mehrere Abschnitte, ein Abschnitt gehört zu einer Straße)
Da aber Straßen zeitabhängig sein können wäre das wieder eine n:m (Ein Abschnitt kann dann zu zwei Straßen gehören, die eigentlich die selbe sind jedoch Zeitlich aufeinanderfolgend)
Das würde ich ja mit normaler n:m Beziehung hinbekommen
Strassen
ID:
GUID [PK]
GueltiVon: TDateTime;
GueltigBis: TDateTime;
Name: string;
Gruppe:
GUID
StrassenGruppen
StrasseID AbschnittID [beide PK]
Abschnitte
ID:
GUID [PK]
Nummer: Integer
Ist es genau das was ihr alle 3 beschrieben hattet, oder hatte jemand eine eine andere Möglichkeit beschrieben? Im Grunde geht mir dann ja die Information verloren welche Straßen zusammengehören. Da müsset ich dann normal wieder eine GruppenID einführen richtig? (Siehe oben) und Gruppe + GueltigVon wäre wieder UNIQUE.
Im Grunde kann ich da das Unqiue wieder rausschmeissen da über einen Trigger (bzw. Programm) geprüft werden müsste ob das Datum überhaupt möglich ist (keine Straßen in der selben Gruppe bei Datumsüberschneidung).