Veröffentlicht 30. September 200321 j Hallo Leute, ich habe folgendes Problem mit einem ER-Modell: Eine Datenbank hat zwei Tabellen 'Logfile' und 'Objekte'. Diese sind folgendermaßen aufgebaut: Tabelle Logfile ------------------ Server.Nr Client.Nr Daten Tabelle Objekt ------------------ Objekt.Nr Objekt.Art (Server oder Client) Objekt.Name Zu jedem Logfiledatensatz gibt es zwei Objektdatensätze. Einmal enthält der Objektdatensatz den Servernamen und einmal den Clientnamen. Die Beziehung wäre ja 'n zu m', da es zu jedem Logfile zwei Objektdatensätze gibt und jeder Objektdatensatze mehrmals in den Datensätzen der Logfiletabelle vorkommen kann. Jetzt mein Problem: Einmal wird der Objektdatensatz über die 'Server.Nr' ermittelt und einmal über die 'Client.Nr'. Wie muss ich im ER-Modell jetzt die Schlüssel in der Tabelle 'Logfile' kennzeichnen? Einmal ist es ja die 'Server.Nr' und einmal die 'Client.Nr'. MFG - oneside -
1. Oktober 200321 j Ich überlege grad, wenn du einen Kombischlüssel aus den beiden IDs machst, dann müsste der dann doch immer noch eindeutig sein, oder irre ich mich da? Kriterium für den Schlüssel wäre, dass einer der beiden Teile NULL sein darf, wenn immer nur eine ID von den beiden ankommt...
1. Oktober 200321 j Original geschrieben von Ganymed Kriterium für den Schlüssel wäre, dass einer der beiden Teile NULL sein darf, wenn immer nur eine ID von den beiden ankommt... Fuer einen Fremdschluessel geht das, fuer einen Primaerschluessel nicht. Ein Primaerschluessel muss in allen Teilen NOT NULL sein. Ein Fremdschluessel kann NULL enthalten.
1. Oktober 200321 j Ach so... Stimmt Wie dumm von mir... Tja, dann muss er wohl aus den zwei Tabellen drei machen Eine Für den Server, eine für den Client und eine für das File Tabelle Logfile1 ------------------ Server.Nr Daten Tabelle Logfile2 ------------------ Client.Nr Daten Tabelle Objekt ------------------ Objekt.Nr Objekt.Art (Server oder Client) Objekt.Name Dann die Logfile1 mit der Objektabelle verbinden und die Logfile2 mit der Tabelle verbinden
1. Oktober 200321 j das hab ich mir dann auch überlegt. ich hab das auch gleich so umgesetzt. das hat sich somit erledigt. vielen dank an euch! - oneside -
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.