Lista zadań nr 1
Podstawy JDBC, HSQLDB
Dane są tabele:
Ksiazka( Sygn INT PK, Autor VARCHAR(50), Tytul VARCHAR(50), IleStron INT )
Czytelnik( Pesel CHAR(11) PK, Imie VARCHAR(20), Nazwisko VARCHAR(40) )
Wypozyczenie(ID INT PK, Sygn INT REF Ksiazka, Pesel CHAR(11) REF Czytelnik, DataOd DATE, DataDo DATE, Oddana BOOL)
Zadania z tej listy należy wykonać wykorzystując HSQLDB (podręcznik) i język Java. Kod powinien być aplikacją konsolową.
-
Napisz program, który utworzy tabele Ksiazka, Czytelnik i Wypozyczenie. W przypadku, gdy jakaś
tabela już istnieje, program powinien ją najpierw usunąć.
[2p]
-
Utwórz klasę Database, która będzie zawierać metody :
- void Connect() — funkcja ma być bez parametrów; nawiązuje połączenie na podstawie jakiegoś pliku
konfiguracyjnego
- string[][] SelectData(String query) — wykonuje zapytanie typu SELECT i zwraca wynik,
- int UpdateData(String query) — wykonuje zapytania typu INSERT, UPDATE i DELETE i zwraca liczbę zmodyfikowanych rekordów.
- void Close() — funkcja zamyka wszystko co jest w obiekcie typu Database jeszcze nie zamknięte.
[2p]
-
Korzystając z klasy Database napisz program, który jako parametr będzie brał nazwę tabeli oraz typ wyniku, gdzie typem może być: csv, xml, screen. W wyniku generuje zawartość tabeli w odpowiednim formacie: czytelnym w postaci tabelki (screen), CSV (csv) lub XML (xml).
[3p]
-
Korzystając z klasy Database napisz program, który wstawi przykładowe dane do tabel. Program powinien działać w następujący sposób:
- Dane do wstawienia powinny być w plikach: ksiazka.csv, czytelnik.csv i wypozyczenie.csv. Jak
sugeruje rozszerzenie, powinny to być pliki typu CSV. Danych proponuję poszukać w Internecie (książek powinno być co najmniej 200, czytelników 50, a wypożyczeń 450).
- Program powinien wczytać rekordy z powyższych plików, ale ponieważ zakładamy, że w tabelach mogą być już dane, powinny zostać wstawione rekordy o identyfikatorach, które jeszcze bazie danych nie występują
[3p]