Integracja danych

 

1. Dany jest obiekt DIRECTORY o nazwie ABD_EXT_TABLES, wskazujący na katalog zawierający plik o nazwie dane.txt. Plik zawiera następujące dane klientów:

 

a.       identyfikator o stałej długości 5 znaków,

b.       nazwisko,

c.       imię,

d.       miasto zamieszkania,

e.       płeć – możliwe wartości to K i M.

 

Pola są od siebie odseparowane średnikami. Dane każdego klienta znajdują się w osobnej linii. Przykładowy fragment pliku umieszczono poniżej:

 

BB033;Dudzisz;Rafał;LESZNO;M

BB092;Kuśnierek;Magdalena;WSCHOWA;K

BB093;Lach;Magdalena;LESZNO;K

BB064;Józefowski;Mateusz;BOREK WLKP.;M

BB051;Haniszewska;Patrycja;GOSTYŃ;K

BB049;Grzywacz;Paulina;LESZNO;K

BB094;Lasik;Magdalena;LESZNO;K

 

Utwórz tabelę zewnętrzną o nazwie CUSTOMER_EXT, która będzie udostępniała w bazie dane z pliku dane.txt.

 

Uwaga!

Plik znajduje się w katalogu domowym użytkownika ABD_LAB na serwerze dblab.cs.put.poznan.pl (hasło użytkownika: abd_lab). Pliki logu, odrzuconych i złych rekordów nazwij, używając swojego numeru indeksu.

 

2. Utwórz tabelę SALES_DENORM, uruchamiając skrypt sales_denorm.sql.

 

3. Zaimplementuj program transformujący rekordy ze zdenormalizowanej tabeli SALES_DENORM do postaci znormalizowanej SALES_NORM:

 

sale_id      number(8),

customer_id  varchar2(10),

sale_date    date,

product      varchar2(10),

amount       number(2),

price        number(5,2)

 

4. Zaimplementuj funkcję tablicową tak, aby udostępniała połączone rekordy z tabeli zewnętrznej CUSTOMER_EXT i tabeli SALES_DENORM.

 

Uwaga! Wartości kluczy obcych customer_id mają więcej zer poprzedzających niż odpowiadające im wartości w tabeli zewnętrznej CUSTOMER_EXT. Przetransformować wartości customer_id tak, aby "pasowały" do customer_id w tabeli zewnętrznej.