Professional Documents
Culture Documents
PRZYKADOWY ROZDZIA
SPIS TRECI
KATALOG KSIEK
KATALOG ONLINE
JBuilder
i bazy danych
Autor: Mariusz Marzec
ISBN: 83-7361-748-5
Format: B5, stron: 264
TWJ KOSZYK
DODAJ DO KOSZYKA
CENNIK I INFORMACJE
ZAMW INFORMACJE
O NOWOCIACH
ZAMW CENNIK
CZYTELNIA
FRAGMENTY KSIEK ONLINE
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
Spis treci
Wstp ............................................................................................... 7
Rozdzia 1. Baza danych ...................................................................................... 9
Elementy baz danych....................................................................................................... 10
Zasady projektowania baz danych................................................................................... 12
Podsumowanie ................................................................................................................ 16
Spis treci
5
JMenuBar, JMenu, JMenuItem ..................................................................................... 143
JOptionPane standardowe okna dialogowe .............................................................. 143
JDBRadioButton ........................................................................................................... 147
JDBCheckBox............................................................................................................... 148
JDBToggleButton.......................................................................................................... 149
JDBLabel....................................................................................................................... 149
JDBTextField ................................................................................................................ 149
JDBTextArea................................................................................................................. 150
JDBTextPane................................................................................................................. 152
JDBEditorPane .............................................................................................................. 152
JDBComboBox ............................................................................................................. 153
JDBList ......................................................................................................................... 156
JDBSlider ...................................................................................................................... 156
JDBTree ........................................................................................................................ 157
JDBTable....................................................................................................................... 158
TableScrollPane ............................................................................................................ 160
JDBStatusLabel............................................................................................................. 161
JDBNavToolBar............................................................................................................ 161
DBPasswordPrompter ................................................................................................... 162
Zdarzenia....................................................................................................................... 162
Podsumowanie .............................................................................................................. 165
Rozdzia 11. Prezentacja wynikw pracy aplikacji: raporty i wydruki ................... 231
Projektowanie wydruku................................................................................................. 234
Doczanie rysunkw do wydrukw ............................................................................. 237
Uywanie wydrukw podczas pracy aplikacji............................................................... 238
Podsumowanie .............................................................................................................. 239
Skorowidz...................................................................................... 247
Rozdzia 7.
Przygotowanie bazy
w systemie JDataStore
W pakiecie JBuilder, poza rodowiskiem projektowania aplikacji, zawarto rwnie kilka
narzdzi, sucych do przygotowania i pracy z bazami danych w systemie JDataStore.
Jest to rozwizanie, ktre moemy stosowa wszdzie tam, gdzie nie ma potrzeby
uywania systemw bazodanowych innych firm. Korzystanie z plikw *.jds 1 nie wymaga
stosowania sterownikw ODBC, poczenie jest nawizywane cakowicie za pomoc
jzyka Java, przy uyciu sterownika com.borland.datastore.jdbc.DataStoreDriver. JDataStore jest wydajnym, w caoci napisanym w jzyku Java rozwizaniem, stworzonym
na potrzeby magazynowania danych dla aplikacji tworzonych w JBuilderze. Dostp
do bazy danych uzyskujemy przez sterowniki JDBC i interfejs DataExpress. System
obsuguje transakcyjno i prac wielu uytkownikw, magazynowanie obiektw serializowanych, tabel i innych plikw.
Bazy danych tego typu charakteryzuj si nastpujcymi parametrami:
minimalna wielko bloku danych: 1 KB,
maksymalna wielko bloku danych: 32 KB,
domylna wielko bloku danych: 4 KB,
maksymalna wielko pliku JDataStore: 2 biliony blokw (2 G).
102
SYS/Connections,
SYS/Queries,
SYS/Users.
Opis
Synonim
SMALLINT
SHORT
INT
INTEGER
BIGINT
LONG
DECIMAL (p, d)
BIGDECIMAL
REAL
DOUBLE
FLOAT (p)
VARCHAR (p, m)
STRING
VARBINARY (p, m)
INPUTSTREAM BINARY
OBJECT (t, m)
BOOLEAN
DATE
TIME
TIMESTAMP
DOUBLE_PRECISION
BIT
103
DataBase Pilot
Aplikacj moemy wykorzysta na przykad w sytuacji, gdy jest potrzebna rczna modyfikacja bazy, a nie posiadamy narzdzi administracyjnych, ktre powinny by dostarczone
z okrelonym systemem bazodanowym. Na rysunku 7.1 widzimy interfejs aplikacji
z list dostpnych baz danych do przegldania w lewym oknie. Prawe okno, w zalenoci
od wybranej zakadki, udostpnia dwie funkcje:
informacje o rdle danych, gdy wybrana jest zakadka Definition. Na przykadzie
104
Rysunek 7.1.
Okno gwne aplikacji
DataBase Pilot
W przypadku sterownika ODBC jest to alias bazy danych z Administrator ODBC, w przypadku bazy JDataStore jest to plik *.jds w okrelonej lokalizacji. Dostpne sterowniki
omwi przy komponencie
w rozdziale 8. Kiedy ju poczenie z baz zostanie nawizane, moemy za pomoc zakadki Execute Sql i odpowiednich polece
operowa na danych. Na rysunku 7.3 wida efekty wykonania prostego zapytania na
przykadowej bazie.
JDataStore Explorer
Drugie z opisywanych narzdzi jest przeznaczone dla projektantw bazy JDataStore. Zawiera ono szereg przydatnych funkcji, za pomoc ktrych moemy wykona wszystkie
charakterystyczne operacje, znane z innych platform bazodanowych. Okno gwne aplikacji
105
Rysunek 7.3.
Wykorzystanie
zakadki Enter Sql
do pracy
z baz danych
(rysunek 7.4) jest podzielone na dwie czci. W lewej znajduje si drzewo rozwijane
z aktualnie otwartymi rdami JDataStore oraz ich elementami, w prawej pojawiaj
si rne opcje, w zalenoci od wybranego obiektu.
Rysunek 7.4.
Okno gwne aplikacji
JDataStore Explorer
usuwania,
106
drzewa,
TxManager manager zarzdzania transakcjami,
Tools zawiera funkcje suce do administracji i zarzdzania baz danych:
107
pozosta odznaczone. W przeciwnym przypadku wybieramy przycisk Properties i ustalamy dodatkowe parametry, jak wida na tym samym rysunku w oknie Tx Manager
Properties. W oknie zawarto kilka parametrw zwizanych z obsug logw:
Maximum open logs decyduje o liczbie otwartych plikw logw. Jeeli uywamy
pliki logw zostan umieszczone w tej samej lokalizacji, co plik bazy danych,
Check frequency czstotliwo zapisywania do plikw. Decyduje, jak czsto
musi by wypenione,
ULICA definicja jest dokadnie taka sama, jak w przypadku poprzedniej kolumny,
ID_USER kolumna, ktra zostanie wykorzystana jako klucz obcy do kolumny
108
Rysunek 7.6.
Definiowanie nowej
tablicy o nazwie
T_ADRESY
by wypenione,
NAZWISKO definicja jest dokadnie taka sama, jak w przypadku poprzedniej
kolumny,
ROK rok urodzenia.
Kiedy tablice zostan ju przygotowane, naley zdefiniowa jeli potrzeba indeksy i klucze w poszczeglnych tablicach. W celu utworzenia indeksu i klucza w tabeli
wybieramy j z listy i wywoujemy opcj menu Tools/Create Index. Powoduje to otwarcie
okna dialogu jak na rysunku 7.7, w ktrym okrelimy wymagane parametry.
Aby przygotowa indeks, wystarczy poda jego nazw w polu Index Name i przenie
w sekcji Columns kolumny (jedn lub wicej) z okna Available do Selected. W tym
przykadzie tworzymy indeks na kolumnie ID_$. Ma on by kluczem gwnym, dlatego
zaznaczamy pole Primary Key oraz Unique. Podczas tworzenia indeksw w JDataStore zauwaamy, e nie mona stworzy indeksu na kolumnie z atrybutem AutoIncrement (numerowanie automatyczne). W ten sposb moemy przygotowa indeksy
i klucze gwne we wszystkich wymagajcych tego tabelach w bazie. Nazwy nadawane
indeksom powinny by dla jasnoci nazywane w zgodzie z przyjt przez projektanta
konwencj. Oczywicie kady projektant moe przyj wasny sposb nazewnictwa.
W naszym przykadzie przyjlimy schemat:
dla klucza gwnego IDX_PK_nazwaTabeli, pierwszy czon oznacza, e jest
109
Rysunek 7.7.
Edytor indeksw
O ile do tworzenia tabel, indeksw i kluczy gwnych moemy wykorzysta odpowiednie pozycje menu, przygotowanie pozostaych elementw bazy nie jest ju takie
proste. Aplikacja nie udostpnia narzdzi do tworzenia ogranicze czy wizualnego
tworzenia relacji pomidzy tabelami (jak chociaby prezentowany w poprzednim rozdziale MS Access). W celu zapewnienia spjnoci referencyjnej bazy oraz ustalenia
dodatkowych parametrw jej struktury musimy wykorzysta jzyk SQL i za pomoc
odpowiednich polece utworzy wymagane skadniki. Na szczcie autorzy aplikacji
wrd dostpnych funkcji umiecili edytor polece SQL. Praca z nim nie jest moe
szczeglnie wygodna, ale spenia on swoje zadania. My go wykorzystamy do przygotowania kluczy obcych oraz dodania ogranicze na kolumny tabel. Edytor mona
uruchomi na dwa sposoby, wybierajc z menu Tools/SQL lub ikon SQL z paska narzdzi. Okno edytora widzimy na rysunku 7.8, zawiera ono kilka przyciskw, ktre
moemy wykorzysta do wykonania polecenia SQL (Execute), przywrcenia poprzedniego polecenia (Previous), wybrania nastpnego (Next) oraz wczytania zewntrznego
pliku z poleceniami SQL (Load SQL). Za pomoc tego ostatniego moemy wczyta
skrypty przygotowane przez zewntrzne narzdzia projektowe typu CASE. W pierwszym kroku przygotujemy klucz obcy w tabeli T_ADRESY do tabeli T_LUDZIE o nazwie IDX_FK_ID_USER. Na podstawie wiedzy zdobytej w rozdziale 2. edytujemy nastpujce polecenie:
Stworzy ono ograniczenie na kolumnie ID_USER w tablicy T_ADRESY, ktre nie zezwoli,
aby do tej kolumny zostaa wpisana warto, ktra nie wystpuje w kolumnie ID_$
w tabeli T_LUDZIE. Jest to podobna relacja, jak tworzylimy w rozdziale 6., jednak
w tym przypadku projektujemy j bez uycia interfejsu graficznego. Po dodaniu ograniczenia odpowiednia ga pojawia si w lewym oknie struktury bazy (rysunek 7.9).
110
Rysunek 7.8.
Edytor polece SQL
w aplikacji
JDataStore Explorer
Rysunek 7.9.
Struktura bazy
z dodanymi kluczami
primary key
i foreign key
111
,
i
bardzo przydatne funkcje,
zwracajce aktualn dat i czas. Podajemy nazw funkcji w poleceniu
,
jak wida poniej, nazwa tablicy jest nieistotna, znajduje si jedynie w celu
poprawnoci skadni SQL.
polecenia
! !! !da w rezultacie 2.
! !
'
(zwraca cig