Privacy Policy Cookie Policy Terms and Conditions Relation (Datenbank) - Wikipedia

Relation (Datenbank)

aus Wikipedia, der freien Enzyklopädie

Im Kontext relationaler Datenbanken ist eine Relation eine zweidimensionale Tabelle, die zur Speicherung von Attributwerten einer Entitätsmenge benutzt wird. Wenn hingegen in einem Entity-Relationship-Modell von Relation die Rede ist, dann ist damit die (allgemeine) Beziehung (englisch Relationship) zwischen Objekten (hier die beteiligten Entitätstypen) gemeint. Zwar werden ER-Modelle häufig in einer Tabellenstruktur in einem relationalen Datenbanksystem realisiert, jedoch entspricht das Relationship im ER-Modell nicht einer Relation in einem DBMS. Die Umsetzung eines Relationships geschieht in der Regel durch ein Attribut, dessen Werte jeweils auf eine Zeile einer Relation im DBMS verweisen (Sekundärschlüssel).


[Bearbeiten] Relation in ER-Modellen

In einem Entity-Relationship-Modell ist eine Relation (englisch Relationship) eine semantische Beziehung bzw. ein Zusammenhang, der zwischen meist zwei Entitätsmengen besteht. Beziehungen werden immer benannt, in der Regel durch Verbformen wie ist-X oder hat-Y. Zum Beispiel existiert zwischen den Entitätsmengen Person und Automobil eine Beziehung ist-Besitzer-von oder in umgekehrter Leserichtung hat-als-Besitzer.

Beziehungen werden durch ihre Kardinalität näher beschrieben, wobei für beide Enden der Beziehung getrennt angegeben wird, mit wieviel Entitäten eine bestimmte Entität jeweils in Beziehung steht.

[Bearbeiten] Relation als Tabellen

Eine Zeile der Tabelle (Tupel) repräsentiert eine Entität, eine Spalte der Tabelle entspricht einem Attribut der Entität. Der Grad einer Relation bezeichnet die Anzahl der Spalten, die Mächtigkeit oder Kardinalität einer Relation entspricht der Anzahl der Zeilen.

Dabei ist eine n-stellige Relation eine Teilmenge des kartesischen Produkts von n Mengen A1, ..., An, die die Wertebereiche darstellen, die den n Attributen (Spalten der Tabelle) zugrunde liegen.

Eine Datenbanktabelle entspricht so anschaulich einer Relation. Die Spalten der Tabelle enthalten Werte aus der jeweiligen Wertemenge. Wäre eine Datenbanktabelle mit allen möglichen Werteausprägungen gefüllt, dann würde diese Tabelle das kartesische Produkt der Wertemengen für die Spalten darstellen. Normalerweise enthält eine Datenbanktabelle nur eine Auswahl der so möglichen Belegungen, sie stellt also eine Untermenge dieses kartesischen Produkts dar, nämlich eine Relation. Die einzelnen Zeilen repräsentieren dabei die Tupel, die in dieser Relation enthalten sind.

Eine Konsequenz daraus, dass die Belegung einer Datenbanktabelle so als Menge aufzufassen ist, ist die, dass die einzelnen Zeilen als Elemente dieser Menge anzusehen sind. Sie können somit entweder in der Menge (Tabelle) enthalten sein oder nicht - Von Anzahl und Position eines Elementes kann man hingegen nicht sinnvoll sprechen. Mit der üblichen Datenbankabfragesprache SQL ist es so zwar im Allgemeinen möglich, ein Element (d.h. eine Zeile mit einer bestimmten Wertebelegung) mehrfach in eine Tabelle einzufügen, ein solches Vorgehen ist aber sinnlos: mehrere Zeilen, die mit denselben Werten belegt sind, haben dieselbe Identität, und sind logisch voneinander nicht zu unterschieden.

[Bearbeiten] Siehe auch

Schema (Informatik)

Andere Sprachen

Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -