Übungen zu Datenbanken WS 2016/2017 Blatt 7

Werbung
Übungen zu Datenbanken WS 2016/2017
Blatt 7
Aufgabe 1:
Gegeben sei der folgende B-Baum mit m = 1.
10
7
5
15
12
9
11
18
14
17
19
1. Fügen Sie den Schlüssel 21 und dann den Schlüssel 20 ein. Skizzieren Sie nach jedem Einfügen den Baum.
2. Löschen Sie in dem jetzt entstandenen Baum den Schlüssel 18 und dann den Schlüssel 7.
Aufgabe 2:
Gegeben ist folgendes SQL-Kommando:
select Wohnort, Anrede, max(Betrag), max(Bestelldatum)
from Bestellungen b, Kunden k
where b.Kunden_Nr = k.Kunden_Nr and Anrede like '%Dr.'
group by Wohnort, Anrede
order by Wohnort
1. Welche Indizes könnten nützlich sein, um die Anfrage zu beschleunigen?
2. Welche Nachteile bringt die Vergabe der Indizes mit sich?
Aufgabe 3:
In einem Versandhandel sei eine Datenbank mit den bekannten vier Tabellen (ohne Mengeneinheiten) vorhanden. In
der Firma gibt es drei Abteilungen mit jeweils 10 Mitarbeitern, die von ihren Arbeitsplätzen aus auf die Datenbank
zugreifen müssen. Die Mitarbeiter von Abteilung 1 müssen für ihre Tätigkeitsgebiete die Artikel- und die
Kundendaten verwalten (Datensätze anlegen, ändern, löschen). Die Mitarbeiter von Abteilung 2 müssen die
Bestellvorgänge verwalten können (Bestellungen anlegen, ändern, löschen) und benötigen lesenden Zugriff auf die
Artikel- und Kundendaten. In der Tabelle Artikel dürfen sie überdies das Attribut Bestand ändern. Die Mitarbeiter
von Abteilung 3 führen Auswertungen mit den Daten durch, um das Käuferverhalten zu untersuchen. Es soll z. B.
untersucht werden, wie oft ein Kunde, der einen Schnitzrohling bestellt, auch einen Satz Schnitzwerkzeuge dazu
bestellt. Dabei ist ihnen jedoch der Zugriff auf Name, Vorname, Strasse, E-Mail-Adresse, Telefon-Nr. und TelefaxNr. der Kunden nicht gestattet.
Für den Zugriff auf die Datenbank hat der Datenbankadministrator für jeden Mitarbeiter eine Datenbankkennung
angelegt, unter der der Mitarbeiter sich bei der Datenbank anmeldet. Angenommen, die Mitarbeiter erledigen ihre
Aufgaben mit SQL. Was würden Sie als Datenbankadministrator einrichten, um eine sichere Umgebung zu schaffen
und den Mitarbeitern ihre Arbeit zu erleichtern? Geben Sie auch beispielhaft einige dazu benötigte SQL-Kommandos
an.
Bemerkung: falls für die Mitarbeiter Anwendungsprogramme eingerichtet werden (statt interaktivem Zugriff mittels
SQL), würde der Datenbankadministrator auch eine solche Umgebung für die Anwendungsprogramme einrichten.
Aufgabe 4:
In einer Datenbank befinde sich eine Tabelle GEODATEN mit den Attributen Nr (int) sowie X, Y und Z (jeweils
FLOAT) zur Speicherung der Koordinaten von 3-D-Punkten. Der Anwender Euler soll lesenden Zugriff auf die
Daten haben. Er formuliert immer Anfragen an GEODATEN, bei denen X, Y, und Z ausgegeben werden. Dabei
möchte er zusätzlich zu den Koordinaten für jeden Punkt den Abstand des Punktes vom Nullpunkt sehen.
1. Was richten Sie als Datenbankadministrator ein? Geben Sie die nötigen SQL-Kommandos an.
2. Wie kann der Anwender Euler die Koordinaten aller Punkte, die in der der x-z-Ebene liegen, einschließlich
Abstand anfragen?
Herunterladen