Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: hurtownia danych-praca na zalizcenie
Forum PHP.pl > Forum > Bazy danych > Oracle
fanatyczka
Mam do stworzenia hurtownie danych na temat rejestr duchów polskich smile.gif
Moje dzieło poniżej:

--2.Struktura fizyczna daramartów

CREATE TABLE EGZORCYZM(
ID_EGZORCYZMU NUMBER(20) NOT NULL,
ID_DUCHA NUMBER(10) NOT NULL,
ID_ADRES NUMBER(2) NOT NULL,
ID_CZASU NUMBER(7) NOT NULL,
SKUTECZNE BOOLEAN NOT NULL,
OPIS VARCHAR(50) NOT NULL,

);
ALTER TABLE EGZORCYZM ADD CONSTRAINT
ID_EGZORCYZMU_PK PRIMARY KEY (ID_EGZORCYZMU);

ALTER TABLE EGZORCYZM
ADD CONSTRAINT ID_DUCHA_FK
FOREIGN KEY (ID_DUCHA) REFERENCES DUCH;

ALTER TABLE EGZORCYZM
ADD CONSTRAINT ID_ADRES_FK
FOREIGN KEY (ID_ADRES) REFERENCES ADRES;

ALTER TABLE EGZORCYZM
ADD CONSTRAINT ID_CZAS_FK
FOREIGN KEY (ID_CZASU) REFERENCES CZAS;

CREATE UNIQUE INDEX ID_EGZORCYZMU_PK
ON EGZORCYZM (ID_EGZORCYZMU);

CREATE TABLE DUCH(
ID_DUCHA NUMBER(20) NOT NULL,
IMIE VARCHAR(30) NOT NULL,
NAZWISKO VARCHAR(50) NOT NULL,
PRZYDOMEK VARCHAR(20) NOT NULL,
DATA_ZGONU VARCHAR(30) NOT NULL,
DATA_STRASZENIA VARCHAR(30) NOT NULL,
OPIS VARCHAR(30) NOT NULL,

);
ALTER TABLE DUCH ADD CONSTRAINT
ID_DUCHA_PK PRIMARY KEY (ID_DUCHA);

CREATE UNIQUE INDEX ID_DUCHA_PK
ON DUCH (ID_DUCHA);

CREATE TABLE ADRES(
ID_ADRES NUMBER(2) NOT NULL,
ULICA VARCHAR(50) NOT NULL,
NUMER_MIESZKANIA VARCHAR(5) NOT NULL,
KOD NUMBER(6) NOT NULL,
MIASTO VARCHAR(30) NOT NULL,
WOJEWODZTWO VARCHAR(30) NOT NULL,
);
ALTER TABLE ADRES ADD CONSTRAINT
ID_ADRES_PK PRIMARY KEY (ID_ADRES);

CREATE UNIQUE INDEX ID_ADRES_PK
ON ADRES(ID_ADRES);

CREATE TABLE CZAS(
ID_CZASU NUMBER(20) NOT NULL,
ROK NUMBER(4) NOT NULL,
MIESIAC NUMBER(2) NOT NULL,
NAZWA_MIESIACA VARCHAR(20) NOT NULL,
DZIEN NUMBER(2) NOT NULL,
KWARTAL NUMBER(1) NOT NULL,
DATA_EGZ NUMBER(4) NOT NULL,
);
ALTER TABLE CZAS ADD CONSTRAINT
ID_CZASU_PK PRIMARY KEY (ID_CZASU);

CREATE UNIQUE INDEX ID_CZASU_PK
ON CZAS(ID_CZASU);

--3. Wymiary logiczne

CREATE DIMENSION CZAS_DIM
LEVEL DNI IS CZAS.DZIEN
LEVEL MIESIACE IS CZAS.MIESIAC
LEVEL KWARTALY IS CZAS.KWARTAL
LEVEL LATA IS CZAS.ROK
HIERARCHY DNI(
DNI CHILD OF
MIESIACE CHILD OF
KWARTALY CHILD OF
LATA)
ATTRIBUTE MIESIACE DETERMINES CZAS.NAZWA_MIESIACA;

--4. Indeksy bitmapowe

CREATE BITMAP INDEX CZAS_ALL_BIX
ON CZAS (DZIEN,MIESIAC,KWARTAL,ROK);



--6.Partycjonowanie

CREATE TABLE CZAS

partition by range(DATA_EGZ)(
partition sa_1 values less than(to_date(\'1998-04-01\',\'YYYY-MM-DD\'))
partition sa_2 values less than(to_date(\'1998-07-01\',\'YYYY-MM-DD\'))
partition sa_3 values less than(to_date(\'1998-10-01\',\'YYYY-MM-DD\'))
partition sa_4 values less than(to_date(\'1999-01-01\',\'YYYY-MM-DD\'))
partition sa_5 values less than(to_date(\'1999-04-01\',\'YYYY-MM-DD\'))
partition sa_6 values less than(to_date(\'1999-07-01\',\'YYYY-MM-DD\'))
partition sa_7 values less than(to_date(\'1999-10-01\',\'YYYY-MM-DD\'));

muszę jeszcze stworzyć perspektywy zmaterializowane 2 sztuki. I tu moja prośba nie bardzo wiem jak ja mam się za to zabrać. I to co już stworzyłam jest dobrze. Jeśli nie to proszę o wskazanie co trzeba poprawić. Z góry bardzo dziękuje za pomoc i rade oraz słowa krytyki.
publisher
A co ma być w tych perspektywach zmaterializowanych? Perspektywa/widok jest to taki twór, który może przechowywać dane z kilku tabel.
Czasami dane są w wielu relacyjnych tabelach, więc efektywna analiza tych danych wymaga skomplikowanych zapytań.
Aby ułatwić analizę danych, można utworzyć perspektywę, która będzie zawierała dane z wielu tabel. Cały myk polega na tym, że tak utworzona perspektywa może być analizowana jak zwykła tabela - a łatwiej analizować dane z jednej tabeli niż z kilku.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.