Klausur - oth

Werbung
Fachhochschule Regensburg
Klausur (Aufgabenblatt Nr.4)
Prüfungsfach: DB
Name: ___________________________
Aufgabensteller: Prof. Sauer
Vorname:_________________________
Semester: ________________________
Prüfungstermin: Januar 2000
Zugelassene Hilfsmittel: Skriptum
Arbeitszeit: 120 Minuten
Bitte beachten Sie die folgenden Hinweise zu den Aufgabenstellungen bzgl der SQL-Angaben:
Entry-SQL (entspricht dem ANSI-89-Standard, auch SQL/89 genannt) und kennzeichnet die untere
Ebene des SQL/92 (auch SQL2 genannt).
Full-Level-SQL umfaßt die vollständige Realisierung von SQL/92
Ohne spezielle Hinweise sind SQL-Anweisungen in Oracle-SQL (SQL*Plus) anzugeben. Bezugspunkt
in Oracle Version 7.
Aufgaben
1. Gegeben sind die Namen von Haupt- und Unterprogrammen: „h1, h2, h3, h4, u5, u6, u7, u8, u9,
u10“. Hauptprogramm „h1“ ruft „h2“, „h3“ und „u9“ auf, Hauptprogramm „h2“ ruft „h4“, „u9“, „u10“ auf,
Hauptprogramm „h3“ ruft „u5“, „u6“, „u7“ auf und Hauptprogramm „h4“ ruft „u6“, „u7“ und „u8“ auf.
a) Gib das Schema dieser relationalen Datenbank an!
Prozedur
Proz-NR
Struktur
OProzNr UProzNr
b) Gib (vollständig) Aufbau und Daten der relationalen Datenbank an!
_________________________________________
_________________________________________
_________________________________________
_________________________________________
_________________________________________
_________________________________________
_________________________________________
_________________________________________
_________________________________________
_________________________________________
_________________________________________
_________________________________________
_________________________________________
_________________________________________
_________________________________________
2. Nimm an, die unter 1. angegebene relationale Datenbank wurde implementiert. Gib die SQLAnweisungen auf diese Datenbank an, die folgende Aufgaben (Fragen) bzgl. der Datenbank lösen:
a) Gib zuerst das gerufene Programm und dann das rufende Programm aus. Die Ausgabe soll nach
dem Programm-Namen des gerufenen Programm sortiert sein.
______________________________________________
______________________________________________
______________________________________________
______________________________________________
b) Gib die „Select“-Anweisung an, die rufendes Programm mit der Anzahl der Aufrufe auf dem
Bildschirm des Datensichtgeräts darstellt.
_________________________________________
_________________________________________
_________________________________________
_________________________________________
c) Gib die „Select-Anweisung“ an, die nur die Programme (über den Programm-Namen) auflistet, die 3
oder mehr Programmaufrufe enthalten.
_________________________________________
_________________________________________
_________________________________________
_________________________________________
d) Die Aufrufstruktur der Programme soll über SQL-Anweisungen ermittelt werden. So ruft bspw. „h1“
„h2“ auf, „h2“ ruft anschließend „h4“ und „h4“ ruft „u6“ auf. Die Aufrufstruktur umfaßt Pfade
unterschiedlicher Länge.
1) Ermittle die Aufrufstruktur der Programme, die die Pfadlänge 1 besitzen und gib sie in einer Tabelle
folgender Struktur aus:
Stufe_1
Stufe_2
-------------------h1
h2
................
_________________________________________
_________________________________________
_________________________________________
2
_________________________________________
2) Ermittle die Aufrufstruktur der Programme, die die Pfadlänge 2 besitzen und gib sie in einer Tabelle
folgender Struktur aus:
Stufe_1
Stufe_2
Stufe_3
--------------------------------h1
h2
h4
................
_________________________________________
_________________________________________
_________________________________________
_________________________________________
_________________________________________
_________________________________________
_________________________________________
_________________________________________
3) Ermittle die Aufrufstruktur der Programme, die die Pfadlänge 3 besitzen und gib sie in einer Tabelle
folgender Struktur aus:
Stufe_1
Stufe_2
Stufe_3
Stufe_4
---------------------------------------------h1
h2
h4
u6
................
______________________________________________
______________________________________________
______________________________________________
______________________________________________
_________________________________________
_________________________________________
_________________________________________
5. Gib in Oracle-SQL die SQL-Anweisungen für die Erzeugung der unter 1a) entworfenen relationalen
Datenbank an. Die Datenbank soll über Constraint-Klauseln Entitätsintegritäten und referentielle
Integritäten sicherstellen. Die Constraint-Angaben sollen eindeutig bezeichnet werden.
______________________________________________
______________________________________________
______________________________________________
______________________________________________
______________________________________________
______________________________________________
______________________________________________
______________________________________________
______________________________________________
3
______________________________________________
______________________________________________
______________________________________________
______________________________________________
______________________________________________
______________________________________________
______________________________________________
______________________________________________
______________________________________________
______________________________________________
______________________________________________
3a) Mit welcher Klausel können in Oracle-SQL die unter 2d) ermittelten Anweisungen weitaus
einfacher formulliert werden?
____________________
3b) Formuliere die zugehörigen SQL-Anweisungen zu den Angaben unter 2d) in Oracle-SQL.
______________________________________________
______________________________________________
______________________________________________
______________________________________________
_________________________________________
______________________________________________
______________________________________________
______________________________________________
______________________________________________
______________________________________________
______________________________________________
______________________________________________
______________________________________________
4. Angenommen in das Programmverzeichnis wurden die Programme „h8“ und „h9“ aufgenommen,
die in der Aufrufstruktur der Programme aber nicht vorkommen. Über welche SELECT-Anweisung
kann festgestellt werden, das diese beiden Programme in der Aufrufstruktur nicht vorkommen.
______________________________________________
______________________________________________
______________________________________________
______________________________________________
______________________________________________
5. Gib eine SQL-Anweisung in ORACLE-SQL aus, die die Aufrufstruktur in der folgenden Form
wiederspiegelt.
h2
4
h4
u6
u7
u8
h3
....
______________________________________________
______________________________________________
______________________________________________
______________________________________________
______________________________________________
6. Welche Programme fließen in „h1“ ein?
______________________________________________
______________________________________________
______________________________________________
______________________________________________
______________________________________________
7a) Können Sie eine SQL-Anweisung angeben, die folgende Ausgabe direkt (ohne Hilfstabellen)
realisiert.
h1 ruft h2, h3, u6 auf
h2 ruft .........
___________
7b) Falls Sie eine derartige Anweisung kennen, geben Sie diese SQL-Anweisung an.
_________________________________________
_________________________________________
_________________________________________
_________________________________________
_________________________________________
7c) Gib den Ablaufplan (Nassi-Shneidermann-Diagramm) eines Embedded-SQL-Programms an, das
die angegebene Ausgabe über eine „Host-Language“ mit Hilfe eingebetteter SQL-Anweisungen löst.
5
7d) Überführe das unter 7c) beschriebene Embedded-SQL-Programm in ein ablauffähiges CProgramm, das auch eine allgemeine Routine zur Bearbeitung aufgetretener Fehler enthält.
_________________________________________
_________________________________________
_________________________________________
_________________________________________
_________________________________________
_________________________________________
_________________________________________
_________________________________________
_________________________________________
_________________________________________
_________________________________________
_________________________________________
_________________________________________
_________________________________________
_________________________________________
_________________________________________
_________________________________________
_________________________________________
_________________________________________
6
_________________________________________
_________________________________________
_________________________________________
_________________________________________
_________________________________________
_________________________________________
_________________________________________
_________________________________________
_________________________________________
_________________________________________
_________________________________________
_________________________________________
_________________________________________
_________________________________________
_________________________________________
_________________________________________
7e) Realisiere den unter c) angegebenen Programmablaufplan in PL/SQL.
_________________________________________
_________________________________________
_________________________________________
_________________________________________
_________________________________________
_________________________________________
_________________________________________
_________________________________________
_________________________________________
_________________________________________
_________________________________________
_________________________________________
_________________________________________
_________________________________________
_________________________________________
_________________________________________
_________________________________________
7
Herunterladen