Datenbanken:Prüfung 2008.07.29 Lehner

Aus Tudwiki
Wechseln zu: Navigation, Suche

Ich fange mal an, die Klausur zusammen zu tragen. Es ist leider nur noch ungefähr aus meiner Erinnerung. Außerdem stehe ich nicht sicher im Stoff, so dass ich mich zum Teil mit der Ausdrucksweise vertue... Reihenfolge nicht beachtet.

1. Aufgabe, 12 Punkte.

Gegeben X = {2,4,6,8,10}, Y = {4,8}

Fügen Sie die Min-Max-Notationen ein


  -------------------|X|-----------------
  |                   |                 |
  |                   |                 |
  |                   |                 |
 <R1>                <R2>              <R3>
  |                   |                 |
  |                   |                 |
  |                   |                 |
  -------------------|Y|-----------------

R1: x>y R2: y teilt x ganzzahlig R3: x<=y

2. ER-Model

a) Gegeben ein ER-Model; wandeln Sie das in Relationen um.

b) Legen Sie mit SQL einen Index auf das Attribut Gewicht der Entität Teil an, so dass nicht nur Verweise auf die Tupel, sondern die Tupel selbst eingetragen werden.

3. Relationenalgebra.

3.1) Gegeben:

  R   |  SP1  |  SP2
---------------------
      |   1   |  A
      |   2   |  B
      |   3   |  C
  S   |  SP3  | SP4
---------------------
      |   1   |  C
      |   2   |  D
      |   3   |  E

Welche Methode der Relationsalgebra (Selektion, Division, Projektion, Join, ...) wurde in den folgenden aufgaben Angewendet? Geben Sie den Ausdruck an.

a) b)

  R   |  SP1                 | SP1 | SP2 | SP3 | SP4
---------------            ---------------------------
      |   1                  |  1  |  A  |  1  |  C
      |   2                  |  2  |  B  |  2  |  D
      |   3                  |  3  |  C  |  3  |  E

Lsg:

a) $ \pi_{SP1}(R) $

b) $ R \bowtie_{SP1=SP3} S $


3.2)

Gegeben:

 R  | SP1 | SP2          S | SP2 
----------------         --------
    |  X  | 1              |  2
    |  X  | 2              |  3
    |  Y  | 2 
    |  Y  | 3 
    |  Z  | 2
    |  Z  | 3
    |  Z  | 4

Geben Sie an: $ R \div S = \pi_{SP1} (R) - \pi_{SP1} ( ( \pi_{SP1} (R) \times S ) - R) $

Um Ihre Lösung zu überprüfen, vollziehen Sie schrittweise nach: (Dann war die Definition von R/S gegeben, und man musste die einzelnen Schritte ausführlich hinschreiben)

$ \pi_{SP1} (R) = \{X, Y, Z \} $

$ \pi_{SP1} (R) \times S = \{(X, 2), (X, 3), (Y, 2), (Y, 3), (Z, 2), (Z, 3) \} $

$ (\pi_{SP1} (R) \times S) - R = \{(X, 3) \} $

$ \pi_{SP1} (R)((\pi_{SP1} (R) \times S) - R) = \{X \} $

$ \pi_{SP1} (R) - \pi_{SP1} (R)((\pi_{SP1} (R) \times S) - R) = \{Y, Z \} $

4.

es gibt HANDEL(KAUFHAUSNAME, KAUFHAUSADRESSE, LAGERADRESSE, LAGERKAPAZITÄT, WARENBEZEICHNUNG...) und die generische Relation F(HANDEL) =(KAUFHAUSNAME -> KAUFHAUSADRESSE, ...)

a) Erläutern Sie umgangssprachlich folgende Ausdrücke KAUFHAUSNAME -> KAUFHAUSADRESSE: (Da kamen noch mehr sone komsichen Dinger aus F dran)

b) Was sind Schlüsselkandidaten, was sind Primärschlüssel? Begründen Sie Ihre Aussage nach den Armstrong-Axiomen!

c) Geben Sie die SQL Statements für die Fremdschlüssel <konkreter Fremdschlüssel> an.

ALTER CONSTRAIN FOREIGN KEY REFERENCES (oder so ähnlich. hatte ich jedenfalls noch niegesehen. man musste also lücken füllen.)

5. SQL (12-15 Punkte)

Gegeben PERS(PERSONENNUMMER, APTEILUNGSNUMMER, GEHALT, CHEFNUMMER, ...) ABT(ABTEILUNGSNUMMER, ABTEILUNGSNAME)

geben Sie die SQL-Statements für - Genau die Mitarbeiter, die genau den Durchschnitt aller Mitarbeiter verdienen - Genau die Mitarbeiter, die mehr als ihr Chef verdienen - Die in keiner Abteilung sind

6. XQuery / XPath

Siehe vorherige Klausuren, bezüglich der vorlesungs.xml

a) Geben Sie den XPath Ausdruck für alle Vorlesungen vor der 2. 9:00 Uhr Vorlesung an.

b) Was erzeugt folgender XPath-Ausdruck?

 //vorlesung[seminarleiter]

c) Zusätzlich gibt es in der datei personen.xml (siehe vorherige Semester) zu manchen Seminarleitern einen Status.

Geben sie mit Hilfe von XQuery alle Vorlesungen mit Seminarleitern aus, und wenn vorhanden den Status der Seminarleiter aus personen.xml

7. Transaktionen.

Gegeben zwei Tabellen

T1 | Name    | Alter               T2 | Name    | Fakultät
-----------------------            ------------------------------------
   | Horst   | 22                     | Claudia | Informatik
   | Hannes  | 23                     | Horst   | Elektrotechnik
   | Henning | 25                     | Detlef  | Bio
   | Jochen  | 33                     | Henning | Politik auf Lehramt
   | Claudia | 18
   | Norbert | 20

Der Arbeitsspeicher habe vier Speicherplätze. Es soll ein left-outer-join nach dem Classic-Hashing-Prinzip durchgeführt werden. Die Hashfunktion ist f(x) = x mod 4 x = {A->0, B->1, C->2,...}. Die Buchstaben sind jeweils die Anfangsbuchstaben der Vornamen.

Wie sehen die Speicherplätze nach dem ersten, und wie nach dem zweiten Durchlauf für T1 aus?

1. Durchlauf T1

----------------------------------------------

0.
1. Jochen
2.
3. Horst, Hannes, Hennig

-----------------------------------------------

2. Durchlauf T1

-----------------------------------------------

0.
1. Norbert
2. Claudia
3.

Notieren Sie das Ergebnis des Joins: