664 Shares 8030 views

Ein many-to-many: Ein Beispiel in Access, in SQL. Wie ein many-to-many machen?

Alle DBMS (Datenbank – Management – System) , gibt es verschiedene Arten von Beziehungen zwischen Tabellen. Unter ihnen ein Eins-zu-Eins, Eins-zu-viele, viele-zu-eins (einige sind geneigt, diese beiden Typen in einem zu identifizieren) und many-to-many. Ein Beispiel für die letzteren, und eine Erklärung ihrer Anwendung in verschiedenen Datenbanken, wie beispielsweise Access oder SQL, werden in diesem Artikel beschrieben werden.

Definition

Viele-zu-viele-Beziehung wird als eine Übereinstimmung mit einem der Kopie eines der Essenzen aller anderen Instanzen definiert. In anderen Worten, jedes Feld der ersten (zweiten) Tabelle mit allen Feldern der zweiten zugeordneten (ersten).

Diese Regelung spiegelt deutlich das Wesen dieser Beziehung.

Wenn eine many-to-many können Beziehungen verwendet werden?

Ein Beispiel für ein many-to-many – eine Studentengruppe und eine Gruppe von Lehrern. Jeder Schüler lernt auf einmal in ein paar Professoren, die sich wiederum Vorlesungen mehrere Studenten geben. Im Bild zeigt den Unterschied zwischen einer Eins-zu-viele und viele-zu-viele.

Viele-zu-viele-Beziehung ist oft notwendig, bei der Herstellung von großen Datenbanken, kleinen anschaulicher Beispiele der Regel nur für pädagogische Zwecke, in Wirklichkeit verwendet, es stellt sich heraus, in der Praxis, dass die mehr Einheiten in der Datenbank und Beziehungen zwischen ihnen – je mehr der Wahrscheinlichkeit eines häufigen Rückgriffs auf many-to-many.

Wie ein many-to-many machen?

Beispiele für die Beziehung in Frage werden noch im Laufe des Artikels hinzugefügt werden, aber es ist nicht nur wichtig, zu verstehen, was es ist, sondern auch, wie sie umzusetzen. Details dieses Prozesses hängt direkt von der Datenbank für den Job ausgewählt, während das Prinzip für alle gleich bleibt.

Microsoft Access

Office-Software von „Microsoft“ in dem Software-Markt für eine recht lange Zeit bekannt. Es kommt mit einem Texteditor Worfd, Excel tabellarisch Prozessor und der andere auf die Linie des „Büro“ gehören. Sie können den Zugriff (als „Zugang“ lesen, die wörtliche Übersetzung – „access“) zu erwerben und getrennt von seinen „Kollegen“. Es wird empfohlen, zu kaufen, natürlich, lizenzierte Software, aber es ist kein Geheimnis, wie viel Raub repack im weiten Netz, in Form von regelmäßigen Dateien oder Torrents Hände zu finden. „Microsoft Acces“ ist verfügbar, auch in einem tragbaren Montage. Es erfordert keine Installation und keine besonderen Fähigkeiten mit einem PC zu arbeiten, ist es am besten für die Auswahl geeignet, wenn die Software nicht verwendet werden, lang anhaltenden und oft.

Aus dem Kontext ist es , dass „Microsoft Acces“ klar – ein Datenbank – Management – System. Und einer der beliebtesten. Es ist relational, was bedeutet , dass es auf dem logischen basiert Datenmodell, das im Laufe seiner Arbeit bezieht sich auf die Mengenlehre und Logik erster Ordnung. Viele-zu-viele-Beziehung in Access (Beispiele werden in der Erläuterung gegeben werden) ist sehr klar, sehr einfach. Betrachten Sie es.

Es gibt zwei Tabellen ..

Um erwähnte nicht alles neu zu erfinden, nehmen Sie die bereits das many-to-many Beispiel über die Studenten zu erklären. Sie müssen eine Tabelle „Studenten“ und die Tabelle erstellen „Lehrer.“ Sowohl die erste und die zweite von diesen sind Primärschlüssel. auch erfordert eine andere Tabelle, die für die Kombination von Instanzen der beiden Entitäten Felder – die Schlüssel der ersten und zweiten Tabellen.

Wenn wir ein anderes Beispiel betrachten: sagen wir, die Spieler und das Team (angesichts der Tatsache, dass für verschiedene Teams mindestens einer der Spieler zu spielen, und jedes Team von elf Spielern besteht), sind eine Verbindung Gebäude wird sich nicht ändern. Sie müssen auch drei Tabellen. Von diesen „Fußball“ und „Team“ als Haupt- und ein Zwischenprodukt.

Datenschema

Die Beziehungen zwischen den Tabellen in der Datenbank „Microsoft Acces“ implementiert, um die Registerkarte „Data Scheme“ verwenden. Die Anzeigetafel wird zu allen Entitäten (in diesem Fall werden alle drei Tabellen). Erstellen Sie eine many-to-many werden die beiden Beziehungen verwenden, eine Eins-zu-viele-Beziehung zwischen dem Auftraggeber ( „Students“ und „Lehrer“) und die Staging-Tabelle. Um dies zu tun, müssen Sie die entsprechenden Primärschlüssel verbinden.

Die Abbildung zeigt, wie das Register „Datenschaltungs“ (Relathionships). Die Anzahl der auf unbestimmte Zeit auf die Tischplatte hinzugefügt. Die Lage ist vollständig durch den Benutzer einstellbar.

SQL

Datenbank-Design auf SQL – schwierigere Aufgabe als zu „Acces“. Wenn maykrosoftovskih Produkt vollständig in die Büroumgebung angepasst ist, hat einen großen und mit jedem Release und aktualisieren alle erweiterbare Funktionalität, aber zugleich bequem für die einfache Benutzeroberfläche, SQL – ist es eine separate nicht-prozeduralen Programmiersprache, mit denen auf unterschiedlichen Plattformen Sie können mit Datenbanken arbeiten. Die bekannte Software für diese Aufgabe: Oracle MySQL und DB2 (ein beliebter, aber nicht das einzige ihrer Art). Trotz der Tatsache, dass jeder von ihnen seine Feinheiten und Nuancen hat, ist die SQL-Sprache ihr „vereinigt“. Durch das Lernen mit mindestens einer von ihnen zu arbeiten, mit anderen zu beschäftigen wird viel einfacher.

Erstellen, füllen und direkte Aktionen auf der bestehenden Datenbank in SQL benötigt durch einen speziellen Code oder Skripte. diejenigen, die jedoch haben es bereits auf den Abschnitt gemacht „many-to-many“, von denen ein Beispiel in dieser Programmiersprache unten angegeben ist, muss wissen, die grundlegenden Befehle und Prinzipien der SQL-Sprache zumindest.

Das Prinzip der eine many-to-many Schaffung

Längerer Beitritt könnte etwas aus und „entfesseln den Nebel“, in Verlegenheit bringen, aber in der Tat das Prinzip der Umsetzung von Kommunikations bleibt gleich. Um eine many-to-many-Beziehung zu Typ hat in der Praxis nicht nur in den „Acces“, sondern auch die SQL umgesetzt worden ist, müssen zunächst zwei Basistabellen erstellen und ein – Zwischen. Ebenso ist es mit dem Schlüssel: die grundlegende Natur sind die Hauptbereiche, von denen jeder in der Verknüpfungstabelle aufgezeichnet wird. Was bedeutet, dass die SQL-many-to-many-Beziehungen von dem „Acces“ nicht grundsätzlich verschieden sind.

Umsetzung von Kommunikations

Um ein many-to-many in einem SQL-Skript mit externen Tasten (FOREIGN KEY) ähnlich den Originalschlüssel in der Haupttabelle zu implementieren. Sie nahmen zusammen mit allen Bereichen bei der Erstellung und / oder Bearbeitung.

Die Rolle eines many-to-many

Im Allgemeinen ist die Beziehung zwischen den Entitäten in der Datenbank für die Integrität der Informationen in ihnen gespeichert verwendet. Nur eine gut konzipierte Datenbank mit allen notwendigen Anschlüssen sorgt für eine sichere Lagerung, Benutzerfreundlichkeit und ist eine Struktur, die auf äußere Einflüsse und Veränderungen resistent ist. Normalerweise, wenn die Datenbank enthält Daten über die gesamte Organisation, Gesellschaft oder Firma, enthält es eine Reihe von Organisationen, die mit verschiedenen Instanzen.

Dies bedeutet, daß bei der Herstellung dieser Systeme ( „Acces“), oder das Schreiben von Skripts (in der „Oracle“ oder „DiBiTu“) wird mindestens eine Viele-zu-viele vorhanden sein. DB King – Beispiel SQL-, wird oft in der Ausbildung „Datenbank Organisation“ verwendet.

Basis des Königs Daten

Die Trainingsdatenbank ist es, Informationen über King Corporation. Unter den Tabellen:

  • Mitarbeiter des Unternehmens – enthält die Mitarbeiter-ID, Nachname, Vorname und mittlere Initiale (Fokus auf ausländische Namen), auch Code für den Chef und die Mitarbeiter besetzt die Position, das Datum der Zulassung zu den Firmen ihr Gehalt und Provision vorgesehen Empfang der Code-Karte;
  • Abteilungen von Unternehmen – unter den Feldern der Tabelle haben Sie den Code und den Namen der Abteilung, sowie den Code seiner Lage;
  • Platzierung Abteilungen, die Informationen über die Codeplatzierung und den Namen der Stadt gehört die Eingabe;
  • Position im Unternehmen – ein kleiner Tisch mit zwei Feldern Postleitzahl und seine offiziellen Namen;
  • Firmen-Käufer – Felder: der Code und der Name des Käufers, Adresse, Ort, Bundesland, Postleitzahl und Vorwahl, Telefonnummer, Service-Manager des Kunden-Code, der Kredit für den Käufer und Kommentare (Kommentare und Notizen);
  • Verkaufsverträge, den Code und das Datum des Vertrages, den Käufer Code, den Liefertermin und den Gesamtbetrag des Vertrages enthält;
  • Acts of Sales – der Akt des Codes und der Code des Vertrages, der die Handlung umfasst, Produktcode, dessen Preis, Menge gekauft und die gesamten Anschaffungskosten;
  • Die Waren – der Codename des Produkts;
  • Preis – der Produktcode, gab ihm den Preis, den niedrigsten Preis, Gründungsdatum und das Datum der Stornierung Preises.

Kleiner Tisch zur Verfügung, in denen nicht mehr als zwei oder drei Felder mit bis zu einem Tisch eines zugehörigen Eins-zu-eins oder eins-zu-viele.

Maßstab gleicher Tisch wie „Mitarbeiter des Unternehmens“, „Unternehmen-Verbraucher“, „Kaufverträge“ und „Handlungen des Umsatzes“ ist mit mehreren Organisationen, die mit einigen – mit Hilfe von „Vermittlern“ many-to-many-Beziehung. Table „Käufer des Unternehmens“ ist selbst ein Vermittler, als solche, weil es viele des Feldes hat, entnommen aus anderen Tabellen und Fremdschlüsseln. Darüber hinaus ist das Ausmaß und die Beziehung Datenbank „King Corporation“, dass alle Beziehungen untrennbar miteinander korreliert sind und sich gegenseitig beeinflussen. Die Zerstörung von mindestens einem von ihnen wird zur Zerstörung der Integrität der gesamten Datenbank führen.

wichtige Nuancen

Wenn eine many-to-many-Umsetzung, unabhängig von System, der Datenbank-Management verwendet wird, ist es wichtig, die richtigen Tasten zu bestimmen, mit der gezogen wird, bis Haltung. Falsch implementiert die Verbindung nicht ihr Hauptzweck erfüllen – nämlich die Integrität der Tabelle zu gewährleisten, und als Ergebnis, statt der erwarteten Komfort, wird der Benutzer erhalten, auf der anderen Seite, die Unannehmlichkeiten und zusätzliche Probleme, besonders deutlich bei der Befüllung von Bearbeiten von Tabellen und deren Daten.