Ludwig-Maximilians-Universit�t M�nchen Sommersemester 1999
Institut f�r Informatik
Priv.-Doz. Dr. R. Hennicker
Matthias H�lzl
Einf�hrung in die Informatik: Systeme und Anwendungen
�bungsblatt 4
Die Datenbank
biblio kann durch folgende Definitionen erzeugt werden:
create table buecher(buch_nr char(4), titel char(30), autor char(30));
create table kunden(kunden_nr char(4), name char(30), ort char(30));
create table verleih(verleih_nr int,
kunden_nr char(4), buch_nr char(4), rueckgabe char(8));
Diese Definitionen sollen um Integrit�tsbedingungen erweitert werden.
-
(a)
-
Erweitern Sie die Definition der Tabelle
verleih so, dass die Spalte
verleih_nr
nur positive Werte annehmen kann.
-
(b)
-
Erweitern Sie die Definition der Tabelle
kunden so, dass die Spalte
ort
nur einen der Werte "`M
UENCHEN"' oder "`A
UGSBURG"' annehmen kann.
-
(c)
-
Erweitern Sie die Definition der Tabelle
buecher um den Prim�rschl�ssel
buch_nr
und die Definition der Tabelle
kunden um den Prim�rschl�ssel
kunden_nr
.
-
(d)
-
Welche Schl�sselkandidaten gibt es f�r die Tabelle
verleih
?
-
(e)
-
Erweitern Sie die Tabelle
verleih aus (a) um den aus
kunden_nr
und
buch_nr
bestehenden Prim�rschl�ssel.
-
(f)
-
Erweitern Sie die Tabelle
verleih aus (a) um den Prim�rschl�ssel
verleih_nr
und den aus
kunden_nr
und
buch_nr
bestehenden Alternativ-Schl�ssel.
-
(g)
-
Geben Sie die Fremdschl�ssel f�r die Tabelle
verleih aus (f) an.
-
(h)
-
Erweitern Sie die Tabelle
verleih aus (f) um die Fremdschl�ssel
kunden_nr
und
buch_nr
.
Die L�sungen der Aufgaben sind wieder per Mail and den Korrektor Sascha Hosse
hosse@dbs.informatik.uni-muenchen.de
zu verschicken.
Bitte geben Sie f�r die am Rechner zu bearbeitenden Aufgaben immer den verwendeten Befehl an! Vergessen Sie nicht Ihre(n) Namen anzugeben und �ber jede Anweisung zu schreiben, in welcher Teilaufgabe diese erstellt wurde. Aufgrund der hohen Zahl an �bungsteilnehmern d�rfen bis zu drei Personen gemeinsam ein �bungsblatt bearbeiten. Die Datenbank
beispiel kann durch folgende Definitionen erzeugt werden:
create table kunde (kund_nr char(6), kund_name char(30),
adresse char(30), ort char(12), plz int);
create table personal (persnr int, nachname char(20), vorname char(12),
einsatz char(12), vorgesetzt int, gehalt int);
create table verkauf (auftr_nr int, bestelldat char(8), persnr int,
kund_nr char(6));
create table ausgang (auftr_nr int, art_nr int, menge int);
create table inventar (art_nr int, art_bez char(30), lagerbest int,
lagerort char(12), preis float);
Diese Definitionen sollen in den folgenden Aufgaben um Ingegrit�tsbedingungen erweitert werden. Dabei enth�lt in der Tabelle
personal das Feld
vorgesetzt die Personalnummer des Vorgesetzten oder den Wert 0, falls ein Angestellter keinen Vorgesetzten hat.
-
(a)
-
(1 Punkt) Erweitern Sie die Definition der Tabelle
personal so, dass die Spalte
einsatz nur einen der Werte "`M
UENCHEN,"' "`H
AMBURG,"' "`F
RANKFURT"' oder "`K
OELN"' annehmen kann.
-
(b)
-
(1 Punkt) Erweitern Sie die Definition der Tabelle
inventar so, dass nur positive Lagerbest�nde (d.h.
lagerbest
) vorkommen k�nnen.
-
(c)
-
(2 Punkte) Erweitern Sie die Definition der Tabelle
kunde um den Prim�rschl�ssel
kund_nr
und die Definition der Tabelle
personal
aus (a) um den Prim�rschl�ssel
persnr
.
-
(d)
-
(1 Punkt) Welche Schl�sselkandidaten gibt es f�r die Tabelle
verkauf, wenn man davon ausgeht, dass jeder Angestellte nur einen Verkauf pro Kunde und Tag durchf�hren kann, dass ein Kunde aber bei verschiedenen Angestellten einkaufen kann.
-
(e)
-
(1 Punkt) Erweitern Sie die Definition der Tabelle
verkauf um den Prim�rschl�ssel
auftr_nr
-
(f)
-
(1 Punkt) Erweitern Sie die Definition der Tabelle
inventar aus (b) um den aus den Spalten
art_nr
und
lagerort
bestehenden Prim�rschl�ssel.
-
(g)
-
(1 Punkt) Erweitern Sie die Definition der Tabelle
inventar aus (f) um den aus den Spalten
art_bez
und
lagerort
bestehenden Alternativ-Schl�ssel
-
(h)
-
(1 Punkt) Geben Sie die Fremdschl�ssel f�r die Tabelle
verkauf an.
-
(i)
-
(1 Punkt) Erweitern Sie die Definition der Tabelle
ausgang so, dass
auftr_nr
ein Fremdschl�ssel ist.
This document was generated using the LaTeX2HTML translator Version 99.1 release (March 30, 1999)
Copyright © 1993, 1994, 1995, 1996, Nikos Drakos, Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999, Ross Moore, Mathematics Department, Macquarie University, Sydney.
The command line arguments were:
latex2html -split 0 uebung-4.tex
The translation was initiated by Matthias Hoelzl on 1999-06-04
Matthias Hoelzl
1999-06-04