Informatikmaterialien |
Startseite
| Informatik | Physik
| Mathematik | Sonstiges
| |
Richard-Wossidlo-Gymnasium Ribnitz-Damgarten |
---|
Aus dem Datenbankkurs sind folgende drei Operationen näher besprochen wurden:
Operator Schreibweise
Bedeutung Selektion SFormel(A)
Formel(A)Auswahl von Zeilen gemäß der Formel Projektion PFormel(A)
Formel(A)Auswahl von Spalten gemäß der Formel Join
(Verbund)JAttribute(A,B) Verknüpfung zweier Relationen zu einer neuen Relation mit den Attributen beider Tabellen über gemeinsame Attribute
Im folgenden werden in Analogie zur entsprechenden Datenbankseite die Operationen besprochen.
Als Datenbasis sollen die zwei Tabellen Schüler und Kurs dienen.
Schüler Kurs
SNr Vorname Name 4711 Paul Müller 0815 Erich Schmidt 7472 Sven Lehmann 1234 Olaf Müller 2313 Jürgen Paulsen
SNr KNr Fehlstunden Punkte 0815 03 0 12 4711 03 12 03 1234 23 3 14
Diese werden zunächst in PROLOG-Fakten übersetzt.
schueler(4711,'Paul','Mueller').
schueler(0815,'Erich','Schmidt').
schueler(7472,'Sven','Lehmann').
schueler(1234,'Olaf','Mueller').
schueler(2313,'Juergen','Paulsen').kurs(0815,03,0,12).
kurs(4711,03,12,03).
kurs(1234,23,3,14).
Bei der Selektion werden Zeilen aus einer Tabelle ausgewählt, die bestimmten Eigenschaften genügen.
Aus der Tabelle Schüler sollen alle
Zeilen selektiert werden, in denen der Name "Müller" steht.
Die Selektion hat also die Form: SName = 'Müller'(Schüler)
Schüler SName = 'Müller'(Schüler)
SNr Vorname Name 4711 Paul Müller 0815 Erich Schmidt 7472 Sven Lehmann 1234 Olaf Müller 2313 Jürgen Paulsen
SNr Vorname Name 12 Paul Müller 308 Olaf Müller
Umsetzung in PROLOG:
-? schueler(SNummer,Vorname,'Mueller').
Bei der Projektion werden Spalten aus einer Tabelle ausgewählt, die bestimmten Eigenschaften genügen.
Aus der Tabelle Schüler
sollen alle Spalten mit dem Attribut "Name" projiziert werden.
Die Projektion hat also die Form: PName(Schüler)
Schüler PName(Schüler)
SNr Vorname Name 4711 Paul Müller 0815 Erich Schmidt 7472 Sven Lehmann 1234 Olaf Müller 2313 Jürgen Paulsen
Name Müller Schmidt Lehmann Müller Paulsen
Umsetzung in PROLOG unter Nutzung des Symbol "_" (anonyme Variable).
-? schueler(_,_,Name).
Aus der Tabelle Schüler
sollen die Vornamen aller Schüler angezeigt werden, deren Nachname Müller ist.
Die Abfrage hat also die Form: PVorname(SName = 'Müller'(Schüler))
Schüler PVorname(SName = 'Müller'(Schüler))
SNr Vorname Name 4711 Paul Müller 0815 Erich Schmidt 7472 Sven Lehmann 1234 Olaf Müller 2313 Jürgen Paulsen
Vorname Paul Olaf
Umsetzung in PROLOG:
-? schueler(_,Vorname,'Mueller').
Ein Join ist das Verbinden von zwei Relationen zu einer neuen Tabelle.
Aus den Tabellen Schüler und Kurse soll eine Tabelle gebildet werden. Das gemeinsame Attribut lautet SNr.
Schüler Kurse JSNr(Schüler, Kurs)
SNr Vorname Name 4711 Paul Müller 0815 Erich Schmidt 7472 Sven Lehmann 1234 Olaf Müller 2313 Jürgen Paulsen
SNr KNr Fehlstunden Punkte 0815 03 0 12 4711 03 12 03 1234 23 3 14
SNr Vorname Name KNr Fehlstunden Punkte 0815 Erich Schmidt 03 0 12 4711 Paul Müller 03 12 03 1234 Olaf Müller 23 3 14
Umsetzung in PROLOG:
-? schueler(SNr,Vorname,Name),kurs(SNr,KNr,Fehlstunden,Punkte).
zur Startseite |
© Tino
Hempel 1997 - 2006 |
Im Web
vertreten seit 1994. Eine Internet-Seite aus dem Angebot von Tino Hempel. Für alle Seiten gilt der Haftungsausschluss/Disclaimer. |