von BlackHell » So, 19.11.2006 20:58
Ich muß eine Immobilien-Datenbank erstellen die aus folgenden Tabellen besteht:
Objekte, Mieter, Eigentümer, Miteigentümer, Bank, Interessenten, Amtsgerichte.
Da ich schon sehr lange nichts mehr in Sachen Datenbanken gemacht habe, fällt es mir schwer, die richtigen Relationen zwischen den Tabellen herzustellen.
Zuerst habe zB. die Amtsgerichte mit einer ID versehen (Zahl, inkrementel, Auto-Wert) und wollte diese mit der Spalte Amtsgericht (Text [varchar] hab auch Zahl probiert) 1:n verknüpfen, da ein Amtsgericht ja für mehrere Objekte zuständig sein kann. Das funktioniert alles leider nicht. Ebenfalls den Primärschlüssel bei der Tabelle Amtsgerichte auf die Namen der Amtsgerichte zu setzen, funktioniert nicht.
Zudem benötige ich eine 1:1 Relation zwischen eigentümer und Objekt. Soweit ich aber herausgefunden habe, machte er nur 1:1 Relationen wenn man Primärschlüssel zu Primärschlüssel in Beziehung setzt.
Ich wäre für einen oder mehrere Winke mit dem Zaunpfahl dankbar.
Zudem fällt mir auf, das bei einer 1:n Beziehung die 1 immer bei der Tabelle ist, von der der Primärschlüssel stammt. Ich hab jetzt nur den Fall, das ein Objekt mehrere Mieter und auch mehrere Miteigentümer haben kann. Nun könnte ich Mieter und Miteigentümer in der Objekt-tabelle als Primärschlüssel definieren. Das ist aber denkbar die schlechteste Idee.
D.h. ich muß die ID bei den Mietern und Miteigentümern als Primärschlüssel festsetzen und mit dem Feld in der Objekt-Tabelle verknüpfen. Jetzt ist aber in diesem Fall der Primärschlüssel ein Increment und das Zielfeld eigentlich ein Text. Ich weiß, das es die Möglichkeit gibt, die Relation trotzdem herzustellen, indem man auch in der Objekt-Tabelle die Mieter und Miteigentümer als Zahl auswählt. Nur muß dann im Formular gewährleistet sein, das immer der Name ausgewählt wird und man muß natürlich auch bei neuen Objekten, die Mieter und Miteigentümer per Namen eingeben können.
Mir ist ebenfalls aufgefallen, das, nachdem ich bei einer Tabelle die Spalte ID (die ich als Primärschlüssel definierte) gelöscht hatte und den Primärschlüssel einer Text (varchar) Spalte geben wollte, das er das einfach nicht gemacht hat. Lege ich dagegen eine neue Tabelle an und geb den Primärschlüssel gleich dem Text (varchar) Feld, funktioniert es.
Ich muß eine Immobilien-Datenbank erstellen die aus folgenden Tabellen besteht:
Objekte, Mieter, Eigentümer, Miteigentümer, Bank, Interessenten, Amtsgerichte.
Da ich schon sehr lange nichts mehr in Sachen Datenbanken gemacht habe, fällt es mir schwer, die richtigen Relationen zwischen den Tabellen herzustellen.
Zuerst habe zB. die Amtsgerichte mit einer ID versehen (Zahl, inkrementel, Auto-Wert) und wollte diese mit der Spalte Amtsgericht (Text [varchar] hab auch Zahl probiert) 1:n verknüpfen, da ein Amtsgericht ja für mehrere Objekte zuständig sein kann. Das funktioniert alles leider nicht. Ebenfalls den Primärschlüssel bei der Tabelle Amtsgerichte auf die Namen der Amtsgerichte zu setzen, funktioniert nicht.
Zudem benötige ich eine 1:1 Relation zwischen eigentümer und Objekt. Soweit ich aber herausgefunden habe, machte er nur 1:1 Relationen wenn man Primärschlüssel zu Primärschlüssel in Beziehung setzt.
Ich wäre für einen oder mehrere Winke mit dem Zaunpfahl dankbar.
Zudem fällt mir auf, das bei einer 1:n Beziehung die 1 immer bei der Tabelle ist, von der der Primärschlüssel stammt. Ich hab jetzt nur den Fall, das ein Objekt mehrere Mieter und auch mehrere Miteigentümer haben kann. Nun könnte ich Mieter und Miteigentümer in der Objekt-tabelle als Primärschlüssel definieren. Das ist aber denkbar die schlechteste Idee.
D.h. ich muß die ID bei den Mietern und Miteigentümern als Primärschlüssel festsetzen und mit dem Feld in der Objekt-Tabelle verknüpfen. Jetzt ist aber in diesem Fall der Primärschlüssel ein Increment und das Zielfeld eigentlich ein Text. Ich weiß, das es die Möglichkeit gibt, die Relation trotzdem herzustellen, indem man auch in der Objekt-Tabelle die Mieter und Miteigentümer als Zahl auswählt. Nur muß dann im Formular gewährleistet sein, das immer der Name ausgewählt wird und man muß natürlich auch bei neuen Objekten, die Mieter und Miteigentümer per Namen eingeben können.
Mir ist ebenfalls aufgefallen, das, nachdem ich bei einer Tabelle die Spalte ID (die ich als Primärschlüssel definierte) gelöscht hatte und den Primärschlüssel einer Text (varchar) Spalte geben wollte, das er das einfach nicht gemacht hat. Lege ich dagegen eine neue Tabelle an und geb den Primärschlüssel gleich dem Text (varchar) Feld, funktioniert es.