Bazy Danych - poniedziałek, 15.00 - 18.00 - Projekty.

Zgodnie z regulaminem ćwiczeń, do zaliczenia przedmiotu niezbędne jest stworzenie projektu. Projekt musi uwzględniać wszystkie poniższe wymagania.

  1. Maksymalnie 3 osoby w grupie, preferowane 2. W szczególnych przypadkach (uzasadnionych jedna).

  2. Projekt musi zawierać pliki z dokumentacją, zawierającą opis problemu, cele projektu, diagramy encji, itp. UWAGA: Opis projektu musi być dostarczony do zatwierdzenia do 19 grudnia 2011.

  3. Projekt musi zawierać pliki z zapytaniami DDL (Data Definition Language) tworzącymi schemat bazy danych i niezbędne obiekty. UWAGA: zapytania muszą być skomentowane. W przypadku tabel nalezy określić w jakiej postaci (normalnej, boyca-codda, itp.) jest tabela. W przypadku denormalizacji należy uzasadnić dlaczego ją wybrano.

  4. Projekt musi zawierać pliki z planem pielęgnacji bazy danych (kopie zapasowe) - tylko proponowany plan (krótki opis i uzasadnienie).

  5. Minimalna liczba tabel w stworzonej bazie danych: 10. Minimalnie 5 tabel na osobę.

  6. Baza danych musi zawierać tabele śledzące zmiany atrybutów w czasie

  7. Baza danych musi zawierać jakiś fragment (część tabel) które realizują dziedziczenie

  8. Temat projektu powinien być "z życia wzięty". Projekt bezy danych powinien być rozsądny - bez niepotrzebnego dodawania zbędnych tabel. Ten punkt będzie bardziej premiowany niż punkt mówiący o minimalnej ilości tabel

  9. Baza ma posiadać całą logikę biznesową napisaną na poziomie SQL z wykorzystaniem: widoki, triggery, procedury składowane, funkcje, więzy integralności.

  10. Do projektu należy dołączyć dwa programy napisane w języku innym niż SQL przeznaczone dla użytkowników końcowych: moderatorów i klientów. Moderatorzy (administratorzy) to osoby wprowadzające i zarządzające danymi (np. o trasach autobusów, seansach w kinie itp), a klienci to osoby korzystające z tych danych (sukające połączeń, rezerwujące bilet). UWAGA: nie można zakładać że moderator i administrator SBD to te same osoby! Aplikacja dla moderatora powinna być tak samo User Freindly jak dla klienta, gdyż moderatorem może być osoba, która o Bazach Danych nic nie wie! Uwaga 2: programy klienckie mogą być napisane w dowolnej technologii (klient www, desktop application) i języku (C#, C++, Java, Python, PHP, RUBY, ASP.NET, itp). W przypadku języków z frameworkami do generowania encji bazy danych - zabronione jest używanie tych generatorów (np. Hibernate dla JavaEE czy wbudowanej wtyczki typu admin dla Serwisu (Aplikacji) w Pythonie)!

Temat projektu ustala grupa i konsultuje z prowadzącym. Temat projektu należy zgłosić do 5 grudnia 2011. Po tym terminie maksymalną liczbę punktów za realizacje projektu dla grupy, która spóźniła się ze zgłoszeniem tematu jest obniżana o 25%! Temat dla kazdej grupy musi być unikalny.

Opis projektu (opis zadania, celów, wymagania, diagramy encji) musi być dostarczony do zatwierdzenia do 22 31 grudnia 2011. Za zgłoszenie opisu projektu po tym terminie maksymalną liczbę punktów za projekt jest obniżana o 50%.

Z powyższych, jeśli grupa spóźni się zarówno ze zgłoszeniem tematu, jak i z opisem projektu, maksymalna liczba punktów jakie można otrzymać za projekt będzie wynosić tylko 25% wartości projektu w ogólnej ocenie z przedmiotu!

Proponowana lista tematów (można proponować własne)

Oznaczone * mogą wymagać więcej pracy/mogą być trudniejsze.

  1. Komunikacja miejska. Należy zaprojektować bazę danych zawierającą informacje o przystankach (lokalizacjach), autobusach (pojazdach), liniach (uporządkowanych zbiorach przystanków), czasach przejazdów, cenach biletów itp.

    Przypisani: Jakub Kuraś, Krzysztof Zawadzki
    Diagram Encji: OK

  2. Lotnisko. Baza obsługi lotniska. Samoloty, Loty, Bilety, Klienci, Lotniska docelowe, Ceny, itp.

    Przypisani 1: Paweł Maniora, Piotr Wojciechowski
    Diagram Encji: OK

  3. Lotnisko. Baza obsługi lotniska. Samoloty, Loty, Bilety, Klienci, Lotniska docelowe, Ceny, itp.

    Przypisani 2: Filip Szewczyk, Iza Fidzinska
    Diagram Encji: OK, drobne poprawki - do przejrzenia przy oddaniu projektu

  4. Portal aukcyjny. Przedmioty, Użytkownicy, Historia licytacji, Transakcje, Historia sprzedaży, Oceny.

    Przypisani: Marcin Grabski, Mateusz Kło???
    Diagram Encji: BRAK

  5. Sklep internetowy. Przedmioty, Kategorie, Klienci, Stan Magazynu, Ceny przedmiotów, historia zakupów, śledzenie przesyłek, rabaty itp.

    Przypisani: Michał Antończak, Radosław Opyrchał
    Diagram Encji: OK, dosłać wymagania funkcjonalne

  6. Przychodnia lekarska. Gabinety, Lekarze, Pacjenci, Terminy wizyt, Terminy dyżurów lekarzy, Historia badań, itp.

    Przypisani: Jakub Biel
    Diagram Encji: BRAK

  7. Handel nieruchomości. Nieruchomości, położenia, ceny, sprzedający, kupujący, cechy nieruchomości, wyszukiwanie najbliższych lokacji w danym regionie dla danego punktu, bogate mozliwości analityczne (zapotrzebowania, trendy, statystyki).

  8. Baza danych kina. Sale, Filmy, Repertuary, Rezerwacja Biletów, itp.

    Przypisani: Marcin Najgebauer, Krzystof Madura
    Diagram Encji: OK, drobne poprawki - przy oddaniu projektu przejrzeć

  9. Komputerowa gra. Najlepiej browserówka typu Ogame, RedDragon itp. Musi mieć odpowiedni stopień skomplikowania.

  10. * Baza danych zautomatyzowanej hali produkcyjnej. Roboty, Części, Produkty, jaki robot produkuje jakie częsci w jakim czasie, Jakie częsci wchodzą w skład jakich produktów, Produkty złozone (Produkty złozone z podproduktów). Mozliwość definiowania nowych produktów, z istniejących, mozliwość analizowania zaporzebowania na roboty danego typu, mozliwość analizowania szacowanego czasu wykonania produktu, dobór optymalnej kolejności wykonania i przydziału robotów.

  11. * Historyczna baza danych. Zdarzenia historyczne z czasem trwania, Lokalizacje zdarzeń na mapie świata, Zdarzenia złozone (Jakieś zdarzenie składa się z podzdarzeń itp), Rodzaje zdarzeń (miejscowe, obszarowe [np. bitwy], bitwy, unie, śmierć, urodziny, itp) - wiele mozliwości dziedziczenia, powiązania między zdarzeniami (nastęstwo, przyczyna, skutek).

  12. Biblioteka. Możliwości oferowane użytkownikom: CRUD zamówień na książki (informacja dla bibliotekarza), widok na wszystkie tytuły dostępne w bibliotece lub wszystkie tytuły ogólnie (innymi słowy katalog). Dla bibliotekarza (admin) - procedury odrzucania/akceptacji zamówień i wypożyczenia/zwrotu książek, operacja przeniesienia książki (biblioteka, archiwum), dodawanie nowych czytelników, widoki na tabele wszystkich fizycznych książek, czytelników, wypożyczeń itd, dodawanie/usuwanie książek.

    Przypisani: Krzysztof Dawidowicz, Paweł Chachaj
    Diagram Encji: OK

  13. Wyniki sportowe w lidze piłki nożnej - analizator i statystyki. TODO: dosłać opis

    Przypisani: Joanna Misztal, Damian Gałka
    Diagram Encji: OK, drobne poprawki - przy oddaniu projektu przejrzeć

  14. System do obsługi magazynu w sklepie. TODO: dosłać opis

    Przypisani: Konrad Talik, Patryk Jaworski
    Diagram Encji: BRAK

  15. Księgarnia internetowa. TODO: dosłać opis

    Przypisani: Andrzej Piotrkowski, Rafał Sudoł
    Diagram Encji: OK

  16. Menu Towera (zarządzanie pubem/restauracją). TODO: dosłać opis

    Przypisani: Agnieszka Pająk, Magdalena Wardzała, Karolina Drabowska
    Diagram Encji: OK

  17. Firma logistyczna (obsługa wielu magazynów). TODO: dosłać opis

    Przypisani: Piotr Kowenzowski, Piotr Planeta
    Diagram Encji: OK