![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 19.12.2011 Ostrzeżenie: (0%) ![]() ![]() |
Mam do stworzenia hurtownie danych na temat rejestr duchów polskich
![]() 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. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 28.12.2011 Ostrzeżenie: (0%) ![]() ![]() |
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. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.06.2025 - 13:04 |