Uebung_Index_02

advertisement
In einer Datenbank sollen die Aufträge eines Unternehmens gespeichert werden. Dazu werden die
Daten, die den gesamten Auftrag betreffen im Auftragskopf und die Daten, welche die
beauftragten Produkte betreffen in der Auftragsposition gespeichert. Die Tabelle
AUFTRAGSKOEPFE hat den folgenden Aufbau:
AUFNR
ADAT
KNR
ATYP
ZKOND
LKOND
LADR
VERT
ATXT
number(12)
char(8)
number(12)
char(4)
varchar2(50)
varchar2(50)
varchar2(100)
varchar2(50)
varchar2(4000)
Auftragsnummer
Auftragsdatum
Kundennummer
Auftragstyp
Zahlungskonditionen
Lieferkonditionen
Lieferadresse
Name des Vertreters
Test für die Auftragsbestätigung
Der Index wird durch KNR und ADAT und ATYP gebildet. Folgende durchschnittliche Längen sind
gegeben: ZKOND: 36 Byte, LKOND: 35 Byte, LADR: 50 Byte, VERT 20 Byte und ATXT 500 Byte
Die Tabelle AUFTRAGSPOSITIONEN hat den folgenden Aufbau:
AUFNR
ADAT
APOS
POSART
PNR
PREIS
MENGE
POSTXT
number(12)
char(8)
number(10)
varchar2(20)
varchar2(30)
number(15)
number(10)
varchar2(250)
Auftragsnummer
Auftragsdatum
Auftragsposition
Positionsart
Produktnummer
Produktpreis
Menge des Produktes
Positionstext
Der Index wird durch ADAT, APOS, POSART und AUFNR gebildet. Die folgenden
durchschnittlichen Längen sind gegeben: POSART 15 Byte, PNR 20 Byte und POSTXT 150 Byte.
Es sind die Daten von 9 Mio Aufträgen gespeichert, wobei bei jeder Auftrag durchschnittlich
25 Positionen hat. Je Tag gibt es durchschnittlich 800 Aufträge. Die Datenbank hat eine
Blockgröße von 8KB. Die Zeiger auf die Datensätze sind 6 Byte lang.
Fragen:
Wie viel Speicheplatz (in MB und in Datenbankblöcken) benötigen die Tabellen mit den B*-Tree
Indizes ? Wie viele Indexebenen gibt es?
Wie viele Magnetplattenzugriffe benötigt man um für eine bestimmtes Auftragsdatum die Anzahl
der Positionen einer bestimmten Positionsart (z.B. Storno) zu bestimmen.
Herunterladen