close

Anmelden

Neues Passwort anfordern?

Anmeldung mit OpenID

1. Nennen Sie die wichtigsten Services eines - Roggeweck

EinbettenHerunterladen
1. Nennen Sie die wichtigsten Services eines Datenbanksystems. Wie würden Sie die
grundsätzliche Entscheidung treffen, ob in einem Projekt ein Datenbanksystem oder
eine andere Form der Datenhaltung eingesetzt wird?
2. Erläutern Sie den Parameter PCTFREE für Tabellen (Oracle). Gehen Sie davon aus,
dass eine Tabelle folgende Spalten hat:
- col1 char(10) primary key
- col2 char(20) not null
- col3 char(20) with null
col3 wird beim insert nicht gefüllt, aber im Rahmen von Änderungen nachgepflegt.
Wie würden Sie für diese Tabelle PCTFREE definieren? Begründen Sie Ihre
Entscheidung.
3. Begründen Sie die Aussage: Zur Sicherstellung von Atomizität und Dauerhaftigkeit
von Transaktionen verwendet ein Datenbanksystem Logging. Erläutern Sie in diesem
Zusammenhang den Begriff „Write Ahead Logging“.
4. Mehrere Transaktionen führen massive Änderungen in einer Tabelle durch, die aus
fachlichen Gründen nicht in der gleichen Reihenfolge durchgeführt werden können.
Was können Sie tun, um Deadlocks zu vermeiden? Warum sind Deadlocks in diesem
Kontext (Update – Update Konflikte) besonders problematisch?
5. Gegeben sei eine Fakten Tabelle mit Kundenumsatzdaten; die Spalten der Tabelle sind
-
Tag
Kunden Id
Produkt Id
Anzahl Bestellpositionen
Umsatz (Summe über Verkaufspreis)
Diese Tabelle wird fortgeschrieben aus den Tabellen Auftrag und Auftragsposition mit
den Spalten
-
Auftragsnummer (Primary Key)
Kunden Id (Foreign Key)
Auftragsdatum
Rechnungsnummer
Rechnungsdatum
Auftragsstatus
Bemerkungen zum Auftrag
bzw.
-
Auftragsnummer (Foreign Key, Primary Key Column 1)
Positionsnummer (Primary Key Column 2)
Produkt Id
Anzahl
Einzelpreis
Mit dem SQL Statement
Select a.Auftragsdatum, a.KundenId, ap.ProduktId,
sum(ap.Anzahl), sum (ap.Anzahl*ap.Einzelpreis)
From Auftrag a, Auftragsposition ap
Where a.Auftragsnummer = ap.Auftragsnummer
And a.Rechnungsdatum = Tagesdatum
Group by a.Auftragsdatum, a.KundenId, ap.ProduktId
werden täglich die benötigten Daten aus diesen Tabellen extrahiert. Pro Werktag gibt
es ca. 10000 Aufträge (von fast ebenso vielen Kunden) mit jeweils ca. 100
Auftragspositionen. Die Aufträge sind i.a. nach 5 Werktagen erledigt
(Rechnungsstellung), nach einem weiteren Monat werden die Daten dann aus den
Tabellen entfernt.
Entwerfen Sie ein physisches Datendesign (Partitionierung und Indexdesign) für die
Tabellen Auftrag und Auftragsposition, das diese Abfrage unterstützt. Sie dürfen in
der Tabelle Auftragsposition maximal eine redundante Spalte mitführen.
Extra:
Die Faktentabelle enthält die Daten für die jeweils letzten 4 Jahre (ca. 250 Werktage
pro Jahr). Auswertungen sollen möglich sein nach den Dimensionen Zeit (Tag, Monat
und Jahr), Kunde (Kunden Id, Ort und Region) und Produkt (Produkt Id,
Produktgruppe). Sämtliche Kombinationen sollen möglich sein. Es gibt 10 Mio.
Kunden in 1000 Orten und 10 Regionen (gleichverteilt), 1000 Produkte in 10
Produktgruppen (gleichverteilt). Welches physische Datendesign (basierend auf
materialisierten Sichten, Partitions- und Indexdesign) schlagen Sie vor, wenn mehr als
40 Partitionen pro Tabelle nicht erwünscht sind und maximal 3 materialisierte Sichten
(inklusive der Fakten Tabelle) verwendet werden sollen?
6. Diskutieren Sie die Vor- und Nachteile redundanter Datenhaltung unter der
Voraussetzung, dass die Redundanzen synchron, also innerhalb einer Transaktion mit
den Änderungen der Basisdaten, zu pflegen sind.
7. Beschreiben Sie die grundlegende Vorgehensweise bei der Modellierung verteilter
Datenbanken. Wo liegt die besondere Herausforderung im Vergleich zur Modellierung
zentraler Datenbanken?
8. Erläutern Sie, wie man mit einem sequentiell lesenden Cursor (prinzipiell) arbeitet.
Welche anderen Cursor Typen kennen Sie? (Falls Sie JDBC bevorzugen, können Sie
den Begriff Cursor durch ResultSet ersetzen.)
Document
Kategorie
Bildung
Seitenansichten
7
Dateigröße
11 KB
Tags
1/--Seiten
melden