Biblioteka Bazy danych I dokumentacja projektu. Cel projektu: Aplikacja bazodanowa zrealizowana z wykorzystaniem SZBD PostgreSQL wraz z interfejsem użytkownika. Temat projektu: Realizacja bazy danych Biblioteki z wykorzystaniem języka JAVA, z interfejsem wykonanym za pomocą biblioteki SWING. Autor: Filip Kania Kraków, 2016
1. Projekt koncepcji, założenia. 1.1 Temat projektu, definicja celów i zadań jakie ma realizować. Tematem który wybrałem i chciałem zrealizowad jest przygotowanie aplikacji bazodanowej wspomagającej pracę biblioteki. Aplikacja ma za dostarczad szereg wspierających pracę w bibliotece funkcji. W początkowej fazie aplikacja miała byd kierowana głównie do personelu biblioteki, lecz po konsultacjach projekt postanowiłem rozszerzyd o możliwośd udostępnienia części zasobów użytkownikom. 1.2 Analiza wymagań użytkownika, określenie funkcjonalności jakie ma spełniać projektowana baza danych Użytkownicy systemu: a) Pracownik b) Czytelnik Wymagania funkcjonalności względem dostępu użytkownika do bazy: a) Pracownik 1. Obsługa biblioteki - automatyczna aktualizacja statusu wypożyczeni, rezerwacji. - wyświetlenie użytkowników zalegających ze zwrotem - raport działania biblioteki 2. Obsługa księgozbioru biblioteki: - możliwość dodawania, usuwania książek do bazy danych - możliwość wyświetlania wszystkich książek znajdujących się w bazie - możliwość wyszukiwania książek po tytule - możliwość rezerwacji książek na 2 dni - możliwość wypożyczenia książek - możliwość sprawdzenia dostępności książek 3. Obsługa kont czytelników - możliwość dodawania nowych czytelników - możliwość naliczania opłat za spóźnienie z oddaniem książki. b) Czytelnik 1. Obsługa konta - możliwość wyszukiwania książek - możliwość rezerwacji książki - możliwość wyświetlenia swoich wypożyczeń.
1.3 Projekt funkcji, określenie podstawowych funkcji realizowanych w bazie danych. Podstawowe funkcje realizowane w bazie danych: - automatyczna aktualizacja statusu wypożyczeni, rezerwacji. - wyświetlenie użytkowników zalegających ze zwrotem - raport działania biblioteki - dodawanie, usuwanie książek do bazy danych - wyświetlanie wszystkich książek znajdujących się w bazie - wyszukiwane książek po tytule - rezerwacja książek na 2 dni - wypożyczenie książek - sprawdzenie dostępności książek - dodawanie nowych czytelników - naliczanie opłat za spóźnienie z oddaniem książki 2. Projekt diagramów ( konceptualny ) 1. Encje oraz ich atrybuty.
2. Diagram relacji pomiędzy encjami. 3. Projekt logiczny 1. Projektowanie tabel, kluczy, indeksów, słowników w oparciu o diagram ERD. Ksiazka idksiazka int4 PK Nie fkidwydawnictwo int4 FK (Wydawnictwo,idWyda wnictwo) Nie isbn bigint Tak tytul varchar(50) Nie iledostepnych int4 Tak strony Int4 Nie wydanie Int4 Nie datawydania Date Nie
Egzemplarz idegzemplarz int4 PK No fkidksiazka int4 FK (Ksiazka.idKsiazka) No dostepna bool No Autor idautor int4 PK No imie varchar(30) Tak nazwisko varchar(30) Tak Autorzy fkidautor int4 FK (Autor.idAutor) Nie fkidksiazka int4 FK (Ksiazka.idKsiazka) Nie Wydawnictwo idwydawnictwo int4 PK Nie nazwa varchar(50) Nie miejscowosc varchar(30) Nie kodpocztowy int4 Nie ulica varchar(30) Nie numer Varchar(10) Nie telefon int4 Nie
Czytelnik Nazwa Typ danych Ograniczeni a Może być id_czytelnik int4 PK No imie varchar(30) No nazwisko varchar(30) No Naliczenia idnaliczenia int4 PK Nie Data date Nie fkidczytelnik int4 FK (Czytelnik.idCzytelnik) Nie Rezerwacja idrezerwacja int4 PK Nie fkidksiazka int4 PK/FK (Ksiazka.idKsiazka) fkidczytelnik int4 PK/FK (Czytelnik.idCzytelnik) Nie Nie Wypozyczenie Nazwa Typ danych Ograniczeni a Może być id_wy pozyczenie int4 PK No id_egzemplarz int4 PK/FK (Egzemplarz.i d_egzemplarz ) id_czytelnik int4 PK/FK (Czytelnik.id_ czytelnik) No No
Tag idtag int4 PK Nie nazwa varchar(20) Nie ChmuraTagów fkidtag int4 FK Nie fkidksiazka Int4 FK Nie BibliotekaStatus idaktualizacja int4 FK Nie ID aktualizacji aktualizacja date Nie Data ostatniej aktualizacji Tlumacz idtlumacz int4 PK No imie varchar(30) Tak nazwisko varchar(30) Tak Tlumacze fkidtlumacz int4 FK (Tlumacz.idTlumacz) Nie fkidksiazka int4 FK (Ksiazka.idKsiazka) Nie
2. Analiza zależności funkcyjnych 3NF 1NF Pierwsza postad normalna: Baza spełnia zasadę 1NF ponieważ każda składowa w każdej komórce jest elementarna. 2NF Druga postad normalne: Baza spełnia zasadę 2NF ponieważ, jest w 1 postaci normalnej oraz każdy atrybut wtórny tej relacji był w pełni funkcyjnie zależny od wszystkich kluczy tej relacji. 3NF Trzecia postad normalna: Baza spełnia zasadę 3NF ponieważ, jest w 1 i 2 postaci normalnej oraz każdy atrybut wtórny jest tylko bezpośrednio zależny od klucza głównego. 3. Zaprojektowanie operacji na danych W załączonych plikach. 4. Projekt funkcjonalny, dokumentacja. 1. Wprowadzanie danych 1. Dane do aplikacji można wprowadzid za pomocą konsoli w bazie danych Postgres 2. Drugą możliwością jest za pomocą graficznego interfejsu aplikacji. 2. Dokumentacja użytkownika 1. Na początku wyskakuje okienko informujące o aktualizacji bazy danych. 2. Następnie uruchamia się okno aplikacji U góry jest główny pasek zakładek pozwalający przemieszczad się miedzy funkcjonalnościami dla pracownika i czytelnika.
Następnie w zależności od wybrania pomiędzy Pracownikiem a Czytelnikiem pojawia się menu boczne i wraz z nim możliwe do wykonania operacje. Przykład działania okna pozwalającego dodad nową książkę: 3. Dokumentacja techniczna. Aplikacja wykonana w JAVA ie, w jdk 1.7. Wygenerowana dokumentacja w załączonych plikach. 4. Wykaz literatury. 1. Java. Podstawy., Cay S. Horstmann, Gary Cornell 2. Java. Techniki zaawansowane. Cay S. Horstmann, Gary Cornell 3. DBDesigner Fork 4. visual-paradigm.com 5. msdn.microsoft.com Programowanie baz danych