Diskussion:Relation (Datenbank)

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

Hallo,

der Artikel ist wirklich schlecht verstaendlich. Leider bin ich kein Informatiker, daher kann ich ihn nicht bearbeiten. Kann ihn trotzdem jemand in logisch richtiger Sprache formulieren?

Da ein Lexikonartikel also Antwort auf die Frage "Was ist ein ...?" gedacht ist, muss der erste Satz gleich einmal lauten: "Eine Relation ist ... ". Auf die Frage: Was ist ein Kuchen? lautet die Antwort ja auch: Ein Kuchen ist eine Suessspeise....

Der erste Satz verweist erst einmal darauf, dass der Artikel nicht zu verstehen seien wird, es sei denn man liest vorher einen anderen Artikel (der nicht zu verstehen sein wird, es sei denn, usw.). Der zweite Satz sagt noch einmal das gleiche, verweist aber auf einen weiteren Artikel. Der dritte Satz beginnt dann mit: Eine Relation besteht aus... Das ist in etwa genauso falsch wie die Antwort auf die Kuchenfrage: Ein Kuchen besteht aus Eiern, Mehl und Zucker. Die Frage lautet ja nicht: Woraus besteht eine Relation? Sondern: Was ist eine Relation?

Typische Wikipedia-Qualitaet! Es fehlt eben doch die Supervision durch Experten, die neben ihrem Expertenwissen auch noch ueber didaktische Faehigkeiten verfuegen (z.B. gute Uniprofessoren).

mfg (nicht signierter Beitrag von 88.106.227.135 (Diskussion | Beiträge) 15:17, 8. Mai 2010 (CEST))

hallo lieber mensch, als lernender der von wort zu wort stolpert würde ich es begrüssen wenn texte leicht verständlich geschrieben sind. worterkärungen sind wichtig und erleichtern das leseverständniss, aber mitten im text in klammern stören sie den Lesefluss und verwirren den Leser, daher hier mein vorschlag zur änderung.

Entity-Relationship-Modell im folgenden als ER-Modelle bezeichnet. (englisch Relationship = Beziehung)

Im Kontext relationaler Datenbanken ist eine Relation eine zweidimensionale Tabelle, die zur Speicherung von Attributwerten einer Entitätsmenge benutzt wird.


hallo, liebe Bearbeiter dieses Artikels,
kann der Verfasser des folgenden Passus seine Behauptung belegen? "Der Begriff Relation wird verwendet, weil die Schlüsselfelder in Relation zu den Nicht-Schlüssel-Feldern stehen. " Wenn nicht, dann werde ich in einer Woche den Passus streichen.
Gruß Thomas tzeh 15:01, 28. Jun 2005 (CEST)

Hallo, wieso bitte wurde die Texterweiterung von heute früh (Relationen in der Praxis der Softwareentwicklung) einfach so wieder gekillt - und dies gleich komplett und ohne Angabe von Gründen auf der Diskussionsseite? Das finde ich schon sehr merkwürdig. Es ist nunmal so, dass das Verständnis von Relationen in akademischer Theorie und IT-Alltag etwas auseinandergelaufen sind - das kann man doch nicht einfach negieren. Der heute ergänzte und nun wieder entfernte Text ist inhaltlich absolut korrekt - und entspricht exakt dem Verständnis einer Relation, wie er in nahezu der gesamten IT-Branche üblich ist, und nicht nur in Deutschland sondern auch international. Sämtliche ER-Modellierungswerkzeuge, Case-Tools, die Dokumentationen der RDBMS-Hersteller u.s.w. - alle gehen exakt von dem aus, was dort beschrieben ist/war. Die dort beschriebenen Relationsarten sind anerkannter Standard - jeder, der irgendwann mal was mit Datenbanken gemacht hat, kennt sie exakt so und nicht anders. Vielleicht mit anderen Bezeichnungen (z.B. "n zu 1" satt "many to one"), aber inhaltlich exakt so. Es gibt historisch gewachsen ca. 15 verschiedene Bezeichnungs- und Symbolsätze für die beiden Enden der Relation in diesem Sinne. Will da jemand behaupten, das sei alles Quatsch? Ich finde es schon irgendwie unpassend, das einfach alles zu ignorieren, und allein eine abstrakte akademische Begriffsdefinition zulassen zu wollen, die kaum ein Informatiker, geschweige denn ein Laie versteht. Also bitte zurückholen! Vom mir aus verbessern, falls was nicht korrekt sein sollte... --194.231.193.224 14:28, 31. Aug 2005 (CEST)

Hallo 194 usw.,

zunaechstmal sollte das kein Affront sein, auch wenn es vielleicht so aussehen mag. Ich hatte mehrere Gruende fuer die Aktion:

  1. Nur weil ein Teil der Benutzer die Defintion falsch verwendet, ist es kein Grund dieses als richtig zu postulieren und dem Unsinn damit auch noch Vorschub zu leisten. Dies hier ist schliesslich eine Enzyklopaedie!
  2. Aus der Historie des Artikels kannst Du entnehmen, dass sowas schon mal hier stand und bereits abgelehnt wurde.
  3. Ein grosser Teil von dem, was Du geschrieben hast gehoert in Kardinalität (Datenbanken) oder ER-Modell oder Relationale Algebra.
  4. Ich hatte jetzt nicht die Zeit, selektiv die guten Dingen aus Deinem Text herauszufiltern. Aber wegen Punkt 1 kann der Text so nicht bleiben. Daher der Revert.
  5. Ich halte es fuer sinnvoll, einen Absatz ueber das Missverstaendnis zum Begriff zu schreiben. Aber es sollte dringend auch als Missverstaendis gekennzeichnet sein.

Also bitte hab Verstaendis dafuer, wenn ich Deine Version nicht wiederherstelle. Von mir aus koennen, die richtigen Teile aus der Historie wieder reingeschrieben werden. Viele freundliche Gruesse -- sparti 15:25, 31. Aug 2005 (CEST)

Teilweise Zustimmung: ich hatte z.B. übersehen, dass einige Teile unter Kardinalität schon sehr ausführlich beschrieben sind. In der Hauptfrage stellt sich aber die Frage nach der "Absoluten Wahrheit". Gerade weil es eine Enzyklopädie ist, müssen unterschiedliche Interpretationen/Benutzungen eines Begriffs erklärt werden, vor allem dann, wenn das Verständnis der Mehrheit noch fehlt. Wenn ein DAU in der jetzigen Fassung nachschaut, was eine Relation ist, und auf die jetzige mathematisch-abstrakte Definition stößt, wird er völlig verwirrt. Unter anderem auch dadurch, dass man in diesem Kontext unter "Tabelle" meist eine Daetnbanktabelle meint. Wenn er dann liest, eine Relation sei eine Tabelle, dann führt in das wohl in die Irre. --> Also zumindest müsste man im jetzigen Text klarstellen, dass "Tabelle" hier in einem anderen Sinn gemeint ist, z.B. "Wenn man die Werte tabellarisch aufschreiben würde, dann wäre diese Tabelle....." oder so ähnlich. Und dann im Weiteren mein Vorschlag zur Güte:

  1. Umbennen des jetzigen Artikels von "Relation (Datenbanktechnik)" zu "Relation (Datenbanktheorie)". Dann ist das völlig korrekt, zumal auf der Relationen -Einführungsseite ja ausdrücklich und korrekt daraufhingewiesen wird, dass es sich hierbei um eine Anwendung des mathematischen Relationsbegriffs handelt.
  2. Auf der Einführungsseite eine weitere Verzweigung zu "Relation (Datenbankentwurf in der Praxis)" oder so ähnlich. Der wieder herausgeworfene Text könnte nach einer kleinen Überarbeitung/Kürzung/Begriffsanpassung dafür die Basis bilden und so sehr gut als Einführungs-Artikel für Praktiker dienen und von dort auf die jeweils detaillierteren Darstellungen unter Kardinalität (Datenbanken) und ER-Modell verweisen.
  3. Ferner sollten natürlich beide parallele Artikel aufeinander verweisen, jeweils mit dem entsprechenden Abgrenzungs-Hinweis.

So OK? --194.231.193.224 10:24, 1. Sep 2005 (CEST)

Also unterscheiden wir doch mal die beiden Begriffe, um die es hier geht genauer:

  1. Die mathematische Relation (Mathematik) aus der Relationalen Algebra.
  2. Eine Beziehung zwischen Relationen, die oft auch als in Relation zueinander stehen bezeichnet wird. Biese Redewendung, meint Relation aber nicht im mathematischen Sinne!

Zu 1.: es geht also um diesen Artikel. Hier denke ich, dass eine leicht verstaendliche Erklaerung sehr wuenschenswert waehre. Die jetztige ist recht abstrakt und verwirrend. Ausserdem sollte hier eine klare Abgrenzung zur falschen Verwendung des Relationenbegriffs stehen. Eine Umbennnung in Datenbanktheorie halte ich nicht fuer wesentlich, da meiner Ansicht nach der Begriff Datenbanktechnik, bereits die Implementierung von Datenbanksystemen - also nicht deren Anwendung beinhaltet. Damit ist auch bereits die Naehe zur Theorie gegeben.
Zu 2.: Hier reicht voellig eine Begriffsklaerung aus, die es bei Relation (im praktischen Sprachgebrauch der Softwareentwicklung eine Beziehung zwischen zwei Datenbanktabellen, siehe Relation (ER-Modell)) bereits gibt.

Am Ende kannst Du alles so schreiben, wie Du es fuer gut befindest, solange es nur inhaltich korrekt ist. Und in der Mathematik, ist richtig oder falsch eben keine Interpretationsfrage. Wenn wuerde ich den Artikel uebrigens Datenbankentwurf nennen und Du musst sehr aufpassen, dass der dann nicht als Duplikat von ER-Modell unter die Raeder kommt.

Vielleicht kann sich ja auch nochmal ein Dritter dazu auessern? Gruss -- sparti 13:57, 3. Sep 2005 (CEST)

1. Ich habe mich mal an einer leicht verständlichen Erklärung versucht. Ich hoffe, es ist hilfreich.
2. Die Beziehungen in ER-Modellen heissen "relationships", was nicht mit "Relation" übersetzt wird, sondern mit "Beziehung". Auch wenn man oft in diesem Sinne von "Relation" spricht, wenn man "Beziehung" meint (das passiert mir auch immer wieder), dann ist das falsch und verwirrend, und trägt zum Verständnis nichts bei. Insofern denke ich, dass das dieser Sprachgebrauch hier nicht am Platz ist, stattdessen sollte eher ein Hinweis auf den missverständlichen Gebrauch des Wortes hinkommen. Und ausserdem sollte m.E. die Seite Relation_(ER-Modell) (die auf Relationship (Informatik) weiterleitet) entfernt werden. -- Daniel Paul Schreber 13:07, 15. Feb 2006 (CET)

Ich habe aus diesem Grund jetzt einen Löschantrag für Relation_(ER-Modell) gestellt. -- Daniel Paul Schreber 12:41, 16. Feb 2006 (CET)

==Korrekturen Habe einige begriffliche und inhaltliche Korrekturen vorgenommen. 1. Eine Relation ist kein Speicher, sondern eine Menge von Datensätzen. 2. Ungenaue, unvollständige und z.T. falsche Darstellung der Abbildung eines ER-Diagramms auf ein relationales Schema gelöscht. 3. Falsche Formulierung zum kart. Produkt korrigiert Bemerkung: Ist es wirklich sinnvoll zwei völlig verschiedene Dinge in einem Artikel zu beschreiben? Ich meine nicht. JohnTB 09:15, 5. Jun. 2007 (CEST)

Weitreichende Überarbeitung[Quelltext bearbeiten]

Hoffe, daß ich jetzt keinem auf die Füße trete, aber nachdem ich mich gerade intensiver mit der Materie beschäftigt habe (siehe das genannte Buch von C. J. Date), erschien mir der Inhalt zum Teil unklar und irreführend. Dementsprechend habe ich nochmal versucht herauszustellen, was unter einer Datenbankrelation zu verstehen ist, und Begriffe, die hier nicht hingehören (Entität, Relationship), ins rechte Licht gerückt. Ich weiß, daß es in vielen Büchern falsch dargestellt wird - auch ich zeichnete mich bis vor kurzem durch Halbwissen auf diesem Gebiet aus. Aber die Definition von Codd ist nun einmal glasklar, leider sind da mit den Jahren eine ganze Menge halbwahrer und falscher Begriffe sowie Verständnisfehler hinzugekommen. Das ist natürlich auch den Datenbankherstellern anzulasten. Ich kann jedem nur das Buch von Date empfehlen. Denn wie er zeigt, führt eine klare Definition zu mehr Freiheiten bei der Strukturierung von Daten. Siehe hierzu auch den guten Artikel in der englischsprachigen Wikipedia.[1]
Eins noch: Am Ende finden sich zwei Absätze aus der letzten Version. Da ich hier nichts falsches entdecken konnte, habe ich sie erstmal stehen gelassen. Aber sie stehen nicht so richtig in Verbindung zum Rest des Artikels. Wollte man einen umfangreichen Artikel zur Datenbankrelation schreiben (der könnte dann locker 2-3x so lang werden), so könnten diese beiden Absätze zwei der vielen Aspekte erläutern. Im Moment fallen sie mit ihrer Detailgenauigkeit ein wenig heraus, wie ich finde. Im großen und ganzen handelt es sich ja nur um eine sehr knappe Beschreibung des Konzepts von Datenbankrelationen. Ich denke, da sollte man sich auf das Wesentliche konzentrieren.
ElectricSurfer 12:08, 4. Mai 2008 (CEST)

Hallo ElectricSurfer,
also ich glaube nicht, dass sich jemand auf die Fuesse getreten fuehlt. Aber ich bin nicht so sicher, ob der Artikel wirklich besser geworden bist.
Es geht damit los, dass im ersten Satz das Lemma nicht erklaert wird. Stattdessen wird ein mathematisch unerfahrener Leser sofort abgeschreckt, weiter zu lesen.
Die BKL ist auch nicht verstaendlicher geworden.
Der Absatz Relation als Tabelle ist da zwar etwas hilfreicher, aber kommt doch recht spaet. Ausserdem wird dort das Konzept des Fremdschluessels eingefuehrt, ohne es weiter zu erlaeutern.
Die folgenden Erklaerungen zu Irrtuemern und Vermutungen sind in einer Enzyklopaedie gaenzlich zu vermeiden. Wer soll denn diesen Irrtum begangen haben?
Das Zitat mit dem Vergleich von ER und Relationenschema sind hier voellig aus dem Kontext gerissen und dient allenfalls zur Verwirrung.
Und dann Gäbe es in der Datenbanktabelle für jede mögliche Kombination von Attributwerten eine eigene Zeile, dann würde diese Tabelle das kartesische Produkt der Wertemengen für die Spalten darstellen. Normalerweise enthält eine Datenbanktabelle nur eine sehr kleine Teilmenge der möglichen Tupel, sie stellt also eine Untermenge dieses kartesischen Produkts dar.. Was soll das hier? Das gehoehrt wenn ueberhaupt in die Relationale Algebra.
Sofern es zuvor ueberhaupt Fehler im Artikel gab, so sind jetzt eine Menge Andeutungen, Vermutung und Halbwahrheiten hinzugekommen. Um ehrlich zu sein, empfehle ich so einen Revert. -- sparti 22:37, 4. Mai 2008 (CEST)

Relationen als Tabellen[Quelltext bearbeiten]

Hallo! Kann man irgendwie das ERM mit dem relationalen Datenmodell verstehbar in Einklang bringen? Ich kommentiere mal Satz für Satz:

»Im Zusammenhang mit relationalen Datenbanken ist es üblich, eine Relation durch eine Tabelle zu beschreiben. In Tabellenform entsprechen die Attribute den Spaltenköpfen, die Attributwerte den in den Spalten vorhandenen Einträgen. Ein Tupel entspricht einer Zeile einer Tabelle.«

gut, hier verstehe ich: eine Relation läßt sich als Tabelle darstellen.

»Sowohl der Zusammenhang von Attributen bzw. Attributwerten innerhalb einer Tabelle, als auch eine Verknüpfung von Tabellen durch Fremdschlüssel, stellen eine Relation dar.« 

verstehe ich nicht. So eine Verknüpfung besteht doch aus genau 2 Werten: der eine sagt: "Dieses ist die Primärschlüsselspalte", der andere: "Jenes die Fremdschlüsselspalte". Wieso ist das jetzt auch eine Relation? Eine Relation enthält doch eine variable anzahl von Tupeln, eine Beziehung dagegen ist genau ein Wertepaar (Primärschlüsselspalte - Fremdschlüsselspalte)?

»Zu Irrtümern führt vermutlich die Verbreitung der Terminologie von ER-Modellen. Dort werden die Begriffe Entitäten (Entities) und Beziehungen (Relationships) gebraucht. Der Irrtum besteht darin, Entitäten und Beziehungen prinzipiell zu unterscheiden. Im Prinzip sind aber sowohl Entitäten als auch Beziehungen als Relationen zu betrachten.«

Die Unterscheidung finde ich ausserordentlich notwendig, wie gesagt: ich kann mir gar nicht vorstellen, wie man Beziehungen und Entitäten in einen topf werfen kann.

»Eine Beziehung zwischen zwei Tabellen stellt ja mit dem Zusammenführen von zwei Relationen letztlich nur eine Vergrößerung der Anzahl an Elementen dar. Betrachtet man eine Beziehung als Relation, so stellen sich ihre Elemente als die Vereinigung der Elemente der beiden verknüpften Relationen dar.«

Das ist nur eine Form, wie man Beziehungen nutzen kann - mehrere Tabellen joinen. Zb. kann man aber auch anhand der Beziehung zu einem Datensatz mit Fremdschlüssel den zugeordneten Datensatz mit Primärschlüssel aufsuchen.

»Während ER-Modelle bei der Entwicklung eines Datenbankschemas hilfreich sein können, eignet sich das relationale Datenmodell mit seiner relationalen Algebra besser für die grundsätzliche Strukturierung von Daten.«

kann man das irgendwie belegen? Ist mit "grundsätzliche Strukturierung von Daten" vlt. was anderes gemeint, als was ich mache, wenn ich ein ERM entwerfe?

Also ich glaub, der Irrtum besteht hier im Artikel, nämlich dass der Begriff „Relation“ aus der relationalen DB-Theorie mit dem Begriff „Relationship“ aus dem ERM durcheinander gebracht wird.

ErfinderDesRades 19:54, 1. Mai 2010 (CEST)