Lab 3 Prezentacja tworzenia struktury logicznej HD

background image

Rafał Kowalski

1

Hurtownie Danych na platformie ORACLE

background image

Rafał Kowalski

2

1. Tworzenie struktury logicznej i fizycznej Tabeli Wymiarów w

układzie Gwiazdy.

2. Tworzenie struktury logicznej i fizycznej Tabeli Wymiarów w

układzie Płatka Śniegu.

3. Tworzenie struktury logicznej i fizycznej Tabeli faktów.

4. Weryfikowanie poprawności chierarchii wymiarów.

5. Wprowadzanie zmian do struktur wymiarów.

Struktura Logiczna - WYMIARY

background image

Rafał Kowalski

3

Wymiar czasu (z perspektywy analityka)

DATY

faktów

MIESIĄCE

KWARTAŁY

LATA

Styczeń

Luty

Grudzień

Maj

Wrzesień

Styczeń

I

II

III

I

IV

1999

2000

background image

Rafał Kowalski

4

Hierarchie wymiaru czasu (z perspektywy analityka)

kwartaly

dni

miesiące

Dni

tygodnia

Pory

roku

lata

POZIOMY

POZIOMY

POZIOMY

HIERARCHIA AGREGACJI

„wszystko”

Tygodnie

księgowe

lata

Lata

księgowe

Dni:

Robocze

Świąteczne

lata

.
.
.

background image

Rafał Kowalski

5

Tworzenie struktury logicznej i fizycznej na układzie gwiazdy

Wymiar i hierarchia analizy

SKLEPY.

CREATE TABLE sklepy (

sklep_id NUMBER(10) NOT NULL,

miasto VARCHAR2(30) NOT NULL,

region VARCHAR2(30) NOT NULL,

kraj VARCHAR2(30) NOT NULL );

CREATE UNIQUE INDEX sklepy_pk

ON sklepy (sklep_id) ;

ALTER TABLE sklepy ADD CONSTRAINT

sklepy_pk PRIMARY KEY (sklep_id);

CREATE TABLE sklepy (

sklep_id NUMBER(10) NOT NULL,

miasto VARCHAR2(30) NOT NULL,

region VARCHAR2(30) NOT NULL,

kraj VARCHAR2(30) NOT NULL );

CREATE UNIQUE INDEX sklepy_pk

ON sklepy (sklep_id) ;

ALTER TABLE sklepy ADD CONSTRAINT

sklepy_pk PRIMARY KEY (sklep_id);

CREATE DIMENSION sklepy_wy

LEVEL sklep IS sklepy.sklep_id

LEVEL miasto IS sklepy.miasto

LEVEL region IS sklepy.region

LEVEL kraj IS sklepy.kraj

HIERARCHY sklepy_hi (sklep CHILD OF

miasto CHILD OF

region CHILD OF kraj );

CREATE DIMENSION sklepy_wy

LEVEL sklep IS sklepy.sklep_id

LEVEL miasto IS sklepy.miasto

LEVEL region IS sklepy.region

LEVEL kraj IS sklepy.kraj

HIERARCHY sklepy_hi (sklep CHILD OF

miasto CHILD OF

region CHILD OF kraj );

Kraj

Region

Miasto

SKLEPY

sklep

background image

Rafał Kowalski

6

Tworzenie struktury logicznej i fizycznej na układzie gwiazdy –

parametry dodatkowe

Kraj

region

Miasto

SKLEPY

sklep

CREATE TABLE sklepy (

sklep_id

number(10) NOT NULL

, nazwa

VARCHAR2(20)

, adres

VARCHAR2(30)

, miasto VARCHAR2(30) NOT NULL

, region VARCHAR2(30) NOT NULL

, kraj VARCHAR2(30) NOT NULL );

CREATE UNIQUE INDEX

sklepy_pk

ON sklepy (sklep_id);

ALTER TABLE sklepy ADD CONSTRAINT

sklepy_pk

PRIMARY KEY (sklep_id);

CREATE TABLE sklepy (

sklep_id

number(10) NOT NULL

, nazwa

VARCHAR2(20)

, adres

VARCHAR2(30)

, miasto VARCHAR2(30) NOT NULL

, region VARCHAR2(30) NOT NULL

, kraj VARCHAR2(30) NOT NULL );

CREATE UNIQUE INDEX

sklepy_pk

ON sklepy (sklep_id);

ALTER TABLE sklepy ADD CONSTRAINT

sklepy_pk

PRIMARY KEY (sklep_id);

CREATE DIMENSION sklepy_wy

LEVEL sklep IS sklepy.sklep_id

LEVEL miasto IS sklepy.miasto

LEVEL region IS sklepy.region

LEVEL kraj IS sklepy.kraj

HRARCHY sklepy_hi (

sklep CHILD OF

miasta CHILD OF

regiony CHILD OF kraj )

ATTRIBUTE sklep DETERMINES (sklepy.nazwa,sklepy.adres);

CREATE DIMENSION sklepy_wy

LEVEL sklep IS sklepy.sklep_id

LEVEL miasto IS sklepy.miasto

LEVEL region IS sklepy.region

LEVEL kraj IS sklepy.kraj

HRARCHY sklepy_hi (

sklep CHILD OF

miasta CHILD OF

regiony CHILD OF kraj )

ATTRIBUTE sklep DETERMINES (sklepy.nazwa,sklepy.adres)

;

background image

Rafał Kowalski

7

Tworzenie struktury fizycznej na układzie płatka śniegu 1

Wymiar / hierarchia

SKLEPY.

CREATE TABLE kraje (

kraj_id NUMBER(6)

, nazwa VARCHAR2(20) );

CREATE UNIQUE INDEX kraje_pk

ON kraje (kraj_id) ;

ALTER TABLE kraje

ADD CONSTRAINT kraje_pk PRIMARY KEY (kraj_id);

CREATE TABLE kraje (

kraj_id NUMBER(6)

,

nazwa VARCHAR2(20)

);

CREATE UNIQUE INDEX kraje_pk

ON kraje (kraj_id) ;

ALTER TABLE kraje

ADD CONSTRAINT kraje_pk PRIMARY KEY (kraj_id);

SKLEPY

MIASTA

REGIONY

KRAJE

Wymiar i jego hierarchię stworzą cztery tabele bazy

danych doprowadzone do 3NF:

SKLEPY, MIASTA, REGIONY i KRAJE

background image

Rafał Kowalski

8

Tworzenie struktury fizycznej na układzie płatka śniegu 2

Wymiar / hierarchia

SKLEPY.

CREATE TABLE regiony (

region_id NUMBER(6)

, nazwa VARCHAR2(20)

, kraj_id

number(6) );

CREATE UNIQUE INDEX regiony_pk

ON regiony (region_id) ;

ALTER TABLE regiony

ADD CONSTRAINT regiony_pk PRIMARY KEY (region_id)

ADD CONSTRAINT regiony_kr FOREIGN KEY (kraj_id)

REFERENCES kraje (kraj_id);

CREATE TABLE regiony (

region_id NUMBER(6)

,

nazwa VARCHAR2(20)

,

kraj_id

number(6) );

CREATE UNIQUE INDEX regiony_pk

ON regiony (region_id) ;

ALTER TABLE regiony

ADD CONSTRAINT regiony_pk PRIMARY KEY (region_id)

ADD CONSTRAINT regiony_kr FOREIGN KEY (kraj_id)

REFERENCES kraje (kraj_id);

SKLEPY

MIASTA

REGIONY

KRAJE

background image

Rafał Kowalski

9

Tworzenie struktury fizycznej na układzie płatka śniegu 3

Wymiar / hierarchia

SKLEPY.

CREATE TABLE miasta (

miasto_id

NUMBER(6)

, nazwa VARCHAR2(20),

region_id number(6) );

CREATE UNIQUE INDEX miasta_pk

ON miasta (miasto_id) ;

ALTER TABLE miasta

ADD CONSTRAINT miasta_pk PRIMARY KEY (miasto_id)

ADD CONSTRAINT miasta_re FOREIGN KEY (region_id)

REFERENCES regiony(region_id);

CREATE TABLE miasta (

miasto_id

NUMBER(6)

,

nazwa VARCHAR2(20),

region_id number(6) );

CREATE UNIQUE INDEX miasta_pk

ON miasta (miasto_id) ;

ALTER TABLE miasta

ADD CONSTRAINT miasta_pk PRIMARY KEY (miasto_id)

ADD CONSTRAINT miasta_re FOREIGN KEY (region_id)

REFERENCES regiony(region_id);

SKLEPY

MIASTA

REGIONY

KRAJE

background image

Rafał Kowalski

10

Tworzenie struktury fizycznej na układzie płatka śniegu 4

Wymiar / hierarchia

SKLEPY.

CREATE TABLE sklepy (

sklep_id

NUMBER(6)

, nazwa VARCHAR2(20)

, adres VARCHAR2(30)

, miasto_id number(6) );

CREATE UNIQUE INDEX sklepy_pk

ON sklepy (sklep_id) ;

ALTER TABLE sklepy

ADD CONSTRAINT sklepy_pk PRIMARY KEY (sklep_id)

ADD CONSTRAINT sklepy_ms FOREIGN KEY (miasto_id)

REFERENCES miasta(miasto_id);

CREATE TABLE sklepy (

sklep_id

NUMBER(6)

,

nazwa VARCHAR2(20)

, adres VARCHAR2(30)

,

miasto_id number(6) );

CREATE UNIQUE INDEX sklepy_pk

ON sklepy (sklep_id) ;

ALTER TABLE sklepy

ADD CONSTRAINT sklepy_pk PRIMARY KEY (sklep_id)

ADD CONSTRAINT sklepy_ms FOREIGN KEY (miasto_id)

REFERENCES miasta(miasto_id);

SKLEPY

MIASTA

REGIONY

KRAJE

background image

Rafał Kowalski

11

Tworzenie struktury logicznej na układzie płatka śniegu

Wymiar i hierarchia

wymiaru SKLEPY.

CREATE DIMENSION sklepy_wy

LEVEL sklep IS sklepy.sklep_id

LEVEL miasto IS miasta.miasto_id

LEVEL region IS regiony.region_id

LEVEL kraj IS kraje.kraj_id

HIERARCHY sklepy_hi

(

sklep CHILD OF

miasto CHILD OF

region CHILD OF kraj

JOIN KEY sklepy.miasto_id

REFERENCES miasto

JOIN KEY miasta.region_id

REFERENCES region

JOIN KEY regiony.kraj_id

REFERENCES kraj )

ATTRIBUTE sklep DETERMINES ( sklepy.nazwa

,sklepy.adres)

ATTRIBUTE miasto DETERMINES (miasta.nazwa)

ATTRIBUTE region DETERMINES (regiony.nazwa)

ATTRIBUTE kraj DETERMINES (kraje.nazwa);

CREATE DIMENSION sklepy_wy

LEVEL sklep IS sklepy.sklep_id

LEVEL miasto IS miasta.miasto_id

LEVEL region IS regiony.region_id

LEVEL kraj IS kraje.kraj_id

HIERARCHY sklepy_hi

(

sklep CHILD OF

miasto CHILD OF

region CHILD OF kraj

JOIN KEY sklepy.miasto_id

REFERENCES miasto

JOIN KEY miasta.region_id

REFERENCES region

JOIN KEY regiony.kraj_id

REFERENCES kraj )

ATTRIBUTE sklep DETERMINES ( sklepy.nazwa

,sklepy.adres)

ATTRIBUTE miasto DETERMINES (miasta.nazwa)

ATTRIBUTE region DETERMINES (regiony.nazwa)

ATTRIBUTE kraj DETERMINES (kraje.nazwa);

SKLEPY

MIASTA

REGIONY

KRAJE

background image

Rafał Kowalski

12

Narzędzia do obsługi wymiarów

(1)

Pakiet (Package) procedur do wyświetlania struktury wymiarów.

DBMS_DIMENSION

DBMS_DIMENSION

Program do zarządzania serwerami Oracle.

Oracle Enterprise Manager

Oracle Enterprise Manager

DESCRIBE_DIMENSION

VALIDATE_DIMENSION

DIMENSION_EXCEPTION

Oracle Warehouse Builder

Oracle Warehouse Builder

background image

Rafał Kowalski

13

dbms_dimension.DESCRIBE_DIMENSION

-- describing dimension

SET serveroutput ON;

EXECUTE

dbms_dimension.describe_dimension(

’HD_LOGIN.NAZWA_WYMIARU’

);

Bez ustawienia zmiennej środowiskowej

SERVEROUTPUT

procedura niczego nie wyświetli !!!.

--------------------------------------------

W przypadku programu Oracle SQL Developer:

background image

Rafał Kowalski

14

dbms_dimension.VALIDATE_DIMENSION

@utldim.sql

-- create dimension_exceptions table !!!

VARIABLE

stmt_id

VARCHAR2(30);

EXECUTE

:stmt_id

:= ’

HD_LOGIN

’;

EXECUTE dbms_dimension.validate_dimension (

’HD_LOGIN.NAZWA_WYMIARU’

, FALSE, TRUE,

:stmt_id

);

Weryfikacja wyłącznie nowych wierszy z
tabeli wymiaru:

TRUE / FALSE.

W

eryfikacja wypełnienia wszystkich

kolumn wierszy wymiaru

TRUE / FALSE.

background image

Rafał Kowalski

15

tabela: DIMENSION_EXCEPTION

Nazwa wymiaru

DIMENSION_NAME

Identyfikator
błędnego wiersza
tabeli.

BAD_ROWID

Nazwa tabeli

TABLE_NAME

Wskazanie typu
referencji

Nazwa schematu

RELATIONSHIP

OWNER

-- Lista zlych tabel wymiarow

SELECT DISTINCT owner, table_name, dimension_name, relationship

FROM dimension_exceptions

WHERE statement_id =

:stmt_id

;

-- Lista zlych wierszy

SELECT *

FROM

TABELA_WYMIARU

WHERE rowid IN (SELECT bad_rowid FROM dimension_exceptions

WHERE statement_id =

:stmt_id

);

Jak sobie poradzić:

Lista pól tabeli:

background image

Rafał Kowalski

16

Wprowadzanie zmian do struktur wymiarów

ADD

HIERARCHY

[definicja_zależności_hierarchii] ;

ADD

ATTRIBUTE

[nazwa_atrybutu]

DETERMINES

[nazwa tabeli].[nazwa_atrybutu] ;

ADD

LEVEL

[nazwa_poziomu]

IS

[nazwa tabeli].[nazwa_atrybutu] ;

DROP

LEVEL

[nazwa_poziomu] ;

DROP

HIERARCHY

[nazwa_hierarchii] ;

DROP

ATTRIBUTE

[nazwa_atrybutu] ;

ALTER DIMENSION

[nazwa_wymiaru]

Niepotrzebny wymiar można skasować przy pomocy polecenia:

DROP DIMENSION

[nazwa_wymiaru] ;

background image

Rafał Kowalski

17

Zatwierdzanie wymiaru

Jeżeli dokonamy jakichkolwiek zmian w obiektach, do

których bazy, na których został zbudowany wymiar,

staje się on automatycznie

NIEWAŻNY (INVALID)

.

UWAGA

ALL

_

DIMENSIONS

Stan wymiarów można w każdej chwili

skontrolować wyświetlając informacje z atrybutu

invalid

, widoku systemowego:

albo przy pomocy poleceń programu Oracle Enterprise Manager.

ALTER DIMENSION

[nazwa_wymiaru]

COMPILE ;

Nieważny wymiar należy ponownie zatwierdzić przy pomocy polecenia:

background image

Rafał Kowalski

18

PODSUMOWANIE

Tworzenie struktury fizycznej.

CREATE TABLE . . .

. . . CONSTRAINT . . .

. . . . . . PRIMARY KEY . . .

. . . . . . FOREIGN KEY . . .

CREATE UNIQUE INDEX . . .

CREATE TABLE . . .

. . . CONSTRAINT . . .

. . . . . . PRIMARY KEY . . .

. . . . . . FOREIGN KEY . . .

CREATE UNIQUE INDEX . . .

Tworzenie struktury logicznej.

CREATE DIMENSION . . .

. . . LEVEL . . .

. . . HIERARCHY . . .

. . . DETERMINES . . .

ALTER DIMENSION . . .

ALTER DIMENSION . . . COMPILE ;

CREATE DIMENSION . . .

. . . LEVEL . . .

. . . HIERARCHY . . .

. . . DETERMINES . . .

ALTER DIMENSION . . .

ALTER DIMENSION . . . COMPILE ;

Weryfikacja wymiarów.

dbms_dimension.describe_dimension ( . . . )

utldim.sql

-> dimension_exceptions

dbms_dimension.validate_dimension ( . . . )

dbms_dimension.describe_dimension ( . . . )

utldim.sql

-> dimension_exceptions

dbms_dimension.validate_dimension ( . . . )

background image

Rafał Kowalski

19

KONIEC


Wyszukiwarka

Podobne podstrony:
utk 037 struktura logiczna dysku fat
Prezentacja na struktury
Prezentacja Fizyka Struktura wszechświata
Inteligentne systemy elektryczne7(struktura logiczna)
(Lab 2 Prezentacja metod transportu danych
Struktura logiczna ORACLE
,informatyka w zastosowaniach inżynierskich,Tworzenie modelu logicznego i fizycznego danych
Tworzenie struktury funkcji cząstkowych
Struktura logiczna (1)
Tworzenie struktury folderów
( ) Tworzenie struktury pracy
Lab nr2 Tworzenie elementów typu cell za pomocą edytora Microstation, Geodezja i Kartografia, Inform
Obróbka cieplna, Próba Jominy'ego, 1.HARTOWNOŚĆ - to zdolność do tworzenia struktury martenzytycznej
STRUKTURA LOGICZNA DYSKU TWARDEGO

więcej podobnych podstron