9.1. Database JOINING history menue Letztmalig dran rumgefummelt: 15.02.17 08:36:12
Join (Verbund) Datenbankoperation, die zwei oder mehrere Relationen über eine jeweils paarweise gemeinsame Attributmenge verknüpft. Im Gegensatz zu den Mengenoperationen sind hier die verwendeten Tabellen nicht unbedingt vereinigungsverträglich. Der Join kann prinzipiell als das Gegenstück zur Selektion aufgefasst werden. dem Problem angepasstes JOINING kann allerdings auch eine gewisse Vorauswahl treffen.
  1. Überblick
 
2. INNER-JOIN
 
3. OUTER-JOIN
 
4. AUTO-JOIN

Datenbanken

Logo des Database-JOINING

inhaltlich auf korrektem Stand - evtl. partiell unvollständig ;-)

Wissen für Fortgeschrittene der Informatik

Quellen:

Karthesisches Produkt

1. Überblick zum Database-Joining history menue scroll up
Hier machen wir pure Mathematik - leider bildet der Bereich der Mengenlehre (und nichts anderes tun wir hier) nicht gerade den Schulalltag ab. Die Anfänge sowie die Begriffswelt sind einfach - das Gesamtergebnis hat aber dann auch schon fast etwas mit Bool'scher Algebra zu tun!
... das allgemeine JOINING-Modell ... das mathematische Modell ... die verwendete Datenbasis ... das JOINING-Modell - Aufgaben

Allgemeines JOINING-Modell

Dowload als CorelDraw 11.0-Datei

mengentheoretischen Grundlagen der SQL

... das verwendete Modell im ACCESS-Format

die Datenbasis "joining_modelle_big" selbst

  •  45 Tupel in Entity-Type TABLE_A

  • 340 Tupel in Entity-Type TABLE_B

  • wie viele und welche Tupel sind in beiden Entity-Types identisch?

Mathematisches Modell Allgemeines Modell des Full-OUTER-JOIN Ergebnis Projektion konkrete SQL-Anweisung

R = A U B

Vereinigungsmenge von A und B

Vereinigungsmenge

Full-OUTER-JOIN

mit der Daten-Basis esa_projekt.mdb

die Datenbasis "esa_projekt" selbst

TABLE_A TABLE_B TABLE_C

TABLE_A

TABLE_B

TABLE_C

TABLE_D SQL-Anzeige

TABLE_D

SQL-Projektion

SELECT ABTEILUNG.ABT_NR, ABTEILUNG.ABT_NAME, ABTEILUNG.STADT, MITARBEITER.M_NR, MITARBEITER.M_NAME, MITARBEITER.M_VORNAME, MITARBEITER.ABT_NR, PROJEKT.PR_NR, PROJEKT.PR_NAME, PROJEKT.MITTEL
FROM PROJEKT INNER JOIN ((ABTEILUNG INNER JOIN MITARBEITER ON ABTEILUNG.ABT_NR = MITARBEITER.ABT_NR) INNER JOIN ARBEITEN ON MITARBEITER.M_NR = ARBEITEN.M_NR) ON PROJEKT.PR_NR = ARBEITEN.PR_NR;


2. INNER-JOIN history menue scroll up

Voraussetzung für die Entwicklung eines praktisch auch funktionierenden Datenmodells sind konsistente (einander nicht widersprechende Daten - ein LKW kann zu einem Zeitpunkt nicht auf zwei verschiedenen Straßen unterwegs sein - das ist in der Welt und natürlich auch in der Datenhaltung falsch

Mathematisches Modell Allgemeines Modell des INNER-JOIN Ergebnis Projektion konkrete SQL-Anweisung

C = A ∩ B

C ist Schnittmenge von A und B

Schnittmenge

Inner-JOIN

mit der Daten-Basis joining_modells.mdb

die Datenbasis "joining_modells.mdb" selbst

TABLE_A TABLE_B SQL-Anzeige

TABLE_A

TABLE_B

SQL-Projektion

SELECT PART_A.ID_NUMBER, PART_A.VORNAME, PART_A.NACHNAME
FROM PART_A INNER JOIN PART_B ON PART_A.ID_NUMBER = PART_B.ID_NUMBER;


3. OUTER-JOIN history menue scroll up
Hier zeigen wir von der simplen, jedoch integren Datenhaltung, wie man zu einem sauberen Schlüsselkonzept gelangt. Weder ist die Datenhaltung atomar, noch ist sie relational und somit logischerweise auch nicht frei von Redundanzen sowie "NULLWERTEN". Streng genommen entsteht jedoch die Masse der praktischen Datenerfassung genau auf diese Art und Weise.
Mathematisches Modell Allgemeines Modell des Full-OUTER-JOIN Ergebnis Projektion konkrete SQL-Anweisung

R = A U B

Vereinigungsmenge von A und B

Vereinigungsmenge

Full-OUTER-JOIN

mit der Daten-Basis esa_projekt.mdb

die Datenbasis "esa_projekt" selbst

TABLE_A TABLE_B TABLE_C

TABLE_A

TABLE_B

TABLE_C

TABLE_D SQL-Anzeige

TABLE_D

SQL-Projektion

SELECT ABTEILUNG.ABT_NR, ABTEILUNG.ABT_NAME, ABTEILUNG.STADT, MITARBEITER.M_NR, MITARBEITER.M_NAME, MITARBEITER.M_VORNAME, MITARBEITER.ABT_NR, PROJEKT.PR_NR, PROJEKT.PR_NAME, PROJEKT.MITTEL
FROM PROJEKT INNER JOIN ((ABTEILUNG INNER JOIN MITARBEITER ON ABTEILUNG.ABT_NR = MITARBEITER.ABT_NR) INNER JOIN ARBEITEN ON MITARBEITER.M_NR = ARBEITEN.M_NR) ON PROJEKT.PR_NR = ARBEITEN.PR_NR;


4. AUTO-JOIN history menue scroll up
 

Auto-JOINs



zur Hauptseite
© Samuel-von-Pufendorf-Gymnasium Flöha © Frank Rost am 30. Dezember 2009 um 10.36 Uhr

... dieser Text wurde nach den Regeln irgendeiner Rechtschreibreform verfasst - ich hab' irgendwann einmal beschlossen, an diesem Zirkus nicht mehr teilzunehmen ;-)

„Dieses Land braucht eine Steuerreform, dieses Land braucht eine Rentenreform - wir schreiben Schiffahrt mit drei „f“!“

Diddi Hallervorden, dt. Komiker und Kabarettist

Diese Seite wurde ohne Zusatz irgendwelcher Konversationsstoffe erstellt ;-)