Ilja: Access

Beitrag lesen

yo,

Doch ich bekomme das nicht hin mit mehr als 2 Tabellen und deren Beziehungen.

in einer datenbank stehen die unterschiedlichen objekte in beziehungen miteinander. dabei betrachtet man immer beide richtungen zweier objekte. man geht zuerst von dem ersten objekt (sagen wir ein Buch) aus, und beschreibt seine beziehung zu dem zweiten objekt (Buchgruppe). danach geht man von objekt zwei aus, und beschreibt seine beziehung zu objekt eins. durch diese zwei unterschiedlichen betrachtungswinkel kommen wie bei dem menschen auch,  unterschiedliche ergebnisse zu tage.

beide sichtweisen werden nun genommen und eingeordnet, um den Typ der Beziehung zwischen den beiden objekten festzulegen. vereinfacht dargestellt gibt es drei arten von beziehungen unter den objekten (tabellen), wobei das ":" dafür dient, die unterschiedlichen betrachtungsrichtungen voneinander zu trennen.

1:1, wir recht selten vorkommen, da man in den meisten fällen solche objekte zusammenführen kann. um das obene gannten objekt buch wieder aufzugreifen. ein buch besitzt folgende eigenschaften titel, seitenzahl, etc. die isbn nummer wird nun aber in eine extra tabelle(objekt) gespeichert. zwischen den beiden tabellen gibt es nun eine 1:1 beziehung. jedes buch hat genau eine isbn nummer in der zweiten tabelle. und jede isbn nummer hat genau ein zugehöriges buch in der buchtabelle. sicherlich wäre es sinnvoller, die isbn nummer gleich in die tabelle buch als eigenschaft mit reinzunehmen. deswegen gibt es diese art der beziehung auch recht selten.

1:n, dieser typ von beziehungen kommt doch recht häufig vor. das oben genanten beispiel mit den büchern ist eine 1:n beziehung. ein buch gehört zu einer buchgruppe (zum beispiel Liebesromane), auf der anderen seite kann eine buchgruppe mehrere bücher beinhalten. damit ich klar, es handelt sich um eine 1:n beziehung.

n:m, bei diesem beziehungstyp, kann sowohl das eine als auch das andere objekt mehrere beziehungen zu dem jeweils anderem objekt besitzen. klingt erst einmal kompliziert, ist es aber nicht. nehmen wir unser buchbeispiel und erweitern es. was bleibt ist, dass jede buchgruppe mehrere bücher beinhalten kann. zusätzlich kann aber nun jedes buch auch mehreren buchgruppen angehören, sprich, ein buch ist sowohl in der buchgruppe für medizin, als auch in der buchgruppe für geisteswissenschaften. nun haben wir eine n:m beziehung zwischen büchern und buchgruppen.

jetzt kommt der interessante teil, nämlich wie bildet man solche beziehungstypen in relationalen (tabellen) datenbanksystemen ab.

bei der 1:1 beziehung kann man sowohl in der ersten tabelle (buch) einen schlüssel haben, der auf die entsprechende isbn in der zweiten tabelle verweist. man kann diesen schlüssel aber auch in die isbn tabelle nehmen, der dann auf das buch verweist. hier hat man die wahl. aber wie gesagt, das komtm recht sleten vor.

bei den 1:m beziehungen bildet man es ebenfalls über einen schlüssel ab. aber diesmal haben wir nicht die wahl, in welche tabelle wir ihn tun, sondern der schlüssel kommt immer in die tabelle, welche die "1er beziehung" besitzt. in unserem fall wäre es die buch tabelle, die auf die buchgruppe verweist.

nun wird es endlich spannend und ich komme nach langen anlauf auf deine frage zurück. bei einer m:n beziehung raicht uns ein schlüssel nicht mehr, um die beziehung in den tabellen abzubilden. wir brauchen genau zwei schlüssel dafür. diese werden nicht etwa in den jeweiligen tabllen (buch, buchgruppe) untergebracht, sondern in einer extra tabelle, auch beziehungstabelle genannt. wir haben als bei einem n:m beziehungstyp immer drei tabellen. un genau in dieser dritten tabelle kommen nun beide schlüssel rein. der eine verweist auf die buch tabelle, der andere auf die gruppe. somit ist es un möglich, dass wir jeden buch beliebig viele buchgruppen zuordnen können. und auf der anderen seite jede buchgruppe beliebig viele bücher beinhalten kann.

ich hoffe, das war ein wenig verständlich und nicht noch mehr verwirrend.

Ilja