In allen DBMS (Datenbankmanagementsystemen)Es gibt verschiedene Arten von Beziehungen zwischen Tabellen. Darunter befinden sich Eins-zu-Eins-, Eins-zu-Viele-, Viele-zu-Eins-Beziehungen (einige tendieren dazu, diese beiden Typen in eine zu unterteilen) und Viele-zu-Viele-Beziehungen. Ein Beispiel für Letzteres, seine Erklärung und Anwendung in verschiedenen DBMSs, wie Access oder SQL, wird in diesem Artikel behandelt.
Eine Viele-zu-Viele-Beziehung ist definiert alsKorrespondenz mit einer der Instanzen einer der Entitäten aller Instanzen der anderen. Mit anderen Worten, jedes Feld aus der ersten (zweiten) Tabelle ist allen Feldern aus der zweiten (ersten) Tabelle zugeordnet.
Das vorgestellte Schema spiegelt deutlich das Wesentliche dieser Beziehung wider.
Ein Beispiel für viele-zu-viele-Kommunikation ist der StudentGruppe und Gruppe von Lehrern. Jeder Student lernt von mehreren Professoren gleichzeitig, die wiederum vor mehreren Studenten Vorlesungen halten. Das Bild zeigt den Unterschied zwischen einer zu vielen und einer zu vielen Beziehung.
Viele-zu-viele-Beziehungen werden oft benötigt, wennBeim Zusammenstellen großer Datenbanken werden kleine Anschauungsbeispiele in der Regel nur für Bildungszwecke verwendet. In der Praxis stellt sich jedoch heraus, dass je mehr Entitäten in der Datenbank vorhanden sind und je mehr Beziehungen zwischen ihnen bestehen, desto wahrscheinlicher ist es, dass viele-zu-viele-Beziehungen angesprochen werden.
Beispiele für die fragliche Beziehung werden noch seinEs ist jedoch wichtig, nicht nur zu verstehen, was es ist, sondern auch, wie es implementiert werden kann. Die Details dieses Prozesses hängen direkt vom für den Betrieb ausgewählten DBMS ab, während das Prinzip für alle gleich bleibt.
Microsoft Office-Softwareauf dem Softwaremarkt seit geraumer Zeit bekannt. Es wird mit einem Worfd-Texteditor, einem Excel-Tabellenkalkulationsprogramm und anderen Funktionen in der Office-Reihe geliefert. Sie können Access (gelesen als "access", die wörtliche Übersetzung lautet "access") und getrennt von den "Kollegen" erwerben. Es wird natürlich empfohlen, lizenzierte Software zu kaufen, aber es ist für niemanden ein Geheimnis, wie viele Raubkopien in Form von normalen Dateien oder Torrent-Distributionen im Web zu finden sind. Microsoft Access ist auch in einer portablen Version verfügbar. Es erfordert keine Installation und keine speziellen PC-Kenntnisse und ist am besten geeignet, um zu entscheiden, ob die Software längere Zeit und häufig nicht verwendet wird.
Aus dem Kontext geht hervor, dass Microsoft AccessDatenbank-Management-System. Und einer der beliebtesten. Es ist relational, dh es basiert auf einem logischen Datenmodell, das sich im Laufe seiner Arbeit der Mengenlehre und der Logik erster Ordnung zuwendet. Die Viele-zu-Viele-Beziehung in Access (Beispiele werden bei der Erläuterung angegeben) ist sehr, sehr einfach implementiert. Betrachte sie.
Um nichts Neues zu erfinden, nehmen wirangegeben, um die Viele-zu-Viele-Beziehung zu verdeutlichen, ein Beispiel über Studenten. Es ist notwendig, die Tabelle "Schüler" und die Tabelle "Lehrer" zu erstellen. Sowohl der erste als auch der zweite von ihnen haben Primärschlüssel. Um Instanzen dieser beiden Entitäten zu verbinden, ist außerdem eine weitere Tabelle erforderlich, deren Felder die Schlüssel der ersten und zweiten Tabelle sind.
Wenn Sie sich ein anderes Beispiel ansehen:Bei spielern und teams (vorausgesetzt, mindestens einer der spieler hat für verschiedene teams gespielt und jedes team hat elf spieler) ändert sich die Essenz des aufbaus einer Verbindung nicht. Drei Tische werden ebenfalls benötigt. Von diesen sind "Fußballer" und "Mannschaften" die wichtigsten und eine Zwischenstufe.
Beziehungen zwischen Tabellen im Microsoft Access-DBMSimplementiert über die Registerkarte "Datenschema". Alle erforderlichen Entitäten werden zum angezeigten Bereich hinzugefügt (in unserem Fall alle drei Tabellen). Die Viele-zu-Viele-Beziehung wird unter Verwendung von zwei Eins-zu-Viele-Beziehungen zwischen den Hauptbeziehungen (Schüler und Lehrer) und der Zwischentabelle erstellt. Dazu müssen die entsprechenden Primärschlüssel verschaltet werden.
Die obige Abbildung zeigt, wie die Registerkarte "Beziehungen" aussieht. Die Anzahl der dem Panel hinzugefügten Tabellen ist unbegrenzt. Der Standort ist vollständig vom Benutzer einstellbar.
SQL-Datenbankdesign - Eine Herausforderunghärter als auf "Access". Wenn das Microsoft-Produkt vollständig an die Office-Umgebung angepasst ist, über eine umfangreiche und mit jeder Veröffentlichung und Aktualisierung erweiterbare Funktionalität verfügt und gleichzeitig für die einfache Benutzeroberfläche praktisch ist, ist SQL eine separate, nicht prozedurale Programmiersprache, die auf verschiedenen Plattformen verwendet werden kann Sie können mit Datenbanken arbeiten. Bekannte Software für diese Aufgabe: Oracle MySQL und DB2 (beliebt, aber nicht einzigartig). Trotz der Tatsache, dass jede von ihnen ihre eigenen Feinheiten und Nuancen hat, "vereint" die SQL-Sprache sie. Wenn Sie gelernt haben, mit mindestens einem von ihnen zu arbeiten, wird es viel einfacher sein, mit dem anderen umzugehen.
Erstellen, Auffüllen und Leiten von AktionenÜber eine vorhandene Datenbank in SQL benötigen Sie spezielle Codes oder Skripte. Diejenigen, die bereits den Abschnitt "Viele-zu-viele-Kommunikation" erreicht haben, wofür im Folgenden ein Beispiel in dieser Programmiersprache angegeben wird, sollten zumindest die grundlegenden Befehle und Prinzipien für die Verwendung der SQL-Sprache kennen.
Eine lange Einführung könnte etwas verwirrend sein und"lass den Nebel", aber in Wirklichkeit ist das Prinzip der Kommunikation dasselbe. Damit der Many-to-Many-Beziehungstyp nicht nur in Access, sondern auch in SQL umgesetzt werden kann, müssen zunächst zwei Basistabellen und eine Zwischentabelle erstellt werden. Ähnlich ist die Situation bei den Schlüsseln: Die Hauptentitäten haben Hauptfelder, von denen jedes in die Verknüpfungstabelle geschrieben wird. Dies bedeutet, dass sich die Many-to-Many-SQL-Verbindung nicht grundlegend von "Access" unterscheidet.
Viele-zu-viele-Kommunikation in Skripten implementierenSQL verwendet Fremdschlüssel (FOREIGN KEY) ähnlich den Quellschlüsseln in den Haupttabellen. Sie werden zusammen mit allen Feldern aufgezeichnet, wenn sie erstellt und / oder bearbeitet werden.
Im Allgemeinen Beziehungen zwischen Entitäten in Datenbankenfür die Integrität der in ihnen gespeicherten Informationen verwendet. Nur eine gut gestaltete Datenbank mit allen erforderlichen Verbindungen garantiert Speichersicherheit, Benutzerfreundlichkeit und ist eine Struktur, die gegen äußere Einflüsse und Änderungen resistent ist. Wenn die Datenbank Daten über die gesamte Organisation, Firma oder Firma enthält, enthält sie normalerweise viele Entitäten mit unterschiedlichen Instanzen.
Und das bedeutet, dass beim Kompilieren eines Datenschemas (in"Access") oder Scripting (in "Oracle" oder "DiBiTu") wird es mindestens eine Viele-zu-Viele-Beziehung geben. Ein Beispiel für SQl, das häufig im Kurs "Database Organization" - King Database verwendet wird.
Diese Schulungsdatenbank enthält Informationen zur King Corporation. Unter den Tabellen:
Kleine Tabellen mit nicht mehr als zwei oder drei Feldern sind maximal einer Tabelle in einer Eins-zu-Eins- oder Eins-zu-Viele-Beziehung zugeordnet.
Skalentabellen wie "Mitarbeiter"Firmen "," Firmenkäufer "," Kaufverträge "und" Verkaufsakte "sind mit mehreren Einheiten gleichzeitig verbunden, und mit einigen - mit Hilfe von" Vermittlern "viele-zu-viele-Beziehungen. Die Tabelle" Firmenkäufer "selbst ist ein Vermittler als solches, weil es viele Felder hat, die aus anderen Tabellen entlehnt wurden und Fremdschlüssel sind. Darüber hinaus ist der Umfang und die Beziehung der King Corporation-Datenbank so, dass alle Beziehungen untrennbar miteinander korrelieren und sich gegenseitig beeinflussen. einer von ihnen wird q beinhalten struk Integrität der gesamten Datenbank.
Bei der Implementierung von Viele-zu-Viele-Kommunikationen außerhalbJe nachdem, welches DBMS verwendet wird, ist es sehr wichtig, die Schlüssel, mit denen die Beziehung kompiliert wird, korrekt zu bestimmen. Eine nicht ordnungsgemäß implementierte Verbindung erfüllt nicht ihren Hauptzweck, nämlich die Gewährleistung der Integrität der Tabelle. Infolgedessen wird der Benutzer anstelle des erwarteten Komforts im Gegenteil Unannehmlichkeiten und zusätzliche Probleme haben, insbesondere beim Ausfüllen der Tabellen und beim Bearbeiten der darin enthaltenen Daten.