• Keine Ergebnisse gefunden

Prüfungsfach: DatenbankenArbeitszeit: 120 MinutenZugelassene Hilfsmittel: SkriptName: Prüfungstermin: 31.01.2003Vorname: Sem.:Aufgabensteller: Prof. Dr. A. Tsakpinis

N/A
N/A
Protected

Academic year: 2021

Aktie "Prüfungsfach: DatenbankenArbeitszeit: 120 MinutenZugelassene Hilfsmittel: SkriptName: Prüfungstermin: 31.01.2003Vorname: Sem.:Aufgabensteller: Prof. Dr. A. Tsakpinis"

Copied!
1
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Prüfungsfach: Datenbanken Arbeitszeit: 120 Minuten Zugelassene Hilfsmittel: Skript Name:

Prüfungstermin: 31.01.2003 Vorname: Sem.:

Aufgabensteller: Prof. Dr. A. Tsakpinis Bitte deutlich schreiben!

Wenn du Fehler findest, oder eine bessere Lösung hast!

Zurück an eike@ehringer.de

Aufgabe 1 Relationenmodell

Gegeben sei folgendes relationale Schema einer Studentendatenbank:

Student

Matrikelnummer Name Geschlecht Wohnort

123456 Kop M Regensburg

234567 Jannach W Regenstauf

NULL Meier M Lappersdorf

331123 Zanker W Regensburg

Vorlesung

Volesungsnummer Name Fachbereich

100 Datenbanken Informatik

101 Programmiersprachen Informatik

200 Rechnungswesen BW

Einschreibung

Volesungsnummer Student

100 123456

100 234567

101 332211

200 222312

105 123456

a) Besitzen die Relationen (Tabellen) einen Fremdschlüssel? Falls ja: Geben Sie den Fremdschlüssel an.

Tabelle: Einschreibung Fremdschlüssel: Student

b) Welche Zeilen in den Tabellen verstoßen gegen die Entitätsregel (Integritäts- bedingung!)? Geben Sie die Zeilen an und begründen Sie Ihre Entscheidung.

Tabelle: Student Spalte – Matrikelnummer - Primärschlüssel: NULL

Tabelle: Einschreibung Spalte – Vorlesungsnr., Primärschlüssel nicht eindeutig 100,100 c) Welche Zeilen in den Tabellen verstoßen gegen die referentielle Integrität?

Geben Sie die Zeilen an und begründen Sie Ihre Entscheidung.

(2)

Beide Matrikelnummern sind Fremdschlüssel, die nicht durch den Primärschlüssel in der Tabelle: Student definiert sind.

Tabelle: Einschreibung Spalte: Vorlesungsnr. Zeile: 105 Diese Forlesungsnr. ist nicht in der Tabelle: Vorlesung definiert.

d) Wird eine Integrität verletzt, wenn man folgenden Befehl ausführt (Begründen Sie Ihre Antwort):

INSERT INTO Einschreibung VALUES (102, 331123);

Ja, da keine Vorlesung „102“ als Primärschlüssel in der Tabelle: Vorlesung definiert ist.

Aufgabe 2 Normalisierung

Gegeben sei folgendes Relationenschema mit Informationen über Vorlesungen und Studierende:

Vorlesung

Vorlesungsnummer Student Vorlesung Studentenname Fachbereich

100 123456 Datenbanken Kop Informatik

100 234567 Datenbanken Jannach Informatik

101 332211 Programmiersprachen Zanker BW

101 123456 Programmiersprachen Kop

Student

Matrikelnummer Name

123456 Kop

234567 Jannach

NULL Meier

331123 Zanker

1. Erfüllt diese Relation die 1. und die 2. Normalform? Wenn nicht, dann führen Sie bitte die Relation in die 2. Normalform! Begründen Sie Ihre Aussagen!

1. Normalform: Ja

2. Normalform: Nein, da die Vorlesung nur von der Vorlesungsnummer abhängig ist.

Vorlesungsnummer -> { Vorlesung , Fachbereich }

Student -> { Studentenname }

Vorlesungsnummer , Matrikelnr

2. Existieren Redundanzen bei der Abspeicherung von Daten im Relationalen Datenmodell, so kann es zu sog. Anomalien kommen. Welche Anomalien kennen Sie? Erklären Sie diese anhand des hier angegebenen Beispiels Vorlesung.

UPDATE-A.: Wenn sich der Vorlesungsname ändert, muss der öfters geändert werden.

INSERT-A: Mann kann keine Vorlesung anlegen für die noch kein Student eingeschrieben ist.

DELETE-A: Wenn man die Einschreibungen der Studenten in der Vorlesung löscht, gibt es keine Vorlesung mehr.

(3)

Aufgabe 3 SQL

1. Welches Ergebnis liefert die folgende SQL-Abfrage:

SELECT Vorlesungsnummer, Vorlesung, Fachbereich FROM Student

WHERE Fachbereich = ‚Informatik’ OR Fachbereich = ‚BW’.

Diese Abfrage gibt gar nichts aus, da in der Tabelle Student die WHERE Klausel mit ‚Fachbereich’

absolut ins leere greift!

2. Formulieren Sie eine SQL-Abfrage, die für alle Studenten die Matrikelnummer und die Anzahl der Vorlesungen auflistet, die ein Student belegt hat.

SELECT Student, COUNT(Vorlesungsnummer) AS Anzahl_Vorlesung

FROM Vorlesung

GROUP BY Student;

3. Formulieren Sie eine SQL-Abfrage, die für alle Vorlesungen die eingeschriebenen Studenten herausfindet. Das Ergebnis soll alphabetisch nach dem Vorlesungs- namen sortiert werden.

SELECT Vorlesung, Studentenname

FROM Vorlesung

GROUP BY Vorlesung;

4. Der Student Zanker will sich für die Vorlesung Datenbanken einschreiben.

Vervollständigen Sie den folgenden SQL-Ausdruck, so dass diese Daten in die Datenbank eingefügt werden.

INSERT INTO Vorlesung VALUES (100,331123,Datenbanken,Zanker,BW)

SELECT

(4)

Aufgabe 4 Relationale Operatoren

Gegeben sei folgendes Relationenmodell einer Bank:

Filiale

FNR BLZ Filialname Leiter

Konto

KTNR Saldo Dispo Kunde Filiale

Kredit

DispoNr Betrag Rate Zins Kunde Filiale Sparbuch

SNR Guthaben Zinssatz Kunde Filiale

Stellen Sie an die Datenbank folgende Anfragen mittels Relationenalgebra:

1. Listen Sie die Kontonummern auf, die Kunden mit dem Namen ‚Meier’ gehören.

T1 := REST ( Konto, Kunde=“Meier“ )

T2 := PROJ ( T1, KTNR )

??? ob das reicht ???

2. Bitte beschreiben Sie die Fragenstellung, die im folgenden Ausdruck codiert ist:

T1 = Rest (Sparbuch, (Guthaben > 5000)).

T2 = Join (T1, (Filiale = FNR), Filiale).

T3 = PROJ (T2, Filialname).

Ausgegeben wird, eine Liste mit Filialen bei denen Sparbücher mit mehr als 5000 geführt werden.

3. Bitte geben Sie eine semantisch äquivalente SQL-Anweisung an!

SELECT FI.Filialname

FROM Sparbuch AS SP INNER JOIN Filiale AS FI ON ( Filiale = FNR) WHERE Guthaben > 5000;

(5)

Aufgabe 5 (Datenunabhängigkeit)

Bitte kreuzen Sie die richtigen Antworten an (es kann mehrere richtige Antworten geben!). Falsche Angaben werden negativ benotet.

1. Um ein möglichst großes Maß an Datenunabhängigkeit zu erreichen, sollen drei verschiedene Datenebenen realisiert werden:

 Externes, konzeptionelles und internes Schema

 Attribute, Relationen und Konsistenzbedingungen

 Dateisystem, Speichersystem und Zugriffskontrolle 2. Eine Transaktion

 Wird entweder ganz oder gar nicht ausgeführt

 Ist eine atomare Datenbankoperation

 Ist eine Menge von Datenbankoperationen, die zu einem Zeitpunkt parallel ausgeführt werden können

 Ist eine Folge von Datenbankoperationen, die die Datenbank von einem konsistenten (d.h. korrekten) Zustand zum nächsten konsistenten Zustand überführen.

Aufgabe 6 ER-Diagramme, relationales Datenbankmodell, SQL

Die Datenanalyse bei einer Luftverkehrgesellschaft hat folgendes ergeben: Der ge- samte Luftverkehr ist in Flugverbindungen unterteilt. Eine Flugverbindung stellt die Verbindung zwischen zwei Orten mit einer Fluggesellschaft zu einer bestimmten Abflug- und Ankunftszeit her. Für jede Flugverbindung wird täglich ein Flugplan gefertigt. Dieser enthält alle Flüge für ein bestimmtes Datum. Flügen ist eindeutig ein Flugzeugtyp zugeordnet. Jedes Flugzeug hat abhängig von seinem Typ eine

bestimmte Anzahl von Sitzplätzen der 1. und der 2. Klasse und wird mit Begleit- personal ausgestattet. Für die Bemannung der Flugzeuge existieren verschiedene Typen, die jeweils die Anzahl der Piloten und Stewardessen festlegen. Um die Reservierung von Flügen zu erleichtern, werden alle noch offenen Flüge gesondert geführt, mit der noch frei verfügbaren Kapazität an Plätzen der 1. und 2. Klasse. Bei Buchungen muss der Flug und die Agentur angegeben werden. Passagiere werden mit ihrem Namen, Adresse und Telefonnummer registriert.

Das Personal der Fluggesellschaft ist unterteilt in Flugpersonal und Bodenpersonal.

Flugpersonal muss über eine Flugerlaubnis verfügen und darf eine maximale Anzahl von Flugstunden nicht übersteigen. Bodenpersonal hat im Gegensatz zu Flug- personal einen bestimmten Einsatzort.

Für das Flugpersonal wird ein Flugdienstplan gefertigt, in dem für jeden Flug das Flugpersonal mit jeweils einem Vertreter aufgeführt sind.

Identifizieren Sie die im Anwendungsbereich vorkommenden Objekte und Objekttypen, ihre Merkmale sowie ihre Beziehungen zueinander.

Zeichen Sie die ER-Diagramme

Führen Sie das ER-Modell in ein relationales Datenbankschema über.

(6)
(7)

Aufgabe 6 Datenmodellierung (Vorlesungsbetrieb)

Gegeben sei folgendes relationales Datenbankschema, das Informationen zum Vorlesungsbetrieb einer Hochschule verwaltet. Folgende Informationen sollen berücksichtigt werden:

Studenten: Matrikelnummer, Name, Vorname, Semester

Assistenten: Personalnummer, Name, Vorname, Fachbereich, Raum Professor: Personalnummer, Name, Vorname, Fachbereich, Raum Vorlesung: Vorlesungsnummer, Anzahl Semesterwochenstunden, Titel Zusatzinformationen

 Ein Assistent ist einem oder mehreren Professoren (jeweils zu einem Prozentsatz seiner Arbeitszeit) zugeordnet. Professoren können mehrere Assistenten haben.

 Professoren halten i.d.R. mehrere Vorlesungen, es gibt aber auch Professoren, die Ämter begleiten bzw. forschungsfreies Semester haben und keine

Vorlesungen halten. Eine Vorlesung wird eindeutig einem Professor zuge- schlagen.

 Studenten belegen i.d.R. mehrere Vorlesungen, es gibt aber auch Studenten, die keine Vorlesungen belegen wollen bzw. dürfen (z.B. wegen ausstehender

Prüfungen).

 Prüfungen sind mündlich. Die Studenten werden einzeln geprüft. Die Prüfung wird von einem Professor gehalten, der nicht notwendigerweise die Vorlesung selbst hält. Während der Prüfung ist ein Assistent anwesend, der ein Prüfungs- protokoll anfertigt. Nach der Prüfung wird die Note festgelegt.

1. Bitte entwerfen Sie ein ER-Diagramm für diese Aufgabenstellung!

2. Führen Sie das ER-Diagramm in ein relationales Datenbankmodell über!

(8)

3. Formulieren Sie SQL-Anweisungen, die folgende Fragen beantworten:

a. Prüfungsliste: Liste aller Prüfungen mit Angabe der Vorlesungsnummer, des Studenten (Matrikelnummer, Name), des Professors (Name, Fach- bereich) sowie des Prüfers (Name, Fachbereich) und seines Assistenten (Name, Fachbereich) sortiert nach dem Studentennamen.

b. Statistik: Liste der Prüfungen mit Anzahl der Prüfungsteilnehmer pro Prüfung.

c. Liste der Professoren, die mehr als 30 Prüfungen halten müssen.

Referenzen

ÄHNLICHE DOKUMENTE

d) Zerlegen Sie die Nachfrageänderung nach Gut X in einen Substitutions- und einen Einkommenseffekt (nach Slutsky)! Berechnen Sie dazu das Einkommen M’, das gerade erforderlich

Hinweis: Das Integral l at sih durh eine einfahe Substitution auf die F

[r]

[r]

[r]

ein Polynom vierten Grades mit geraden Potenzen zur ukf uhren, den F all, den wir. in Aufgabe 1 qualitativ

[r]

Sowohl Bücher, als auch Zeitschriften haben einen Titel, ein Erscheinungsjahr und eine ISBN-Nummer.. Zeitschriften werden zusätzlich zum Erscheinungsjahr über