Semesterabschlußklausur

Werbung
Übungsaufgaben Datenbanksysteme
Aufgabe 1:
Gegeben sei folgende relationale Datenbanktabelle TelAbr für die Abrechnung
privater Telefongespräche in einem Unternehmen:
Name
Sauer
Ehrig
Ahrend
Mehlig
Gabriel
Müller
Schulze
Schulze
Köhler
Müller
Müller
Müller
Bauer
Lehmann
Vorname
Erika
Ricardo
Martha
Karl-Heinz
Anna
Alfred
Jutta
Jutta
Horst
Erich
Sabine
Anton
Siegfried
Hannelore
TelNr
143
215
261
143
271
301
261
700
260
425
425
850
702
362
Einheiten
134
287
122
21
63
29
292
361
57
123
428
13
53
328
a) Formulieren Sie SQL-Befehle, die diese Tabelle implementieren und mit
einem Datensatz füllen. Welchen Teilmengen der Datenbanksprache SQL
ordnen Sie diese Befehle zu?
b) Formulieren Sie SQL-Abfragen, die folgende Informationen liefern:
1.
2.
3.
4.
5.
6.
7.
Wer hat die Telefonnummer 425? (Name und Vorname)
Erzeugen Sie eine Liste aller Mitarbeiter, alphabetisch sortiert.
Wie heißt Herr Ehrig mit Vornamen.
Wer hat die höchste, wer die niedrigste Telefonrechnung.
Wie viele verschiedene Telefonnummern gibt es.
Wie viele Mitarbeiter sind in der Tabelle erfasst.
Wie hoch sind die Telefongebühren der einzelnen Mitarbeiter, wenn die
Einheit mit 0,21 DM abgerechnet wird.
8. Erzeugen Sie eine Liste aller Müllers, nach dem Vornamen sortiert.
9. Wer hat die gleiche Telefonnummer wie Ricardo Ehrig.
10. Wer hat überdurchschnittlich viele Einheiten verbraucht. (Durchschnitt:
SQL Funktion avg)
Tobias Hoppe
1
Übungsaufgaben Datenbanksysteme
Lösung Aufgabe 1a)
1. DDL:
create table TelAbr (Name char(20), Vorname char(20), TelNr number,
Einheiten number);
2. DML:
insert into TelAbr (Name, Vorname, TelNr, Einheiten) values (‘Sauer’, ‘Erika’,
143, 134);
Lösung Aufgabe 1b)
1.
2.
3.
4.
5.
6.
7.
8.
select Name, Vorname from TelAbr where TelNr = 333;
select distinct Name, Vorname from TelAbr order by Name;
select Vorname from TelAbr where Name = ‘Ehrig’;
select Name from TelAbr where Einheiten = (select max(Einheiten) from
TelAbr);
select Name from TelAbr where Einheiten = (select min(Einheiten) from
TelAbr);
select Name, Einheiten * 0.12 from TelAbr;
select Name, Vorname from TelAbr where name = ‘Müller’ order by Vorname;
select Name, Vorname from TelAbr where TelNr = (select TelNr from TelAbr
where Name = ‘Müller’ and Vorname = ‘Erich’);
select Name, Vorname, Einheiten from TelAbr where Einheiten > (select
avg(Einheiten) from TelAbr);
Tobias Hoppe
2
Übungsaufgaben Datenbanksysteme
Aufgabe 2:
Ein Krankenhaus will mit Hilfe eines Datenbanksystems seine Patientenverwaltung
rationalisieren.
Es behandelt Patienten, die die Eigenschaften Namen, Geburtsdatum, PLZ, Wohnort
und Straße besitzen. Sie werden stationär auf verschiedenen Stationen für eine
bestimmte Zeit wegen bestimmter Erkrankungen aufgenommen. Die Stationen haben
ein bestimmtes Profil von Erkrankungen, jeweils einen zuständigen Stationsarzt und
einen zuständigen Oberarzt sowie eine maximale Bettenkapazität. Bei den
festgelegten möglichen Erkrankungen sind eine Reihe von Leistungen definiert
(Laboruntersuchungen, Röntgen, EKG, bestimmte Medikamente, ...). Der Erhalt
einzelner Leistungen aus dem Therapieangebot einzelner Erkrankungen soll im
Datenbanksystem für jeden Krankenhausaufenthalt eines Patienten dokumentiert
werden.
Modellieren Sie diesen Sachverhalt in Form eines semantischen Datenmodells.
Verwenden Sie dazu die Beschreibungselemente des Informationsstrukturmodells
(ISM). Gehen Sie dabei insbesondere auf den Verknüpfungstyp der vorhandenen
relevanten Beziehungen und die relevanten Merkmalsklassen ein. Fügen Sie bei
Bedarf geeignete künstliche identifizierende Merkmalsklassen ein.
Lösung Aufgabe 2
ƒ
IOK und MMK:
o PATIENTEN (Patient_ID, Name, Geburtsdatum, PLZ, Wohnort,
Strasse)
o STATIONEN (Stations-ID, Stationsarzt, Oberarztm, Bettenkapazität)
o STATIONÄRE AUFENTHALTE (Aufenthalt_ID, Start_Datum,
End_Datum)
o ERKRANKUNGEN (Erkrankungs_ID, Name)
o LEISTUNGEN (Leistungs_ID, Name)
ƒ
Verknüpfungen und Beziehungen:
o PATIENTEN / STATIONÄRE AUFENTHALTE : „besitzen“ (1:n)
o STATIONÄRE AUFENTHALTE / STATIONEN : „finden statt in“ (1:N)
o STATIONEN / ERKRANGUNGEN : „behandeln“ (1:n)
o LEISTUNGEN / ERKRANGUNGEN : „therapieren“ (n:m)
o STATIONÄRE AUFENTHALTE / ERKRANGUNGEN : „heilen“ (1:n)
o STATIONÄRE AUFENTHALTE / LEISTUNGEN : „verursachen“ (1:n)
ƒ
ISM-Modell:
PATIENTEN
besitzen
STATIONÄRE
AUFENTHALT
verursachen
finden statt in
STATIONEN
heilen
behandeln
LEISTUNGEN
Tobias Hoppe
therapieren
ERKRANKUNGEN
3
Übungsaufgaben Datenbanksysteme
o Zu beachten:
o Fremdschlüssel-MMK nicht aufnehmen
o Künstliche identifizierende MMK bei allen IOK
o Plural-Form der IOK
o Aktive Verknüpfungsbenennung
o Erläuterung der Verknüpfungen (Optionalität als Interpretationsfrage)
Aufgabe 3:
Data Warehouse- oder OLAP-Systeme werden oft als „multidimensional“ bezeichnet.
Erläutern Sie den Begriff der Multidimensionalität in diesem Zusammenhang und
beschreiben Sie einige Elemente eines multidimensionalen Datenmodells. Zeigen
Sie anhand eines kleinen Beispiels, wie ein multidimensionales Datenmodell mit
einem relationalen Datenbanksystem implementiert werden kann.
Lösung Aufgabe 3
o Multidimensionale Sichtweise erläutern
o Hinweis auf Funktionalitäten mit Erläuterung
o Slicing
o Dicing/Rotate
o Drill Down/Up
o Elemente des Datenmodells
o Betriebswirtschaftliche Variablen / Kennzahlen
o Dimensionen
o Dimensionshierarchien
o Regeln
o Elemente des Datenmodells
o Starschema mit Fakten und Dimensionstabelle
Tobias Hoppe
4
Herunterladen