Ćwiczenia z Zaawansowanych Systemów Baz Danych

Podobne dokumenty
Hurtownie danych. Projektowanie hurtowni: modele wielowymiarowe. Modelowanie punktowe. Operacje OLAP na kostkach.

Modele danych - wykład V

Przygotowanie do egzaminu. część I

Modele danych - wykład V. Zagadnienia. 1. Wprowadzenie 2. MOLAP modele danych 3. ROLAP modele danych 4. Podsumowanie 5. Zadanie fajne WPROWADZENIE

Hurtownie danych wykład 3

Zad. 1. Systemy Baz Danych przykładowe zadania egzaminacyjne

HURTOWNIE DANYCH Dzięki uprzejmości Dr. Jakuba Wróblewskiego

Projektowanie bazy danych. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Rozszerzenia grupowania

Obiektowe bazy danych

Modelowanie danych, projektowanie systemu informatycznego

Bazy danych. Plan wykładu. Rodzaje baz. Rodzaje baz. Hurtownie danych. Cechy hurtowni danych. Wykład 14: Hurtownie danych

Hurtownie danych. 31 stycznia 2017

Data Mining Wykład 9. Analiza skupień (grupowanie) Grupowanie hierarchiczne O-Cluster. Plan wykładu. Sformułowanie problemu

Utwórz klucz podstawowy relacji na podstawie unikalnego identyfikatora encji. podstawie kluczy podstawowych wiązanych relacji.

INFORMATYKA GEODEZYJNO- KARTOGRAFICZNA Relacyjny model danych. Relacyjny model danych Struktury danych Operacje Oganiczenia integralnościowe

Bazy danych. Zenon Gniazdowski WWSI, ITE Andrzej Ptasznik WWSI

Post-relacyjne bazy danych

Dr Michał Tanaś(

Transformacja modelu EER do postaci relacyjnego modelu danych. Zbyszko Królikowski

4. Znaczenie czasu w modelowaniu i strukturalizacji danych

Transformacja modelu ER do modelu relacyjnego

Data Mining Wykład 3. Algorytmy odkrywania binarnych reguł asocjacyjnych. Plan wykładu

OLAP i hurtownie danych c.d.

Indeksy w bazach danych. Motywacje. Techniki indeksowania w eksploracji danych. Plan prezentacji. Dotychczasowe prace badawcze skupiały się na

Wielowymiarowy model danych

Spis treści. Przedmowa

Hurtownie danych. Przetwarzanie zapytań. ZAPYTANIA NA ZAPLECZU

Pojęcie bazy danych. Funkcje i możliwości.

Technologie baz danych

Systemy OLAP II. Krzysztof Dembczyński. Instytut Informatyki Zakład Inteligentnych Systemów Wspomagania Decyzji Politechnika Poznańska

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA realizacja w roku akademickim 2016/17

PLAN WYKŁADU BAZY DANYCH MODEL DANYCH. Relacyjny model danych Struktury danych Operacje Integralność danych Algebra relacyjna HISTORIA

Systemy OLAP I. Krzysztof Dembczyński. Instytut Informatyki Zakład Inteligentnych Systemów Wspomagania Decyzji Politechnika Poznańska

Modelowanie wielowymiarowe hurtowni danych

KARTA PRZEDMIOTU. Hurtownie i eksploracja danych D1_5

Karta (sylabus) modułu/przedmiotu Mechanika i Budowa Maszyn Studia I stopnia

Rozpatrzymy bardzo uproszczoną bazę danych o schemacie

Projektowanie bazy danych przykład

Wprowadzenie Sformułowanie problemu Typy reguł asocjacyjnych Proces odkrywania reguł asocjacyjnych. Data Mining Wykład 2

1 Wstęp do modelu relacyjnego

WYKŁAD 1. Wprowadzenie do problematyki baz danych

Inżynieria biomedyczna

Informacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4

Systemy OLAP I. Krzysztof Dembczyński. Instytut Informatyki Zakład Inteligentnych Systemów Wspomagania Decyzji Politechnika Poznańska

Modelowanie hierarchicznych struktur w relacyjnych bazach danych

BD2 BazyDanych2. dr inż. Tomasz Traczyk 14. Systemy przetwarzania analitycznego

Cel przedmiotu. Wymagania wstępne w zakresie wiedzy, umiejętności i innych kompetencji 1 Język angielski 2 Inżynieria oprogramowania

Spis tre±ci. Przedmowa... Cz ± I

Bazy analityczne (hurtownie danych, bazy OLAP)

Autor: Joanna Karwowska

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego.

Projekt małej Bazy Danych.

SIECI KOMPUTEROWE I BAZY DANYCH

Diagramy związków encji. Laboratorium. Akademia Morska w Gdyni

Alicja Marszałek Różne rodzaje baz danych

Jarosław Kuchta Projektowanie Aplikacji Internetowych. Projektowanie warstwy danych

1: 2: 3: 4: 5: 6: 7: 8: 9: 10:

Zasady transformacji modelu DOZ do projektu tabel bazy danych

SAS wybrane elementy. DATA MINING Część III. Seweryn Kowalski 2006

1. Odkrywanie asocjacji

Metody eksploracji danych. Reguły asocjacyjne

Hurtownie danych a transakcyjne bazy danych

INDUKOWANE REGUŁY DECYZYJNE ALORYTM APRIORI JAROSŁAW FIBICH

Rozdział 17. Zarządzanie współbieżnością zadania dodatkowe

Wykład 8. SQL praca z tabelami 5

Temat : SBQL 1 obiektowy język zapytań.

PODSTAWY BAZ DANYCH. 5. Modelowanie danych. 2009/ Notatki do wykładu "Podstawy baz danych"

Systemy baz danych. mgr inż. Sylwia Glińska

Hurtownie danych. Hurtownie danych. dr hab. Maciej Zakrzewicz Politechnika Poznańska Instytut Informatyki. Maciej Zakrzewicz (1)

Schematy logiczne dla hurtowni danych

Projektowanie warstwy danych

Indeksy w hurtowniach danych

Transformacja modelu ER do modelu relacyjnego

1.7. Eksploracja danych: pogłębianie, przeszukiwanie i wyławianie

Normalizacja relacyjnych baz danych. Sebastian Ernst

Relacyjny model danych

Rozmiar pola (długość danych)

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl

Modelowanie wymiarów

PRZEWODNIK PO PRZEDMIOCIE

Wstęp do Business Intelligence

Bazy danych i usługi sieciowe

1 Projektowanie systemu informatycznego

Matematyka kodem nowoczesności. Zaproszenie do składania ofert

Projektowanie struktury danych

K1A_W11, K1A_W18. Egzamin. wykonanie ćwiczenia lab., sprawdzian po zakończeniu ćwiczeń, egzamin, K1A_W11, K1A_W18 KARTA PRZEDMIOTU

Bazy danych. Plan wykładu. Diagramy ER. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych

Bazy danych 2013/14. Egzamin. (5 pkt). Baza danych przechowuje w relacji binarnej G graf skierowany.

SIECI KOMPUTEROWE I BAZY DANYCH

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny technologiczny Politechnika Śląska

Model logiczny SZBD. Model fizyczny. Systemy klientserwer. Systemy rozproszone BD. No SQL

Bazy danych 1. Wykład 5 Metodologia projektowania baz danych. (projektowanie logiczne)

Co to są relacyjne bazy danych?

Instytut Mechaniki i Inżynierii Obliczeniowej fb.com/groups/bazydanychmt/

KOLEKCJE - to typy masowe,zawierające pewną liczbę jednorodnych elementów

Model relacyjny. Wykład II

Bazy danych. dr inż. Arkadiusz Mirakowski

Spis treści. 1 Modelowanie logiczne. Plan wykładu. 1 Modelowanie logiczne 1

Ewelina Dziura Krzysztof Maryański

Transkrypt:

Ćwiczenia z Zaawansowanych Systemów Baz Danych

Hurtownie danych Zad 1. Projekt schematu hurtowni danych W źródłach danych dostępne są następujące informacje dotyczące operacji bankowych: Klienci banku (PESEL, imię, nazwisko, datę urodzenia, płeć, kod pocztowy, miasto, ulica, numer domu i numer mieszkania); Konta (numer, typ, saldo, data założenia, właściciel); Operacje (numer operacji, numer konta, typ operacji, kwota, data operacji, data księgowania); Zaproponuj wielowymiarowe struktury danych umożliwiające przeprowadzanie analiz operacji bankowych. Wybierz wymiary dla analizy i poziomy szczegółowości dla poszczególnych wymiarów. Zaprojektuj schemat hurtowni danych klasy ROLAP o topologii płatka śniegu: (a) Zdefiniuj tabele faktów, (b) Zdefiniuj tabele wymiarów. Wskaż w schemacie klucze podstawowe i klucze obce.

Rozwiązanie Źródła danych: Klienci banku (PESEL, imię, nazwisko, datę urodzenia, płeć, kod pocztowy, miasto, ulica, numer domu i numer mieszkania); Konta (numer, typ, saldo, data założenia, właściciel); Operacje (numer operacji, numer konta, typ operacji, kwota/kwota, data operacji, data księgowania); Identyfikacja miar: Klienci < liczba klientów > Konta < saldo, liczba kont > Operacje < kwota, liczba operacji > Identyfikacja wymiarów: Nazwa hierarchii wymiaru Dla miar Klientów: Nazwa wymiaru Źródło wartości wiek: Generalizacja o rok(data urodzenia) o przedział_wieku (rok: {'młodzi', 'w średnim wieku', 'starsi'}), płeć, o płeć(płeć) miejsce zamieszkania: o miasto (nazwa miasta) o województwo (nazwa miasta, województwa).

Dla miar Kont: typ konta: o typ(typ), data założenia: o rok(data założenia) o wiek(rok: {'stare', 'nowe'}), właściciel: o właściciel (właściciel) Klienci Dla miar Operacji: konto: o konto (numer konta) Konta, typ: o typ (typ), kwota: o przedział (kwota: {'duża', 'średnia', 'mała'}), data operacji: o dzień (data operacji) o miesiąc (data operacji) o rok (data operacji), data księgowania: o dzień (data operacji) o miesiąc (data operacji) o rok (data operacji),

Projekt ROLAP o schemacie płatka śniegu: Tabele faktów: Operacje (nr_operacji PK, nr_konta FK, id_typu FK, id_daty FK, id_daty FK, id_kwoty FK, kwota) Konta (nr_konta PK, id_typu FK, id_data_zał FK, id_właściciela FK, saldo) Klienci (pesel PK, id_roku FK, id_płci FK, id_miasta FK) Tabele wymiarów: Konta = Konta (nr_konta PK, id_typu FK, id_data_zał FK, id_właściciela FK, saldo) Typy_operacji (id_typu PK, nazwa_typu, opis_typu) Kwoty_operacji (id_kwoty PK, nazwa_kwoty, od, do) Daty_dzień (id_daty PK, data ('DD-MM-YYYY'), id_miesiąca FK) Daty_miesiąc (id_miesiąca PK, data ('MM-YYYY'), id_roku FK) Daty_rok (id_roku PK, data ('YYYY')) Typy_kont (id_typu PK, nazwa_typu, opis) Daty_założenia_kont (id_daty_zał PK, data ('YYYY'), id_wieku FK) Wiek_kont (id_wieku PK, nazwa_wieku (id_wieku)) Właściciele = Klienci (pesel PK, +imię, +nazwisko, id_roku FK, id_płci FK, id_miasta FK) Wiek_klientów (id_wieku PK, data ('YYYY'), id_przedz_wieku FK)

Przedziały_wieku_klientów (id_przedz_wieku PK, nazwa_przedziału) Płcie (id_płci PK, nazwa_płci) Miasta (id_miasta PK, nazwa_miasta, id_województwa FK) Województwa (id_województwa PK, nazwa) Przedziały wieku Płatek śniegu Wiek Płeć Województwo Klienci Miasto Adres Data typ Konta Data rok Data założenia konta Data rok Typ konta Operacje Data miesiąc Data operacji Typ operacji Kwota operacji Data dzień

Projekt ROLAP o schemacie gwiazdy: Tabele faktów: Operacje (nr_operacji PK, nr_konta FK, id_typu FK, id_daty_oper FK, id_kwoty FK, kwota) Konta (nr_konta PK, id_typu FK, id_data_zał FK, id_właściciela FK, saldo) Klienci (pesel PK, id_roku FK, id_płci FK, id_miasta FK) Tabele wymiarów: Konta = Konta (nr_konta PK, id_typu FK, id_data_zał FK, id_właściciela FK, saldo) Typy_operacji (id_typu PK, nazwa_typu, opis_typu) Kwoty_operacji (id_kwoty PK, nazwa_kwoty, od, do) Daty_operacji (id_daty_oper PK, data ('DD-MM-YYYY'), data ('MM-YYYY'), data ('YYYY')) Typy_kont (id_typu PK, nazwa_typu, opis) Daty_założenia_kont (id_daty_zał PK, data ('YYYY'), id_wieku, nazwa_wieku_konta (id_wieku)) Właściciele = Klienci (pesel PK, +imię, +nazwisko, id_roku FK, id_płci FK, id_miasta FK) Wiek_klientów (id_wieku PK, data ('YYYY'), id_przedz_wieku, nazwa_przedziału) Płcie (id_płci PK, nazwa_płci) Miasta (id_miasta PK, nazwa_miasta, id_województwa, nazwa_województwa)

Gwiazda Wiek Płeć Klienci Adres Data założenia Konta Typ konta Operacje Typ operacji Kwota operacji Data operacji

Zad 2. Operatory cube i rollup Dana jest tabela faktów TF1(a, b, c): Podaj wyniki zapytania: select sum(a), b, c from TF1 group by cube(b, c) a b c 20 y a 15 y a 10 x b 15 x c 5 x c 10 y b 25 x b Dana jest tabela faktów TF2(a, b, c): Podaj wyniki zapytania: select sum(a), b, c from TF1 group by rollup(b, c) a b c 20 y a 15 y a 10 x b 15 x c 5 x c 10 z d 25 z d

Zad 3. Typy perspektyw zmaterializowanych Dany jest zbiór perspektyw zmaterializowanych. Określ własności poszczególnych perspektyw: NU nieutrzymywalna, CU - częściowo utrzymywalna, U utrzymywalna, SO - samoobsługowa Wpisz w poszczególne pozycje jeden z symboli: T gdy perspektywa posiada określoną własność lub N gdy nie posiada. Uwaga: perspektywy klasy SO muszą należeć jednocześnie do jednaj z klas CU albo U. Nr Definicja perspektywy zmaterializowanej 1 select b, sum(a) from A group by b 2 select min(a) from A 3 select avg(a), count(a), sum(a) from A 4 select b, count(a) from A group by b 5 select median(a) from A 6 select b, median(a) from A group by b NU CU U SO

Zad 4. Użyteczność perspektyw zmaterializowanych Dane są definicje perspektyw materializowanych: 1. select b, sum(a) from A group by b 2. select b, min(a) from A group by b 3. select b, sum(a), sum(a*a), count(a) from A group by b 4. select b, sum(a), count(*) from A group by b 5. select b, count(a) from A group by b 6. select b, median(a) from A group by b Czy poniższe zapytania mogą być zrealizowane, za pomocą jednej z powyższych perspektyw. Jeżeli tak, podaj numery wszystkich tych perspektyw. Zapytanie Tak/Nie Numery perspektywy select sum(a) from A select b, avg(a) from A group by b select median(a) from A select count(a) from A select b, variance(a) from A group by b

Eksploracja danych Zad 5.Wsparcie i ufność reguł asocjacyjnych 1. Dany zbiór transakcji będący podstawą do wyszukiwania wzorców asocjacji: Id transakcji Obiekty 100 1, 5, 10 101 3, 5, 7, 9, 12 102 1, 10,12 103 1, 2, 3, 5, 10 104 5, 7, 9, 10 Podaj wartości wsparcia i ufności reguły: 5 -> 10 Wsparcie s =. Ufność c =. 2. Dany zbiór transakcji będący podstawą do wyszukiwania wzorców asocjacji: Id transakcji Obiekty 100 A, B 101 A, B, C 102 A, C 103 A, B 104 B, C Znajdź wszystkie reguły asocjacyjne o minimalnym wsparciu s min = 0,5 i ufności c min = 0,7.

Zad 6. Algorytm Apriori a. Podaj wszystkie wygenerowane przez algorytm Apriori kandydujące zbiory częste o rozmiarze 4, kolejno po fazach join i prune, na podstawie na podstawie danych zbiorów częstych o rozmiarze 3: {1,2,5}, {3,6,7}, {3,6,8}, {9,11,12}. b. Baza danych zawiera 10 transakcji. Zadany minimalny poziom wsparcia s=0,4, ufności c=0,8. Wszystkie zbiory częste znalezione w bazie danych to: {1} 9 razy, {3} 7 razy, {5} - 6 razy, {6} 5 razy, {1, 3} 6 razy, {1, 5} 5 razy. Wygeneruj na ich podstawie wszystkie reguły asocjacyjne spełniające zadany poziom wsparcia i ufności.

Zad 7. Klasyfikacja Dany jest zbiór danych treningowych: Etykieta klasy Indeks Nazwisko Płeć Średnia Rok Kandydat ocen studiów 9909 Nowak K 3,41 II Średni 10118 Nowacka K 4,97 III Dobry 11852 Celińska K 4,45 I Średni 9877 Kowalski M 3,98 III Średni 9111 Tarzan M 3,08 I Zły 10502 Kowalczyk M 4,75 II Dobry a. Zaproponuj transformację powyższych danych (usunięcie lub generalizację wybranych atrybutów) dla ich przystosowania do procesu klasyfikacji. Podaj nowy kształt tabeli b. Wygeneruj drzewo decyzji dla przetransformowanej tabeli (nie musi być to drzewo optymalne, to znaczy sposób jego wygenerowania może być intuicyjny nie trzeba stosować żadnej z przedstawionych na wykładzie metod). c. Który atrybut powinien być wybrany jako korzeń drzewa decyzji? Odpowiedź krótko uzasadnij.

Zad 8. Grupowanie Pogrupuj za pomocą aglomeracyjnego algorytmu hierarchicznego dane opisane w poniższej tabeli podobieństwa. Łącz grupy na podstawie minimalnej odległości między poszczególnymi elementami grup. Narysuj dendrogram dla uzyskanego wyniku. A B C D E A 0 7 2 1 4 B 0 3 6 5 C 0 8 6 D 0 9 E 0 C.size C 5 {A}, {B}, {C}, {D}, {E}

Zad 9. Obiektowo-relacyjny model danych Dany jest schemat obiektowo-relacyjnej bazy danych równoważny następującemu diagramowi klas (związki są modelowane jako referencje między obiektami). jest_szefem 0..* Pracownik {persistence} +PESEL : integer {key} +nazwisko : string +etat [1..*] : Etat + języki[0..*] : String 0..1 jest_podwładnym Etat +nazwa : string +płaca_min : float +płaca_max : float Związkowiec { persistence} +związek : string +składka : float a) Przy założeniu, że jest już zdefiniowany obiektowy typ danych Etat podaj definicję typów Pracownik i Związkowiec. Definicja ma umożliwiać dwukierunkową nawigację: od szefa do podwładnych i id podwładnych do szefa. Zdefiniuj tabelę typu pracownik, która będzie przechowywała również związkowców.

Rozproszone bazy danych Zad 10. Fragmentacja Dany schemat tabeli Projekty (atrybut id_proj jest kluczem tabeli): id_proj nazwa budżet data_rozp data_zak kierownik typ Projektant dokonał następującej - błędnej formalnie - fragmentacji danych tej tabeli: Fragment F1: Atrybuty(id_proj, nazwa, budżet, data_rozp, data_zak, kierownik, typ); wiersze spełniają warunek selekcji: budżet >100 000 and budżet <2 000 000 Fragment F2: Atrybuty(id_proj, nazwa, budżet); wiersze spełniają warunek selekcji: budżet >1 000 000 Fragment F3: Atrybuty(data_rozp, data_zak, kierownik, typ); wiersze spełniają warunek selekcji: budżet >1 000 000 Które warunki poprawności fragmentacji nie zostały spełnione? Zamień powyższy schemat fragmentacji na poprawny formalnie.

Zad 11 Alokacja Zastosuj algorytm najlepszego dopasowania do alokacji fragmentów R1 i R2 na jednym z serwerów S1 lub S2 dla transakcji T1 (realizującej pięć dostępów do R1) i T2 (dwa dostępy do R2 i trzy dostępy do R1). Transakcja Liczba transakcji Serwer na godzinę T1 10 S1 T2 5 S1 T1 2 S2 T2 20 S2