Zaawansowane systemy baz danych: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
 
(Nie pokazano 54 wersji utworzonych przez 2 użytkowników)
Linia 10: Linia 10:
== Sylabus ==
== Sylabus ==


=== Autorzy ===
=== Autor ===
* '''Dr hab. inż. Zbyszko Królikowski, prof. nadzw. Politechniki Poznańskiej'''
* Zbyszko Królikowski — Politechnika Poznańska
Zainteresowania naukowe dr hab. inż. Zbyszko Królikowskiego koncentrują się głównie wokół problematyki systemów baz danych (SBD) – konwencjonalnych i zaawansowanych oraz magazynów danych. W ramach tej problematyki zajmuję się on zagadnieniami przetwarzania i optymalizacji wykonywania zapytań, strukturami indeksowymi oraz projektowania i implementacji tych systemów.
<br><br>W zakresie problematyki przetwarzania i optymalizacji wykonywania zapytań zajmował się początkowo, zagadnieniami modelowania i oceny efektywności algorytmów optymalizacji wykonywania zapytań w systemach rozproszonych baz danych (SRBD). Podsumowaniem uzyskanych wyników z tej dziedziny była rozprawa doktorska pt. Optymalizacja planów wykonywania transakcji w systemach rozproszonych baz danych, nagrodzona Nagrodą III stopnia Ministra Nauki i Szkolnictwa Wyższego.
<br><br>Badania dotyczące problematyki optymalizacji wykonania zapytań w SRBD były kontynuowane przez dr hab. inż. Zbyszko Królikowskiego podczas pobytu na University of Southern California, Los Angeles, w ramach projektów sponsorowanych przez Narodową Fundację Nauki Amerykańskiej oraz Departament Obrony USA (Defense Joint Services Electronics Program). Badania te dotyczyły oceny efektywności metod optymalizacji wykonania zapytań w SRBD implementowanych w sieciach lokalnych i rozległych, szacowania rozmiarów relacji po wykonaniu operacji relacyjnych oraz wykorzystania techniki jednoczesnej optymalizacji wykonania zbioru zapytań dla tej klasy systemów.
<br><br>W późniejszym okresie, badania dr hab. inż. Zbyszko Królikowskiego dotyczące problematyki optymalizacji wykonania zapytań zostały rozszerzone na zaawansowane systemy baz danych (ZSBD). Podsumowaniem tych badań była rozprawa habilitacyjna pt. “Optymalizacja wykonania zapytań w zaawansowanych systemach baz danych”, za którą otrzymał Nagrodę JM Rektora Politechniki Poznańskiej.
<br><br>Od roku 1998, tj. od uzyskania stopnia naukowego doktora habilitowanego, dr hab. inż. Zbyszko Królikowski zajmował się opracowaniem nowych technik przeszukiwania przestrzeni planów wykonywania zapytań w ZSBD z wykorzystaniem algorytmów kombinatorycznych i genetycznych.
<br><br>Po uzyskaniu stanowiska profesora nadzwyczajnego Politechniki Poznańskiej w roku 2001, ważnym obszarem zainteresowań naukowych dr hab. inż. Zbyszko Królikowskiego stała się problematyka przetwarzania danych w magazynach danych.
<br><br>Wyniki przedstawionych powyżej prac naukowo-badawczych zawarł dr hab. inż. Zbyszko Królikowski w 175 pracach, tj.: 102 publikacjach naukowych i 73 raportach naukowo-technicznych Instytutu Informatyki Politechniki Poznańskiej, w tym: 2 rozprawach (doktorskiej i habilitacyjnej), w 12 książkach i podręcznikach akademickich oraz rozdziałach w książkach, 35 artykułach naukowych publikowanych w czasopismach krajowych i zagranicznych oraz 53 referatach naukowych opublikowanych w materiałach konferencji zagranicznych i krajowych. Część prac została zamieszczona w znanych zagranicznych i krajowych czasopismach z dziedziny informatyki, jak np.: IEEE Transaction on Software Engineering, The European Journal for the Informatics Professional, Bulletin of the Polish Academy of Sciences, Archiwum Informatyki Teoretycznej i Stosowanej, Foundation of Computing and Decicion Sciences. Ponadto w ostatnim okresie publikował prace w materiałach konferencyjnych wydawanych w serii Lecture Notes in Computer Science (należącej do Listy Filadelfijskiej Instytutu Informacji Naukowej – 10 prac) oraz materiałach wydanych przez tak renomowane wydawnictwa jak: Springer Verlag, North Holland Pub.Co, McGraw - Hill Publishing Company, IEEE Computer Society Press, Nova Publishing Co. USA, Kluwer Academic Publishers oraz materiałach konferencji krajowych wydawanych m.in. przez PTI.
<br><br>Dr hab. inż. Zbyszko Królikowski uczestniczył w realizacji kilku programów rządowych oraz resortowych. Był kierownikiem, wykonawcą lub głównym wykonawcą w kilku projektach Komitetu Badań Naukowych oraz kilkunastu projektach realizowanych dla jednostek zewnętrznych (m.in. ZE Elwro, IKSAiP, PHARE)
<br><br>W trakcie swojej pracy zawodowej dr hab. inż. Zbyszko Królikowski prowadził wykłady na kierunku Informatyka z kilkunastu przedmiotów, m. in.: Wstęp do informatyki i użytkowania komputerów, Organizacja i oprogramowanie komputerów, Systemy operacyjne I i II, Systemy baz danych, Rozproszone i obiektowe bazy danych, Bazy wiedzy, Zaawansowane systemy baz danych. Jestem głównym współautorem 6 skryptów i podręczników akademickich. <br><br><br>
* '''Dr inż. Robert Wrembel, adiunkt w Instytucie Informatyki PP'''
Zainteresowania naukowe dr. inż. Roberta Wrembla koncentrują się głównie wokół problematyki magazynów danych - relacyjnych, relacyjno-obiektowych, wielowersyjnych oraz wokół optymalizacja dostępu do danych w systemach obiektowych.
<br><br>Robert Wrembel brał udział w realizacji 8 projektów informatycznych zarówno naukowo-badawczych, jak i typowo komercyjnych, opartych o SZBD Oracle. Od 1998 roku jest wykładowcą w Centrum Edukacyjnym Oracle Polska. Jest autorem ponad 70 publikacji, krajowych i zagranicznych, w tym czterech książek. Odbył staże naukowe w: Institut National de Recherche en Informatique et en Automatique - INRIA (Francja), Université Paris-Dauphine (Francja), Klagenfurt Universität (Austria). Prowadził wykłady w Loyola University (USA). Jest członkiem komitetów programowych kilkunastu międzynarodowych konferencji w dziedzinie informatyki. W latach 1999-2005 zasiadał w zarządzie Stowarzyszenia Polskiej Grupy Użytkowników Systemu Oracle.<br><br><br>
* '''Dr inż. Marek Wojciechowski, adiunkt w Instytucie Informatyki PP'''
Zainteresowania naukowe dr inż. Marka Wojciechowskiego koncentrują się głównie wokół problematyki systemów baz danych (SBD) i technologii internetowych. W ramach problematyki baz danych zajmuje się eksploracją danych i multimedialnymi bazami danych.
<br><br>W zakresie eksploracji danych zajmował się początkowo głównie problemem odkrywania wzorców sekwencyjnych, a w szczególności rozszerzeniami języka SQL do odkrywania wzorców sekwencyjnych, algorytmami odkrywania wzorców sekwencyjnych z ograniczeniami, wykorzystywaniem wyników poprzednich zapytań eksploracyjnych i zastosowaniem odkrytych wzorców sekwencyjnych w analizie skupień. Podsumowaniem uzyskanych wyników z tej dziedziny była rozprawa doktorska pt. Discovering and Processing Sequential Patterns in Databases, obroniona w 2001 roku. Obecnie Marek Wojciechowski kontynuuje prace badawcze w dziedzinie eksploracji danych, skupiając się na problemie przetwarzania zbioru zapytań eksploracyjnych.
<br><br>Marek Wojciechowski jest autorem lub współautorem 81 prac, w tym: 45 publikacji w czasopismach, materiałach konferencyjnych i rozdziałach w książkach o zasięgu międzynarodowym, 27 publikacji o zasięgu krajowym i 9 raportów naukowo-technicznych Instytutu Informatyki Politechniki Poznańskiej. Część prac została opublikowana w materiałach konferencyjnych wydanych w seriach Lecture Notes in Computer Science oraz Lecture Notes in Artificial Intelligence (należących do Listy Filadelfijskiej Instytutu Informacji Naukowej – 18 prac) oraz materiałach wydanych przez tak renomowane wydawnictwa jak: Springer Verlag, IOS Press, IEEE Computer Society Press, Idea Group Publishing i Kluwer Academic Publishers. <br><br><br>
* '''Dr inż. Tomasz Koszlajda, adiunkt w Instytucie Informatyki PP'''
Zainteresowania naukowe dr inż. Tomasza Koszlajdy koncentrują się głównie wokół problematyki systemów baz danych, metodyk, projektowania i programowania obiektowego oraz inżynierii oprogramowania. W ramach tej problematyki zajmuje się zagadnieniami: modeli danych dla systemów baz danych, wielowymiarowymi strukturami danych oraz strumieniowymi bazami danych.
<br><br>Wyniki w ramach wymienionych powyżej tematów zawarł dr inż. Tomasz Koszlajda w kilkudziesięciu pracach, to jest publikacjach naukowych, raportach naukowo-technicznych Instytutu Informatyki Politechniki Poznańskiej oraz rozprawie doktorskiej.
<br><br>W ramach pracy dydaktycznej prowadzi wykłady z systemów baz danych, programowania obiektowego, zaawansowanych systemów baz danych oraz zarządzania projektami informatycznymi. <br><br><br>
* '''Mgr inż. Krzysztof Jankiewicz, asystent w Instytucie Informatyki PP'''
Zainteresowania naukowe mgr. inż. Krzysztofa Jankiewicza koncentrują się głównie wokół problematyki systemów baz danych (SBD). W ramach problematyki baz danych zajmuje się hurtowniami danych i semistrukturalnymi bazami danych.
<br><br>W zakresie systemów baz danych zajmował się początkowo głównie problemami przechowywania i przetwarzania danych przestrzennych, tekstowych i semistrukturalnych, oraz tematyką związaną z zastosowaniem hurtowni danych. Obecnie Krzysztof Jankiewicz kontynuuje prace badawcze w przechowywania i przetwarzania dokumentów XML w bazach danych, skupiając się na problemie współbieżnego dostępu w bazach danych dokumentów XML.
<br><br>Krzysztof Jankiewicz jest autorem lub współautorem 25 prac, w tym: 20 publikacji w czasopismach, materiałach konferencyjnych i 5 raportów naukowo-technicznych Instytutu Informatyki Politechniki Poznańskiej.  <br><br><br>
* '''Mgr inż. Witold Andrzejewski, asystent w Instytucie Informatyki PP'''
Mgr inż. Witold Andrzejewski zakończył studia w lutym 2005 roku. Pracę w Instytucie Informatyki Politechniki Poznańskiej rozpoczął w marcu tego samego roku.
<br><br>Zainteresowania naukowe mgr inż. Witolda Andrzejewskiego koncentrują się głównie wokół problematyki optymalizacji realizacji zapytań i eksploracji złożonych struktur danych. W ramach tej problematyki zajmuje się zagadnieniami indeksowania danych sekwencyjnych oraz opracowaniem algorytmów dla odkrywania uogólnionych wzorców w złożonych strukturach danych. Współpracuje również z Wydziałem Technologii Chemicznej na Politechnice Poznańskiej przy opracowaniu metod analizy danych eksperymentalnych,
<br><br>W zakresie problematyki indeksowania danych sekwencyjnych zajmuje się przede wszystkim indeksowaniem sekwencji zbiorów danych kategorycznych w celu wspierania zapytań o nadsekwencje zbiorów oraz zapytania przybliżone dotyczące podsekwencji. Badania w tej dziedzinie stanowią podstawę jego pracy doktorskiej.
<br><br>Wyniki swoich prac naukowo-badawczych zawarł mgr inż. Witold Andrzejewski w 10 pracach, tj.: 8 artykułach naukowych i 2 raportach naukowo-technicznych Instytutu Informatyki Politechniki Poznańskiej. Wśród publikacji naukowych dwie zostały zamieszczone w materiałach konferencyjnych wydawanych w serii Lecture Notes in Computer Science (należącej do Listy Filadelfijskiej Instytutu Informacji Naukowej)
<br><br>W trakcie swojej pracy zawodowej mgr inż. Witold Andrzejewski prowadził laboratoria na kierunku informatyka z następujących przedmiotów: Wybrane zagadnienia z baz danych, Multimedialne i Obiektowe Bazy danych, Programowanie obiektowe i Grafika Komputerowa.
<br><br>Mgr inż. Witold Andrzejewski był również głównym wykonawcą systemu rekrutacji studentów przez Internet „Ksantypa” współpracującego z systemem obsługi dziekanatu „Sokrates”, twórcą aplikacji do analizy i korekcji danych eksperymentalnych otrzymanych z mikrokalorymetru skaningowego DSC-4 dla Karolinska Institute, Royal Academy w Sztokholmie oraz twórcą wielu programów do korekcji i analizy danych eksperymentalnych dla Wydziału Technologii Chemicznej na Politechnice Poznańskiej.
<br>


=== Wymagania wstępne ===
=== Wymagania wstępne ===


* Podstawowe wiadomości z zakresu: relacyjnych baz danych i języka SQL.  
* Podstawowe wiadomości z zakresu relacyjnych baz danych i języka SQL. Podstawowe wiadomości z zakresu programowania obiektowego. Wiedza podstawowa z zakresu programowania w języku Java.
* Podstawowe wiadomości z zakresu programowania obiektowego.


=== Zawartość ===
=== Zawartość ===
* Rozproszone bazy danych: modele systemów, techniki rozpraszania danych w sieci, techniki replikowania danych i synchronizowania replik, zarządzanie transakcjami rozproszonymi, techniki optymalizacji zapytań rozproszonych.
* '''Wykłady:'''
* Zastosowanie modelu obiektowego do analizy i projektowania systemów informatycznych; własności obiektowego modelu danych, języki definicji danych (ODL, SQL3), języki zapytań (OQL, SQL3), języki manipulacji danymi (JAVA, C++, SQL 3); problemy konstrukcji obiektowych baz danych;
* Charakterystyka danych multimedialnych: dźwięk, obraz, wideo; wyszukiwanie danych multimedialnych według zawartości; systemy i języki zapytań dla multimedialnych baz danych.
* Rozszerzenie funkcjonalności modeli baz danych – aktywne bazy danych: model aktywności ECA, klasy zdarzeń, rachunek zdarzeń i implementacja oraz temporalne bazy danych: temporalne typy danych, operatory temporalne, operacje temporalne


* Pierwszą część kursu stanowią dwa moduły (5 godz.) poświęcone systemom rozproszonych baz danych. W ramach tej części kursu zostaną omówione następujące zagadnienia: wprowadzenie do problematyki rozproszonych baz danych (definicja rozproszonej bazy danych, zalety i wady rozproszonych baz danych, dwanaście reguł C.J. Date’a, które powinien spełniać system rozproszonej bazy danych), podstawowa architektura sfederowanej bazy danych, jak przykład architektury implementacyjnej, podstawowe problemy związane implementacją systemu rozproszonej bazy danych (cel i techniki fragmentacji danych (w tym: algorytmy fragmentacji), alokacja danych, cel i techniki replikacji danych, odświeżanie replik danych, zarządzania transakcjami rozproszonymi (w tym: transakcja rozproszona, architektura zarządzania transakcjami rozproszonymi, protokół 2PC i jego odmiany)).
* Kolejny moduł kursu (2 godz.) jest poświęcony aktywnym bazom danych. W ramach tej części kursu zostaną omówione następujące zagadnienia: funkcjonalność systemu aktywnej bazy danych (mechanizm aktywności baz danych jako rozszerzenie funkcjonalności systemu zarządzania bazą danych), model reguł ECA, dziedziny zastosowań, schematy aktywności, zdarzenia elementarne i złożone oraz odpowiadające im operatory, definiowanie reguł aktywnych na przykładzie systemu Oracle, metodyka projektowania reguł aktywnych.
* Trzeci moduł kursu (6 godz.) jest poświęcony obiektowym i obiektowo-relacyjnym bazom danych. W ramach tej części kursu zostaną omówione następujące zagadnienia: obiektowy model danych (w tym: przesłanki pojawienia się nowej generacji baz danych, nowe dziedziny zastosowań systemów baz danych wymagające silniejszego i bardziej elastycznego modelu danych niż model relacyjny, podstawowe koncepcje obiektowego modelu danych (możliwość modelowania abstrakcyjnych typów danych, mechanizm dziedziczenia typów danych, konstruktory złożonych typów danych, jawne związki między danymi, hierarchiczne zależności między kolekcjami obiektów oraz mechanizmy polimorfizmu i późnego wiązania), rozwiązania służące do zapewnienia obiektom przechowywanym w bazie danych systemowej tożsamości i trwałości), architektura obiektowych i obiektowo-relacyjnych baz danych, model ODMG, język ODL i OQL, implementacja obiektowych baz danych (w tym: obiektowa architektura klient-serwer, buforowanie obiektów, logiczne i fizyczne identyfikatory obiektów, składowanie obiektów, zarządzanie dużymi obiektami, indeksowanie wyrażeń ścieżkowych, hierarchia ścieżek binarnych, indeksowanie hierarchii rozszerzeń klas, sygnatury zbiorów, indeks RD-drzewo).
* Czwarty moduł kursu (5 godz.) jest poświęcony systemom multimedialnych baz danych oraz standardowi języka SQL/MM (nowy standard uzupełniający język SQL o biblioteki do obsługi specjalistycznych danych i aplikacji, głównie multimedialnych). W ramach tej części kursu zostaną omówione następujące zagadnienia: specyfika i zastosowania multimedialnych baz danych, modele danych dla multimedialnych baz danych, metadane, standard MPEG-7, techniki wyszukiwania, składowania i prezentacji danych multimedialnych, geneza standardu SQL/MM, podstawowe części standardu SQL/MM poświęcone przetwarzaniu danych tekstowych, przestrzennych i obrazów w bazach danych.
* Piąty moduł kursu (7 godz.) jest poświęcony bazom danych dokumentów XML jako przykładowi semistrukturalnych baz danych. W ramach tej części kursu zostaną omówione następujące zagadnienia: typy dokumentów XML i ich wpływ na bazy danych, charakterystyka języków zapytań wykorzystywanych do przetwarzania dokumentów XML, baza danych dokumentów XML i sposoby przechowywania i mechanizmy przetwarzania dokumentów XML, język zapytań XQuery (w roku 2005 język XQuery stał się standardem zatwierdzonym przez W3C), w tym: cechy języka XQuery, składnia, klauzule FOR, LET, WHERE, RETURN, ORDER BY, podzapytania, wyrażenia warunkowe i ilościowe, funkcje, przykłady zastosowań. W dalszej części tego modułu kursu zostaną omówione: charakterystyka innych języków semistrukturalnych baz danych, techniki modyfikacji dokumentów XML, w tym: wymagania dotyczące funkcjonalności języka modyfikacji, prosta wymiana i usuwanie dokumentów XML, DOM API oraz języki deklaratywne (XUpdate i rozszerzenia XQuery).
* Ostatni moduł kursu (5 godz.) jest poświęcony hurtowniom danych. W ramach tej części kursu zostaną omówione następujące zagadnienia: wprowadzenie do problematyki integracji rozproszonych i heterogenicznych baz danych, podstawowa architektura integracji danych opierająca się na hurtowniach danych, oprogramowanie ETL, problem wykrywania zmian w źródłach danych, charakterystyka przetwarzania analitycznego (On-Line Analytical Processing - OLAP), wielowymiarowy model danych (wymiary i fakty), implementacja modelu wielowymiarowego w serwerach relacyjnych (ROLAP) (schemat gwiazdy, płatka śniegu i konstelacja faktów) oraz wielowymiarowych (MOLAP) (implementacja i operatory MOLAP). W dalszej części tego modułu kursu zostaną omówione zagadnienia implementacyjne i efektywność przetwarzania OLAP, w tym: odświeżanie hurtowni danych w czasie jej pracy, wykorzystanie perspektyw zmaterializowanych do implementowania hurtowni, techniki zwiększające efektywność przetwarzania analitycznego, m.in. przepisywanie zapytań w oparciu o perspektywy zmaterializowane, indeksowanie danych przy użyciu różnych struktur, partycjonowanie danych i indeksów, kompresja danych i indeksów, przetwarzanie równoległe w hurtowniach danych oraz metadane opisujące hurtownię.


* '''Laboratoria:'''
* Pierwszą część zajęć laboratoryjnych kursu stanowią trzy moduły (9 godz.) poświęcone systemom rozproszonych baz danych. Cykl tych trzech ćwiczeń ilustruje fundamentalne zagadnienia związane z projektowaniem i implementacją rozproszonych baz danych, tj. replikowanie danych, zarządzanie transakcjami rozproszonymi z wykorzystaniem protokołu 2PC, techniki optymalizacji zapytań rozproszonych. W ramach tej części kursu zostaną omówione i przećwiczone następujące zagadnienia: dostępu do zdalnej bazy danych za pomocą tzw. łącznika bazy danych, replikowanie danych za pomocą tzw. migawki, parametry migawki definiowane przez użytkownika mające wpływ na jej własności, problem przyrostowego odświeżania migawki, grupa odświeżania jako mechanizm jednoczesnego odświeżania wielu migawek, definicje i podstawowe cechy transakcji rozproszonej, role baz danych biorących udział w transakcji rozproszonej, implementacja protokołu zatwierdzania transakcji rozproszonej (protokół 2-Phase-Commit - 2PC), problemy związane z awariami rozproszonej bazy danych w trakcie zatwierdzania transakcji rozproszonej, procedura odtwarzania transakcji rozproszonej, która uległa awarii (zilustrowane studium przypadku), charakterystyka zapytania rozproszonego i plan jego wykonania, narzędzia Oracle analizy planu wykonania zapytania, studium przypadku obejmujące analizę technik filtrowania danych z tabeli zdalnej, grupowania i sortowania danych z tabeli zdalnej, łączenie tabeli lokalnej i zdalnej, zastosowanie tradycyjnych perspektyw (ang. view) w optymalizacji zapytań rozproszonych, zastosowanie wskazówek optymalizatora kosztowego w optymalizacji zapytań rozproszonych. Wszystkie powyższe problemy są ilustrowane rozwiązaniami i technikami implementowanymi w systemie Oracle9i/10g.
* Drugą część zajęć laboratoryjnych kursu stanowią trzy moduły (7 godz.) poświęcone systemom obiektowych baz danych. Cykl tych trzech ćwiczeń ilustruje podstawowe zagadnienia związane z implementacją, programowaniem i użytkowaniem obiektowych baz danych. W ramach tej części kursu zostaną omówione i przećwiczone następujące zagadnienia: charakterystyka i instalacja systemu zarządzania obiektową bazą danych (SZOBD) db4o razem ze środowiskiem programistycznym, pozwalającym na tworzenie oprogramowania z nim współpracującego (db4o jest to system, pracujący na platformach Java i .NET, pozwalający na bezpośrednie składowanie obiektów w bazach danych; db4o jest rozpowszechniany bezpłatnie na licencji GPL oraz płatnie na licencji przeznaczonej dla zastosowań komercyjnych), konfiguracja środowiska Eclipse do współpracy z db4o, tworzenie nowego projektu, współpracującego z db4o, architektury aplikacji, jakie można zbudować w oparciu o SZOBD db4o, interfejsy i metody bibliotek SZOBD db4o pozwalające na wykonywanie podstawowych operacji na obiektach składowanych w obiektowej bazie danych, takich jak: zapisywanie obiektów do bazy danych, odszukiwanie i odczytywanie obiektów z bazy danych, modyfikacja obiektów w bazie danych, usuwanie obiektów z bazy danych. W dalszej części tego modułu kursu zostaną omówione zagadnienia dotyczące złożonych, dynamicznych struktur danych, w tym: sposoby zapisu, wyszukiwania, odczytu, modyfikacji i usuwania złożonych struktur danych.
* Trzecia część zajęć laboratoryjnych kursu stanowią trzy moduły (7 godz.) poświęcone systemom obiektowo-relacyjnych baz danych. Cykl tych trzech ćwiczeń ilustruje zagadnienia związane z programowaniem i użytkowaniem obiektowo-relacyjnych baz danych. W ramach tej części kursu zostaną omówione i przećwiczone następujące zagadnienia: różnice pomiędzy systemem zarządzania obiektowo-relacyjną bazą danych a SZOBD i systemem zarządzania relacyjną bazą danych, tworzenie typów obiektowych i ich instancji, składowanie obiektów w bazie danych (w tym: tworzenie typów obiektowych, składowanie obiektów), polecenia języka SQL pozwalającą na przeszukiwanie obiektów (w tym: deklaracja metod i konstruktorów, programowanie i implementacja metod i konstruktorów, aktywowanie metod, zapytania do atrybutów obiektów), posługiwanie się typami referencyjnymi (w tym: nawigowanie po referencjach, referencje puste i wiszące), inne obiekty o złożonej strukturze tj. kolekcje wartości, dwa rodzaje kolekcji: tablice o zmiennej długości (w tym: sposób, w jaki mogą być wykorzystywane z poziomu SQL i z poziomu PL/SQL) oraz zagnieżdżone tabele (w tym: różnice pomiędzy obydwoma rodzajami kolekcji, cechy charakterystyczne tabel zagnieżdżonych oraz praca z tym typem kolekcji zarówno z poziomu SQL, jak i z poziomu PL/SQL), konstrukcja CAST(MULTISET). W dalszej części tego modułu kursu zostaną omówione zagadnienia dotyczące motywacji implementacji pewnych cech modelu obiektowego w modelu relacyjnym, co zaowocowało systemami obiektowo-relacyjnych baz danych. Następnie, omówiona i przećwiczona zostanie składnia poleceń pozwalająca na: tworzenie typów dziedziczących ze zdefiniowanych wcześniej typów obiektowych, przesłanianie istniejących metod, deklarowanie typów i metod abstrakcyjnych oraz omówiony i przećwiczony zostanie polimorfizm i związane z nim dynamiczne wiązanie metod a także sposób wykorzystania tych cech przy konstrukcji zapytań, w tym: operatory TREAT i IS OF pozwalające na wykonywanie zapytań do tabel przechowujących obiekty różnych podtypów.
* Czwarta część zajęć laboratoryjnych kursu (2 godz.) dotyczy systemów multimedialnych baz danych. Ćwiczenie to ilustruje zagadnienia związane z programowaniem i użytkowaniem multimedialnych baz danych. W ramach tej części kursu zostaną omówione i przećwiczone następujące zagadnienia: możliwości przetwarzania danych multimedialnych wprowadzonych przez standard SQL/MM (w tym: część standardu, która dotyczy przetwarzania obrazów), ładowanie obrazów do bazy danych, odczytywanie ich parametrów, wykonywanie zapytań typu Content Based Retrieval i modyfikowanie obrazów zapisanych w bazie danych.
* Ostatnią część zajęć laboratoryjnych kursu stanowią trzy moduły (5 godz.) poświęcone systemom semistrukturalnych baz danych. Cykl tych trzech ćwiczeń ilustruje zagadnienia związane z programowaniem i użytkowaniem baz danych dokumentów XML. W ramach tej części kursu zostaną omówione i przećwiczone następujące zagadnienia: charakterystyka przykładowej bazy danych dokumentów XML – dbXML, wykonywanie zapytań Xpath, dostęp do bazy danych dbXML za pomocą WWW, duże kolekcje dokumentów i indeksy, zapytania dotyczące dokumentów umieszczonych w repozytorium XML oraz modyfikacje takich dokumentów.


=== Literatura ===
=== Literatura ===
Linia 62: Linia 39:


'''Literatura podstawowa'''
'''Literatura podstawowa'''
# Connolly T., Begg C., Database Systems - A Practical Approach to Design, Implementation, and Management (third edition). Addison-Wesley, 2002, ISBN 0 201 70857 4.
# C. Zaniolo, S. Ceri, C. Faloutsos, R.T. Snodgrass, V.S. Subrahmanian, R. Zicari, ''Advanced Database Systems'', The Morgan Kaufmann Series in Data Management Systems, 1997.
# Date C.J., Wprowadzenie do systemów baz danych, WNT, Seria „Klasyka Informatyki”, W-wa, 2000.
# T. Connolly, C. Begg, ''Database Systems - A Practical Approach to Design, Implementation, and Management (third edition)'', Addison-Wesley, 2002.
# Elmasri R., Navathe S.B., Wprowadzenie do systemów baz danych, Wyd. Helion, Seria „Kanon Informatyki”, Gliwice, 2005.  
# C.J. Date, ''Wprowadzenie do systemów baz danych'', seria „Klasyka Informatyki”, Wydawnictwa Naukowo-Techniczne, Warszawa 2000.
# Jarke M., Lenzerini M., Vassiliou Y., Vassiliadis P., Fundamentals of Data Warehouses. Springer-Verlag, 2003, ISBN 3-540-42089-4.
# R. Elmasri, S.B. Navathe, ''Wprowadzenie do systemów baz danych'', Helion, Gliwice 2005.
# Subrahmanian, V.S., Principles of Multimedia Database Systems, Morgan Kaufmann, 1998.
# H. Garcia-Molina, J.D. Ullman, J. Widom, ''Systemy baz danych. Pełny wykład'', seria „Klasyka Informatyki”, Wydawnictwa Naukowo-Techniczne, Warszawa 2006.
# Wrembel R., Bębel B., Oracle - Projektowanie rozproszonych baz danych, HELION Publisher, 2003, ISBN 83-7197-951-7.
# M. Jarke, M. Lenzerini, Y. Vassiliou, P. Vassiliadis, ''Fundamentals of Data Warehouses'', Springer-Verlag, 2003.
# Garcia-Molina H., Ullman J.D., Widom J., Systemy baz danych. Pełny wykład, WNT, Seria „Klasyka Informatyki”, W-wa, 2006.
# V.S. Subrahmanian, ''Principles of Multimedia Database Systems'', Morgan Kaufmann, 1998.
# Carlo Zaniolo, Stefano Ceri, Christos Faloutsos, Richard T. Snodgrass, V.S. Subrahmanian, and Roberto Zicari,  Advanced Database Systems The Morgan Kaufmann Series in Data Management Systems, 1997.
# R. Wrembel, B. Bębel, ''Oracle - Projektowanie rozproszonych baz danych'', HELION Publisher, 2003.
 




'''Literatura uzupełniająca'''
'''Literatura uzupełniająca'''
# Baldonado, M., Chang, C.-C.K., Gravano, L., Paepcke, A., The Stanford Digital Library Metadata Architecture, Int. J. Digit. Libr. 1, 1997 108–121.
# Baldonado, M., Chang, C.-C.K., Gravano, L., Paepcke, A., The Stanford Digital Library Metadata Architecture, Int. J. Digit. Libr. 1, 1997 108–121
# Bruce, K.B., Cardelli, L., Pierce, B.C., Comparing Object Encodings, in: Abadi, M., Ito, T. (eds.): Theoretical Aspects of Computer Software. Lecture Notes in Computer Science, Vol. 1281, Springer-Verlag, Berlin Heidelberg New York1997, pp. 415–438.
# Bruce, K.B., Cardelli, L., Pierce, B.C., Comparing Object Encodings, in: Abadi, M., Ito, T. (eds.): Theoretical Aspects of Computer Software. Lecture Notes in Computer Science, Vol. 1281, Springer-Verlag, Berlin Heidelberg New York1997, pp. 415–438
# Clement T. Yu, Weiyi M., Principles of Database Query Processing for Advanced Applications, Morgan Kaufmann Publishers, 1998, ISBN 1-55860-434-0.
# Clement T. Yu, Weiyi M., Principles of Database Query Processing for Advanced Applications, Morgan Kaufmann Publishers, 1998, ISBN 1-55860-434-0
# Definicje funkcji i operatorów Xquery: http://www.w3.org/TR/xquery-operators/
# Definicje funkcji i operatorów Xquery: http://www.w3.org/TR/xquery-operators/
# Dokumentacja techniczna API db4o. Dostarczana razem z pakietem bibliotek db4o w katalogu /doc/api/.
# Dokumentacja techniczna API db4o. Dostarczana razem z pakietem bibliotek db4o w katalogu /doc/api/.
# Dye C.: Oracle Distributed Systems, O'Reilly & Associates, 1999, ISBN 1-56592-432-0
# Dye C.: Oracle Distributed Systems, O'Reilly & Associates, 1999, ISBN 1-56592-432-0
# E. Cattel i inni, Object Database Standard ODMG 3.0, Morgan Kaufmann, 1999
# G. Booch, J. Rumbaugh, I. Jacobson, UML przewodnik użytkownika, WNT, 2001
# G. Lausen, G. Vossem, Obiektowe bazy danych, WNT, 2000
# http://www.garshol.priv.no/download/xmltools/
# http://www.garshol.priv.no/download/xmltools/
# http://www.oasis-open.org/cover/xmlAndDatabases.html
# http://www.oasis-open.org/cover/xmlAndDatabases.html
# http://www.rpbourret.com/xml/
# http://www.rpbourret.com/xml/
# http://xmldb-org.sourceforge.net/index.html
# http://xmldb-org.sourceforge.net/index.html
# ISO/IEC 13249, Information Technology – Database Languages – SQL Multimedia and Application Packages (specyfikacja standardu ISO).
# ISO/IEC 13249, Information Technology – Database Languages – SQL Multimedia and Application Packages (specyfikacja standardu ISO)
# Kosch, H., Distributed Multimedia Database Technologies Supported by MPEG-7 and MPEG-21, CRC Press 2003.
# Kosch, H., Distributed Multimedia Database Technologies Supported by MPEG-7 and MPEG-21, CRC Press 2003
# Laksman, B., Oracle 9i PL/SQL Poradnik programisty, Mikom 2003.
# Laksman, B., Oracle 9i PL/SQL Poradnik programisty, Mikom 2003
# Martínez, J. M., MPEG-7 Overview, http://www.chiariglione.org/MPEG/standards/mpeg-7/mpeg-7.htm
# Martínez, J. M., MPEG-7 Overview, http://www.chiariglione.org/MPEG/standards/mpeg-7/mpeg-7.htm
# Melton J., Eisenberg A.: SQL Multimedia and Application Packages (SQL/MM). SIGMOD Record 30(4), 2001.
# Melton J., Eisenberg A.: SQL Multimedia and Application Packages (SQL/MM). SIGMOD Record 30(4), 2001
# Oracle® Database Concepts (rozdział Object Datatypes and Object Views): http://download-uk.oracle.com/docs/cd/B19306_01/server.102/b14220/objects.htm#i440066
# Oracle® Database Concepts (rozdział Object Datatypes and Object Views): http://download-uk.oracle.com/docs/cd/B19306_01/server.102/b14220/objects.htm#i440066
# Oracle® Database JDBC Developer's Guide and Reference (rozdział Working with Oracle Object Types): http://download-uk.oracle.com/docs/cd/B19306_01/java.102/b14355/oraoot.htm#sthref874
# Oracle® Database JDBC Developer's Guide and Reference (rozdział Working with Oracle Object Types): http://download-uk.oracle.com/docs/cd/B19306_01/java.102/b14355/oraoot.htm#sthref874
# Oracle® interMedia Reference (rozdział SQL/MM Still Image): http://download-uk.oracle.com/docs/cd/B19306_01/appdev.102/b14297/ch_stimgref.htm#AIVUG7000
# Oracle® interMedia Reference (rozdział SQL/MM Still Image): http://download-uk.oracle.com/docs/cd/B19306_01/appdev.102/b14297/ch_stimgref.htm#AIVUG7000
# P. Fortier, SQL 3 Implementing the Object–Relational Database, Mc Graw-Hill Company, 1999
# Pełna specyfikacja Xquery: http://www.w3.org/TR/xquery/
# Pełna specyfikacja Xquery: http://www.w3.org/TR/xquery/
# Przykładowe edytory otwarte na Xquery: Oracle JDeveloper www.oracle.com/technology/products/jdev/ oraz Altova XMLSpy: www.altova.com
# Przykładowe edytory otwarte na Xquery: Oracle JDeveloper www.oracle.com/technology/products/jdev/ oraz Altova XMLSpy: www.altova.com
# Rozszerzenia Xquery - Funkcjonalność modyfikacji (working draft) http://www.w3.org/TR/xqupdate/
# Rozszerzenia Xquery - Funkcjonalność modyfikacji (working draft) http://www.w3.org/TR/xqupdate/
# Stolze K.: SQL/MM Spatial: The Standard to Manage Spatial Data in Relational Database Systems. BTW 2003.
# Stolze K.: SQL/MM Spatial: The Standard to Manage Spatial Data in Relational Database Systems. BTW 2003
# Thuraisingham, B., Managing and Mining Multimedia Databases, CRC Press 2001.
# Thuraisingham, B., Managing and Mining Multimedia Databases, CRC Press 2001
# van Leeuwen, J. (ed.), Computer Science Today. Recent Trends and Developments. Lecture Notes in Computer Science, Vol. 1000, Springer-Verlag, Berlin Heidelberg New York 1995.
# Tutorial db4o. Dostarczany razem z pakietem bibliotek db4o w pliku /doc/tutorial/db4o-5.2-tutorial.pdf
# van Leeuwen, J. (ed.), Computer Science Today. Recent Trends and Developments. Lecture Notes in Computer Science, Vol. 1000, Springer-Verlag, Berlin Heidelberg New York 1995
# X-Hive XUpdate demo: www.x-hive.com/xupdate/
# X-Hive XUpdate demo: www.x-hive.com/xupdate/
# Xupdate – Specyfikacja: http://xmldb-org.sourceforge.net/xupdate/index.html  
# Xupdate – Specyfikacja: http://xmldb-org.sourceforge.net/xupdate/index.html
# G. Booch, J. Rumbaugh, I. Jacobson, UML przewodnik użytkownika, WNT, 2001.
# E. Cattel i inni, Object Database Standard ODMG 3.0, Morgan Kaufmann, 1999.
# G. Lausen, G. Vossem, Obiektowe bazy danych, WNT, 2000.
# P. Fortier, SQL 3 Implementing the Object–Relational Database, Mc Graw-Hill Company, 1999.


== Moduły ==
== Moduły ==
*[[Zaawansowane systemy baz danych/Wykład 1| Wykład 1: Systemy rozproszonych baz danych – 1. Problematyka rozproszonych baz danych]]; [[media:ZSBD-2st-1.2-w01.tresc-1.1.pdf|PDF]], [[media:ZSBD-2st-1.2-w01.tresc-1.1-kolor.pdf|PDF-kolor]], [[media:ZSBD-2st-1.2-w01.pytania-1.1.zip|Pytania]]
 
* [[Informacja o autorach kursu|Informacja o autorach kursu]]; [[media:ZSBD-2st-1.2-m0.2-1.1.pdf|PDF]]
 
*[[Literatura do przedmiotu ZSBD|Literatura do przedmiotu ZSBD]]; [[media:ZSBD-2st-1.2-m0.3-1.2.pdf|PDF]]
 
*Wprowadzenie do kursu "Zaawansowane systemy baz danych"; [[media:ZSBD-2st-1.2-Wprowadzenie do kursu ZSBD.pdf|PDF]]
 
*[[Zaawansowane systemy baz danych/Wykład 1| Wykład 1: Systemy rozproszonych baz danych – 1. Podstawowe problemy rozproszonych baz danych]]; [http://osilek.mimuw.edu.pl/external/zsbd/ZSBD-2st-1.2-w01.flash-1.1/player.html Flash], [[media:ZSBD-2st-1.2-w01.tresc-1.1.pdf|PDF]], [[media:ZSBD-2st-1.2-w01.tresc-1.1-kolor.pdf|PDF-kolor]], [http://osilek.mimuw.edu.pl/external/zsbd/ZSBD-2st-1.2-w01.pytania-1.1/quizmaker.html Pytania]
   
   
*[[Zaawansowane systemy baz danych/Wykład 2| Wykład 2: Systemy rozproszonych baz danych – 2. Fragmentacja, replikacja, zarządzanie transakcjami]]; [[media:ZSBD-2st-1.2-w02.tresc-1.1.pdf|PDF]], [[media:ZSBD-2st-1.2-w02.tresc-1.1-kolor.pdf|PDF-kolor]], [[media:ZSBD-2st-1.2-w02.pytania-1.1.zip|Pytania]]
*[[Zaawansowane systemy baz danych/Wykład 2| Wykład 2: Systemy rozproszonych baz danych – 2. Fragmentacja, replikacja, zarządzanie transakcjami]]; [http://osilek.mimuw.edu.pl/external/zsbd/ZSBD-2st-1.2-w02.flash-1.1/player.html Flash], [[media:ZSBD-2st-1.2-w02.tresc-1.1.pdf|PDF]], [[media:ZSBD-2st-1.2-w02.tresc-1.1-kolor.pdf|PDF-kolor]], [http://osilek.mimuw.edu.pl/external/zsbd/ZSBD-2st-1.2-w02.pytania-1.1/quizmaker.html Pytania]
 
*[[Zaawansowane systemy baz danych/Wykład 3| Wykład 3: Aktywne bazy danych]];  [http://elearning.cs.put.poznan.pl/mediawiki/flash_files/zsbd/ZSBD-2st-1.2-w3.flash-1.1/player.html Flash],  [[media:ZSBD-2st-1.2-w3.tresc-1.1.pdf|PDF]], [[media:zsbd-2st-1.2-w3.tresc-1.1-kolor.pdf|PDF-kolor]], [http://elearning.cs.put.poznan.pl/mediawiki/flash_files/zsbd/ZSBD-2st-1.2-w3.pytania-1.1/quizmaker.html Pytania]


*[[Zaawansowane systemy baz danych/Wykład 3| Wykład 3: Aktywne bazy danych]]; [[media:ZSBD-2st-1.2-w3.tresc-1.1.pdf|PDF]], [[media:zsbd-2st-1.2-w3.tresc-1.1-kolor.pdf|PDF-kolor]]
*[[Zaawansowane systemy baz danych/Wykład 4| Wykład 4: Obiektowe bazy danych – 1. Obiektowy model danych]]; [http://elearning.cs.put.poznan.pl/mediawiki/flash_files/zsbd/ZSBD-2st-1.2-w4.flash-1.1/player.html Flash], [[media:ZSBD-2st-1.2-w4.tresc-1.1.pdf|PDF]], [[media:zsbd-2st-1.2-w4.tresc-1.1-kolor.pdf|PDF-kolor]], [http://elearning.cs.put.poznan.pl/mediawiki/flash_files/zsbd/ZSBD-2st-1.2-w4.pytania-1.1/quizmaker.html Pytania]
*[[Zaawansowane systemy baz danych/Wykład 4| Wykład 4: Obiektowe bazy danych – Obiektowy model danych]]; [[media:ZSBD-2st-1.2-w4.tresc-1.1.pdf|PDF]], [[media:zsbd-2st-1.2-w4.tresc-1.1-kolor.pdf|PDF-kolor]]


*[[Zaawansowane systemy baz danych/Wykład 5| Wykład 5: Obiektowe bazy danych – Obiektowe  
*[[Zaawansowane systemy baz danych/Wykład 5| Wykład 5: Obiektowe bazy danych – Obiektowe  
i obiektowo-relacyjne bazy danych ]]; [[media:ZSBD-2st-1.2-w5.tresc-1.1.pdf|PDF]], [[media:zsbd-2st-1.2-w5.tresc-1.1-kolor.pdf|PDF-kolor]]
i obiektowo-relacyjne bazy danych]]; [http://elearning.cs.put.poznan.pl/mediawiki/flash_files/zsbd/ZSBD-2st-1.2-w5.flash-1.1/player.html Flash], [[media:ZSBD-2st-1.2-w5.tresc-1.1.pdf|PDF]], [[media:zsbd-2st-1.2-w5.tresc-1.1-kolor.pdf|PDF-kolor]], [http://elearning.cs.put.poznan.pl/mediawiki/flash_files/zsbd/ZSBD-2st-1.2-w5.pytania-1.1/quizmaker.html Pytania]


*[[Zaawansowane systemy baz danych/Wykład 6| Wykład 6: Obiektowe bazy danych – Implementacja  
*[[Zaawansowane systemy baz danych/Wykład 6| Wykład 6: Obiektowe bazy danych – Implementacja  
obiektowych baz danych ]]; [[media:ZSBD-2st-1.2-w6.tresc-1.1.pdf|PDF]], [[media:zsbd-2st-1.2-w6.tresc-1.1-kolor.pdf|PDF-kolor]]
obiektowych baz danych]]; [http://elearning.cs.put.poznan.pl/mediawiki/flash_files/zsbd/ZSBD-2st-1.2-w6.flash-1.1/player.html Flash], [[media:ZSBD-2st-1.2-w6.tresc-1.1.pdf|PDF]], [[media:zsbd-2st-1.2-w6.tresc-1.1-kolor.pdf|PDF-kolor]], [http://elearning.cs.put.poznan.pl/mediawiki/flash_files/zsbd/ZSBD-2st-1.2-w6.pytania-1.1/quizmaker.html Pytania]
 
*[[Zaawansowane systemy baz danych/Wykład 7| Wykład 7: Multimedialne bazy danych - 1]]; [http://osilek.mimuw.edu.pl/external/zsbd/ZSBD-2st-1.2-w7.flash-1.4/player.html Flash], [[media:ZSBD-2st-1.2-w7.tresc-1.4.pdf|PDF]],  [[media:zsbd-2st-1.2-w7.tresc-1.4-kolor.pdf|PDF-kolor]], [http://osilek.mimuw.edu.pl/external/zsbd/ZSBD-2st-1.2-w7.pytania-1.3/quizmaker.html Pytania]


*[[Zaawansowane systemy baz danych/Wykład 7| Wykład 7: Multimedialne bazy danych]]; [[media:ZSBD-2st-1.2-w7.tresc-1.4.pdf|PDF]], [[media:zsbd-2st-1.2-w7.tresc-1.4-kolor.pdf|PDF-kolor]], [[media:zsbd-2st-1.2-w7.pytania-1.3.zip|Pytania]]
*[[Zaawansowane systemy baz danych/Wykład 8| Wykład 8: Multimedialne bazy danych - 2. Standard SQL/MM]]; [http://osilek.mimuw.edu.pl/external/zsbd/ZSBD-2st-1.2-w8.flash-1.4/player.html Flash], [[media:ZSBD-2st-1.2-w8.tresc-1.4.pdf|PDF]], [[media:zsbd-2st-1.2-w8.tresc-1.4-kolor.pdf|PDF-kolor]], [http://osilek.mimuw.edu.pl/external/zsbd/ZSBD-2st-1.2-w8.pytania-1.3/quizmaker.html Pytania]
*[[Zaawansowane systemy baz danych/Wykład 8| Wykład 8: Standard SQL/MM]]; [[media:ZSBD-2st-1.2-w8.tresc-1.4.pdf|PDF]], [[media:zsbd-2st-1.2-w8.tresc-1.4-kolor.pdf|PDF-kolor]], [[media:ZSBD-2st-1.2-w8.pytania-1.3.zip|Pytania]]


*[[Zaawansowane systemy baz danych/Wykład 9| Wykład 9: Bazy danych dokumentów XML – 1. Wprowadzenie]];  [[media:ZSBD-2st-1.2-w9.tresc-1.5.pdf|PDF]], [[media:ZSBD-2st-1.2-w9.tresc-1.5-kolor.pdf|PDF-kolor]], [[media:ZSBD-2st-1.2-w9.pytania-1.4.zip|Pytania]]  
*[[Zaawansowane systemy baz danych/Wykład 9| Wykład 9: Bazy danych dokumentów XML – 1. Wprowadzenie]];  [http://osilek.mimuw.edu.pl/external/zsbd/ZSBD-2st-1.2-w9.flash-1.5/player.html Flash], [[media:ZSBD-2st-1.2-w9.tresc-1.5.pdf|PDF]], [[media:ZSBD-2st-1.2-w9.tresc-1.5-kolor.pdf|PDF-kolor]], [http://osilek.mimuw.edu.pl/external/zsbd/ZSBD-2st-1.2-w9.pytania-1.4/quizmaker.html Pytania]
*[[Zaawansowane systemy baz danych/Wykład 10| Wykład 10: Bazy danych dokumentów XML – 2. XQuery]]; [[media:ZSBD-2st-1.2-w10.tresc-1.5.pdf|PDF]], [[media:ZSBD-2st-1.2-w10.tresc-1.5-kolor.pdf|PDF-kolor]], [[media:ZSBD-2st-1.2-w10.pytania-1.4.zip|Pytania]
*[[Zaawansowane systemy baz danych/Wykład 10| Wykład 10: Bazy danych dokumentów XML – 2. XQuery]]; [http://osilek.mimuw.edu.pl/external/zsbd/ZSBD-2st-1.2-w10.flash-1.5/player.html Flash], [[media:ZSBD-2st-1.2-w10.tresc-1.5.pdf|PDF]], [[media:ZSBD-2st-1.2-w10.tresc-1.5-kolor.pdf|PDF-kolor]], [http://osilek.mimuw.edu.pl/external/zsbd/ZSBD-2st-1.2-w10.pytania-1.4/quizmaker.html Pytania]  
*[[Zaawansowane systemy baz danych/Wykład 11| Wykład 11: Bazy danych dokumentów XML – 3. Modyfikacja dokumentów]]; [[media:ZSBD-2st-1.2-w11.tresc-1.5.pdf|PDF]], [[media:ZSBD-2st-1.2-w11.tresc-1.5-kolor.pdf|PDF-kolor]],  [[media:ZSBD-2st-1.2-w11.pytania-1.4.zip|Pytania]]  
*[[Zaawansowane systemy baz danych/Wykład 11| Wykład 11: Bazy danych dokumentów XML – 3. Modyfikacja dokumentów]]; [http://osilek.mimuw.edu.pl/external/zsbd/ZSBD-2st-1.2-w11.flash-1.5/player.html Flash], [[media:ZSBD-2st-1.2-w11.tresc-1.5.pdf|PDF]], [[media:ZSBD-2st-1.2-w11.tresc-1.5-kolor.pdf|PDF-kolor]],  [http://osilek.mimuw.edu.pl/external/zsbd/ZSBD-2st-1.2-w11.pytania-1.4/quizmaker.html Pytania]
   
   
*[[Zaawansowane systemy baz danych/Wykład 12| Wykład 12: Hurtownie danych – 1. Problematyka rozproszonych hurtowni danych]]; [[media:ZSBD-2st-1.2-w12.tresc-1.1.pdf|PDF]], [[media:ZSBD-2st-1.2-w12.tresc-1.1-kolor.pdf|PDF-kolor]], [[media:ZSBD-2st-1.2-w12.pytania-1.1.zip|Pytania]]
*[[Zaawansowane systemy baz danych/Wykład 12| Wykład 12: Hurtownie danych – 1. Architektury i projektowanie]]; [http://osilek.mimuw.edu.pl/external/zsbd/ZSBD-2st-1.2-w12.flash-1.1/player.html Flash], [[media:ZSBD-2st-1.2-w12.tresc-1.1.pdf|PDF]], [[media:ZSBD-2st-1.2-w12.tresc-1.1-kolor.pdf|PDF-kolor]], [http://osilek.mimuw.edu.pl/external/zsbd/ZSBD-2st-1.2-w12.pytania-1.1/quizmaker.html Pytania]


*[[Zaawansowane systemy baz danych/Wykład 13| Wykład 13: Hurtownie danych – 2. Zagadnienia implementacyjne i efektywność przetwarzania OLAP]]; [[media:ZSBD-2st-1.2-w13.tresc-1.1.pdf|PDF]], [[media:ZSBD-2st-1.2-w13.tresc-1.1-kolor.pdf|PDF-kolor]], [[media:ZSBD-2st-1.2-w13.pytania-1.1.zip|Pytania]]
*[[Zaawansowane systemy baz danych/Wykład 13| Wykład 13: Hurtownie danych – 2. Zagadnienia implementacyjne i efektywność przetwarzania OLAP]]; [http://osilek.mimuw.edu.pl/external/zsbd/ZSBD-2st-1.2-w13.flash-1.1/player.html Flash], [[media:ZSBD-2st-1.2-w13.tresc-1.1.pdf|PDF]], [[media:ZSBD-2st-1.2-w13.tresc-1.1-kolor.pdf|PDF-kolor]], [http://osilek.mimuw.edu.pl/external/zsbd/ZSBD-2st-1.2-w13.pytania-1.1/quizmaker.html Pytania]


*[[Zaawansowane systemy baz danych/Laboratorium 1 | Laboratorium 1: Rozproszone bazy danych – 1. Replikacja danych]]; [[media:ZSBD-2st-1.2-lab1.tresc-1.1.pdf|PDF]], [[media:ZSBD-2st-1.2-lab1.tresc-1.1-kolor.pdf|PDF-kolor]]
*[[Zaawansowane systemy baz danych/Laboratorium 1 | Laboratorium 1: Rozproszone bazy danych – 1. Replikacja danych]]; [[media:ZSBD-2st-1.2-lab1.tresc-1.1.ppt|PPT]], [[media:ZSBD-2st-1.2-lab1.tresc-1.1.pdf|PDF]], [[media:ZSBD-2st-1.2-lab1.tresc-1.1-kolor.pdf|PDF-kolor]]


*[[Zaawansowane systemy baz danych/Laboratorium 2| Laboratorium 2: Rozproszone bazy danych – 2. Zarządzanie transakcjami rozproszonymi]]; [[media:ZSBD-2st-1.2-lab2.tresc-1.1.pdf|PDF]], [[media:ZSBD-2st-1.2-lab2.tresc-1.1-kolor.pdf|PDF-kolor]]
*[[Zaawansowane systemy baz danych/Laboratorium 2| Laboratorium 2: Rozproszone bazy danych – 2. Zarządzanie transakcjami rozproszonymi]]; [http://osilek.mimuw.edu.pl/external/zsbd/ZSBD-2st-1.2-lab2.flash-1.1/player.html Flash], [[media:ZSBD-2st-1.2-lab2.tresc-1.1.pdf|PDF]], [[media:ZSBD-2st-1.2-lab2.tresc-1.1-kolor.pdf|PDF-kolor]]


*[[Zaawansowane systemy baz danych/Laboratorium 3| Laboratorium 3: Rozproszone bazy danych – 3. Optymalizacja zapytań rozproszonych]]; [[media:ZSBD-2st-1.2-lab3.tresc-1.1.pdf|PDF]], [[media:ZSBD-2st-1.2-lab3.tresc-1.1-kolor.pdf|PDF-kolor]], (Pliki pomocnicze: [[media:utlxplan10g.sql|Plan_Table]], [[media:distrib_queries_init_2.sql|inicjowanie środowiska]], [[media:zapytania_rozproszone_cwicz.sql|zapytania rozproszone]])
*[[Zaawansowane systemy baz danych/Laboratorium 3| Laboratorium 3: Rozproszone bazy danych – 3. Optymalizacja zapytań rozproszonych]]; [http://osilek.mimuw.edu.pl/external/zsbd/ZSBD-2st-1.2-lab3.flash-1.1/player.html Flash], [[media:ZSBD-2st-1.2-lab3.tresc-1.1.pdf|PDF]], [[media:ZSBD-2st-1.2-lab3.tresc-1.1-kolor.pdf|PDF-kolor]], (Pliki pomocnicze: [[media:utlxplan10g.sql|Plan_Table]], [[media:distrib_queries_init_2.sql|inicjowanie środowiska]], [[media:zapytania_rozproszone_cwicz.sql|zapytania rozproszone]])


*[[Zaawansowane systemy baz danych/Laboratorium 4| Laboratorium 4: Obiektowe systemy zarządzania bazą danych – 1.  
*[[Zaawansowane systemy baz danych/Laboratorium 4| Laboratorium 4: Obiektowe systemy zarządzania bazą danych – 1.  
Przygotowanie  
Przygotowanie środowiska]]; [http://osilek.mimuw.edu.pl/external/zsbd/ZSBD-2st-1.2-lab4.flash-1.3/player.html Flash], [[media:ZSBD-2st-1.2-lab4.tresc-1.3.pdf|PDF]], (Pliki pomocnicze: [[media: Skeleton-lab4.1.java|Skeleton-lab4.1.java]])
środowiska]]; [[media:ZSBD-2st-1.2-lab4.tresc-1.3.pdf|PDF]], (Pliki pomocnicze: [[media: Skeleton-lab4.1.java|Skeleton-lab4.1.java]])


*[[Zaawansowane systemy baz danych/Laboratorium 5| Laboratorium 5: Obiektowe systemy zarządzania bazą danych – 2.  
*[[Zaawansowane systemy baz danych/Laboratorium 5| Laboratorium 5: Obiektowe systemy zarządzania bazą danych – 2.  
Podstawy pracy  
Podstawy pracy  
z OSZBD db4o]]; [[media:ZSBD-2st-1.2-lab5.tresc-1.3.pdf|PDF]], [[media:ZSBD-2st-1.2-lab5.tresc-1.3.kolor.pdf|PDF-kolor]], [[media:ZSBD-2st-1.2-lab5.pytania-1.1.zip|Pytania]], (Pliki pomocnicze: [[media:Skeleton-lab5.1.java|Skeleton-lab5.1.java]], [[media:Skeleton-lab5.2.java|Skeleton-lab5.2.java]], [[media: Skeleton-lab5.3.java|Skeleton-lab5.3.java]], [[media: Skeleton-lab5.4.java|Skeleton-lab5.4.java]], [[media:Skeleton-lab5.5.java|Skeleton-lab5.5.java]])
z OSZBD db4o]]; [http://osilek.mimuw.edu.pl/external/zsbd/ZSBD-2st-1.2-lab5.flash-1.3/player.html Flash], [[media:ZSBD-2st-1.2-lab5.tresc-1.3.pdf|PDF]], [[media:ZSBD-2st-1.2-lab5.tresc-1.3.kolor.pdf|PDF-kolor]], [http://osilek.mimuw.edu.pl/external/zsbd/ZSBD-2st-1.2-lab5.pytania-1.1/quizmaker.html Pytania], (Pliki pomocnicze: [[media:Skeleton-lab5.1.java|Skeleton-lab5.1.java]], [[media:Skeleton-lab5.2.java|Skeleton-lab5.2.java]], [[media: Skeleton-lab5.3.java|Skeleton-lab5.3.java]], [[media: Skeleton-lab5.4.java|Skeleton-lab5.4.java]], [[media:Skeleton-lab5.5.java|Skeleton-lab5.5.java]])


*[[Zaawansowane systemy baz danych/Laboratorium 6| Laboratorium 6: Obiektowe systemy zarządzania bazą danych – 3.  
*[[Zaawansowane systemy baz danych/Laboratorium 6| Laboratorium 6: Obiektowe systemy zarządzania bazą danych – 3.  
Obsługa złożonych struktur danych w OSZBD db4o]]; [[media:ZSBD-2st-1.2-lab6.tresc-1.3.pdf|PDF]], [[media:ZSBD-2st-1.2-lab6.tresc-1.3.kolor.pdf|PDF-kolor]], [[media:ZSBD-2st-1.2-lab6.pytania-1.1.zip|Pytania]], (Pliki pomocnicze: [[media:Skeleton-lab6.1.java|Skeleton-lab6.1.java]], [[media:Skeleton-lab6.2.java|Skeleton-lab6.2.java]], [[media: Skeleton-lab6.3.java|Skeleton-lab6.3.java]], [[media: Skeleton-lab6.4.java|Skeleton-lab6.4.java]], [[media:Skeleton-lab6.5.java|Skeleton-lab6.5.java ]], [[media:Skeleton-lab6.6.java|Skeleton-lab6.6.java]])
Obsługa złożonych struktur danych w OSZBD db4o]]; [http://osilek.mimuw.edu.pl/external/zsbd/ZSBD-2st-1.2-lab6.flash-1.3/player.html Flash], [[media:ZSBD-2st-1.2-lab6.tresc-1.3.pdf|PDF]], [[media:ZSBD-2st-1.2-lab6.tresc-1.3.kolor.pdf|PDF-kolor]], [http://osilek.mimuw.edu.pl/external/zsbd/ZSBD-2st-1.2-lab6.pytania-1.1/quizmaker.html Pytania] (Pliki pomocnicze: [[media:Skeleton-lab6.1.java|Skeleton-lab6.1.java]], [[media:Skeleton-lab6.2.java|Skeleton-lab6.2.java]], [[media: Skeleton-lab6.3.java|Skeleton-lab6.3.java]], [[media: Skeleton-lab6.4.java|Skeleton-lab6.4.java]], [[media:Skeleton-lab6.5.java|Skeleton-lab6.5.java ]], [[media:Skeleton-lab6.6.java|Skeleton-lab6.6.java]])


*[[Zaawansowane systemy baz danych/Laboratorium 7| Laboratorium 7: Obiektowo–relacyjne systemy zarządzania bazą  
*[[Zaawansowane systemy baz danych/Laboratorium 7| Laboratorium 7: Obiektowo–relacyjne systemy zarządzania bazą  
danych – 1. Podstawy]]; [[media:ZSBD-2st-1.2-lab7.tresc-1.3.pdf|PDF]], [[media:ZSBD-2st-1.2-lab7.tresc-1.3.kolor.pdf|PDF-kolor]], [[media:ZSBD-2st-1.2-lab7.pytania-1.1.zip|Pytania]]
danych – 1. Podstawy]]; [http://osilek.mimuw.edu.pl/external/zsbd/ZSBD-2st-1.2-lab7.flash-1.4/player.html Flash], [[media:ZSBD-2st-1.2-lab7.tresc-1.3.pdf|PDF]], [[media:ZSBD-2st-1.2-lab7.tresc-1.3.kolor.pdf|PDF-kolor]], [http://osilek.mimuw.edu.pl/external/zsbd/ZSBD-2st-1.2-lab7.pytania-1.1/quizmaker.html Pytania]


*[[Zaawansowane systemy baz danych/Laboratorium 8| Laboratorium 8: Obiektowo–relacyjne systemy zarządzania bazą  
*[[Zaawansowane systemy baz danych/Laboratorium 8| Laboratorium 8: Obiektowo–relacyjne systemy zarządzania bazą  
danych – 2.  
danych – 2. Kolekcje]];  [http://osilek.mimuw.edu.pl/external/zsbd/ZSBD-2st-1.2-lab8.flash-1.3/player.html Flash], [[media:ZSBD-2st-1.2-lab8.tresc-1.3.pdf|PDF]], [[media:ZSBD-2st-1.2-lab8.tresc-1.3.kolor.pdf|PDF-kolor]], [http://osilek.mimuw.edu.pl/external/zsbd/ZSBD-2st-1.2-lab8.pytania-1.1/quizmaker.html Pytania], (Pliki pomocnicze: [[media:pracownicy.sql.zip|pracownicy.sql.zip]])
Kolekcje]];  [[media:ZSBD-2st-1.2-lab8.tresc-1.3.pdf|PDF]], [[media:ZSBD-2st-1.2-lab8.tresc-1.3.kolor.pdf|PDF-kolor]], [[media:ZSBD-2st-1.2-lab8.pytania-1.1.zip|Pytania]], (Pliki pomocnicze: [[media:pracownicy.sql.zip|pracownicy.sql.zip]])


*[[Zaawansowane systemy baz danych/Laboratorium 9| Laboratorium 9: Obiektowo–relacyjne systemy zarządzania bazą  
*[[Zaawansowane systemy baz danych/Laboratorium 9| Laboratorium 9: Obiektowo–relacyjne systemy zarządzania bazą  
danych – 3.  
danych – 3.  
Zaawansowane zagadnienia]]; [[media:ZSBD-2st-1.2-lab9.tresc-1.3.pdf|PDF]], [[media:ZSBD-2st-1.2-lab9.tresc-1.3.kolor.pdf|PDF-kolor]], [[media:ZSBD-2st-1.2-lab9.pytania-1.1.zip|Pytania]], (Pliki pomocnicze: [[media:gatunki.sql.zip|gatunki.sql.zip]])
Zaawansowane zagadnienia]]; [http://osilek.mimuw.edu.pl/external/zsbd/ZSBD-2st-1.2-lab9.flash-1.3/player.html Flash],[[media:ZSBD-2st-1.2-lab9.tresc-1.3.pdf|PDF]], [[media:ZSBD-2st-1.2-lab9.tresc-1.3.kolor.pdf|PDF-kolor]], [http://osilek.mimuw.edu.pl/external/zsbd/ZSBD-2st-1.2-lab9.pytania-1.1/quizmaker.html Pytania], (Pliki pomocnicze: [[media:gatunki.sql.zip|gatunki.sql.zip]])
   
   
*[[Zaawansowane systemy baz danych/Laboratorium 10| Laboratorium 10: Multimedialne systemy zarządzania bazą  
*[[Zaawansowane systemy baz danych/Laboratorium 10| Laboratorium 10: Multimedialne systemy zarządzania bazą  
danych. Standard  
danych. Standard  
SQL/MM Still Image]] ; [[media:ZSBD-2st-1.2-lab10.tresc-1.4.pdf|PDF]], [[media:ZSBD-2st-1.2-lab10.tresc-1.4.kolor.pdf|PDF-kolor]], [[media:ZSBD-2st-1.2-lab10.pytania-1.1.zip|Pytania]], (Pliki pomocnicze: [[media:uwaga.pdf|uwaga.pdf]], [[media:change_format.sql.zip|change_format.sql.zip]], [[media:create_flags.sql.zip|create_flags.sql.zip]], [[media: flags.dmp.zip|flags.dmp.zip]], [[media: flags.zip|flags.zip]],  [[media:load_flags.sql.zip|load_flags.sql.zip]])
SQL/MM Still Image]]; [http://osilek.mimuw.edu.pl/external/zsbd/ZSBD-2st-1.2-lab10.flash-1.4/player.html Flash], [[media:ZSBD-2st-1.2-lab10.tresc-1.4.pdf|PDF]], [[media:ZSBD-2st-1.2-lab10.tresc-1.4.kolor.pdf|PDF-kolor]], [http://osilek.mimuw.edu.pl/external/zsbd/ZSBD-2st-1.2-lab10.pytania-1.1/quizmaker.html Pytania],(Pliki pomocnicze: [[media:uwaga.pdf|uwaga.pdf]], [[media:change_format.sql.zip|change_format.sql.zip]], [[media:create_flags.sql.zip|create_flags.sql.zip]], [[media: flags.dmp.zip|flags.dmp.zip]], [[media: flags.zip|flags.zip]],  [[media:load_flags.sql.zip|load_flags.sql.zip]])
 
*[[Zaawansowane systemy baz danych/Laboratorium 11| Laboratorium 11: XML-owe bazy danych – 1]]; [[media:ZSBD-2st-1.2-lab11.tresc-1.1.doc|Word]], [[media:ZSBD-2st-1.2-lab11.tresc-1.1.pdf|PDF]], [http://osilek.mimuw.edu.pl/external/zsbd/ZSBD-2st-1.2-lab11.pytania/quizmaker.html Pytania]


*[[Zaawansowane systemy baz danych/Laboratorium 11| Laboratorium 11: XML-owe bazy danych – 1]]; [[media:ZSBD-2st-1.2-lab11.tresc-1.1.doc|Word]], [[media:ZSBD-2st-1.2-lab11.tresc-1.1.pdf|PDF]], [[media:ZSBD-2st-1.2-lab11.pytania.zip|Pytania]]
*[[Zaawansowane systemy baz danych/Laboratorium 12| Laboratorium 12: XML-owe bazy danych – 2]]; [[media:ZSBD-2st-1.2-lab12.tresc-1.1.doc|Word]], [[media:ZSBD-2st-1.2-lab12.tresc-1.1.pdf|PDF]], [[media:ZSBD-2st-1.2-lab12.pytania-1.1.pdf|PDF - pytania]], [[media:ZSBD-2st-1.2-lab12.pytania-1.1.doc|Word - pytania]]
*[[Zaawansowane systemy baz danych/Laboratorium 12| Laboratorium 12: XML-owe bazy danych – 2]]; [[media:ZSBD-2st-1.2-lab12.tresc-1.1.doc|Word]], [[media:ZSBD-2st-1.2-lab12.tresc-1.1.pdf|PDF]], [[media:ZSBD-2st-1.2-lab12.pytania-1.1.pdf|PDF - pytania]], [[media:ZSBD-2st-1.2-lab12.pytania-1.1.doc|Word - pytania]]
*[[Zaawansowane systemy baz danych/Laboratorium 13| Laboratorium 13: XML-owe bazy danych – 3]]; [[media:ZSBD-2st-1.2-lab13.tresc-1.1.doc|Word]], [[media:ZSBD-2st-1.2-lab13.tresc-1.1.pdf|PDF]], [[media:ZSBD-2st-1.2-lab13.pytania-1.1.pdf|PDF - pytania]], [[media:ZSBD-2st-1.2-lab13.pytania-1.1.doc|Word - pytania]]
*[[Zaawansowane systemy baz danych/Laboratorium 13| Laboratorium 13: XML-owe bazy danych – 3]]; [[media:ZSBD-2st-1.2-lab13.tresc-1.1.doc|Word]], [[media:ZSBD-2st-1.2-lab13.tresc-1.1.pdf|PDF]], [[media:ZSBD-2st-1.2-lab13.pytania-1.1.pdf|PDF - pytania]], [[media:ZSBD-2st-1.2-lab13.pytania-1.1.doc|Word - pytania]]

Aktualna wersja na dzień 12:36, 28 wrz 2006

Forma zajęć

Wykład (30 godzin) + laboratorium (30 godzin)

Opis

Pojawiające się coraz to nowe zastosowania baz danych pociągnęły za sobą konieczność poszukiwania nowych modeli danych lub rozszerzeń modeli istniejących, i co za tym idzie nowych rozwiązań w ramach systemów zarządzania bazami danych. W ostatnich kilkunastu latach, wychodząc naprzeciw wymogom tych nowych aplikacji, były i są prowadzone intensywne badania nad wprowadzeniem do systemów zarządzania bazami danych różnego rodzaju rozszerzeń. Badania te zaowocowały powstaniem nowych generacji systemów baz danych. Celem przedmiotu jest przedstawienie podstawowych problemów projektowych i implementacyjnych dotyczących nowych generacji systemów baz danych, nazwanych tutaj umownie zaawansowanymi systemami baz danych (ZSBD). W ramach tego cyklu wykładów będą prezentowane podstawowe zagadnienia z zakresu projektowania i implementacji oraz zarządzania danymi w wybranych klasach systemów, zaliczanych do grupy ZSBD. Oprócz wspomnianych zagadnień zostaną przedstawione również rozszerzenia funkcjonalne wprowadzone w ZSBD – rozszerzenia w stosunku do konwencjonalnych relacyjnych baz danych. Problemy te zostaną omówione w kontekście systemów rozproszonych, aktywnych, obiektowych, obiektowo-relacyjnych i multimedialnych baz danych oraz baz danych dokumentów XML-owych i hurtowni danych.

Sylabus

Autor

  • Zbyszko Królikowski — Politechnika Poznańska

Wymagania wstępne

  • Podstawowe wiadomości z zakresu relacyjnych baz danych i języka SQL. Podstawowe wiadomości z zakresu programowania obiektowego. Wiedza podstawowa z zakresu programowania w języku Java.

Zawartość

  • Wykłady:
  • Pierwszą część kursu stanowią dwa moduły (5 godz.) poświęcone systemom rozproszonych baz danych. W ramach tej części kursu zostaną omówione następujące zagadnienia: wprowadzenie do problematyki rozproszonych baz danych (definicja rozproszonej bazy danych, zalety i wady rozproszonych baz danych, dwanaście reguł C.J. Date’a, które powinien spełniać system rozproszonej bazy danych), podstawowa architektura sfederowanej bazy danych, jak przykład architektury implementacyjnej, podstawowe problemy związane implementacją systemu rozproszonej bazy danych (cel i techniki fragmentacji danych (w tym: algorytmy fragmentacji), alokacja danych, cel i techniki replikacji danych, odświeżanie replik danych, zarządzania transakcjami rozproszonymi (w tym: transakcja rozproszona, architektura zarządzania transakcjami rozproszonymi, protokół 2PC i jego odmiany)).
  • Kolejny moduł kursu (2 godz.) jest poświęcony aktywnym bazom danych. W ramach tej części kursu zostaną omówione następujące zagadnienia: funkcjonalność systemu aktywnej bazy danych (mechanizm aktywności baz danych jako rozszerzenie funkcjonalności systemu zarządzania bazą danych), model reguł ECA, dziedziny zastosowań, schematy aktywności, zdarzenia elementarne i złożone oraz odpowiadające im operatory, definiowanie reguł aktywnych na przykładzie systemu Oracle, metodyka projektowania reguł aktywnych.
  • Trzeci moduł kursu (6 godz.) jest poświęcony obiektowym i obiektowo-relacyjnym bazom danych. W ramach tej części kursu zostaną omówione następujące zagadnienia: obiektowy model danych (w tym: przesłanki pojawienia się nowej generacji baz danych, nowe dziedziny zastosowań systemów baz danych wymagające silniejszego i bardziej elastycznego modelu danych niż model relacyjny, podstawowe koncepcje obiektowego modelu danych (możliwość modelowania abstrakcyjnych typów danych, mechanizm dziedziczenia typów danych, konstruktory złożonych typów danych, jawne związki między danymi, hierarchiczne zależności między kolekcjami obiektów oraz mechanizmy polimorfizmu i późnego wiązania), rozwiązania służące do zapewnienia obiektom przechowywanym w bazie danych systemowej tożsamości i trwałości), architektura obiektowych i obiektowo-relacyjnych baz danych, model ODMG, język ODL i OQL, implementacja obiektowych baz danych (w tym: obiektowa architektura klient-serwer, buforowanie obiektów, logiczne i fizyczne identyfikatory obiektów, składowanie obiektów, zarządzanie dużymi obiektami, indeksowanie wyrażeń ścieżkowych, hierarchia ścieżek binarnych, indeksowanie hierarchii rozszerzeń klas, sygnatury zbiorów, indeks RD-drzewo).
  • Czwarty moduł kursu (5 godz.) jest poświęcony systemom multimedialnych baz danych oraz standardowi języka SQL/MM (nowy standard uzupełniający język SQL o biblioteki do obsługi specjalistycznych danych i aplikacji, głównie multimedialnych). W ramach tej części kursu zostaną omówione następujące zagadnienia: specyfika i zastosowania multimedialnych baz danych, modele danych dla multimedialnych baz danych, metadane, standard MPEG-7, techniki wyszukiwania, składowania i prezentacji danych multimedialnych, geneza standardu SQL/MM, podstawowe części standardu SQL/MM poświęcone przetwarzaniu danych tekstowych, przestrzennych i obrazów w bazach danych.
  • Piąty moduł kursu (7 godz.) jest poświęcony bazom danych dokumentów XML jako przykładowi semistrukturalnych baz danych. W ramach tej części kursu zostaną omówione następujące zagadnienia: typy dokumentów XML i ich wpływ na bazy danych, charakterystyka języków zapytań wykorzystywanych do przetwarzania dokumentów XML, baza danych dokumentów XML i sposoby przechowywania i mechanizmy przetwarzania dokumentów XML, język zapytań XQuery (w roku 2005 język XQuery stał się standardem zatwierdzonym przez W3C), w tym: cechy języka XQuery, składnia, klauzule FOR, LET, WHERE, RETURN, ORDER BY, podzapytania, wyrażenia warunkowe i ilościowe, funkcje, przykłady zastosowań. W dalszej części tego modułu kursu zostaną omówione: charakterystyka innych języków semistrukturalnych baz danych, techniki modyfikacji dokumentów XML, w tym: wymagania dotyczące funkcjonalności języka modyfikacji, prosta wymiana i usuwanie dokumentów XML, DOM API oraz języki deklaratywne (XUpdate i rozszerzenia XQuery).
  • Ostatni moduł kursu (5 godz.) jest poświęcony hurtowniom danych. W ramach tej części kursu zostaną omówione następujące zagadnienia: wprowadzenie do problematyki integracji rozproszonych i heterogenicznych baz danych, podstawowa architektura integracji danych opierająca się na hurtowniach danych, oprogramowanie ETL, problem wykrywania zmian w źródłach danych, charakterystyka przetwarzania analitycznego (On-Line Analytical Processing - OLAP), wielowymiarowy model danych (wymiary i fakty), implementacja modelu wielowymiarowego w serwerach relacyjnych (ROLAP) (schemat gwiazdy, płatka śniegu i konstelacja faktów) oraz wielowymiarowych (MOLAP) (implementacja i operatory MOLAP). W dalszej części tego modułu kursu zostaną omówione zagadnienia implementacyjne i efektywność przetwarzania OLAP, w tym: odświeżanie hurtowni danych w czasie jej pracy, wykorzystanie perspektyw zmaterializowanych do implementowania hurtowni, techniki zwiększające efektywność przetwarzania analitycznego, m.in. przepisywanie zapytań w oparciu o perspektywy zmaterializowane, indeksowanie danych przy użyciu różnych struktur, partycjonowanie danych i indeksów, kompresja danych i indeksów, przetwarzanie równoległe w hurtowniach danych oraz metadane opisujące hurtownię.
  • Laboratoria:
  • Pierwszą część zajęć laboratoryjnych kursu stanowią trzy moduły (9 godz.) poświęcone systemom rozproszonych baz danych. Cykl tych trzech ćwiczeń ilustruje fundamentalne zagadnienia związane z projektowaniem i implementacją rozproszonych baz danych, tj. replikowanie danych, zarządzanie transakcjami rozproszonymi z wykorzystaniem protokołu 2PC, techniki optymalizacji zapytań rozproszonych. W ramach tej części kursu zostaną omówione i przećwiczone następujące zagadnienia: dostępu do zdalnej bazy danych za pomocą tzw. łącznika bazy danych, replikowanie danych za pomocą tzw. migawki, parametry migawki definiowane przez użytkownika mające wpływ na jej własności, problem przyrostowego odświeżania migawki, grupa odświeżania jako mechanizm jednoczesnego odświeżania wielu migawek, definicje i podstawowe cechy transakcji rozproszonej, role baz danych biorących udział w transakcji rozproszonej, implementacja protokołu zatwierdzania transakcji rozproszonej (protokół 2-Phase-Commit - 2PC), problemy związane z awariami rozproszonej bazy danych w trakcie zatwierdzania transakcji rozproszonej, procedura odtwarzania transakcji rozproszonej, która uległa awarii (zilustrowane studium przypadku), charakterystyka zapytania rozproszonego i plan jego wykonania, narzędzia Oracle analizy planu wykonania zapytania, studium przypadku obejmujące analizę technik filtrowania danych z tabeli zdalnej, grupowania i sortowania danych z tabeli zdalnej, łączenie tabeli lokalnej i zdalnej, zastosowanie tradycyjnych perspektyw (ang. view) w optymalizacji zapytań rozproszonych, zastosowanie wskazówek optymalizatora kosztowego w optymalizacji zapytań rozproszonych. Wszystkie powyższe problemy są ilustrowane rozwiązaniami i technikami implementowanymi w systemie Oracle9i/10g.
  • Drugą część zajęć laboratoryjnych kursu stanowią trzy moduły (7 godz.) poświęcone systemom obiektowych baz danych. Cykl tych trzech ćwiczeń ilustruje podstawowe zagadnienia związane z implementacją, programowaniem i użytkowaniem obiektowych baz danych. W ramach tej części kursu zostaną omówione i przećwiczone następujące zagadnienia: charakterystyka i instalacja systemu zarządzania obiektową bazą danych (SZOBD) db4o razem ze środowiskiem programistycznym, pozwalającym na tworzenie oprogramowania z nim współpracującego (db4o jest to system, pracujący na platformach Java i .NET, pozwalający na bezpośrednie składowanie obiektów w bazach danych; db4o jest rozpowszechniany bezpłatnie na licencji GPL oraz płatnie na licencji przeznaczonej dla zastosowań komercyjnych), konfiguracja środowiska Eclipse do współpracy z db4o, tworzenie nowego projektu, współpracującego z db4o, architektury aplikacji, jakie można zbudować w oparciu o SZOBD db4o, interfejsy i metody bibliotek SZOBD db4o pozwalające na wykonywanie podstawowych operacji na obiektach składowanych w obiektowej bazie danych, takich jak: zapisywanie obiektów do bazy danych, odszukiwanie i odczytywanie obiektów z bazy danych, modyfikacja obiektów w bazie danych, usuwanie obiektów z bazy danych. W dalszej części tego modułu kursu zostaną omówione zagadnienia dotyczące złożonych, dynamicznych struktur danych, w tym: sposoby zapisu, wyszukiwania, odczytu, modyfikacji i usuwania złożonych struktur danych.
  • Trzecia część zajęć laboratoryjnych kursu stanowią trzy moduły (7 godz.) poświęcone systemom obiektowo-relacyjnych baz danych. Cykl tych trzech ćwiczeń ilustruje zagadnienia związane z programowaniem i użytkowaniem obiektowo-relacyjnych baz danych. W ramach tej części kursu zostaną omówione i przećwiczone następujące zagadnienia: różnice pomiędzy systemem zarządzania obiektowo-relacyjną bazą danych a SZOBD i systemem zarządzania relacyjną bazą danych, tworzenie typów obiektowych i ich instancji, składowanie obiektów w bazie danych (w tym: tworzenie typów obiektowych, składowanie obiektów), polecenia języka SQL pozwalającą na przeszukiwanie obiektów (w tym: deklaracja metod i konstruktorów, programowanie i implementacja metod i konstruktorów, aktywowanie metod, zapytania do atrybutów obiektów), posługiwanie się typami referencyjnymi (w tym: nawigowanie po referencjach, referencje puste i wiszące), inne obiekty o złożonej strukturze tj. kolekcje wartości, dwa rodzaje kolekcji: tablice o zmiennej długości (w tym: sposób, w jaki mogą być wykorzystywane z poziomu SQL i z poziomu PL/SQL) oraz zagnieżdżone tabele (w tym: różnice pomiędzy obydwoma rodzajami kolekcji, cechy charakterystyczne tabel zagnieżdżonych oraz praca z tym typem kolekcji zarówno z poziomu SQL, jak i z poziomu PL/SQL), konstrukcja CAST(MULTISET). W dalszej części tego modułu kursu zostaną omówione zagadnienia dotyczące motywacji implementacji pewnych cech modelu obiektowego w modelu relacyjnym, co zaowocowało systemami obiektowo-relacyjnych baz danych. Następnie, omówiona i przećwiczona zostanie składnia poleceń pozwalająca na: tworzenie typów dziedziczących ze zdefiniowanych wcześniej typów obiektowych, przesłanianie istniejących metod, deklarowanie typów i metod abstrakcyjnych oraz omówiony i przećwiczony zostanie polimorfizm i związane z nim dynamiczne wiązanie metod a także sposób wykorzystania tych cech przy konstrukcji zapytań, w tym: operatory TREAT i IS OF pozwalające na wykonywanie zapytań do tabel przechowujących obiekty różnych podtypów.
  • Czwarta część zajęć laboratoryjnych kursu (2 godz.) dotyczy systemów multimedialnych baz danych. Ćwiczenie to ilustruje zagadnienia związane z programowaniem i użytkowaniem multimedialnych baz danych. W ramach tej części kursu zostaną omówione i przećwiczone następujące zagadnienia: możliwości przetwarzania danych multimedialnych wprowadzonych przez standard SQL/MM (w tym: część standardu, która dotyczy przetwarzania obrazów), ładowanie obrazów do bazy danych, odczytywanie ich parametrów, wykonywanie zapytań typu Content Based Retrieval i modyfikowanie obrazów zapisanych w bazie danych.
  • Ostatnią część zajęć laboratoryjnych kursu stanowią trzy moduły (5 godz.) poświęcone systemom semistrukturalnych baz danych. Cykl tych trzech ćwiczeń ilustruje zagadnienia związane z programowaniem i użytkowaniem baz danych dokumentów XML. W ramach tej części kursu zostaną omówione i przećwiczone następujące zagadnienia: charakterystyka przykładowej bazy danych dokumentów XML – dbXML, wykonywanie zapytań Xpath, dostęp do bazy danych dbXML za pomocą WWW, duże kolekcje dokumentów i indeksy, zapytania dotyczące dokumentów umieszczonych w repozytorium XML oraz modyfikacje takich dokumentów.

Literatura

Literatura podstawowa

  1. C. Zaniolo, S. Ceri, C. Faloutsos, R.T. Snodgrass, V.S. Subrahmanian, R. Zicari, Advanced Database Systems, The Morgan Kaufmann Series in Data Management Systems, 1997.
  2. T. Connolly, C. Begg, Database Systems - A Practical Approach to Design, Implementation, and Management (third edition), Addison-Wesley, 2002.
  3. C.J. Date, Wprowadzenie do systemów baz danych, seria „Klasyka Informatyki”, Wydawnictwa Naukowo-Techniczne, Warszawa 2000.
  4. R. Elmasri, S.B. Navathe, Wprowadzenie do systemów baz danych, Helion, Gliwice 2005.
  5. H. Garcia-Molina, J.D. Ullman, J. Widom, Systemy baz danych. Pełny wykład, seria „Klasyka Informatyki”, Wydawnictwa Naukowo-Techniczne, Warszawa 2006.
  6. M. Jarke, M. Lenzerini, Y. Vassiliou, P. Vassiliadis, Fundamentals of Data Warehouses, Springer-Verlag, 2003.
  7. V.S. Subrahmanian, Principles of Multimedia Database Systems, Morgan Kaufmann, 1998.
  8. R. Wrembel, B. Bębel, Oracle - Projektowanie rozproszonych baz danych, HELION Publisher, 2003.


Literatura uzupełniająca

  1. Baldonado, M., Chang, C.-C.K., Gravano, L., Paepcke, A., The Stanford Digital Library Metadata Architecture, Int. J. Digit. Libr. 1, 1997 108–121
  2. Bruce, K.B., Cardelli, L., Pierce, B.C., Comparing Object Encodings, in: Abadi, M., Ito, T. (eds.): Theoretical Aspects of Computer Software. Lecture Notes in Computer Science, Vol. 1281, Springer-Verlag, Berlin Heidelberg New York1997, pp. 415–438
  3. Clement T. Yu, Weiyi M., Principles of Database Query Processing for Advanced Applications, Morgan Kaufmann Publishers, 1998, ISBN 1-55860-434-0
  4. Definicje funkcji i operatorów Xquery: http://www.w3.org/TR/xquery-operators/
  5. Dokumentacja techniczna API db4o. Dostarczana razem z pakietem bibliotek db4o w katalogu /doc/api/.
  6. Dye C.: Oracle Distributed Systems, O'Reilly & Associates, 1999, ISBN 1-56592-432-0
  7. E. Cattel i inni, Object Database Standard ODMG 3.0, Morgan Kaufmann, 1999
  8. G. Booch, J. Rumbaugh, I. Jacobson, UML przewodnik użytkownika, WNT, 2001
  9. G. Lausen, G. Vossem, Obiektowe bazy danych, WNT, 2000
  10. http://www.garshol.priv.no/download/xmltools/
  11. http://www.oasis-open.org/cover/xmlAndDatabases.html
  12. http://www.rpbourret.com/xml/
  13. http://xmldb-org.sourceforge.net/index.html
  14. ISO/IEC 13249, Information Technology – Database Languages – SQL Multimedia and Application Packages (specyfikacja standardu ISO)
  15. Kosch, H., Distributed Multimedia Database Technologies Supported by MPEG-7 and MPEG-21, CRC Press 2003
  16. Laksman, B., Oracle 9i PL/SQL Poradnik programisty, Mikom 2003
  17. Martínez, J. M., MPEG-7 Overview, http://www.chiariglione.org/MPEG/standards/mpeg-7/mpeg-7.htm
  18. Melton J., Eisenberg A.: SQL Multimedia and Application Packages (SQL/MM). SIGMOD Record 30(4), 2001
  19. Oracle® Database Concepts (rozdział Object Datatypes and Object Views): http://download-uk.oracle.com/docs/cd/B19306_01/server.102/b14220/objects.htm#i440066
  20. Oracle® Database JDBC Developer's Guide and Reference (rozdział Working with Oracle Object Types): http://download-uk.oracle.com/docs/cd/B19306_01/java.102/b14355/oraoot.htm#sthref874
  21. Oracle® interMedia Reference (rozdział SQL/MM Still Image): http://download-uk.oracle.com/docs/cd/B19306_01/appdev.102/b14297/ch_stimgref.htm#AIVUG7000
  22. P. Fortier, SQL 3 Implementing the Object–Relational Database, Mc Graw-Hill Company, 1999
  23. Pełna specyfikacja Xquery: http://www.w3.org/TR/xquery/
  24. Przykładowe edytory otwarte na Xquery: Oracle JDeveloper www.oracle.com/technology/products/jdev/ oraz Altova XMLSpy: www.altova.com
  25. Rozszerzenia Xquery - Funkcjonalność modyfikacji (working draft) http://www.w3.org/TR/xqupdate/
  26. Stolze K.: SQL/MM Spatial: The Standard to Manage Spatial Data in Relational Database Systems. BTW 2003
  27. Thuraisingham, B., Managing and Mining Multimedia Databases, CRC Press 2001
  28. Tutorial db4o. Dostarczany razem z pakietem bibliotek db4o w pliku /doc/tutorial/db4o-5.2-tutorial.pdf
  29. van Leeuwen, J. (ed.), Computer Science Today. Recent Trends and Developments. Lecture Notes in Computer Science, Vol. 1000, Springer-Verlag, Berlin Heidelberg New York 1995
  30. X-Hive XUpdate demo: www.x-hive.com/xupdate/
  31. Xupdate – Specyfikacja: http://xmldb-org.sourceforge.net/xupdate/index.html

Moduły

  • Wprowadzenie do kursu "Zaawansowane systemy baz danych"; PDF