Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00487 008208 11004230 na godz. na dobę w sumie
JBuilder i bazy danych - książka
JBuilder i bazy danych - książka
Autor: Liczba stron: 264
Wydawca: Helion Język publikacji: polski
ISBN: 83-7361-748-5 Data wydania:
Lektor:
Kategoria: ebooki >> komputery i informatyka >> bazy danych >> inne
Porównaj ceny (książka, ebook, audiobook).

Informacja -- najcenniejszy towar na współczesnym rynku, wymaga rozbudowanych narzędzi pozwalających na magazynowanie i korzystanie z niej. Do magazynowania informacji wykorzystywane są coraz bardziej rozbudowane systemy zarządzania bazami danych. Do przeglądania danych zgromadzonych w ich tabelach tworzone są mniej lub bardziej rozbudowane aplikacje. Dzięki nim informacje z baz danych przedstawiane są w formie możliwej do przeglądania, modyfikowania i drukowania.

Java -- w początkowym okresie swojego rozwoju kojarzona była wyłącznie z Internetem i koszmarnymi apletami typu 'padający śnieg', dziś jest uznanym i popularnym językiem programowania, coraz częściej wykorzystywanym do tworzenia aplikacji bazodanowych. Producenci środowisk programistycznych również zwrócili uwagę na popularność Javy, co zaowocowało powstaniem kilku bardzo udanych narzędzi, a wśród nich -- JBuilder Enterprise.

'JBuilder i bazy danych' to podręcznik tworzenia aplikacji bazodanowych za pomocą środowiska JBuilder Enterprise. Przedstawia zarówno zagadnienia związane z bazami danych, jak i te, które wiążą się z wykorzystywaniem ich w aplikacjach w języku Java. Opisuje komponenty bazodanowe oferowane przez JBuildera oraz sposoby projektowania i implementowania aplikacji z ich wykorzystaniem. Zawiera również informacje dotyczące tworzenia mechanizmów raportujących i drukujących.

Przekonaj się, jak szybko i efektywnie
możesz tworzyć aplikacje w środowisku JBuilder.

Znajdź podobne książki Ostatnio czytane w tej kategorii

Darmowy fragment publikacji:

IDZ DO IDZ DO PRZYK£ADOWY ROZDZIA£ PRZYK£ADOWY ROZDZIA£ SPIS TREĎCI SPIS TREĎCI KATALOG KSI¥¯EK KATALOG KSI¥¯EK KATALOG ONLINE KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG ZAMÓW DRUKOWANY KATALOG TWÓJ KOSZYK TWÓJ KOSZYK DODAJ DO KOSZYKA DODAJ DO KOSZYKA CENNIK I INFORMACJE CENNIK I INFORMACJE ZAMÓW INFORMACJE ZAMÓW INFORMACJE O NOWOĎCIACH O NOWOĎCIACH ZAMÓW CENNIK ZAMÓW CENNIK CZYTELNIA CZYTELNIA FRAGMENTY KSI¥¯EK ONLINE FRAGMENTY KSI¥¯EK ONLINE Wydawnictwo Helion ul. Chopina 6 44-100 Gliwice tel. (32)230-98-63 e-mail: helion@helion.pl JBuilder i bazy danych Autor: Mariusz Marzec ISBN: 83-7361-748-5 Format: B5, stron: 264 Informacja — najcenniejszy towar na wspó³czesnym rynku, wymaga rozbudowanych narzêdzi pozwalaj¹cych na magazynowanie i korzystanie z niej. Do magazynowania informacji wykorzystywane s¹ coraz bardziej rozbudowane systemy zarz¹dzania bazami danych. Do przegl¹dania danych zgromadzonych w ich tabelach tworzone s¹ mniej lub bardziej rozbudowane aplikacje. Dziêki nim informacje z baz danych przedstawiane s¹ w formie mo¿liwej do przegl¹dania, modyfikowania i drukowania. Java — w pocz¹tkowym okresie swojego rozwoju kojarzona by³a wy³¹cznie z Internetem i koszmarnymi apletami typu „padaj¹cy ġnieg”, dziġ jest uznanym i popularnym jêzykiem programowania, coraz czêġciej wykorzystywanym do tworzenia aplikacji bazodanowych. Producenci ġrodowisk programistycznych równie¿ zwrócili uwagê na popularnoġæ Javy, co zaowocowa³o powstaniem kilku bardzo udanych narzêdzi, a wġród nich — JBuilder Enterprise. „JBuilder i bazy danych” to podrêcznik tworzenia aplikacji bazodanowych za pomoc¹ ġrodowiska JBuilder Enterprise. Przedstawia zarówno zagadnienia zwi¹zane z bazami danych, jak i te, które wi¹¿¹ siê z wykorzystywaniem ich w aplikacjach w jêzyku Java. Opisuje komponenty bazodanowe oferowane przez JBuildera oraz sposoby projektowania i implementowania aplikacji z ich wykorzystaniem. Zawiera równie¿ informacje dotycz¹ce tworzenia mechanizmów raportuj¹cych i drukuj¹cych. • Elementy jêzyka SQL • Tworzenie tabel baz danych • £¹czenie aplikacji z baz¹ danych • Sterowniki JDBC • SQL Server 2000 • Zastosowanie komponentów bazodanowych oraz komponentów graficznego interfejsu u¿ytkownika w JBuilder • Projektowanie aplikacji bazodanowej w JBuilder • Raporty oraz drukowanie Przekonaj siê, jak szybko i efektywnie mo¿esz tworzyæ aplikacje w ġrodowisku JBuilder Spis treści Wstęp ...................................................z............................................ 7 Rozdział 1. Baza danych ...................................................z................................... 9 Elementy baz danych...................................................a...................................................a. 10 Zasady projektowania baz danych...................................................a................................ 12 Podsumowanie ...................................................a...................................................a.......... 16 Rozdział 2. Elementy języka SQL...................................................z..................... 17 Polecenia SQL...................................................a...................................................a........... 19 SELECT ...................................................a...................................................a.................... 19 INSERT...................................................a...................................................a..................... 22 UPDATE ...................................................a...................................................a...................23 DELETE...................................................a...................................................a.................... 24 CREATE TABLE...................................................a...................................................a...... 24 DROP TABLE ...................................................a...................................................a.......... 27 ALTER TABLE ...................................................a...................................................a........ 28 CREATE VIEW ...................................................a...................................................a........ 29 DROP VIEW...................................................a...................................................a............. 30 COMMIT ...................................................a...................................................a.................. 30 ROLLBACK ...................................................a...................................................a............. 31 TRANSAKCJE ...................................................a...................................................a......... 31 WHERE................................................a...................................................a........................ 31 TRIGGERY...................................................a...................................................a............... 32 Procedury składowane (stored procedure)...................................................a.................... 33 Funkcje agregujące...................................................a...................................................a.... 34 Podsumowanie ...................................................a...................................................a.......... 35 Rozdział 3. Narzędzia wspomagające tworzenie i modyfikację baz danych ........... 37 Przygotowanie projektu...................................................a................................................ 42 Tworzenie tablicy ...................................................a...................................................a...... 43 Tworzenie kluczy głównych...................................................a......................................... 45 Tworzenie powiązań między tablicami ...................................................a........................ 45 Tworzenie perspektyw...................................................a.................................................. 47 Generowanie skryptów...................................................a................................................. 47 Generowanie dokumentacji projektu...................................................a............................ 49 Podsumowanie ...................................................a...................................................a.......... 50 4 JBuilder i bazy danych Rozdział 4. Połączenie z bazą danych...................................................z.............. 51 SQL Server 2000...................................................a...................................................a....... 52 DBase ...................................................a...................................................a........................ 55 Access ...................................................a...................................................a....................... 55 Sterowniki JDBC...................................................a...................................................a....... 56 Podsumowanie ...................................................a...................................................a.......... 59 Rozdział 5. SQL Server 2000 ...................................................z.......................... 61 Instalacja pakietu...................................................a...................................................a.......64 Struktura SQL Servera 2000 ...................................................a........................................ 69 Usługi SQL Server ...................................................a...................................................a.... 70 Najważniejsze narzędzia pakietu...................................................a.................................. 70 Przygotowanie projektu bazy ...................................................a....................................... 81 Migracja bazy ...................................................a...................................................a............87 Podsumowanie ...................................................a...................................................a.......... 90 Rozdział 6. Tworzenie bazy danych Access...................................................z...... 91 Przykładowy projekt bazy ...................................................a............................................ 91 Użytkownicy i uprawnienia...................................................a.......................................... 98 Podsumowanie ...................................................a...................................................a.......... 99 Rozdział 7. Przygotowanie bazy w systemie JDataStore .................................... 101 DataBase Pilot ...................................................a...................................................a......... 103 JDataStore Explorer ...................................................a...................................................a 104 Uprawnienia i użytkownicy...................................................a........................................ 111 JDataStore Server ...................................................a...................................................a.... 113 Podsumowanie ...................................................a...................................................a........ 115 Rozdział 8. Komponenty bazodanowe w JBuilderze ........................................... 117 Wstęp ...................................................a...................................................a...................... 117 Java i bazy danych...................................................a...................................................a... 119 JBuilder i bazy danych ...................................................a............................................... 123 DataExpress...................................................a...................................................a............. 124 DataBase ...................................................a...................................................a.................124 TableDataSet ...................................................a...................................................a........... 125 QueryDataSet ...................................................a...................................................a.......... 126 QueryResolver...................................................a...................................................a......... 129 ProcedureDataSet ...................................................a...................................................a.... 129 ProcedureResolver ...................................................a...................................................a.. 129 ParameterRow ...................................................a...................................................a......... 130 DataSetView...................................................a...................................................a............ 132 DataStore...................................................a...................................................a................. 134 StorageDataSet ...................................................a...................................................a........ 134 DataStoreConnection ...................................................a................................................. 134 TxManager ...................................................a...................................................a.............. 135 DataStoreServer ...................................................a...................................................a...... 135 DataStorePump...................................................a...................................................a........ 136 DataStoreSync ...................................................a...................................................a......... 136 JDBCDataSource ...................................................a...................................................a.... 137 Podsumowanie ...................................................a...................................................a........ 137 Rozdział 9. Komponenty graficzne dbSwing ...................................................z... 139 JFrame ...................................................a...................................................a..................... 141 JPanel ...................................................a...................................................a...................... 142 JToolBar...................................................a...................................................a.................. 142 Spis treści 5 JMenuBar, JMenu, JMenuItem ...................................................a.................................. 143 JOptionPane — standardowe okna dialogowe ...................................................a........... 143 JDBRadioButton ...................................................a...................................................a..... 147 JDBCheckBox ...................................................a...................................................a......... 148 JDBToggleButton...................................................a...................................................a.... 149 JDBLabel...................................................a...................................................a.................149 JDBTextField ...................................................a...................................................a.......... 149 JDBTextArea...................................................a...................................................a........... 150 JDBTextPane...................................................a...................................................a........... 152 JDBEditorPane ...................................................a...................................................a........ 152 JDBComboBox ...................................................a...................................................a....... 153 JDBList ...................................................a...................................................a................... 156 JDBSlider ...................................................a...................................................a................156 JDBTree ...................................................a...................................................a..................157 JDBTable...................................................a...................................................a.................158 TableScrollPane ...................................................a...................................................a...... 160 JDBStatusLabel ...................................................a...................................................a....... 161 JDBNavToolBar...................................................a...................................................a...... 161 DBPasswordPrompter ...................................................a................................................ 162 Zdarzenia...................................................a...................................................a................. 162 Podsumowanie ...................................................a...................................................a........ 165 Rozdział 10. Projektowanie aplikacji bazodanowej.............................................. 167 Etapy projektu aplikacji klient-serwer...................................................a........................ 168 Charakterystyka aplikacji typu klient-serwer ...................................................a............. 169 Projektowanie aplikacji z użyciem JBuilder8...................................................a............. 169 JBuilder 8 — wiadomości ogólne ...................................................a.............................. 170 Elementy używane do projektowania aplikacji ...................................................a.......... 175 Projekt aplikacji na platformie Access ...................................................a....................... 176 Założenia projektowe ...................................................a........................................... 176 Projekt bazy...................................................a...................................................a.............177 Projekt aplikacji...................................................a...................................................a....... 179 Projekt aplikacji na platformie SQL Server 2000...................................................a....... 196 Założenia projektowe ...................................................a........................................... 197 Projekt bazy...................................................a...................................................a.............198 Projekt aplikacji...................................................a...................................................a....... 206 Wywoływanie okien z menu ...................................................a...................................... 228 Podsumowanie ...................................................a...................................................a........ 230 Rozdział 11. Prezentacja wyników pracy aplikacji: raporty i wydruki ................... 231 Projektowanie wydruku...................................................a.............................................. 234 Dołączanie rysunków do wydruków ...................................................a.......................... 237 Używanie wydruków podczas pracy aplikacji...................................................a............ 238 Podsumowanie ...................................................a...................................................a........ 239 Rozdział 12. Przygotowanie pakietu aplikacji ...................................................z.. 241 Tworzenie pliku archiwum...................................................a......................................... 241 Tworzenie pliku uruchomieniowego ...................................................a.......................... 244 Podsumowanie ...................................................a...................................................a........ 246 Skorowidz...................................................z................................... 247 Rozdział 7. Przygotowanie bazy w systemie JDataStore W pakiecie JBuilder, poza środowiskiem projektowania aplikacji, zawarto również kilka narzędzi, służących do przygotowania i pracy z bazami danych w systemie JDataStore. Jest to rozwiązanie, które możemy stosować wszędzie tam, gdzie nie ma potrzeby używania systemów bazodanowych innych firm. Korzystanie z plików *.jds 1 nie wymaga stosowania sterowników ODBC, połączenie jest nawiązywane całkowicie za pomocą języka Java, przy użyciu sterownika com.borland.datastore.jdbc.DataStoreDriver. JData- Store jest wydajnym, w całości napisanym w języku Java rozwiązaniem, stworzonym na potrzeby magazynowania danych dla aplikacji tworzonych w JBuilderze. Dostęp do bazy danych uzyskujemy przez sterowniki JDBC i interfejs DataExpress. System obsługuje transakcyjność i pracę wielu użytkowników, magazynowanie obiektów seriali- zowanych, tabel i innych plików. Bazy danych tego typu charakteryzują się następującymi parametrami:          minimalna wielkość bloku danych: 1 KB, maksymalna wielkość bloku danych: 32 KB, domyślna wielkość bloku danych: 4 KB, maksymalna wielkość pliku JDataStore: 2 biliony bloków (2 G). Dla domyślnego rozmiaru bloku maksymalna wielkość bazy będzie miała 8 796 093 022 208 bajtów (8 TB), maksymalna liczba wierszy w tablicy: 4 biliony (4 G), maksymalna długość wiersza: 1/3 wielkości bloku, maksymalna wielkość danych typu BLOB: 2 GB każda, maksymalna wielkość strumienia plikowego: 2 GB dla każdego, znak separatora katalogów: /, B 1 Pliki zawierające strukturę bazy danych JDataStore. 102 JBuilder i bazy danych  zarezerwowane nazwy:  SYS/Connections,  SYS/Queries,  SYS/Users. W bazach typu JDataStore wykorzystywane są typy danych przedstawione w tabeli 7.1. Tabela 7.1. Typy danych obsługiwane przez JDataStore Typ danych w JDataStore Opis Synonim SMALLINT Wartość numeryczna z zakresu –32768 do 32767 SHORT INT BIGINT Wartość numeryczna z zakresu –2147483648 do 2147483647 Wartość numeryczna z precyzją –9223372036854775808 do 9223372036854775807 INTEGER LONG DECIMAL (p, d) Wartość rzeczywista z precyzją: p oznacza liczbę cyfr przed przecinkiem, d — po przecinku. Maksymalna ich suma może być równa 72 BIGDECIMAL REAL DOUBLE Wartość numeryczna z przedziału od 1.4E-45 do 3.4E38 z precyzją 23 bitów Wartość rzeczywista z zakresu od 4.9E-324 do 1.8E308 z precyzją 52 bitów FLOAT (p) Wartość numeryczna z precyzją do 52 bitów DOUBLE_PRECISION VARCHAR (p, m) Ciąg znaków zmiennej długości: p — długość całkowita ciągu, m — liczba znaków w wierszu. Domyślnie wielkość p nie jest określona, m domyślnie przyjmuje wartość 64 STRING VARBINARY (p, m) Ciąg binarny zmiennej długości. Znaczenie parametrów takie samo jak powyżej INPUTSTREAM BINARY OBJECT (t, m) Ciąg obiektów języka Java, składowanych w bazie dzięki serializacji obiektów: t oznacza klasę obiektu, m — liczbę obiektów BOOLEAN Zmienna dwuwartościowa true / false BIT DATE TIME Data liczona od roku 0 Czas określany w zakresie: 00:00:00 do 23:59:59 TIMESTAMP Zwraca czas i datę w zależności od strefy czasowej Dołączone narzędzia, poza przeglądaniem danych, dodatkowo zapewniają nam proste mechanizmy administracyjne, tzn. zarządzanie użytkownikami, przydzielanie praw, two- rzenie kopii bezpieczeństwa bazy, import danych z innych platform bazodanowych itp. Do wykorzystania mamy trzy aplikacje, z których każda jest używana do innych funkcji. Rozdział 7. ♦ Przygotowanie bazy w systemie JDataStore 103    DataBase Pilot zapewnia możliwość przeglądania baz, których aliasy są zdefiniowane w ODBC. Przy jego wykorzystaniu możemy podejrzeć zawartość każdej bazy, do której posiadamy sterownik ODBC, a nie tylko JDataStore. JDataStore Explorer — za pomocą tego narzędzia mamy możliwość tworzenia struktury bazy JDataStore, tworzenia nowych baz, testowania zapytań SQL itd. JDataStore Server — serwer baz danych JDataStore. Jeżeli chcemy stworzyć bazę zdalną, z którą aplikacje klientów będą łączyły się przez sieć, lub umożliwić podłączenie wielu użytkowników, musimy na komputerze uruchomić serwer JDataStore. DataBase Pilot Aplikację możemy wykorzystać na przykład w sytuacji, gdy jest potrzebna ręczna mody- fikacja bazy, a nie posiadamy narzędzi administracyjnych, które powinny być dostarczone z określonym systemem bazodanowym. Na rysunku 7.1 widzimy interfejs aplikacji z listą dostępnych baz danych do przeglądania w lewym oknie. Prawe okno, w zależności od wybranej zakładki, udostępnia dwie funkcje:   informacje o źródle danych, gdy wybrana jest zakładka Definition. Na przykładzie widać dane dotyczące bazy danych stworzonej za pomocą Accessa. W zależności od rodzaju wybranej bazy, znajdują się tam podstawowe informacje dotyczące sterownika, nazwy użytkownika, hasła itd., podręczny edytor poleceń SQL, jeżeli wybierzemy Enter SQL. Za jego pomocą możemy edytować polecenia SQL i wykonywać je natychmiastowo — EXECUTE. Możliwe jest również wczytywanie skryptów zawierających odpowiednie polecenia i wykonywanie ich za pomocą przycisku Load SQL. Na dole zakładki znajduje się wynik wykonania polecenia 5 . 6 wraz z komponentem nawigacyjnym, za pomocą którego możemy edytować określone wartości. Jeżeli dane są pobierane z kilku tablic, należy pamiętać o wypełnieniu wszystkich wymaganych danych przy uwzględnieniu struktury bazy, czyli ograniczeń i kluczy. W przypadku gdy dane będą niewłaściwe lub niekompletne, zostanie wygenerowany komunikat o błędzie. Bardzo proste menu główne aplikacji zawiera trzy pozycje:  File — podmenu, udostępnia nam funkcje:  New tworzy nowy URL, czyli źródło danych na liście dostępnych,  Open otwiera bazę danych stworzoną wcześniej za pomocą opcji New,  Close zamyka aktualne źródło danych,  Create Table tworzy tabelę w wybranej bazie,  Apply uaktualnia zmiany w bazie, 104 Rysunek 7.1. Okno główne aplikacji DataBase Pilot JBuilder i bazy danych  Cancel cofa zmiany dokonane w bazie,  Delete usuwa URL z listy.  View — ustawienia dotyczące sposobu prezentowania danych w aplikacji. Dodatkowa opcja pozwala na podgląd danych typu BLOB. W przykładzie na rysunku 7.1 w oknie z listą URL znajdują się trzy bazy JDataStore oraz dwie Accessa. Aby dodać nowy alias bazy danych do listy, używamy funkcji New. W oknie dialogowym, jak na rysunku 7.2, wybieramy sterownik, za pomocą którego będziemy się komunikowali z bazą (w polu Driver), oraz źródło danych. Rysunek 7.2. Konfiguracja nowego URL-a W przypadku sterownika ODBC jest to alias bazy danych z Administrator ODBC, w przy- padku bazy JDataStore jest to plik *.jds w określonej lokalizacji. Dostępne sterowniki omówię przy komponencie CVC$CUG w rozdziale 8. Kiedy już połączenie z bazą zo- stanie nawiązane, możemy za pomocą zakładki Execute Sql i odpowiednich poleceń operować na danych. Na rysunku 7.3 widać efekty wykonania prostego zapytania na przykładowej bazie. JDataStore Explorer Drugie z opisywanych narzędzi jest przeznaczone dla projektantów bazy JDataStore. Za- wiera ono szereg przydatnych funkcji, za pomocą których możemy wykonać wszystkie charakterystyczne operacje, znane z innych platform bazodanowych. Okno główne aplikacji Rozdział 7. ♦ Przygotowanie bazy w systemie JDataStore 105 Rysunek 7.3. Wykorzystanie zakładki Enter Sql do pracy z bazą danych (rysunek 7.4) jest podzielone na dwie części. W lewej znajduje się drzewo rozwijane z aktualnie otwartymi źródłami JDataStore oraz ich elementami, w prawej pojawiają się różne opcje, w zależności od wybranego obiektu. Rysunek 7.4. Okno główne aplikacji JDataStore Explorer W przedstawionym przykładzie z drzewa została tabela — T_TEST. Z prawej strony możemy podejrzeć jej zwartość na karcie View lub strukturę (karta Structure), co widać na rysunku. Menu aplikacji zostało podzielone na kilka sekcji:   File — za pomocą funkcji tu umieszczonych tworzymy nowe bazy danych lub otwieramy istniejące, Edit — funkcje edycji, takie jak usuwanie, zmiana nazwy, cofanie operacji usuwania, 106 JBuilder i bazy danych    View — opcje rozwijania i zwijania poszczególnych elementów struktury drzewa, TxManager — manager zarządzania transakcjami, Tools zawiera funkcje służące do administracji i zarządzania bazą danych:  Import — wczytywanie z innych platform bazodanowych struktury bazy,  Sql — testowanie poleceń SQL,  Create Table — tworzenie tabeli,  Create Index — tworzenie indeksów,  Refresh JDataStore — odświeżanie bazy danych,  Save JDataStore — zapis zmian do pliku jds,  Delete JDataStore — usunięcie wybranej bazy danych,  Verify JDataStore — weryfikacja poprawności bazy,  Pack JDataStore — wykonywanie kopii bezpieczeństwa bazy,  Copy JDataStore — kopiowanie pliku jds,  Administer Users — zarządzanie użytkownikami i prawami. W celu zapoznania się z programem, przedstawię proces przygotowania kilku tabel w nowej bazie danych. Pierwszym krokiem jest oczywiście stworzenie pliku jds. Wybiera- my z menu opcję File/New i w oknie dialogowym New JDataStore, jak na rysunku 7.5, ustalamy wymagane parametry. Rysunek 7.5. Parametry nowo tworzonej bazy danych JDataStore Najważniejsze parametry to ustalenie: pliku jds, w którym będzie przechowywana nasza baza, wersji sterownika JDS, wielkości bloku w kilobajtach (Block size in kilobytes) oraz parametrów dodatkowych, dotyczących używania logów. Jeżeli zdecydujemy, że nasza baza nie powinna obsługiwać transakcji, pole Install w sekcji Tx Manager powinno Rozdział 7. ♦ Przygotowanie bazy w systemie JDataStore 107 pozostać odznaczone. W przeciwnym przypadku wybieramy przycisk Properties i usta- lamy dodatkowe parametry, jak widać na tym samym rysunku w oknie Tx Manager Properties. W oknie zawarto kilka parametrów związanych z obsługą logów:      Maximum open logs decyduje o liczbie otwartych plików logów. Jeżeli używamy więcej niż jednego, warto rozmieścić je w różnych lokalizacjach lub nawet napędach. Zabezpieczy to naszą bazę przed konsekwencjami awarii, Maximum log size — maksymalna wielkość pliku logów, domyślnie 64 MB, A, B log directory — lokalizacja plików logów. Jeżeli pola pozostawimy puste, pliki logów zostaną umieszczone w tej samej lokalizacji, co plik bazy danych, Check frequency — częstotliwość zapisywania do plików. Decyduje, jak często powstają zapisy do plików logów. Im częstsze zapisy, tym większe bezpieczeństwo, ale wolniejsza praca bazy, Soft Commit określa, czy używać opcji programowego zatwierdzania transakcji. Programowa realizacja gwarantuje odzyskanie danych w momencie awarii aplikacji. Nie zabezpiecza natomiast przed awariami spowodowanymi przez system operacyjny lub sprzęt, dlatego też jest zalecana dla stabilnego środowiska pracy aplikacji. Opcja ta poprawia działanie poprzez wstrzymywanie zapisów na dysk i wykonywanie operacji bazodanowych w pamięci komputera,  Record status kontroluje, czy komunikaty generowane podczas pracy z bazą są zapisywane do pliku logów STATUS log, który jest przechowywany w lokalizacji określonej w A log directory (rysunek 7.5). Po stworzeniu bazy przystępujemy do zaprojektowania struktury. Możemy do tego celu wykorzystać zewnętrzne narzędzia projektowe (jak chociażby wspomniane w rozdziale 3.) i po wygenerowaniu skryptów SQL wczytać je i wykonać na naszej bazie, lub wy- korzystać funkcje programu. Aby zapoznać Czytelnika z działaniem JDataStore Explo- rera, zaprojektujemy bazę za jego pomocą. Na początku dodamy dwie tablice, zawie- rające proste dane, później utworzymy indeksy i powiązania. W celu dodania nowej tablicy wybieramy z menu Tools/Create Table. Na rysunku 7.6 widzimy okno dialo- gowe edytora tablicy. Dla naszych potrzeb przygotujemy dwie tablice, zawierające ponownie dane ludzi i dane adresowe. Jedną z nich widzimy na rysunku 7.6, zawiera ona trzy kolumny:  ID_$ — identyfikator, typ INT, pole ustalone jako wymagane (Required) oraz automatycznie zwiększające wartość w przypadku wykonywania polecenia +05 46 (AutoIncrement). Dodatkowo dla każdej kolumny można ustalić wartość domyślną w kolumnie Default,  MIASTO — nazwa miasta, typ STRING o długości 20 znaków, pole również musi być wypełnione,  ULICA — definicja jest dokładnie taka sama, jak w przypadku poprzedniej kolumny,  ID_USER — kolumna, która zostanie wykorzystana jako klucz obcy do kolumny ID_$ w tabeli T_LUDZIE. Również zdefiniujemy ją jako wymaganą i ustalimy taki sam typ, jak dla kolumn ID_$. 108 Rysunek 7.6. Definiowanie nowej tablicy o nazwie T_ADRESY JBuilder i bazy danych Druga o nazwie T_LUDZIE będzie zawierała następujące kolumny:    ID_$ — identyfikator, typ INT, pole ustalone jako wymagane (Required) oraz automatycznie zwiększające wartość w przypadku wykonywania polecenia +05 46 (AutoIncrement), IMIE — nazwa miasta, typ STRING o długości 15 znaków, pole również musi być wypełnione, NAZWISKO — definicja jest dokładnie taka sama, jak w przypadku poprzedniej kolumny,  ROK — rok urodzenia. Kiedy tablice zostaną już przygotowane, należy zdefiniować — jeśli potrzeba — in- deksy i klucze w poszczególnych tablicach. W celu utworzenia indeksu i klucza w tabeli wybieramy ją z listy i wywołujemy opcję menu Tools/Create Index. Powoduje to otwarcie okna dialogu jak na rysunku 7.7, w którym określimy wymagane parametry. Aby przygotować indeks, wystarczy podać jego nazwę w polu Index Name i przenieść w sekcji Columns kolumny (jedną lub więcej) z okna Available do Selected. W tym przykładzie tworzymy indeks na kolumnie ID_$. Ma on być kluczem głównym, dlatego zaznaczamy pole Primary Key oraz Unique. Podczas tworzenia indeksów w JData- Store zauważamy, że nie można stworzyć indeksu na kolumnie z atrybutem AutoIn- crement (numerowanie automatyczne). W ten sposób możemy przygotować indeksy i klucze główne we wszystkich wymagających tego tabelach w bazie. Nazwy nadawane indeksom powinny być dla jasności nazywane w zgodzie z przyjętą przez projektanta konwencją. Oczywiście każdy projektant może przyjąć własny sposób nazewnictwa. W naszym przykładzie przyjęliśmy schemat:  dla klucza głównego — IDX_PK_nazwaTabeli, pierwszy człon oznacza, że jest to indeks, drugi oznacza PK — primary key, FK — foreign key,  dla klucza obcego — IDX_FK_nazwaKolumny. Rozdział 7. ♦ Przygotowanie bazy w systemie JDataStore 109 Rysunek 7.7. Edytor indeksów O ile do tworzenia tabel, indeksów i kluczy głównych możemy wykorzystać odpo- wiednie pozycje menu, przygotowanie pozostałych elementów bazy nie jest już takie proste. Aplikacja nie udostępnia narzędzi do tworzenia ograniczeń czy wizualnego tworzenia relacji pomiędzy tabelami (jak chociażby prezentowany w poprzednim roz- dziale MS Access). W celu zapewnienia spójności referencyjnej bazy oraz ustalenia dodatkowych parametrów jej struktury musimy wykorzystać język SQL i za pomocą odpowiednich poleceń utworzyć wymagane składniki. Na szczęście autorzy aplikacji wśród dostępnych funkcji umieścili edytor poleceń SQL. Praca z nim nie jest może szczególnie wygodna, ale spełnia on swoje zadania. My go wykorzystamy do przy- gotowania kluczy obcych oraz dodania ograniczeń na kolumny tabel. Edytor można uruchomić na dwa sposoby, wybierając z menu Tools/SQL lub ikonę SQL z paska na- rzędzi. Okno edytora widzimy na rysunku 7.8, zawiera ono kilka przycisków, które możemy wykorzystać do wykonania polecenia SQL (Execute), przywrócenia poprzed- niego polecenia (Previous), wybrania następnego (Next) oraz wczytania zewnętrznego pliku z poleceniami SQL (Load SQL). Za pomocą tego ostatniego możemy wczytać skrypty przygotowane przez zewnętrzne narzędzia projektowe typu CASE. W pierw- szym kroku przygotujemy klucz obcy w tabeli T_ADRESY do tabeli T_LUDZIE o na- zwie IDX_FK_ID_USER. Na podstawie wiedzy zdobytej w rozdziale 2. edytujemy na- stępujące polecenie: #.6 46#$. 6A# 4 5;#  10564#+06+ :A(-A+ A75 4(14 +)0- ; + A75 4 4 ( 4 0 5 6A.7 +  + A 10 . 6  #5 # 1072 #6  #5 # Stworzy ono ograniczenie na kolumnie ID_USER w tablicy T_ADRESY, które nie zezwoli, aby do tej kolumny została wpisana wartość, która nie występuje w kolumnie ID_$ w tabeli T_LUDZIE. Jest to podobna relacja, jaką tworzyliśmy w rozdziale 6., jednak w tym przypadku projektujemy ją bez użycia interfejsu graficznego. Po dodaniu ograni- czenia odpowiednia gałąź pojawia się w lewym oknie struktury bazy (rysunek 7.9). JBuilder i bazy danych 110 Rysunek 7.8. Edytor poleceń SQL w aplikacji JDataStore Explorer Rysunek 7.9. Struktura bazy z dodanymi kluczami primary key i foreign key Należy pamiętać o zgodności typów kolumn, wykorzystywanych w takim ograniczeniu. W ten sposób możemy tworzyć zależności pomiędzy innymi tablicami w bazie. Zasada działania jest taka sama, jak w innych systemach bazodanowych i zapewnia spójność referencyjną bazy. Drugie ograniczenie, jakie dodamy do naszej bazy, będzie dotyczyło kolumny ROK w tablicy T_LUDZIE. Ma ono na celu uniemożliwienie wpisywania roku poniżej wartości 1900. W tym celu wykorzystamy poniższą instrukcję i za pomocą po- lecenia Execute edytora SQL wykonamy ją na bazie. #.6 46#$. 6A.7 + #  10564#+06/+0A41-A.7 +  * - 41-  Tym sposobem możemy przygotować wszelkie inne polecenia SQL i wykonać je na bazie JDataStore. Poza standardowymi funkcjami, dostarczanymi przez język SQL, bazy JDataStore do- starczają kilka dodatkowych funkcji, które programista może wykorzystać przy two- rzeniu poleceń SQL. Należy jednak pamiętać, że instrukcje SQL, wykorzystujące te funkcje, będą wymagały zmian, gdy przeniesiemy je na inną platformę bazodanową. Krótka lista najczęściej wykorzystywanych funkcji: Rozdział 7. ♦ Przygotowanie bazy w systemie JDataStore 111  #$51.76 zwraca wartość bezwzględną z podanej 5 . 6#$51.76 9#4615 (41/6#$.+ #  744 06A #6 , 744 06A6+/ i 744 06A6+/ 56#/2 — bardzo przydatne funkcje, zwracające aktualną datę i czas. Podajemy nazwę funkcji w poleceniu UGNGEV, jak widać poniżej, nazwa tablicy jest nieistotna, znajduje się jedynie w celu poprawności składni SQL. 5 . 6 744 06A6+/ 56#/2 (41/6A.7 + W wyniku zapytania otrzymamy aktualną datę i czas.  .19 4 and 722 4 — użycie funkcji spowoduje zmianę wszystkich liter w ciągu lub kolumnie podanej jako parametr na duże lub małe.  :64# 6 służy do wydzielenia z danych typu #6 i 6+/ . Za pomocą pierwszego polecenia pobierzemy miesiąc z podanej daty i będzie to wartość . :64# 6 /106*(41/ #6   Za pomocą drugiego godzinę — 19. :64# 6 *174(41/6+/    Podczas używania funkcji należy pamiętać o odpowiedniej formie podanej wartości, jak widać w przykładach.  215+6+10 zwraca pozycję zadanego ciągu znaków wewnątrz innego. Wykonanie polecenia 215+6+10 $ +0 #$ () da w rezultacie 2.  57$564+0) zwraca w wyniku zapytania substring (wycinek tekstu) pobrany z kolumny ciąg znaków. 57$564+0) #$ () (41/(14 zwraca ciąg $  64+/ — z pobranego ciągu znaków usuwa spacje lub inne zadane znaki 64+/ 7UWYCPKGURCELK W wyniku wykonania tej funkcji otrzymamy string 7UWYCPKGURCELK , wykonanie polecenia z parametrem spowoduje usunięcie podanego znaku — tutaj  64+/ . # +0)  (41/  w wyniku otrzymamy 789.75 .
Pobierz darmowy fragment (pdf)

Gdzie kupić całą publikację:

JBuilder i bazy danych
Autor:

Opinie na temat publikacji:


Inne popularne pozycje z tej kategorii:


Czytaj również:


Prowadzisz stronę lub blog? Wstaw link do fragmentu tej książki i współpracuj z Cyfroteką: