Wydział Informatyki Politechnika Białostocka Studia stacjonarne Tworzenie aplikacji bazodanowych Prowadzący: pokój: E-mail: WWW: Małgorzata Krętowska, Agnieszka Oniśko 206 (Małgorzata Krętowska), 207 (Agnieszka Oniśko), Wiejska 45A m.kretowska@pb.edu.pl, a.onisko@pb.edu.pl http://aragorn.pb.bialystok.pl/~gkret http://aragorn.pb.bialystok.pl/~aonisko Opis przedmiotu: Przedmiot składa się z kilku bloków tematycznych, które obejmują tematykę tworzenia aplikacji bazodanowych w technologii baz relacyjnych, jak i w technologii typu NoSQL. Większość z tych zagadnień będzie również realizowana w ramach zajęć z pracowni specjalistycznej. Wymagane oprogramowanie: Oracle 11g Express Database System Oracle Developer Suite 10g ( w tym Oracle Forms) MongoDB Literatura: Connolly, T., Begg, C. Database Systems: A Practical Approach to Design, Implementation, and Management, 5th edition, Addison-Wesley, 2009. Casteel, J., Oracle 10g: SQL, Course Technology, 2007. Dokumentacja ORACLE 11g Release 2: http://www.oracle.com/pls/db112/homepage ORACLE SQL Language Reference: http://docs.oracle.com/cd/e11882_01/server.112/e26088/toc.htm Kryteria zaliczenia: Wykład: Ocenę z wykładu stanowi ocena z zaliczenia pracowni specjalistycznej. Egzamin pisemny będzie przeprowadzony dla tych studentów, którzy chcą otrzymać wyższą ocenę niż ocena z pracowni specjalistycznej. Pracownia specjalistyczna:
Zaliczenie pracowni specjalistycznej odbędzie się na podstawie zaimplementowanych projektów bazodanowych. Kolejne etapy tworzenia projektów są zamieszczone w harmonogramie pracowni specjalistycznej. Warunkami koniecznymi zaliczenia przedmiotu są: (1) oddanie obu projektów, w których zaimplementowane będą wszystkie składowe elementy zamieszczone poniżej oraz (2) uzyskanie za każdy z projektów co najmniej 50% punktów. Projekty będą realizowane w grupach dwuosobowych. Składowe elementy zaliczenia pracowni specjalistycznej to: Projekt bazodanowy SQL: Schemat bazy danych Skrypty tworzenia tabel Podprogramy (pl/sql) Ładowanie danych Interfejs użytkownika Dokumentacja (MediaWiki) Prezentacja Suma: 15 pkt 10 pkt 25 pkt 20pkt 100pkt Projekt bazodanowy NoSQL: Projekt 15pkt Operacje bazodanowe Interfejs użytkownika 15pkt Dokumentacja (MediaWiki) 5pkt Prezentacja 5pkt Suma: 50pkt Suma ogólna 150pkt Zakres: Ocena: (150; 135> 5.0 (135; 120> 4.5 (120; 105> 4.0 (105; 90> 3.5 (90; 75> 3.0 (75, 0> 2.0 Schemat bazy danych: Należy sformułować treść problemu, który zostanie zamodelowany w postaci relacyjnego modelu danych. Schemat bazy powinien składać się co najmniej z 10 tabel. Należy na schemacie zaznaczyć klucze główne i obce oraz liczność związków. Schemat powinien być znormalizowany do 3NF. Skrypty tworzenia tabel:
Skrypty powinny zawierać polecenia tworzenia tabel i innych obiektów takich, jak sekwencje lub indeksy. Podprogramy (pl/sql): Podprogramy, które powinny być zaimplementowane po stronie serwera bazy danych. Wśród podprogramów powinny się znaleźć: funkcja, procedura oraz wyzwalacz. Ładowanie danych: Ten element aplikacji powinien sprowadzić się do napisania skryptów, które załadują dane do wybranych tabel mogą to być na przykład tabele słownikowe. Skrypty powinny się kompilować w programie SQL Loader (ORACLE). Interfejs: Stworzenie inrefejsu użytkownika za pomocą narzędzia ORACLE Form Builder (w przypadku aplikacji opartej o bazy relacyjne) lub innego narzędzia (jeśli aplikacja dotyczy baz danych typu NoSQL). Dokumentacja (MediaWiki): Każdy projekt powinien mieć dokumentację sporządzoną w MediaWiki. Poszczególne elementy dokumentacji powinny zawierać: 1. Dokumentacja techniczna: a. Technologie wykorzystane w implementacji aplikacji b. Architektura aplikacji (schemat obrazujacy współdzianie różnych elementów aplikacji) c. Schemat bazy danych d. Podprogramy e. Kod skryptów do SQL Loader 2. Instrukcja użytkownika aplikacji: a. Przeznaczenie aplikacji b. Wymagania sprzętowe i programowe c. Uruchamianie aplikacji d. Funkcjonalność aplikacji Prezentacja: Prezentacja powinna składać się z (1) przedstawienia na slajdach głównych założeń i przeznaczenia aplikacji oraz z (2) demonstracji działania samej aplikacji. Prezentacja powinna trwać maksymalnie 10 minut. Opuszczone zajęcia: Studenci nieobecni na wykładzie/pracowni specjalistycznej są odpowiedzialni za zapoznanie się z materiałem przedstawionym na tych zajęciach.
Wstępny harmonogram wykładu Nr Temat 1 Wstęp do technologii aplikacji bazodanowych. Relacyjny model danych. 2 Proceduralny język SQL na przykładzie ORACLE pl/sql: kursowy jawne, zmienne, instrukcje warunkowe i iteracyjne 3 Zaawansowane obiekty baz danych: procedury, funkcje, pakiety, wyzwalacze, sekwencje 4 PL/SQL: Obsługa wyjątków 5 Transakcje, blokady, właściwość ACID w bazach relacyjnych 6 Forms Builder I 7 Forms Builder II 8 Optymalizacja aplikacji bazodanowej 9 Wprowadzenie do baz danych typu NoSQL (bazy typu klucz-wartość, bazy dokumentowe, bazy kolumnowe, bazy grafowe) 10 Bazy dokumentowe, wprowadzenie do MongoDB 11 Bazy dokumentowe: MongoDB i aplikacje 12 Bazy typu klucz-wartość, bazy kolumnowe 13 Właściwość BASE i CAP w bazach typu NoSQL 14 Bazy tabelaryczne, bazy grafowe 15 Zaliczenie
Wstępny harmonogram pracowni specjalistycznej Nr Temat 1 Projektowanie relacyjnych baz danych 2 Proceduralny język SQL (ORACLE): kursowy jawne, podprogramy 3 Proceduralny język SQL (ORACLE) 4 Proceduralny język SQL. Zaawansowane obiekty baz danych (ORACLE) 5 Proceduralny język SQL. Zaawansowane obiekty baz danych (ORACLE) 6 Forms Builder I 7 Forms Builder II 8 Forms Builder III 9 Prezentacja projektów: Bazy danych typu SQL 10 Bazy dokumentowe typu XML 11 Bazy dokumentowe typu XML 12 Bazy dokumentowe: MongoDB 13 Bazy dokumentowe: MongoDB 14 Bazy dokumentowe: MongoDB 15 Prezentacja projektów: Bazy danych typu nosql