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.