Info cartes d'apprentissage

Ici, tu apprends tout sur cette carte d'apprentissage

DB



Cartes à choix multiple
Cartes normales
Total cartes
Catégorie
Langue
De

Beantworten Sie die folgenden Fragen:

 

  1. Welche Sorte von Datenbanksystemen dominieren heutzutage den Markt?
  2. Warum werden Sie in diesem Kurs vor allem etwas über relationale Datenbanksysteme lernen?
  3. Geben Sie eine grobe Definiten für ein relationales Datenbanksystem an!
  4. Was ist eine Relation?
  5. Nennen Sie den Namen eines hierarchischen Datenbanksystems, wie sind die Daten in ihm strukturiert?
  6. Nennen Sie die drei wichtigsten Arten von nicht-relationalen Datenbanksystemen!
  7. Nennen Sie den Namen eines gut bekannten CODASYL-Datenbanksystems! Welche Datenstrukturierung wird angewendet?
  8. Zählen Sie die sechs wichtigsten relationalen Datenbankprodukte auf!
  9. Welcher Typ von Datenbanksystemen ist neu auf dem Markt? Nennen Sie Produktnamen!
  10.  Nennen Sie zwei weitere Arten von Datenbanksystemen, die in der Forschung eine Rolle spielen.

 

  1. Welche Sorte von Datenbanksystemen dominieren heutzutage den Markt?

    Relationale Datenbanksysteme.

     

  2. Warum werden Sie in diesem Kurs vor allem etwas über relationale Datenbanksysteme lernen?

    Es gibt eine mathematische Theorie zu den relationalen Datenbanken. Deren Studium ist bestens geeignet um solide Grundlagen im Wissensbereich der Datenbanken zu legen.

     

  3. Was ist eine Relation?

    Ein mathematisch exakter Begriff für „Tabelle“.

     

  4. Nennen Sie den Namen eines hierarchischen Datenbanksystems, wie sind die Daten in ihm strukturiert?

    IMS von IBM, die Daten sind hierarchisch strukturiert.

     

  5. Nennen Sie die drei wichtigsten Arten von nicht-relationalen Datenbanksystemen!

    System von invertierte Listen, hierachisches System, Netzwerksystem.

     

  6. Nennen Sie den Namen eines gut bekannten CODASYL-Datenbanksystems! Welche Datenstrukturierung wird angewendet?

    IDMS von Computer Associates International. Datenstrukturierung : Netzwerk.

     

  7. Zählen Sie die sechs wichtigsten relationalen Datenbankprodukte auf!

    DB2 (IBM), Ingres II (Computer Associates International), Informix (Informix Software), Microsoft SQL Server (Microsoft), Oracle 8i (Oracle), Sybase Adaptive Server (Sybase).

     

  8. Welcher Typ von Datenbanksystemen ist neu auf dem Markt? Nennen Sie Produktnamen!

    Objektorientierte Datenbanksysteme, z.B.  GemStone (GemStone) oder Versant ODBMS (Versant Object Technology)

    Objekt/relationale Datenbanksysteme, z.B. erweitertes DB2- oder Informix-System.

     

  9.  Nennen Sie zwei weitere Arten von Datenbanksystemen, die in der Forschung eine Rolle spielen.

    Multidimensionale Datenbanksysteme,

    Logikbasierte Datenbanksysteme.

     

     

  • Fremdschlüssel:

Der Fremdschlüssel kann Bestandteil einer Tabelle in einer relationalen Datenbank sein. Dabei handelt es sich um eine Schlüsselspalte, die auf einen Primärschlüssel einer anderen oder aber derselben Tabelle verweist. Aufgrund der referentiellen Integrität, kann der Fremdschlüssel nur Werte annehmen die in der Referenztabelle vorhanden sind. Zudem kann eine beliebige Anzahl von Datensätzen den gleichen Fremdschlüsselwert aufweisen.

  1. Wie wird eine virtuelle Relation in der Datenbank gespeichert?

In Form einer Abfrage

join

            Zum Schluss eine Join-Operation:

 

                        join Lieferanten and Teile over Stadt

 

Wir übersetzen sie in eine SQL-Anweisung:

SELECT LNr, LName, Status, TNr, TName,

  Farbe, Gewicht, Lieferanten.Stadt

FROM

Lieferanten INNER JOIN Teile

ON Lieferanten.Stadt = Teile.Stadt;

 

                       

            Sie bekommen als Ergebnis der Join-Operation eine Tabelle. Diese zeigt an, welche Lieferanten welche Teile liefern, wobei diese Lieferanten in derselben Stadt arbeiten in der auch  die Teile hergestellt werden.

 

Können Sie sich erklären, warum die Operation „join“ (=„verbinden“) heißt?

 

Es werden zwei Tabellen verbunden, indem eine Ergebnistabelle gebildet wird, die alle Felder der ersten und der zweiten Tabelle enthält. Die Verbindung wird „über“ ein Feld hergestellt, das in beiden Tabellen enthalten ist (im Beispiel das Feld „Stadt“). Die Ergebnistabelle enthält die Kombination aller Datensätze aus den beiden Ausgangstabellen, die dieselben Datenwerte im „Verbindungsfeld“ besitzen. „join“ = aus zwei Tabellen mach’ eine.

Hier ist eine -Operation (project ist englisch: projizieren):

 

            project Lieferanten over LName, Stadt

 

In SQL wird sie wie folgt formuliert:

SELECT LName,Stadt

FROM Lieferanten;

 

Lassen Sie die SQL-Anweisung von MS-ACCESS ausführen! Beobachten Sie wieder, was geschehen ist!

 

Die Project-Operation wählt aus der Tabelle bestimmte Felder (Spalten, Attribute) aus. Die auszuwählenden Felder sind in der where-Klausel aufgelistet.

 

Können Sie den Namen „project“ für diese Operation deuten?

 

Wenn Sie z.B. einen Würfel auf ein Blatt Papier projizieren, entsteht eine ebene Figur. Ein dreidimensionaler Gegenstand wird auf eine zweidimensionale Figur abgebildet. Projizieren bedeutet also Verlust einer Dimension. Die Anzahl der Felder einer Tabelle ist ihre Dimension. Die Project-Operation lässt Tabellenfelder weg, verringert also die Tabellendimension. Deshalb der Name „project“.

 

 Die Project-Operation ist der SELECT-Anweisung am ähnlichsten, sehen Sie das?

 

Die SELECT-Anweisung enthält eine Liste der auszuwählenden (= zu selektierenden) Tabellenfelder. Diejenigen Felder, die in dieser Liste nicht enthalten sind, werden weggelassen. Dies ist genau die Funktion der Project-Operation.

  • Primärschlüssel:

Der Primärschlüssel einer Relation kann unterschiedlich aufgebaut sein. Man unterscheidet zwischen eindeutige, zusammengesetzte und künstliche Primärschlüssel. Der Wert eines Primärschlüssels muss in einer Tabelle einmalig sein, da er jeden Datensatz eindeutig kennzeichnet

.

  1. Was versteht man unter dem Begriff relationale Algebra?

In der Theorie der Datenbanken versteht man unter einer Relationenalgebra oder einer relationalen Algebra eine formale Sprache, mit der sich Abfragen über einem relationalen Schema formulieren lassen. Sie erlaubt es, Relationen miteinander zu verknüpfen oder zu reduzieren und komplexere Informationen daraus herzuleiten.

Die relationale Algebra definiert Operationen, die sich auf einer Menge von Relationen anwenden lassen. Damit lassen sich beispielsweise Relationen verknüpfen, filtern oder umbenennen. Die Ergebnisse aller Operationen sind ebenfalls Relationen. Aus diesem Grund bezeichnet man die Relationenalgebra als abgeschlossen.

 

Einfach

Art

Bereich

Dichte

A

1

15

B

1

5

C

2

30

 

  1. Notieren Sie die Relation „Einfach“ mathematisch als geordnetes Paar (<Kopf>, <Rumpf>)!

Einfach

Art

Bereich

Dichte

A

1

15

B

1

5

C

2

30

 

 

 

  1. Notieren Sie die Relation „Einfach“ mathematisch als geordnetes Paar (<Kopf>, <Rumpf>)!

     

     

    Einfach = ({(Art, Großbuchstabe),

                (Bereich, positive Ganzzahl),

                (Dichte, positive Ganzzahl)

               },

               {{(Art,A),(Bereich,1),(Dichte,15)},   

                {(Art,B),(Bereich,1),(Dichte,5)},

                {(Art,C),(Bereich,2),(Dichte,30)}

               }

              )

                 

Relationsvariable

Eine Relationsvariable ist ein Datenbankobjekt, dessen Wert eine Relation ist. Dieser Wert kann verändert werden. Eine ACCESS-Tabelle ist eine solche Relationsvariable. Die aktuell in einer ACCESS-Tabelle  gespeicherte Datenmenge ist der Wert dieser Relationsvariablen, also eine Relation. Eine ACCESS-Tabelle muss also, da sie zu verschiedenen Zeiten verschiedene Datenmengen enthalten kann, eigentlich Tebellenvariable oder genauer Relationsvariable genannt werden.

restrict

Wir wollen nun die folgende Restrict-Operation  ausführen:

 

            restrict Lieferungen where Menge > 200

 

in SQL:

SELECT LNr, TNr, Menge

FROM Lieferungen

WHERE Menge>200;

 

Schauen Sie sich das Ergebnis an! Vergleichen Sie es mit der Tabelle „Lieferungen“! Haben Sie dieses Ergebnis vorausgesehen? Was macht also eine Restrict-Operation?

 

Die Restrict-Operation wählt aus der Tabelle bestimmte Datensätze (Zeilen, Tupel) aus. Dazu wir die Bedingung der where-Klausel ausgewertet.

  1. Was ist der Unterschied zwischen einem Index und einem Schlüssel?

Bei der Verwendung eines gruppierten Index werden die Datensätze entsprechend der Sortierreihenfolge ihres Index-Schlüssels gespeichert. Wird für eine Tabelle beispielsweise eine Primärschlüssel-Spalte „ID“ angelegt, so stellt diese den Index-Schlüssel dar. Pro Tabelle kann nur ein gruppierter Index erstellt werden. Dieser kann jedoch aus mehreren Spalten zusammengesetzt sein.

Persistente Daten:

Die Daten, die in einer Datenbank gespeichert werden, sollen in der Regel für eine längere Zeit aufbewahrt werden: sie sind persistent. Dies bedeutet beispielsweise, dass sie erhalten bleiben, wenn ein Endbenutzer sein Terminal abschaltet.

DBS-Komponenten Skizze

  1. Welche Rolle spielt SQL, wenn mit Hilfe eines ODBC-Treibers aus einem C++-Programm auf eine Datenbank zugegriffen wird?

Der Client kann ein Webbrowser sein, der ein CGI-Programm startet, mit dem auf die Datenbank zugegriffen wird, eine Java-Applikation mit der Schnittstelle JDBC, ein C-Programm mit der ODBC-Schnittstelle, ein Perl-Skript mit dem DBI-Modul oder auch der Datenbank-Client mysql.

Unabhängig von der Art des Zugriffes auf das DBMS verarbeitet der Server die Anfragen des Clients und schickt gesammelte Daten an ihn zurück. In der Regel ist die Sprache, mit der die Antwort kommuniziert wird SQL -> Genormte Datenbanksprache, die von jedem DBMS verstanden wird.

  1. Was ist ein SQL-Datenbankverwaltungssystem?
  • DBMS das mit SQL funktioniert z.B. MySQL
  • MySQL sieht grundsätzlich einen MySQL-Server vor, auf dem Daten gespeichert sind, und einen oder mehrere MySQL-Clients, die Anfragen an den Server schicken, die dieser beantwortet.

Auf dem Datenbankmanagementsystem, dem MySQL-Server, können mehrere Datenbanken erstellt werden. In einer Datenbank können mehrere Tabellen angelegt werden. Praktisch erstellt MySQL dabei für jede Datenbank einen Ordner auf der Festplatte, in dem Dateien für die Struktur und die Daten der einzelnen Tabellen abgelegt werden. Das genaue Format dieser Dateien hängt von der für die jeweilige Tabelle verwendeten Speicherengine ab.

  1. Erklären Sie, was referentielle Integrität ist!

Bei der referentiellen Integrität können Datensätze die einen Fremdschlüssel aufweisen nur dann gespeichert werden, wenn der Wert des Fremdschlüssels einmalig in der referenzierten Tabelle existiert. Im Falle, dass ein referenzierter Wert nicht vorhanden ist, kann der Datensatz nicht gespeichert werden.

  1. Beschreiben Sie Aufgaben eines Datenbankadministrators und die eines Datenbankprogrammierers!
  • Datenbankadministrator entwickelt vom konzeptionellen Modell ausgehend eine physische Datenorganisation, die für alle Benutzer einen optimalen Datenzugriff ermöglicht
  • Der Datenbankverwalter ist für die Festlegung des konzeptuellen Datenmodells, der externen Datenmodelle und für die Festlegung des internen Datenmodells zuständig.
  • Als Datenbankprogrammierer können Sie z.B. Formulare erstellen. Denken Sie sich eines aus und realisieren Sie es. Zur Anregung: Ein Überblick über den Umsatz – nach einem Gesichtspunkt, den Sie besonders interessant finden.
  1. Warum ist eine Tabelle in einer relationalen Datenbank bei genauer Betrachtung eine Variable?
  2. Welche Werte kann eine solche Variable annehmen?
  3. Was geschieht mit der Variablen, wenn ein Datensatz gelöscht wird?
  4. Warum ist es wichtig, zwischen Relationen und Relationsvariablen zu unterscheiden?
  5. Was nennt Date eine „relvar“ ?
  6. Können Sie damit rechnen, dass in der Datenbankliteratur zwischen Relationen und Relationsvariablen unterschieden wird?
  1. Warum ist eine Tabelle in einer relationalen Datenbank bei genauer Betrachtung eine Variable?

     

    Weil etwas, dessen Wert  geändert werden kann, eine Variable ist. Tabellen in Datenbanken können verändert werden, sie sind also eigentlich Variablen: Tabellenvariablen.

     

  2. Welche Werte kann eine solche Variable annehmen?

     

    Der Wert einer Tabellenvariablen ist eine bestimmte Tabelle.

     

  3. Was geschieht mit der Variablen, wenn ein Datensatz gelöscht wird?

     

    Der Wert der Varablen (die in ihr gespeicherte Tabelle) verändert sich. Die Variable enthält danach eine andere Tabelle, die im Vergleich zur vorher gespeicherten einen Datensatz weniger hat.

     

  4. Warum ist es wichtig, zwischen Relationen und Relationsvariablen zu unterscheiden?

     

    Weil es an vielen Stellen des Theorieverständnisses sonst zu Verwechslungen und Missverständnissen kommen kann.

     

  5. Was nennt Date eine „relvar“ ?

     

    Relvar kurz für relation variable, Deutsch: Relvar kurz für Relationsvariable.

     

  6. Können Sie damit rechnen, dass in der Datenbankliteratur zwischen Relationen und Relationsvariablen unterschieden wird?

     

    Nein, Date bedauert dies.

Welche

  1. Aufgabe (Programmierung externe Ebene)

Bei Microsoft-Access gibt es Formulare und Abfragen.

  1. Erläutern Sie, zu welchem Zweck Formulare eingesetzt werden können!
  • Formular: Dient zur (komfortableren) Eingabe der Daten
  • Abfrage: Sucht in Tabellen nach bestimmten Daten, die entweder angezeigt oder weiterverwendet werden

1)Aufgabe (Datenbanksystem)

  1. Erläutern Sie die Begriffe „interne Ebene“, „externe Ebene“ und „konzeptuelle Ebene“eines Datenbanksystems!

Drei Abstratkionsebenen

  1. physische Sicht auf die Daten, die interne Ebene
  2. logische Gesamtsicht auf die Daten, die konzeptionelle Ebene
  3. Benutzersichten auf die Daten, die externe Ebene
 

Externe Ebene

Die externe Ebene enthält die Benutzersichten auf die Daten, bzw. den Ausschnitt aus den Gesamtdaten, den spezielle Benutzergruppen benötigen. Benutzersichten können hilfreich sein, um bestimmten Benutzern bzw. Benutzergruppen nur Ausschnitte des Gesamtdatenmodells zugänglich zu machen (Rechteverwaltung), oder für Umbenennungen von Attributen, um dem unterschiedlichen Vokabular von Fachabteilungen Rechnung zu tragen. Als Beispiel sei hier die Begriffe Lieferant/Kunde und Debitor/Kreditor genannt. Diese Ebene wird vom Datenbankentwickler verwaltet.

 

Konzeptionelle / konzeptuelle Ebene

Diese Ebene hat die logische Darstellung der Gesamtsicht der Daten in einem speziellen Datenmodell, z.B. dem relationalen Datenmodell zum Inhalt. Ziel ist hier eine Unternehmensgesamtsicht zu erstellen, was ohne detaillierte Kenntinisse über relevante Informationen, Logik, Abläufe und Zusammenhänge im Unternehmen nicht gelingen kann. Diese Gesamtsicht beschreibt alle Daten, deren Beziehungen untereinander und auch die Konsistenzanforderungen in Form z.B. von Integritätsbedingungen. Die verschiedenen Unternehmensansichten aus der externen Ebene aus den verschiedenen Abteilungen werden zu einem Gesamtmodell zusammengeführt. Zentrales Ziel ist hier eine redundanzfreie Speicherung der Daten, z.B. durch Normalisierung.
Innerhalb dieser Ebene wird in der Regel zweistufig verfahren. Zuerst wird ein konzeptionelles Schema (z.B. ER-Modell, UML, ...) erstellt, welches noch unabhängig vom konkret eingesetzten Datenmodell resp. Datenbanksystem ist. Davon wird dann in einem zweiten Schritt das logische Datenbankschema abgeleitet, welches schon auf das Modell eines bestimmten Datenbanktyps (relational, objektorientiert, ...) angepasst ist. Diese Ebene wird primär vom Datenbankentwickler verwaltet.

 

Interne Ebene

Dies stellt die physikalische Implementierung des konzeptionellen Schemas in Abhängigkeit zum verwendeten DBS dar. Information über die Art und den Aufbau der Datenstrukturen auf dem physikalischen Speicher und Zugriffsmechanismen sind Bestandteil der internen Ebene. Diese Ebene wird vom Datenbankadministrator verwaltet. Zu seinen Aufgaben gehören insbesondere Maßnahmen zur Laufzeitverbesserung (Performance), Verwaltung von Benutzerrechten, Verfügabarkeit (Ausfallsicherheit), Datensicherheit und Datenschutz und vieles mehr. Trotz aller SQL-Standardisierungen unterscheiden sich die Hersteller wie IBM, Oracle, MySQL, Microsoft, ... hier doch teilse gravierend.

Für die sogenannten klassischen DBS, wie z.B. Netzwerk?- relationale bis hin zu objektorientierten Datenbanksystemen stellt dieses ANSI-3-Ebenenmodell wirklich ein Paradigma dar, das zwingend eingehalten wurde mit eben dem Vorteil der Datenunabhängigkeit.

AUFGABENSTELLUNGEN

Ein-heit

Tnr

Thema

Anr

LK

Aufgabe

B-Zeit

E IV

1

Entitäten-Beziehungs-Diagramm

1

S

Entitäten, Beziehungen und Eigenschaften

15

E IV

1

Entitäten-Beziehungs-Diagramm

2

S

Eine Entwurfsaufgabe

5

E IV

1

Entitäten-Beziehungs-Diagramm

3

S

Frauen und Männer

30

E IV

1

Entitäten-Beziehungs-Diagramm

 4

S

Einigung

15

E IV

2

Entitäten, Beziehungen und Relationen

5

S

Beziehungen sind auch Relationen

15

E IV

3

Relationales Datenmodell

6

S

Relationales Modell, Entwurf

20

E IV

3

Relationales Datenmodell

7

S

Entitäten-Beziehungsmodell, Vorschlag

10

E IV

4

Test des Datenbankentwurfs

8

S

ACCESS-Datenbank

15

E IV

4

Test des Datenbankentwurfs

9

S

Datensätze

15

E IV

4

Test des Datenbankentwurfs

10

S

Abfragen

15

E IV

3

Relationales Datenmodell

11

Ü

CD-Sammlung

30

E IV

3

Relationales Datenmodell

12

Ü

Entity-Relationship-Diagramm CD-Sammlung

30

E IV

3

Relationales Datenmodell

13

Ü

Relationales Modell CD-Sammlung

30

E IV

5

Meier, Relationale Datenbanken

1

W

Ein weiteres Buch

60

 

 

 

  1. Welchen Grad hat die Relation?
  2. Welche Kardinalität hat die Relation?
  3. Wieviele Tupel gibt es, die den Wert 1 für „Anr“ enthalten?
  4. Welchen Datenbereich hat das Attribut „B-Zeit“?
  5. Wie viele Attribute hat die Relation?
  6. Gibt es Attribute, deren Werte als Primärschlüssel verwendet werden können? Welche?
  7. Wieviele Datenwerte enthält ein Tupel der Relation?
  8. Welchen Namen hat das Attribut, das den Wert „Relationales Datenmodell“ annehmen kann?

 

  1. Welchen Grad hat die Relation?

Grad (Dimension) 7

 

  1. Welche Kardinalität hat die Relation?

    Kardinalität 14 (Anzahl der Tupel)

     

  2. Wieviele Tupel gibt es, die den Wert 1 für „Anr“ enthalten?

2 Datensätze haben in der Spalte Anr den Wert 1

 

  1. Welchen Datenbereich hat das Attribut „B-Zeit“?

Datenbereich: Menge aller Integer-Werte

 

  1. Wie viele Attribute hat die Relation?

    7 Attribute.

     

  2. Gibt es Attribute, deren Werte als Primärschlüssel verwendet werden können? Welche?

Es gibt nur ein Attribut, dessen Werte Primärschlüssel sein können: Das Attribut „Aufgabe“.

 

  1. Wieviele Datenwerte enthält ein Tupel der Relation?

7, für jedes Attribut einen Wert.

 

  1. Welchen Namen hat das Attribut, das den Wert „Relationales Datenmodell“ annehmen kann?

    „Thema“

  1. Was ist ein Datenbereich (= domain)?
  2. Was ist ein benutzerdefinierter Datentyp (= user defined type)?  Welche Beispiele aus der Datenbank „Lieferanten-Teile“ (= suppliers and parts database) führt Date an?
  3. Woher kennen Sie den Begriff Datentyp (= data type)?
  4. Was ist ein Datentyp? Welche Beispiele nennt Date?
  5. Was gehört zu einem Datentyp dazu? Woher kennen Sie diese Denkweise?
  6. Wann, denken Sie, wird die Typbindung von Werten wichtig bei der Konstruktion einer Datenbank?
  1. Was ist ein Datenbereich (= domain)?

    Ein Datenbereich ist ein Datentyp, eine Menge von Werten.

     

  2. Was ist ein benutzerdefinierter Datentyp (= user defined type)?  Welche Beispiele aus der Datenbank „Lieferanten-Teile“ (= suppliers and parts database) führt Date an?

Ein benutzerdefinierte Datentyp, ist eine Menge von Werten, die vom Datenbankprogrammierer festgelegt wurde. Z.B. die Menge der möglichen Lieferantennummern oder die Menge der möglichen Werte für Gewichte.

 

  1. Woher kennen Sie den Begriff Datentyp (= data type)?

Von den Programmiersprachen mit Typbindung (z.B. Java, Pascal, Modula2)

 

  1. Was ist ein Datentyp? Welche Beispiele nennt Date?

Ein Datentyp ist eine Menge von Werten.

 

  1. Was gehört zu einem Datentyp dazu? Woher kennen Sie diese Denkweise?

Zu einem Datentyp gehören bestimmte Operationen, die auf ihn angewendet werden können. Die Denkweise, dass Datentypen nur mit bestimmten Operationen verarbeitet werden dürfen ist bekannt von den höheren Programmiersprachen.

 

  1. Wann, denken Sie, wird die Typbindung von Werten wichtig bei der Konstruktion einer Datenbank?

    Z.B. wenn ein Endbenutzer Daten eingeben soll und ungültige Angaben verhindert werden sollen. Dies gehört zum Aspekt der Integrität von Datenbanken.

  • Wie sieht das MMI (Man Machine Interface) aus?

Das ACCESS-Formular ist das MMI. Es enthält Fenster für Daten und Bedienelemente. Auch das Bild ist ein aktives Element, wenn der Mauszeiger auf das Bild kommt, wird dem Benutzer das Verlassen des Programms angeboten.

  1. Was ist ein Index? Geben Sie eine Definition!

Der Datenbankindex ist eine Datenstruktur mit deren Hilfe die Abfrageoptimierung gesteigert werden kann. Mittels einer Indextabelle werden die Daten sortiert auf dem Datenträger abgelegt. Ohne Indizes auf einer Tabelle müsste die Datenbank die Informationen (Datensatz) sequentiell suchen, was selbst mit modernster Hardware und Software viel Zeit beanspruchen kann.

  1. Welche Datenbankanfrage wird beispielhaft behandelt? Wie lautet die SQL-Anweisung dafür?

     

    SELECT Ort

    FROM Mitarbeiter, Abteilung

    WHERE Unt=A# AND Bezeichnung=’Infomatik’

     

  2. Welcher relationale Ausdruck wird für die Anfrage aus (2) aufgestellt? Meier verwendet spezielle Operationssymbole. Schreiben Sie den Ausdruck unter Verwendung der von uns eingeführten Schlüsselworte um!

     

    Tabelle =

         project

         { restrict

           { { Mitarbeiter rename Unt as A#

             } join Abteilung

         } where Bezeichnung=Informatik

         { Ort }

 

  1. Welche Datenbankanfrage wird beispielhaft behandelt? Wie lautet die SQL-Anweisung dafür?

     

    SELECT Ort

    FROM Mitarbeiter, Abteilung

    WHERE Unt=A# AND Bezeichnung=’Infomatik’

     

  2. Welcher relationale Ausdruck wird für die Anfrage aus (2) aufgestellt? Meier verwendet spezielle Operationssymbole. Schreiben Sie den Ausdruck unter Verwendung der von uns eingeführten Schlüsselworte um!

     

    Tabelle =

         project

         { restrict

           { { Mitarbeiter rename Unt as A#

             } join Abteilung

         } where Bezeichnung=Informatik

         { Ort }

 

es fehlt: 5,7,8,10c,13bc,20b,22c,23,24,25,26bc,27c,28-42

..

  1. Wie unterscheidet sich eine Basisrelation von einer virtuellen Relation?
  1. Wie unterscheidet sich eine Basisrelation von einer virtuellen Relation?

Tabellen sind Basisrelationen, virtuelle Relationen sind Abfragen, die sich auf Basisrelationen beziehen

      Aus Tabellen (Relationen) können in einer relationalen Datenbank andere Tabellen abgeleitet werden. Dazu gibt es, wie wir gesehen haben die relationalen Operationen, wie z.B. die Restrict-, die Projekt- und die Join-Operation. In einer SQL-Datenbank wie ACCESS werden diese Operationen in Form von SQL Anweisungen angegeben. Sie können als Abfragen (virtuelle Relationen) in der Datenbank gespeichert werden. Bei Bedarf können Sie von den Benutzern ausgeführt werden.

Skizze zu Veratwortlichkeiten Datenbankprogramierer und DB-Verwalter

AUFGABENSTELLUNGEN

Ein-heit

Tnr

Thema

Anr

LK

Aufgabe

B-Zeit

E IV

1

Entitäten-Beziehungs-Diagramm

1

S

Entitäten, Beziehungen und Eigenschaften

15

E IV

1

Entitäten-Beziehungs-Diagramm

2

S

Eine Entwurfsaufgabe

5

E IV

1

Entitäten-Beziehungs-Diagramm

3

S

Frauen und Männer

30

E IV

1

Entitäten-Beziehungs-Diagramm

 4

S

Einigung

15

E IV

2

Entitäten, Beziehungen und Relationen

5

S

Beziehungen sind auch Relationen

15

E IV

3

Relationales Datenmodell

6

S

Relationales Modell, Entwurf

20

E IV

3

Relationales Datenmodell

7

S

Entitäten-Beziehungsmodell, Vorschlag

10

E IV

4

Test des Datenbankentwurfs

8

S

ACCESS-Datenbank

15

E IV

4

Test des Datenbankentwurfs

9

S

Datensätze

15

E IV

4

Test des Datenbankentwurfs

10

S

Abfragen

15

E IV

3

Relationales Datenmodell

11

Ü

CD-Sammlung

30

E IV

3

Relationales Datenmodell

12

Ü

Entity-Relationship-Diagramm CD-Sammlung

30

E IV

3

Relationales Datenmodell

13

Ü

Relationales Modell CD-Sammlung

30

E IV

5

Meier, Relationale Datenbanken

1

W

Ein weiteres Buch

60

AUFGABENSTELLUNGEN

Ein-heit

Tnr

Thema

Anr

LK

Aufgabe

B-Zeit

E IV

1

Entitäten-Beziehungs-Diagramm

1

S

Entitäten, Beziehungen und Eigenschaften

15

E IV

1

Entitäten-Beziehungs-Diagramm

2

S

Eine Entwurfsaufgabe

5

E IV

1

Entitäten-Beziehungs-Diagramm

3

S

Frauen und Männer

30

E IV

1

Entitäten-Beziehungs-Diagramm

 4

S

Einigung

15

E IV

2

Entitäten, Beziehungen und Relationen

5

S

Beziehungen sind auch Relationen

15

E IV

3

Relationales Datenmodell

6

S

Relationales Modell, Entwurf

20

E IV

3

Relationales Datenmodell

7

S

Entitäten-Beziehungsmodell, Vorschlag

10

E IV

4

Test des Datenbankentwurfs

8

S

ACCESS-Datenbank

15

E IV

4

Test des Datenbankentwurfs

9

S

Datensätze

15

E IV

4

Test des Datenbankentwurfs

10

S

Abfragen

15

E IV

3

Relationales Datenmodell

11

Ü

CD-Sammlung

30

E IV

3

Relationales Datenmodell

12

Ü

Entity-Relationship-Diagramm CD-Sammlung

30

E IV

3

Relationales Datenmodell

13

Ü

Relationales Modell CD-Sammlung

30

E IV

5

Meier, Relationale Datenbanken

1

W

Ein weiteres Buch

60

 

  1. Notieren Sie die geordneten Paare (Ai,Ti), die Attribute der Relation sind!
  2. Notieren Sie den Kopf (= heading) der Relation als Menge von Attributen!
  3. Notieren Sie ein Tupel der Relation als Menge von geordneten Paaren, wie in der Definition angegeben!
  1. Notieren Sie die geordneten Paare (Ai,Ti), die Attribute der Relation sind!
  2. Notieren Sie den Kopf (= heading) der Relation als Menge von Attributen!
  3. Notieren Sie ein Tupel der Relation als Menge von geordneten Paaren, wie in der Definition angegeben!

 

Bei C.J. Date auf ist die mathematische Definition einer Relation auf der Seite 123 zu finden!

 

 

Mathematische Definition einer Relation:

 

Gegeben ist eine Folge von n Typen (oder Datenbereichen) mit den Namen Ti

(i = 1,2, … , n), die nicht unbedingt alle unterschiedlich sein müssen.

 

r ist eine Relation über diesen Typen, wenn sie aus zwei Teilen, einem Kopf und einem Rumpf besteht, wobei gilt:

 

  1. Der Kopf ist eine Menge von n Attributen der Form (Ai, Ti), wobei die Ai (welche alle unterschiedlich sein müssen) die Attributnamen von r und die Ti die entsprechenden Typnamen sind (i = 1,2, … , n).

     

  2. Der Rumpf ist eine Menge von m Tupeln t, wobei t wiederum eine Menge von Komponenten der Form (Ai, vi) ist, in denen vi ein Wert des Typs Ti  ist – der Attributwert für das Attribut Ai des Tupels t  (i = 1,2, … , n).

     

    Die Werte m wird die Kardinalität und n der Grad der Relation r genannt.

     

    (übersetzt aus C.J. Date, An Introduction to Database Systems, S. 123)

     

     

     

     

    Wir schauen uns dazu nochmals das folgende Beispiel an:

     

     

AUFGABENSTELLUNGEN

Ein-heit

Tnr

Thema

Anr

LK

Aufgabe

B-Zeit

E IV

1

Entitäten-Beziehungs-Diagramm

1

S

Entitäten, Beziehungen und Eigenschaften

15

E IV

1

Entitäten-Beziehungs-Diagramm

2

S

Eine Entwurfsaufgabe

5

E IV

1

Entitäten-Beziehungs-Diagramm

3

S

Frauen und Männer

30

E IV

1

Entitäten-Beziehungs-Diagramm

 4

S

Einigung

15

E IV

2

Entitäten, Beziehungen und Relationen

5

S

Beziehungen sind auch Relationen

15

E IV

3

Relationales Datenmodell

6

S

Relationales Modell, Entwurf

20

E IV

3

Relationales Datenmodell

7

S

Entitäten-Beziehungsmodell, Vorschlag

10

E IV

4

Test des Datenbankentwurfs

8

S

ACCESS-Datenbank

15

E IV

4

Test des Datenbankentwurfs

9

S

Datensätze

15

E IV

4

Test des Datenbankentwurfs

10

S

Abfragen

15

E IV

3

Relationales Datenmodell

11

Ü

CD-Sammlung

30

E IV

3

Relationales Datenmodell

12

Ü

Entity-Relationship-Diagramm CD-Sammlung

30

E IV

3

Relationales Datenmodell

13

Ü

Relationales Modell CD-Sammlung

30

E IV

5

Meier, Relationale Datenbanken

1

W

Ein weiteres Buch

60

 

 

 

  1. Notieren Sie die geordneten Paare (Ai,Ti), die Attribute der Relation sind!

     

    (Einheit,Text), (Thema, Text), (Tnr, positive Ganzzahl), (Anr, positive Ganzzahl), (LK, LK-Typ), (Aufgabe, Text),

    (B-Zeit, positive Ganzzahl)

     

     

  2. Notieren Sie die Kopf (= heading) der Relation als Menge von Attributen!

     

    Kopf = {(Thema, Text), (Tnr, positive Ganzzahl),

            (Anr, positive Ganzzahl), (LK, LK-Typ),

            (Aufgabe, Text), (B-Zeit, positive Ganzzahl),

            (Einheit,Text)

           }

     

     

  3. Notieren Sie ein Tupel der Relation als Menge von geordneten Paaren, wie in der Definition angegeben!

     

    Beispiel-Tupel = {(Thema,“Relationales Datenmodell“),

                      (Tnr, 3,) (Anr,6), (LK, S),

                      (Aufgabe, „Relationales Modell, Entwurf“),

                      (B-Zeit,20), (Einheit,“E IV“)

                     }

     

     

Gegeben sind die folgenden Relationen:

 

 

Spieler

M#

Name

Straße

Wohnort

M1

Niemann

Ulmenstraße

Oberlaufen

M4

Schulz

Oberallee

Unterlaufen

M7

Hofer

Brahmsweg

Oberlaufen

 

          

Spiele

M#

Gegner

Uhrzeit

Spielbrett

M7

Landner

18:00

1

M9

Franke

18:00

2

M4

Anders

20:00

3

M7

Sacher

20:00

2

 

  1. Bestimmen Sie das Ergebnis der folgenden relationalen Operation:

Spieler join  Spiele

b. Geben Sie eine SQL-Anweisung für die Operation aus Aufgabenteil (a) an!

c.Bestimmen Sie das Ergebnis der folgenden relationalen Operation: Spieler join  Spiele (rename Gegner as Name

 

  1. Bestimmen Sie das Ergebnis der folgenden relationalen Operation:

Spieler join  Spiele

Spieler join  Spiele

Name

Straße

Wohnort

M#

Gegner

Uhrzeit

Speilbrett

Schulz

Oberallee

Unterlaufen

M4

Anders

20:00

3

Hofer

Brahmsweg

Oberlaufen

M7

Landner

18:00

1

Hofer

Brahmsweg

Oberlaufen

M7

Sacher

20:00

2

 

  1. Geben Sie eine SQL-Anweisung für die Operation aus Aufgabenteil (a) an!

SELECT        Spieler.M#, Spieler.Name, Spieler.Straße, Spieler.Wohnort                         Spiele.Gegner, Spiele.Uhrzeit, Spiele.Spielbrett

FROM                       Spieler INNER JOIN Spiele

ON                 Spieler.M# = Spiele.M#

  1. Bestimmen Sie das Ergebnis der folgenden relationalen Operation: Spieler join  Spiele (rename Gegner as Name)

Kein Ergebnis, da Namen nicht übereinstimmen???

  1. Ordnen Sie die folgenden Begriffe den drei genannten Ebenen zu: Anwenderprogramm (), DDL/DML (), Entitäten-Relationen-Modell (), MMI () , Indexstruktur (), Datenschema(), relationales Modell, Kodierung () , Anwendungsprogrammierer ().
  1. Ordnen Sie die folgenden Begriffe den drei genannten Ebenen zu: Anwenderprogramm (externe), DDL/DML (externe à konzeptuelle), Entitäten-Relationen-Modell (konzeptuelle), MMI (externe) , Indexstruktur (interne), Datenschema(interne), relationales Modell, Kodierung (interne) , Anwendungsprogrammierer (externe).
  1. Was versteht man unter einer Relationsvariablen?

Eine Relation ist unveränderlich. Eine Relationsvariable hat als Wert eine

Relation. Dieser Wert kann geändert werden.

  1. In welcher Beziehung stehen Tabellen und Relationen?
  2. Auf welcher Theorie beruht das relationale Datenmodell?
  3. Wer hat das relationale Datenmodell erfunden?
  4. Warum hat sich das relationale Datenmodell durchgesetzt?
  5. Was ist ein Tupel (englisch: tuple)?
  1. In welcher Beziehung stehen Tabellen und Relationen?

     

    Die Tabellen einer relationalen Datenbank sind Relationen. Relationen sind mathematisch definierte Objekte.

     

  2. Auf welcher Theorie beruht das relationale Datenmodell?

     

    Hauptsächlich auf der mathematischen Mengenlehre und der Prädikatenlogik (eine Erweiterung der Aussagenlogik (boolsche Algebra))

     

  3. Wer hat das relationale Datenmodell erfunden?

     

    E.F. Codd, im Jahr 1969. Relationale Datenbanken sind also ca. 40 Jahre alt.

     

  4. Warum hat sich das relationale Datenmodell durchgesetzt?

     

    Weil es mathematische Exaktheit bietet.

     

  5. Was ist ein Tupel (englisch: tuple)?

     

    Ein Datensatz in einer Tabelle ist ein Tupel.

Die Datenmanipulationssprache:

Die Datenmanipulationssprache stellt Sprachelemente zur Verfügung, mit denen neue Datensätze, das Löschen und Verändern von Datensätzen sowie die Suche in Datenbanken beschrieben werden können.

 

SQL stellt solche Sprachelemente zur Verfügung. Typisch sind die Befehle INSERT, DELETE  und – für die Suche – SELECT.

Attribut:

In der Sprache der relationalen Algebra werden Relationen – in der Regel mehrere - Attribute zugeordnet. Jedem Attribut ist wiederum ein Datenbereich zugeordnet, aus dem gültige Datenwerte gewählt werden können. Wenn eine Relation das Attribut A besitzt, muss jeder Tupel der Relation einen Wert aus dem Datenbereich von A enthalten.

 

Informal kann dies wie folgt ausgedrückt werden:

Ein Attribut entspricht der Spalte einer Tabelle. Hat eine Tabelle die Spalte A, muss jeder Datensatz der Tabelle in dieser Spalte einen Wert enthalten. Dieser Wert muss dem Datenbereich stammen, der dieser Spalte A zugeordnet ist.

  • Sie können Indexstrukturen festlegen. Wo? Was bringt das?

Indexstrukturen dienen dazu, umfangreiche Datenbanken performant durchsuchen zu können. In unserem Mickey-Mouse-Beispiel brauchen wir so etwas natürlich nicht. Später werden Sie mehr darüber erfahren. Wenn Sie aber jetzt schon schauen wollen: Öffnen Sie die Tabelle Weine in der Entwurfsansicht. Zu jedem Tabellenattribut (Feld) finden Sie Parameter unter denen auch „indiziert“ gewählt werden kann. Wie das wirkt? Nun: später

Sie finden dort die Tabelle „Aufgaben“. Sie enthält die Aufgaben der Einheit IV.

 

Studieren Sie, welche Daten in dieser Tabelle gespeichert sind. Beantworten Sie folgende Fragen:

 

  1. Welche einfachen Datentypen sind verwendet worden?
  2. Wo sind die Operationen zu finden, mit denen die komplexen Datenwerte manipuliert werden können, die in der Spalte „Beschreibung lang“ gespeichert sind?
  3. C.J. Date definiert (S. 115): ein skalarer Datentyp hat keine benutzersichtbare Komponenten, ein nicht-skalarer Datentyp hat benutzersichtbare Komponenten. Diskutieren Sie, ob die gespeicherten Daten skalar oder nicht-skalar sind!

     

     

     

     

  1. Welche einfachen Datentypen sind verwendet worden?

     

Die beiden einfachen Datentypen sind  „Zahl (Long Integer)“ und „Text”. „Text „ entspricht dabei dem SQL-Datentyp „String“.

 

Die restlichen sind nicht einfach:

  • „Autowert (Long Integer)“ ist kein einfacher Datenryp, weil die Generierung der Werte durch das DBMS erfolgt. Er setzt allerdings auf dem einfachen Datentyp „Long Integer“ auf.
  • „OLE-Objekt“ ist ein Datentyp, der die innere Struktur eines Datenformats hat, das zu  einem Programm gehört, das nicht zum Datenbanksystem gehört. Z.B. ein MS-Word-Dokument.

    - „Memo” ist kein einfacher Datentyp, weil seine Länge nicht fest vorgegeben werden muss. Ein Wert dieses Datentyps kann beliebig lang sein.

     

  1. Wo sind die Operationen zu finden, mit denen die komplexen Datenwerte manipuliert werden können, die in der Spalte „Beschreibung lang“ gespeichert sind?

     

In „Beschreibung lang“ kann ein beliebiges OLE-Objekt gespeichert werden. Dies bedeutet, dass die Operationen zur Veränderung oder Verarbeitung des OLE-Objektes dem DBMS selbst nicht bekannt sind. Es sind alle Operationen, die das Fremdprogramm, zu dem das OLE-Objekt gehört,  bereitstellt. Z.B kann ein als OLE-Objekt gespeichertes MS-Word-Dokument mit Hilfe von MS-Word ausgedruckt oder verändert werden.

 

  1. C.J. Date definiert (S. 115): ein skalarer Datentyp hat keine benutzersichtbare Komponenten, ein nicht-skalarer Datentyp hat benutzersichtbare Komponenten. Diskutieren Sie, ob die gespeicherten Daten skalar oder nicht-skalar sind!
    • „Autowert (Long Integer)“. Skalar: ein Integer Long Wert wird immer als unzerlegbares Ganzes behandelt.
    • „Zahl (Long Integer)“ Skalar: ein Integer Long Wert wird immer als unzerlegbares Ganzes behandelt.
    • „Text“. Skalar. Allerdings kann man streiten. Wenn der Text z.B. Leerzeichen oder Satzzeichen kennt, neigt der Benutzer dazu, den Datentyp „Text“ als Kompositum aufzufassen, denn man kann ihn z.B in Sätze, Worte, Zeichen zerlegen. Entscheidend ist, wie der Benutzer mit den zughörigen Datenwerten umgehen möchte. Es kann z.B. durchaus vorkommen, dass in einer Datenbankanwendung der Wert „Hans Müller“ nie in Name und Vorname zerlegt werden muss, dass also die innere Struktur für den Benutzer uninteressant ist. In einer anderen DB-Anwendung kann dies anders sein.  Für MS-ACCESS ist „Text“ in jedem Fall skalar, denn er wird immer als Ganzes manipuliert.
    • “OLE-Objekt”. Nicht-skalar: Der Benutzer, der das zugehörige Anwendungsprogramm kennt, kann sich ohne weiteres Zugang zu den Komponenten eines solchen Objektes verschaffen. Dies ist in der Regel auch so gewollt.
    • “Memo”: Nicht-skalar: Der gespeicherte Text wird vom Benutzer in der Regel als Einheit mit innerer Struktur wahrgenommen. Es ist auch gewollt, dass diese innere Struktur für den Benutzer sichtbar ist.

       

       

       

       

  1. Aufgabe (Relationen)

Gegeben ist eine Relationsvariable mit folgendem Inhalt:

 

LKW-Einsätze

LKW-Nr

Ziel-Stadt

Lager

Lager- Stadt

Tonnen

LKW1

London

L1

Hamburg

6

LKW2

Paris

L2

Hamburg

30

LKW3

Frankfurt

L1

Paris

20

 

  1. Geben Sie eine mögliche Aussageform an, die dieser Relationsvariablen zugeordnet werden kann.
  2. Geben Sie alle richtigen Aussagen an, die durch den Inhalt der Relationsvariablen bestimmt sind
  3. Geben Sie eine der (unendlich vielen) Aussagen an, die mit dem Inhalt der Relationsvariablen nicht übereinstimmen!

LKW-Einsätze

LKW-Nr

Ziel-Stadt

Lager

Lager- Stadt

Tonnen

LKW1

London

L1

Hamburg

6

LKW2

Paris

L2

Hamburg

30

LKW3

Frankfurt

L1

Paris

20

 

  1. Geben Sie eine mögliche Aussageform an, die dieser Relationsvariablen zugeordnet werden kann.
  • Der LKW <LKW-Nr>

Liefert nach <Ziel-Stadt>

Aus dem Lager <Lager>

in <Lager-Stadt>

die Menge Tonnen <Tonnen>

 

  1. Geben Sie alle richtigen Aussagen an, die durch den Inhalt der Relationsvariablen bestimmt sind!
  • Der LKW <LKW1>;<LKW2>;<LKW3>

Liefert nach <London>;<Paris>;<Frankfurt>

Aus dem Lager <L1>;<L2>;<L1>

in <Hamburg>;<Hamburg>;<Paris>

die Menge Tonnen <6>;<30>;<20>

 

  1. Geben Sie eine der (unendlich vielen) Aussagen an, die mit dem Inhalt der Relationsvariablen nicht übereinstimmen!
  • Der LKW <LKW1>

Liefert nach <Frankfurt>

Aus dem Lager <L5>

in <Koblenz>...

Integrierte Datenbank:

Eine solche Datenbank hält integrierte Daten. Dies bedeutet, dass die Menge aller Daten  logisch als Einheit betrachtet werden. Der Benutzer kann nur über das Datenbankverwaltungssystem (DBMS) zugreifen (z.B. unter Verwendung von SQL). Nur das  DBMS kennt das Format, in dem die Daten physikalisch (z.B. auf einer Platte) abgelegt sind. Eine Sammlung von einzelnen Dateien, die für den Benutzer sichtbar sind, ist ein Beispiel für eine nicht integrierte Datenbank.

 

Mengenoperationen:

spezielle Operationen

 

Einfach = ({(C;integer),(A;char(1)),(B;integer)};

           {{(A;A) ,(B;1) ,(C;15)},

            {(B;1) ,(A;B) ,(C;5) },

            {(C;10),(B;2) ,(A;D) },

            {(A;C) ,(C;30),(B;2) }

           })

          

 

 

 

  1. Machen Sie sich klar, warum folgende Eigenschaften vorliegen:

     

    1. Es gibt kein Tupel zweimal.
    2. Tupel sind ungeordnet.
    3. Attribute sind ungeordnet.
    4. Jedes Tupel enthält genau einen Wert für jedes Attribut.

 

Einfach = ({(C;integer),(A;char(1)),(B;integer)};

           {{(A;A) ,(B;1) ,(C;15)},

            {(B;1) ,(A;B) ,(C;5) },

            {(C;10),(B;2) ,(A;D) },

            {(A;C) ,(C;30),(B;2) }

           })

          

 

 

 

  1. Machen Sie sich klar, warum folgende Eigenschaften vorliegen:

     

    1. Es gibt kein Tupel zweimal.
    2. Tupel sind ungeordnet.
    3. Attribute sind ungeordnet.
    4. Jedes Tupel enthält genau einen Wert für jedes Attribut.
  • Auf welche Daten darf der Datenbankprogrammierer für die Programmierung des Anwenderprogramms zugreifen?

In unserem Fall nur auf die Daten, die die SQL-Abfrage des Formulars bereitstellt.

  • Was bedeutet verteilte Datenverarbeitung?
  • Was wird für die verteilte Datenverarbeitung unbedingt benötigt?
  • Was hat das Internet mit verteilter Datenverarbeitung zu tun?
  • Was ist der Unterschied zwischen den Netzwerkstrukturen, die in den drei Bildern dargestellt sind?
  • Warum ist es unter Umständen notwendig, dass ein Client auf mehrere Server zugreifen kann?

     

  • Was bedeutet verteilte Datenverarbeitung?

    Unterschiedliche Computer sind in einem Netzwerk, wie das Internet eines ist, verbunden und bearbeiten gemeinsam eine Datenverarbeitungsaufgabe.

  • Was wird für die verteilte Datenverarbeitung unbedingt benötigt?

    Mehrere Computer und ein Kommunikationsnetz.

  • Was hat das Internet mit verteilter Datenverarbeitung zu tun?

    Das Internet ist ein Kommunikationsnetz, in dem mehrere Computer gemeinsame Datenverarbeitungsaufgaben behandeln.

  • Was ist der Unterschied zwischen den Netzwerkstrukturen, die in den drei Bildern dargestellt sind?
  • Bild 2.6 zeigt die einfachste und oft vorgefundene Situation: zwei Rechner sind miteinander verbunden, der eine spielt die Rolle des Servers, der andere die des Clients.
  • Bild 2.7 zeigt die typische Internetsituation. Ein Server-Rechner bedient mehrere Client-Rechner.
  • Bild 2.8 zeigt die allgemeinste Konfiguration eines Rechnernetzes, die unter den Begriff „verteilte Datenverarbeitung“ fällt. Dabei wird klar, dass die Begriffe Server und Client dem Bereich der Software und nicht dem der Hardware zugehören: Ein Rechner (Hardware) kann aus der Sicht unterschiedlicher Anwendungen gleichzeitig Server und Client (Software, die auf dem Rechner läuft) sein.
  • Warum ist es unter Umständen notwendig, dass ein Client auf mehrere Server zugreifen kann?

Es ist typisch für Datenbankanwendungen in Unternehmen, dass die Daten in verteilten Datenbanken auf mehreren Rechnern vorliegen. Es ist dann oft der Fall, dass eine Anwendung (Client) Daten, die in mehreren verschiedenen Rechnern (Servern) gespeichert sind,  zusammenführen muss

Was sind die Aufgaben des DBMS?

Das Datenbankverwaltunssystem (Data Base Management System, DBMS) hat die folgenden Aufgaben (ohne Anspruch auf Vollständigkeit):

 

  • Abbildung des konzeptuellen Datenmodells auf physikalische Datenträger.
  • Bereitstellung von Programmierschnittstellen (SQL, Treiberschnittstelle (z.B. DBMS))
  • Unterstützung des DBM bei allen Aufgaben
  • Durchführung von Transaktionen
  • Bearbeiten von Datenbankabfragen
  1. Warum nennt man eine Datenbank, in der die Daten in Tabellen gespeichert sind, eine relationale Datenbank?

     

  2. Was ist der Unterschied zwischen einer Relation und einer Relationsvariablen (englisch: relation, relation variable)?
  1. Warum nennt man eine Datenbank, in der die Daten in Tabellen gespeichert sind, eine relationale Datenbank?

     

    Weil sie auf dem Relationenmodell beruht, das seinerseits auf der mathematischen Theorie der Relationen aufbaut.

     

  2. Was ist der Unterschied zwischen einer Relation und einer Relationsvariablen (englisch: relation, relation variable)?

     

    Eine Relation ist unveränderlich. Eine Relationsvariable hat als Wert eine Relation. Dieser Wert kann geändert werden.

1)Aufgabe (Datenbanksystem)

  1. Was ist der Unterschied zwischen einem Datenbankverwaltungssystem und einem Datenbanksystem?
  • Das Datenbanksystem hat als elektronisches System die Aufgabe, Daten zu speichern und wiederzugewinnen. Das Speichern der Daten soll dazu widerspruchsfrei und dauerhaft sein. Außerdem sollen die Daten unterschiedlichen Anwendungsprogrammen bedarfsgerecht und effizient zur Verfügung gestellt werden. Ein DB-System besteht dazu aus zwei Teilen, der eigentlichen Datenbank (die verwalteten Daten) und dem Datenbankmanagementsystem (die Verwaltungssoftware)
  • Datenbankverwaltungssysteme (=Datenbankmanagementsysteme) kontrollieren und verwalten den Datenbestand. Dadurch kann der Anwender durch ein OS oder DB-Programm direkt auf die Datenbank (DB) zugreifen. Voraussetzung dafür ist, dass das OS/DB-Programm über Datenbanktreiber (Bsp. ODBC) verfügt. Aufgabe (Datenbanksystem)

Relasrionales Datenmodell Skizze:

  1. Nennen Sie mindestens drei verschiedene SQL-Befehle! Erläutern Sie die Wirkung der Befehle!

  1. Welche vordefinierte Datentypen sind in SQL nur möglich?
  2. Kann der Anwender Operationen für Datentypen definieren?
  3. Welche SQL Anweisung dient dazu, Datentypen zu definieren?
  1. Welche vordefinierte Datentypen sind in SQL nur möglich?

Zahlen, Zeichenketten, Bitfolgen, Datumsangaben, Zeitangaben, Zeitstempel, Jahr- und Monatsintervalle, Tag- und Zeitintervalle.

  1. Kann der Anwender Operationen für Datentypen definieren?

    Nein.

  2. Welche SQL Anweisung dient dazu, Datentypen zu definieren?

       CREATE DOMAIN- Anweisung.

Die Relation Tab-1 ist mathematisch als geordnetes Paar (<Kopf>, <Rumpf>) wie folgt notiert:

Tab-1 = ({(Jahr, Ganzzahl),

(Ausgaben, Ganzzahl), (Einnahmen, Ganzzahl)

},

{{(Jahr,1999),(Ausgaben,1000),(Einnahen,900)},

{(Jahr,2001),(Einnahmen,2500),(Ausgaben,2000)},

{(Ausgaben,1500),(Einnahmen,1200),(Jahr,2000)}

}

)

  1. Wie groß ist die Dimension der Relation?
  2. Schreiben Sie den Kopf der Relation auf!
  3. Schreiben Sie Tab-1 in Form einer Tabelle auf!

Die Relation Tab-1 ist mathematisch als geordnetes Paar (<Kopf>, <Rumpf>) wie folgt notiert:

Tab-1 = ({(Jahr, Ganzzahl),

(Ausgaben, Ganzzahl), (Einnahmen, Ganzzahl)

},

{{(Jahr,1999),(Ausgaben,1000),(Einnahen,900)},

{(Jahr,2001),(Einnahmen,2500),(Ausgaben,2000)},

{(Ausgaben,1500),(Einnahmen,1200),(Jahr,2000)}

}

)

 

  1. Wie groß ist die Dimension der Relation?

3

  1. Schreiben Sie den Kopf der Relation auf!

Tab-1 = ({(Jahr, Ganzzahl),

(Ausgaben, Ganzzahl), (Einnahmen, Ganzzahl)

},

 

  1. Schreiben Sie Tab-1 in Form einer Tabelle auf!

 

Tab-1

 

Jahr

Ausgaben

Einnahmen

1999

1000

900

2001

2000

2500

2000

1500

1200

  1. Was ist der Unterschied zwischen einer Datenbank und einem Datenbankverwaltungssystem?
  2. Welche Komponente muss zu einer Datenbank und einem Datenbankverwaltungssystem hinzugenommen werden, damit ein Datenbanksystem vorliegt?
  • Datenbank (DB)

 

ist ein universelles Softwaresystem,das anwendungsunabhängiges Arbeiten mit Datenbanken ermöglicht. Ein DBMS ermöglicht Daten zu speichern, wieder aufzufinden, um sie zu lesen oder zu ändern.

strukturierte und logisch organisierte Sammlung (formatierter) Daten,

die dauerhaft und weitgehend redundanzfrei gespeichert wird.

DBMS (s.o.)

b)

  • Anwendungsprogramm (Menü, Oberfläche, Formulare)

..Kapitel zu Normalformen lesen

  • Was ist in die DDL (Data Definition Language) und die DML (Data Manipulation Language)?

In beiden Fällen handelt es sich um SQL. Diese Datenbanksprache hat DDL-Befehle, um z.B. neue Tabellen anlegen zu können, und DML-Befehle, z.B. der obige SELCT-Befehl zur Abfrage von Datenbankinhalten. ACCESS ist eben ein SQL-Datenbanksystem!

  1. Was ist ODBC?

(Open Databank Connectivity) - Standartisierte Datenbankschnittstelle, die SQL als DB-Sprache verwendet. Bietet eine Programmierschnittstelle (API), die es einem Programmierer erlaubt, seine Anwendung bei existierendem ODBC Trieber relativ unabhängig vom verwendeten Datenbankmanagementsystem (DBMS) zu entwickeln.

Durch den Einsatz der ODBC-Schnittstelle bietet sich die Möglichkeit, Details für den Zugriff auf die DB z.B. Name des Datenbankservers, Port für den Netzwerkzugriff auf die Datenbank, Datenbankname, Benutzername des Datenbankbenutzers und dessen Passwort etc. unter einem bestimmten Namen )auf dem Client einzurichten.

Welche Arten von Software gibt es in einem DBS?

Anwendungsprogramme und Datenbankverwaltungsprogramme.

  1. Was versteht man unter einer Normalform?

Die Erste Normalform (1NF) ist dann gegeben, wenn alle Informationen in einer Tabelle atomar vorliegen. Jede Information innerhalb einer Tabelle bekommt eine eigene Tabellenspalte und zusammenhängende Informationen.

VII wichtig

..

s. Präsi

  • Welche Funktionen bietet Ihnen das MMI?

Sie dürfen die Datenblätter wie in einem Karteikasten durchmustern. Sie dürfen  neue Datenblätter anlegen. Sie dürfen die Daten ändern und löschen. Sie können das Programm beenden (Liste nicht vollständig). Stellen Sie sich vor, Sie müssten ein Programm mit dieser Funktionalität in C++ oder Java schreiben: Sie hätten zu tun! Bedenken Sie, dass Sie auch irgendwie auf die Datenbank aus Ihrem Code heraus zugreifen müssten. Sie sehen also, das ACCESS-Konzept „Formular“ ist wirklich einem ausgewachsenen Anwenderprogramm gleichzusetzen. Wenn übrigens das Formular beim Start automatisch geladen wird, merkt der Endbenutzer gar nicht, dass überhaupt eine Datenbank im Hintergrund arbeitet.

relationales Datenmodell:

In einem relationalen Datenmodell wird der interessierende Realitätsauschnitt ausschließlich durch Tabellen (mathematisch: Relationen) dargestellt (modelliert).

  1. Welche verschiedenen Assoziationstypen gibt es?
  2. Was ist der Unterschied zwischen c-Typ und 1-Typ, zwischen mc-Typ und m-Typ?
  3. Finden Sie selbst ein Beispiel für eine Beziehung zwischen Entitäten, die in einer Richtung vom Typ c und in der anderen Richtung vom Typ m ist!
  4. Finden Sie ein Beispiel für eine Beziehung, die in einer Richtung eine Mehrfach-konditionelle Assoziation und in der anderen eine Einfache Assoziation enthält!
  1. Welche verschiedenen Assoziationstypen gibt es?

    Es gibt die folgenden vier Assoziationstypen, man kann mit Ihnen beschreiben, welche Rolle eine Entitätenmenge in einer Beziehungsmenge spielt:

     

Typ

Bezeichnung

Bedeutung

1

einfach

Jede Entität ist in genau einer Beziehung vertreten.

c

konditionell

 

Wenn eine Entität in einer Beziehung vertreten ist, dann nur in einer. Es gibt also Entitäten, die in keiner Beziehung vorkommen.

m

mehrfach

Jede Entität ist in mindestens einer Beziehung vertreten. Es gibt also keine Entität, die in keiner Beziehung vorkommt. Es kann Entitäten geben, die in mehreren Beziehungen eine Rolle spielen.

mc

mehrfach-konditionell

Es kann Entitäten geben, die in mehreren Beziehungen vorkommen. Es kann aber auch Entitäten geben, die in keiner Beziehung vertreten sind.

 

  1. Was ist der Unterschied zwischen c-Typ und 1-Typ, zwischen mc-Typ und m-Typ?

    Der Unterschied besteht darin, dass bei c- und mc-Typ nicht jede Entität in einer Beziehung vorkommen muss. Es ist also möglich, dass es Entitäten gibt, die in keiner Beziehung enthalten sind.

     

  2. Finden Sie selbst ein Beispiel für eine Beziehung zwischen Entitäten, die in einer Richtung vom Typ c und in der anderen Richtung vom Typ m ist!

    Hier ein Beispiel:

     

    Entitätenmenge 1: Pflanzenart,

    Entitätenmenge 2: Artnamen für Lebewesen,

    Beziehungsmenge: „hat Name“, also Pflanzenart <pflanzenart> hat den Artnamen <artname>

    (<pflanzenart> und <artname> sind Platzhalter für Entitäten aus den entsprechenden Entitätenmengen).

     

    Die  Entitätenmenge „Pflanzenart“ ist mit der Beziehungsmenge „hat Name“ entsprechend dem Typ m assoziiert, denn es gibt Pflanzenarten, die mehrere Namen haben (z.B. einen lateinischen und einen deutschen).

     

    Die  Entitätenmenge „Artnamen für Lebewesen“ ist mit der Beziehungsmenge „hat Name“ entsprechend dem Typ c assoziiert, denn für jedem Namen, der eine Pflanzenart benennt, ist genau einer Pflanzenart zugeordnet. Allerdings aber gibt es Namen für Lebewesensarten, die keiner Pflanzenart zugeordnet sind, z.B. Namen für Tierarten.

     

  3. Finden Sie ein Beispiel für eine Beziehung, die in einer Richtung eine Mehrfach-konditionelle Assoziation und in der anderen eine Einfache Assoziation enthält!

     

    Hier ein Beispiel:

     

    Entitätenmenge 1: Brote aus einer Getreideart,

    Entitätenmenge 2: Getreidearten,

    Beziehungsmenge: „entält“, also Brot <brot> enthält die Getreideart <getreideart>

    (<brot> und <getreideart> sind Platzhalter für Entitäten aus den entsprechenden Entitätenmengen).

     

    Die  Entitätenmenge „Brote aus einer Getreideart“ ist mit der Beziehungsmenge „enthält“ entsprechend dem Typ 1 assoziiert, denn jedes Brot, muss mindestens Getreide einer Art enthalten und dann nur Getreide einer einzigen Art.

     

    Die  Entitätenmenge „Getreidearten“ ist mit der Beziehungsmenge „enthält“ entsprechend dem Typ mc assoziiert, denn es gibt Getreidearten, aus denen man verschiedene Brote machen kann. Andererseits möchte ich nicht ausschließen, dass es Getreidearten gibt, aus denen kein Brot hergestellt wird.

Endnutzer erklären

Endnutzer sind diejenigen, die ein Datenbanksystem nutzen.

 

Sie haben in der Regel keine Datenbankkenntnisse. Das Datenbanksystem benötigt deshalb eine Benutzerschnittstelle (Human User Interface, siehe auch ANSI/SPARC-Architektur von Datenbanksystemen). Bei ACCESS kann man eine Benutzerschnittstelle mit Hilfe von Formularen programmieren.

             

Da die Endbenutzer nur diese Oberfläche sehen und bedienen, kann es sein, dass sie sich gar nicht bewusst sind, dass ihr Programm in Wirklichkeit ein Datenbanksystem ist.

 

1)Aufgabe (Relationen)

B = ({(Platz;INTEGER),(P;CHAR),(Anz;INTEGER)};

{{(Platz;5),(Anz;4),(Q;INTEGER)},

{(Q;REAL),(Platz;4),(Platz;5)},

{(Anz;4),(Platz;5)}

}

)

  1. Beschreibt der Ausdruck eine Relation? Begründen Sie Ihre Antwort!
  2. Ändern Sie den Rumpf des Ausdrucks so, dass eine Relation entsteht!
  3. Schreiben Sie die Relation aus (b) in Tabellenform auf

1)Aufgabe (Relationen)

B = ({(Platz;INTEGER),(P;CHAR),(Anz;INTEGER)};

{{(Platz;5),(Anz;4),(Q;INTEGER)},

{(Q;REAL),(Platz;4),(Platz;5)},

{(Anz;4),(Platz;5)}

}

)

  1. Beschreibt der Ausdruck eine Relation? Begründen Sie Ihre Antwort!
  • Nein Q nicht definiert, in der letzten Zeile Nullwert
    1. Ändern Sie den Rumpf des Ausdrucks so, dass eine Relation entsteht!

B = ({(Platz;INTEGER),(P;CHAR),(Anz;INTEGER)};

{{(Platz;5),(Anz;4),(P;INTEGER)},

{(P;REAL),(Platz;4),(Anz;5)},

{(Anz;4),(Platz;5),(P;REAL)}

}

)

 

  1. Schreiben Sie die Relation aus (b) in Tabellenform auf!

 

B

 

Platz

P

Anz

5

INTEGER

4

4

REAL

5

5

REAL

4

 

relationale Datenbank

Eine relationale Datenbank implementiert die Relationale Algebra von Codd. Sie enthält als Basis-Datenbankobjekte Relationen. Die Relationale Algebra ist eine mathematische Datenbanktheorie.

  • Welchen Ebenen der ANSI/SPARC-Architektur sind die Clients und der Server zugeordnet?
  • Schreiben Sie je eine eigene Definition für die beiden Elemente, Client und Server, auf (Sie können dazu die Seite „Begriffe“ zu der Einheit II benutzen).
  • Welchen Ebenen der ANSI/SPARC-Architektur sind die Clients und der Server zugeordnet?

Server = DBMS; Client = Anwenderprogramm

  • Schreiben Sie je eine eigene Definition für die beiden Elemente, Client und Server, auf (Sie können dazu die Seite „Begriffe“ zu der Einheit II benutzen).

     

    • Server, auch „Backend“: Datenbankmanagementsystem das die entsprechenden Funktionen Datendefinition, Datenmanipulation, Datensicherheit und Datenintegrität usw. bereitstellt. Es ist nicht notwendigerweise so, dass Server und Client auf unterschiedlichen Computern, die vernetzt sind, als Programme ablaufen.

       

    • Client, auch „Frontend“: Anwenderprogramm, das zwischen Datenbank und Endbenutzer vermittelt.  Es nutzt die Funktionalität des Datenbankservers (DBMS). Es ist nicht notwendigerweise so, dass Server und Client auf unterschiedlichen Computern, die vernetzt sind, als Programme ablaufen.

       

1)Aufgabe (Programmierung externe Ebene)

  1. Beschreiben Sie, wie ein JAVA-Programm auf eine MYSQL-Datenbank zugreifen kann!
  2. Welche Rolle spielt dabei JDBC?
  1. b) Welche Rolle spielt dabei JDBC?

Datenbankverbindungen aufzubauen und zu verwalten, SQL-Anfragen an die Datenbank weiterzuleiten und die Ergebnisse in eine für Java nutzbare Form umzuwandeln und dem Programm zur Verfügung zu stellen.


  1. Beschreiben Sie die ANSI/SPARC-Datenbankarchitektur!

Welche Arten von Benutzern eines DBS können unterschieden werden?

Welche Aufgaben nehmen sie war?

 

Welche Arten von Benutzern eines DBS können unterschieden werden?

 

Endbenutzer, Datenbankprogrammierer, Datenbankverwalter.

 

 

 

Welche Aufgaben nehmen sie war?

 

Datenbankverwalter:

  • Definieren des konzeptuellen Schemas
  • Definieren des internen Schemas
  • Definieren von Sicherheits- und Integritätsbedingungen
  • Überwachen der Leistungsfähigkeit des Datenbanksystems
  • Reagieren auf geänderte Anforderungen an das Datenbanksystem

     

    Endbenutzer:

  • Dateneingabe und Datenpflege
  • Nutzung der Benutzeroberfläche, um Daten aus der Datenbank abzufragen

     

    Datenbankprogrammierer:

  • Programmieren von Datenbank-Applikationen
  • Programmieren der Benutzeroberfläche
  1. Für eine Verknüpfung zwischen zwei Relationsvariablen ist die Überprüfung der referentiellen Integrität mit Aktualisierungsweitergabe und Löschweitergabe festgelegt worden. Beschreiben Sie, was das Datenbankverwaltungssystem macht, wenn eine der beiden Relationsvariablen verändert wird!

Eine Datenbank kann schnell in einen inkonsistenten Zustand geraten. Im ungünstigsten Fall liegt eine nicht-normalisierte Datenbank vor, die starke Redundanzen aufweist. Dabei können Anomalien im Datenbestand auftreten, die verschiedene Formen annehmen. Man spricht hier von Einfüge-, Lösch- und Änderungsanomalien. Tritt eine oder mehrerer dieser Anomalien auf, kann das zur Verfälschung oder Löschung von Informationen führen.

a)Was ist JDBC?

a)Für welches Problem stellt JDBC eine Lösung dar?

a)In welchem Bereich der ANSI/SPARC-Datenbankarchitektur kann JDBC eingesetzt werden?

a)Was ist JDBC?

Java Database Connectivity (Java Datenbankverbindungsfähigkeit) - ist eine Datenbankschnittstelle der Java-Plattform, die eine einheitliche Schnittstelle zu Datenbanken verschiedener Hersteller bietet und speziell auf relationale Datenbanken ausgerichtet ist.

b)Für welches Problem stellt JDBC eine Lösung dar?

Einheitliche Schnittstelle zu Datenbanken verschiedener Hersteller und speziell auf relationale Datenbanken ausgerichtet

c)In welchem Bereich der ANSI/SPARC-Datenbankarchitektur kann JDBC eingesetzt werden?

  1. Was ist ein Kombinationsfeld? Wozu kann es eingesetzt werden?
  • Kombinationsfelder werden in Access-Formularen häufig eingesetzt, um den Anwender eine Auswahl der zur Verfügung stehenden Einträge anzubieten. Wenn das Kombinationsfeld nicht aufgeklappt ist, kann nur der Wert aus einer einzigen Spalte aus dem Kombinationsfeld angezeigt werden. Zur besseren Übersicht werden oft zusätzliche Informationen benötigt.

Datenbankdefinitionssprache

Die Datenbankdefinitionssprache stellt Sprachelemente zur Verfügung mit deren Hilfe man Datenbankobjekte beschreiben kann, beispielsweise, um sie neu einzurichten oder zu löschen.

 

SQL beinhaltet solche Sprachelemente. Typisch sind Befehle wie CREATE TABLE oder CREATE VIEW.

1)Aufgabe (SQL)

SQL besteht aus zwei Teilen: Datenmanipulationssprache und Datendefinitionssprache.

  1. Geben Sie jeweils eine kurze Definition für die Begriffe Datenmanipulationssprache und Datendefinitionssprache!
  • Wir schauen uns Elemente der Datendefinitionssprache von SQL genauer an. Allgemein besteht eine Datendefinitionssprache aus Sprachelementen, mit deren Hilfe Datenbankobjekte definiert werden können. Wir haben bereits zwei Arten von Datenbankobjekten kennengelernt:
    • (1) Tabellen (Basis-Relationen)
    • (2) Abfragen (virtuelle Relationen)
  • Wir schauen uns Elemente der Datenmanipulationssprache von SQL genauer an. Allgemein besteht eine Datenmanipulationsprache aus Sprachelementen, mit deren Hilfe Datenbankanfragen gestellt und der Inhalt von Tabellen verändert werden können. Folgende SQL-Anweisungen kennen wir bereits:
    • - INSERT-Anweisung
    • - UPDATE-Anweisung
    • - DELETE-Anweisung
    • - SELECT-Anweisung

Formaler relationaler Begriff

Informale Entsprechung GESUCHT

Relation

Tupel

Kardinalität

Attribut

Dimension

Primärschlüssel

Datenbereich

Formaler relationaler Begriff

Informale Entsprechung

Relation

Tupel

Kardinalität

Attribut

Dimension

Primärschlüssel

Datenbereich

Tabelle

Zeile oder Datensatz

Anzahl der Zeilen

Spalte oder Feld

Anzahl von Spalten

eindeutige Kennung (für einen Datensatz)

Menge von gültigen Werten

1)Aufgabe (Relationale Algebra)

P = ({S;CHAR), (Platz;INTEGER),(R;INTEGER)};

{{(Platz;1),(R;4),(S;A)},

{(R;130),(Platz;2),(S;g)},

{(S;r),(Platz;4),(R;5)},

{(S;c),(R;130),(Platz;1)}

}

)

 

Q = ({(S;CHAR),(Anz;INTEGER),(Platz;INTEGER)};

{{(Platz;1),(Anz;4),(S;c)},

{(Anz;7),(Platz;1),(S;c)},

{(Platz;2),(Anz;4),(S;f)},

{(S;f),(Platz;4),(Anz;15)},

{(Platz;1),(Anz;3),(S;f)},

{(S;f),(Platz;10),(Anz;15)}

}

)

  1. Berechnen Sie:

P join Q

  1. Berechnen Sie:

restrict

(project (P join Q(rename S as T)){Anz,S})

where Anz>3

P join Q

P

S

Platz

R

A

1

4

G

2

130

R

4

5

c

1

130

 

Q

S

Platz

Anz

C

1

4

C

1

7

F

2

4

F

4

15

F

1

3

F

10

15

 

P join Q

R

S

Platz

Anz

130

C

1

4

130

C

1

7

  1. Was ist ein Anfragebaum? Was entspricht den Blättern des Baumes, Was entspricht den Knoten des Baumes? Wieviele Wurzelknoten, wieviele Stammknoten gibt es?

 

Ein Anfragebaum ist die grafische Visualisierung eines Ausdrucks der Relationalen Algebra. Da jede SQL-Abfrage in einen relationalen Audruck umgesetzt werden kann, kann jede SQL-Abfrage auch durch einen Anfragebaum dargestellt werden.

Den Blättern des Baumes entsprechen die Basis-Relationen, aus denen die Information extrahiert weden soll. Den Knoten des Baumes entsprechen die relationalen Operationen, aus denen die Abfrage zusammenesetzt ist.

Es gibt immer nur einen Wurzelknoten, er entspricht der letzten Operation, die das Ergebnis der Abfrage liefert. Stammknoten  kann es mehrere geben.

© 2025 MemoCard