O'Reilly logo

Oracle 12c - Das umfassende Handbuch by Lutz Fröhlich

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

605
Kapitel 26
Administration von Data
Warehouse-Datenbanken
Das vorliegende Kapitel beschäftigt sich mit der Administration von Data
Warehouse-Datenbanken. Wie Sie bereits festgestellt haben, gibt es im Data
Warehouse eine Reihe von Besonderheiten, die es von anderen Datenbankanwen-
dungen unterscheidet. Ein bedeutender Unterschied ist die Menge an Daten in
der Datenbank. Nicht selten erreichen DWH-Datenbanken eine Größe von mehre-
ren Terabyte.
Die Aufnahme der Daten stellt technisch kein Problem dar, so kann in Oracle 12c
ein Bigfile Tablespace bis zu 8 Exabyte (8 Millionen Terabyte) aufnehmen. Auch
sind die Kosten für Festplattenspeicher dramatisch gesunken. Die wohl größte
Herausforderung für die Datenbankadministratoren liegen im Erreichen einer
akzeptablen Performance für DSS-Abfragen und den Ladeprozess. Das erfordert
die Ausnutzung der Features, die Oracle für das Data Warehouse zur Verfügung
stellt.
Mit den folgenden Skripten legen Sie ein Star-Schema für die in diesem Kapitel
verwendeten Beispiele an.
Legen Sie zuerst einen Schemabesitzer mit dem Namen dwh an.
SQL> CREATE USER dwh
2 IDENTIFIED BY dwh
3 DEFAULT TABLESPACE users;
Benutzer wurde angelegt.
SQL> GRANT CONNECT, RESOURCE TO dwh;
Benutzerzugriff (Grant) wurde erteilt.
Listing 26.1: Den Besitzer des Star-Schemas anlegen
SQL> -- Erzeugen der Tabellen fuer DWH
SQL> CREATE TABLE time_dim (
2 time_key NUMBER PRIMARY KEY,
3 year VARCHAR2(4),
4 fiscal_quarter NUMBER(2));
Tabelle wurde angelegt.
SQL> CREATE TABLE status_dim (
2 status_key NUMBER PRIMARY KEY,
3 status_desc VARCHAR2(30),
Kapitel 26
Administration von Data Warehouse-Datenbanken
606
4 new_accout VARCHAR2(1),
5 closed_account VARCHAR2(1));
Tabelle wurde angelegt.
SQL> CREATE TABLE product_dim (
2 product_key NUMBER PRIMARY KEY,
3 product_desc VARCHAR2(30),
4 product_type VARCHAR2(10));
Tabelle wurde angelegt.
SQL> CREATE TABLE branch_dim (
2 branch_key NUMBER PRIMARY KEY,
3 branch_name VARCHAR2(30),
4 branch_address VARCHAR2(30),
5 branch_city VARCHAR2(30),
6 branch_state VARCHAR2(2),
7 branch_zip VARCHAR2(5),
8 branch_type VARCHAR2(20));
Tabelle wurde angelegt.
SQL> CREATE TABLE customer_dim (
2 customer_key NUMBER PRIMARY KEY,
3 customer_name1 VARCHAR2(30),
4 customer_name2 VARCHAR2(20),
5 customer_address VARCHAR2(30),
6 customer_city VARCHAR2(20),
7 customer_state VARCHAR2(2),
8 customer_zip VARCHAR2(5),
9 customre_phone VARCHAR2(20));
Tabelle wurde angelegt.
SQL> CREATE TABLE account_facts (
2 customer_key NUMBER,
3 time_key NUMBER,
4 status_key NUMBER,
5 product_key NUMBER,
6 branch_key NUMBER,
7 balance NUMBER(8,2),
8 transactions NUMBER(5),
9 account_number NUMBER(10));
Tabelle wurde angelegt.
SQL> ALTER TABLE account_facts ADD CONSTRAINT fk_acc_cust
2 FOREIGN KEY (customer_key) REFERENCES customer_dim (customer_key);
Tabelle wurde geändert.
SQL> ALTER TABLE account_facts ADD CONSTRAINT fk_acc_time
2 FOREIGN KEY (time_key) REFERENCES time_dim (time_key);
Tabelle wurde geändert.
SQL> ALTER TABLE account_facts ADD CONSTRAINT fk_acc_status
2 FOREIGN KEY (status_key) REFERENCES status_dim (status_key);
Tabelle wurde geändert.
SQL> ALTER TABLE account_facts ADD CONSTRAINT fk_acc_stat
2 FOREIGN KEY (product_key) REFERENCES product_dim (product_key);
Tabelle wurde geändert.
SQL> ALTER TABLE account_facts ADD CONSTRAINT fk_acc_prod
2 FOREIGN KEY (branch_key) REFERENCES branch_dim (branch_key);
Tabelle wurde geändert.
Listing 26.2: Die Tabellen für das Star-Schema erstellen

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required