m:n und 1:n Beziehung?
Hallo ich schreibe in paar Stunden einen Informatiktest und verstehe irgendwie einfach nicht wie man m:n und 1:n Beziehungen in SQL darstellen soll...Tabelenname.PersonenID=...
Das weiß ich aber gehört das nur zu m:n? Wie macht man dann 1:n?
Ich hoffe ihr könnt mir helfen. :)
2 Antworten
m:n zum Beispiel beliebig viele Häuser können von beliebig vielen Personen besessen werden soweit ich mich erinnere wird dafür eine extra Tabelle angelegt die, in diesem Beispiel, die PersonID mit der HausID verknüpft.
1:n würde bedeuten das eine Person beliebig viele Häuser besitzen kann. Also muss in der Tabelle der Häuser eine Spalte angelegt werden die eindeutig auf die Person verweist die es besitzt.
SQL ist die Datenbanksprache, um Daten aus der Datenbank abzurufen oder zu schreiben bzw. zu manipulieren. Das hat mit einer 1:n oder m:n Beziehung nichts zu tun, denn das betrifft die Datenmodellierung, also in welcher Struktur die Daten in Tabellen abgelegt sind.
bei 1:n gibt es zu einer Entität keine, eine oder mehrere Einträge in einer anderen Entität. Der Kunde hat zB. eine Wohn- und eine Rechnungsadresse hinterlegt, also 2 Adressen zu einer Kundennummer. Modelliert heisst das, in der Adresstabelle wird die Kundennummer mitgeführt, so dass man durch diese auf die Kundenstammdaten zugreifen kann. (Im SQL über JOIN)
Ein Beispiel einer m:n Beziehung ist das Rechnungswesen. Eine Rechnung ID1234 führt m Artikel auf, vom Bleistift über Spitzer bis zum Geschenkpapier. Doch diese Artikel werden von vielen Kunden gekauft, also kommt der Bleistift auch auf der Rechnung mit ID8765 vor. In der Rechnungstabelle führt man alle Rechnungsrelevanten Daten, in der Artikeltabelle alle Artikelstammdaten (Bezeichnung etc.), und in der Dritten dann jeweils die Rechnungsnummer, die Artikelnummer und spezifische Zusatzangaben zB. zum vereinbarten Preis.