SlideShare a Scribd company logo
1 of 15
Download to read offline
IDZ DO
         PRZYK£ADOWY ROZDZIA£

                           SPIS TRE CI   JBuilder
                                         i bazy danych
           KATALOG KSI¥¯EK
                                         Autor: Mariusz Marzec
                      KATALOG ONLINE     ISBN: 83-7361-748-5
                                         Format: B5, stron: 264
       ZAMÓW DRUKOWANY KATALOG


              TWÓJ KOSZYK                Informacja — najcenniejszy towar na wspó³czesnym rynku, wymaga rozbudowanych
                                         narzêdzi pozwalaj¹cych na magazynowanie i korzystanie z niej. Do magazynowania
                    DODAJ DO KOSZYKA     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¹
         CENNIK I INFORMACJE             w formie mo¿liwej do przegl¹dania, modyfikowania i drukowania.
                                         Java — w pocz¹tkowym okresie swojego rozwoju kojarzona by³a wy³¹cznie z Internetem
                   ZAMÓW INFORMACJE      i koszmarnymi apletami typu „padaj¹cy nieg”, dzi jest uznanym i popularnym
                     O NOWO CIACH        jêzykiem programowania, coraz czê ciej wykorzystywanym do tworzenia aplikacji
                                         bazodanowych. Producenci rodowisk programistycznych równie¿ zwrócili uwagê
                       ZAMÓW CENNIK      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¹
                 CZYTELNIA                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.
          FRAGMENTY KSI¥¯EK ONLINE       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
Wydawnictwo Helion                           • Raporty oraz drukowanie
ul. Chopina 6                                                Przekonaj siê, jak szybko i efektywnie
44-100 Gliwice
tel. (32)230-98-63                                       mo¿esz tworzyæ aplikacje w rodowisku JBuilder
e-mail: helion@helion.pl
Spis treści
                Wstęp ............................................................................................... 7
Rozdział 1. Baza danych ...................................................................................... 9
                Elementy baz danych....................................................................................................... 10
                Zasady projektowania baz danych................................................................................... 12
                Podsumowanie ................................................................................................................ 16
Rozdział 2. Elementy języka SQL........................................................................ 17
                Polecenia SQL................................................................................................................. 19
                SELECT .......................................................................................................................... 19
                INSERT........................................................................................................................... 22
                UPDATE ......................................................................................................................... 23
                DELETE.......................................................................................................................... 24
                CREATE TABLE............................................................................................................ 24
                DROP TABLE ................................................................................................................ 27
                ALTER TABLE .............................................................................................................. 28
                CREATE VIEW.............................................................................................................. 29
                DROP VIEW................................................................................................................... 30
                COMMIT ........................................................................................................................ 30
                ROLLBACK ................................................................................................................... 31
                TRANSAKCJE ............................................................................................................... 31
                WHERE........................................................................................................................... 31
                TRIGGERY..................................................................................................................... 32
                Procedury składowane (stored procedure)....................................................................... 33
                Funkcje agregujące.......................................................................................................... 34
                Podsumowanie ................................................................................................................ 35
Rozdział 3. Narzędzia wspomagające tworzenie i modyfikację baz danych ........... 37
                Przygotowanie projektu................................................................................................... 42
                Tworzenie tablicy ............................................................................................................ 43
                Tworzenie kluczy głównych............................................................................................ 45
                Tworzenie powiązań między tablicami ........................................................................... 45
                Tworzenie perspektyw..................................................................................................... 47
                Generowanie skryptów.................................................................................................... 47
                Generowanie dokumentacji projektu............................................................................... 49
                Podsumowanie ................................................................................................................ 50
4                                                                                                                JBuilder i bazy danych


Rozdział 4. Połączenie z bazą danych................................................................. 51
                SQL Server 2000............................................................................................................. 52
                DBase .............................................................................................................................. 55
                Access ............................................................................................................................. 55
                Sterowniki JDBC............................................................................................................. 56
                Podsumowanie ................................................................................................................ 59
Rozdział 5. SQL Server 2000 ............................................................................. 61
                Instalacja pakietu............................................................................................................. 64
                Struktura SQL Servera 2000 ........................................................................................... 69
                Usługi SQL Server .......................................................................................................... 70
                Najwa niejsze narzędzia pakietu..................................................................................... 70
                Przygotowanie projektu bazy .......................................................................................... 81
                Migracja bazy.................................................................................................................. 87
                Podsumowanie ................................................................................................................ 90
Rozdział 6. Tworzenie bazy danych Access......................................................... 91
                Przykładowy projekt bazy ............................................................................................... 91
                U ytkownicy i uprawnienia............................................................................................. 98
                Podsumowanie ................................................................................................................ 99
Rozdział 7. Przygotowanie bazy w systemie JDataStore .................................... 101
                DataBase Pilot............................................................................................................... 103
                JDataStore Explorer ...................................................................................................... 104
                Uprawnienia i u ytkownicy........................................................................................... 111
                JDataStore Server .......................................................................................................... 113
                Podsumowanie .............................................................................................................. 115
Rozdział 8. Komponenty bazodanowe w JBuilderze ........................................... 117
                Wstęp ............................................................................................................................ 117
                Java i bazy danych......................................................................................................... 119
                JBuilder i bazy danych .................................................................................................. 123
                DataExpress................................................................................................................... 124
                DataBase ....................................................................................................................... 124
                TableDataSet ................................................................................................................. 125
                QueryDataSet ................................................................................................................ 126
                QueryResolver............................................................................................................... 129
                ProcedureDataSet .......................................................................................................... 129
                ProcedureResolver ........................................................................................................ 129
                ParameterRow ............................................................................................................... 130
                DataSetView.................................................................................................................. 132
                DataStore....................................................................................................................... 134
                StorageDataSet .............................................................................................................. 134
                DataStoreConnection .................................................................................................... 134
                TxManager .................................................................................................................... 135
                DataStoreServer ............................................................................................................ 135
                DataStorePump.............................................................................................................. 136
                DataStoreSync............................................................................................................... 136
                JDBCDataSource .......................................................................................................... 137
                Podsumowanie .............................................................................................................. 137
Rozdział 9. Komponenty graficzne dbSwing ...................................................... 139
                JFrame ........................................................................................................................... 141
                JPanel ............................................................................................................................ 142
                JToolBar........................................................................................................................ 142
Spis treści                                                                                                                                      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ł 10. Projektowanie aplikacji bazodanowej.............................................. 167
               Etapy projektu aplikacji klient-serwer........................................................................... 168
               Charakterystyka aplikacji typu klient-serwer ................................................................ 169
               Projektowanie aplikacji z u yciem JBuilder8................................................................ 169
               JBuilder 8 — wiadomości ogólne ................................................................................. 170
               Elementy u ywane do projektowania aplikacji ............................................................. 175
               Projekt aplikacji na platformie Access .......................................................................... 176
                   Zało enia projektowe .............................................................................................. 176
               Projekt bazy................................................................................................................... 177
               Projekt aplikacji............................................................................................................. 179
               Projekt aplikacji na platformie SQL Server 2000.......................................................... 196
                   Zało enia projektowe .............................................................................................. 197
               Projekt bazy................................................................................................................... 198
               Projekt aplikacji............................................................................................................. 206
               Wywoływanie okien z menu ......................................................................................... 228
               Podsumowanie .............................................................................................................. 230
Rozdział 11. Prezentacja wyników pracy aplikacji: raporty i wydruki ................... 231
               Projektowanie wydruku................................................................................................. 234
               Dołączanie rysunków do wydruków ............................................................................. 237
               U ywanie wydruków podczas pracy aplikacji............................................................... 238
               Podsumowanie .............................................................................................................. 239
Rozdział 12. Przygotowanie pakietu aplikacji ..................................................... 241
               Tworzenie pliku archiwum............................................................................................ 241
               Tworzenie pliku uruchomieniowego ............................................................................. 244
               Podsumowanie .............................................................................................................. 246
               Skorowidz...................................................................................... 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: /,

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
                       Opis                                                     Synonim
 w JDataStore
 SMALLINT              Wartość numeryczna z zakresu –32768 do 32767             SHORT
 INT                   Wartość numeryczna z zakresu –2147483648                 INTEGER
                       do 2147483647
 BIGINT                Wartość numeryczna z precyzją                            LONG
                       –9223372036854775808
                       do 9223372036854775807
 DECIMAL (p, d)        Wartość rzeczywista z precyzją: p oznacza liczbę         BIGDECIMAL
                       cyfr przed przecinkiem, d — po przecinku.
                       Maksymalna ich suma mo e być równa 72
 REAL                  Wartość numeryczna z przedziału od 1.4E-45
                       do 3.4E38 z precyzją 23 bitów
 DOUBLE                Wartość rzeczywista z zakresu od 4.9E-324                DOUBLE_PRECISION
                       do 1.8E308 z precyzją 52 bitów
 FLOAT (p)             Wartość numeryczna z precyzją do 52 bitów
 VARCHAR (p, m)        Ciąg znaków zmiennej długości: p — długość               STRING
                       całkowita ciągu, m — liczba znaków w wierszu.
                       Domyślnie wielkość p nie jest określona,
                       m domyślnie przyjmuje wartość 64
 VARBINARY (p, m)      Ciąg binarny zmiennej długości. Znaczenie                INPUTSTREAM BINARY
                       parametrów takie samo jak powy ej
 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                  Data liczona od roku 0
 TIME                  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                                                                     JBuilder i bazy danych


Rysunek 7.1.
Okno główne aplikacji
DataBase Pilot




                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                                                                    JBuilder i bazy danych


Rysunek 7.6.
Definiowanie nowej
tablicy o nazwie
T_ADRESY




        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'4 6#$.' 6A#&4'5; #&& %10564#+06 +&:A(-A+&A75'4 (14'+)0 -';
+&A75'4 4'('4'0%'5
           6A.7+' 
+A  10 '.'6' %#5%#' 10 72#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).
110                                                                     JBuilder i bazy danych


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'4 6#$.' 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+/
 7UWYCPKG URCELK     

            W wyniku wykonania tej funkcji otrzymamy string 7UWYCPKG URCELK ,
            wykonanie polecenia z parametrem spowoduje usunięcie podanego znaku
            — tutaj 
               64+/
.'#+0)  (41/   w wyniku otrzymamy '789.75'.

More Related Content

What's hot

Adobe PageMaker 7.0. Oficjalny podręcznik
Adobe PageMaker 7.0. Oficjalny podręcznikAdobe PageMaker 7.0. Oficjalny podręcznik
Adobe PageMaker 7.0. Oficjalny podręcznikWydawnictwo Helion
 
Pajączek 5 NxG. Oficjalny podręcznik
Pajączek 5 NxG. Oficjalny podręcznikPajączek 5 NxG. Oficjalny podręcznik
Pajączek 5 NxG. Oficjalny podręcznikWydawnictwo Helion
 
Excel z elementami VBA w firmie
Excel z elementami VBA w firmieExcel z elementami VBA w firmie
Excel z elementami VBA w firmieWydawnictwo Helion
 
AutoCAD 2002 i 2004. Tworzenie makr w VBA
AutoCAD 2002 i 2004. Tworzenie makr w VBAAutoCAD 2002 i 2004. Tworzenie makr w VBA
AutoCAD 2002 i 2004. Tworzenie makr w VBAWydawnictwo Helion
 
Serwer SQL 2008. Administracja i programowanie
Serwer SQL 2008. Administracja i programowanieSerwer SQL 2008. Administracja i programowanie
Serwer SQL 2008. Administracja i programowanieWydawnictwo Helion
 
Po prostu Outlook 2000 PL. Zarządzanie czasem
Po prostu Outlook 2000 PL. Zarządzanie czasemPo prostu Outlook 2000 PL. Zarządzanie czasem
Po prostu Outlook 2000 PL. Zarządzanie czasemWydawnictwo Helion
 
Adobe Creative Suite 2/2 PL. Oficjalny podręcznik
Adobe Creative Suite 2/2 PL. Oficjalny podręcznikAdobe Creative Suite 2/2 PL. Oficjalny podręcznik
Adobe Creative Suite 2/2 PL. Oficjalny podręcznikWydawnictwo Helion
 
Adobe Dreamweaver CS3/CS3 PL. Oficjalny podręcznik
Adobe Dreamweaver CS3/CS3 PL. Oficjalny podręcznikAdobe Dreamweaver CS3/CS3 PL. Oficjalny podręcznik
Adobe Dreamweaver CS3/CS3 PL. Oficjalny podręcznikWydawnictwo Helion
 
MS Office 2000 i 2002/XP. Tworzenie własnych aplikacji w VBA
MS Office 2000 i 2002/XP. Tworzenie własnych aplikacji w VBAMS Office 2000 i 2002/XP. Tworzenie własnych aplikacji w VBA
MS Office 2000 i 2002/XP. Tworzenie własnych aplikacji w VBAWydawnictwo Helion
 

What's hot (20)

SQL. Leksykon kieszonkowy
SQL. Leksykon kieszonkowySQL. Leksykon kieszonkowy
SQL. Leksykon kieszonkowy
 
C++Builder 6 i bazy danych
C++Builder 6 i bazy danychC++Builder 6 i bazy danych
C++Builder 6 i bazy danych
 
Adobe PageMaker 7.0. Oficjalny podręcznik
Adobe PageMaker 7.0. Oficjalny podręcznikAdobe PageMaker 7.0. Oficjalny podręcznik
Adobe PageMaker 7.0. Oficjalny podręcznik
 
Pajączek 5 NxG. Oficjalny podręcznik
Pajączek 5 NxG. Oficjalny podręcznikPajączek 5 NxG. Oficjalny podręcznik
Pajączek 5 NxG. Oficjalny podręcznik
 
Praktyczny kurs SQL
Praktyczny kurs SQLPraktyczny kurs SQL
Praktyczny kurs SQL
 
ACDSee. Ćwiczenia
ACDSee. ĆwiczeniaACDSee. Ćwiczenia
ACDSee. Ćwiczenia
 
Excel z elementami VBA w firmie
Excel z elementami VBA w firmieExcel z elementami VBA w firmie
Excel z elementami VBA w firmie
 
AutoCAD 2002 i 2004. Tworzenie makr w VBA
AutoCAD 2002 i 2004. Tworzenie makr w VBAAutoCAD 2002 i 2004. Tworzenie makr w VBA
AutoCAD 2002 i 2004. Tworzenie makr w VBA
 
Serwer SQL 2008. Administracja i programowanie
Serwer SQL 2008. Administracja i programowanieSerwer SQL 2008. Administracja i programowanie
Serwer SQL 2008. Administracja i programowanie
 
Po prostu Outlook 2000 PL. Zarządzanie czasem
Po prostu Outlook 2000 PL. Zarządzanie czasemPo prostu Outlook 2000 PL. Zarządzanie czasem
Po prostu Outlook 2000 PL. Zarządzanie czasem
 
JavaServer Faces. Wydanie II
JavaServer Faces. Wydanie IIJavaServer Faces. Wydanie II
JavaServer Faces. Wydanie II
 
Po prostu CorelDRAW 11
Po prostu CorelDRAW 11Po prostu CorelDRAW 11
Po prostu CorelDRAW 11
 
Po prostu Access 2003 PL
Po prostu Access 2003 PLPo prostu Access 2003 PL
Po prostu Access 2003 PL
 
Contribute 2. Szybki start
Contribute 2. Szybki startContribute 2. Szybki start
Contribute 2. Szybki start
 
Adobe Creative Suite 2/2 PL. Oficjalny podręcznik
Adobe Creative Suite 2/2 PL. Oficjalny podręcznikAdobe Creative Suite 2/2 PL. Oficjalny podręcznik
Adobe Creative Suite 2/2 PL. Oficjalny podręcznik
 
Po prostu Office 2003 PL
Po prostu Office 2003 PLPo prostu Office 2003 PL
Po prostu Office 2003 PL
 
Adobe Dreamweaver CS3/CS3 PL. Oficjalny podręcznik
Adobe Dreamweaver CS3/CS3 PL. Oficjalny podręcznikAdobe Dreamweaver CS3/CS3 PL. Oficjalny podręcznik
Adobe Dreamweaver CS3/CS3 PL. Oficjalny podręcznik
 
Po prostu Access 2002/XP PL
Po prostu Access 2002/XP PLPo prostu Access 2002/XP PL
Po prostu Access 2002/XP PL
 
Access 2003 PL dla każdego
Access 2003 PL dla każdegoAccess 2003 PL dla każdego
Access 2003 PL dla każdego
 
MS Office 2000 i 2002/XP. Tworzenie własnych aplikacji w VBA
MS Office 2000 i 2002/XP. Tworzenie własnych aplikacji w VBAMS Office 2000 i 2002/XP. Tworzenie własnych aplikacji w VBA
MS Office 2000 i 2002/XP. Tworzenie własnych aplikacji w VBA
 

Viewers also liked

Finansowanie handlu akcjami i krótka sprzedaż
Finansowanie handlu akcjami i krótka sprzedażFinansowanie handlu akcjami i krótka sprzedaż
Finansowanie handlu akcjami i krótka sprzedażrulefinancial_pl
 
Istehza deyilən zülm. azərbaycan
Istehza deyilən zülm. azərbaycanIstehza deyilən zülm. azərbaycan
Istehza deyilən zülm. azərbaycanHarunyahyaAzerbaijan
 
Maliyyə Marketinqə qarşı
Maliyyə Marketinqə qarşıMaliyyə Marketinqə qarşı
Maliyyə Marketinqə qarşıRamil Jabbarov
 
Iron _my_research...
Iron  _my_research...Iron  _my_research...
Iron _my_research...webelandre
 
Erasmus+ Szkolnictwo wyższe
Erasmus+ Szkolnictwo wyższeErasmus+ Szkolnictwo wyższe
Erasmus+ Szkolnictwo wyższeFRSE
 
Kompetencje kadr kultury. Komentarz Sławomira Czarneckiego
Kompetencje kadr kultury. Komentarz Sławomira CzarneckiegoKompetencje kadr kultury. Komentarz Sławomira Czarneckiego
Kompetencje kadr kultury. Komentarz Sławomira CzarneckiegoMałopolski Instytut Kultury
 
Azərbaycan Milli Metbexi
Azərbaycan Milli MetbexiAzərbaycan Milli Metbexi
Azərbaycan Milli Metbexibiyaz
 
Quranda şövq və həyəcan. azərbaycan (version 2)
Quranda şövq və həyəcan. azərbaycan (version 2)Quranda şövq və həyəcan. azərbaycan (version 2)
Quranda şövq və həyəcan. azərbaycan (version 2)HarunyahyaAzerbaijan
 
Technik.logistyk 342[04] z2.01_u
Technik.logistyk 342[04] z2.01_uTechnik.logistyk 342[04] z2.01_u
Technik.logistyk 342[04] z2.01_uKasia Stachura
 
Oznakowanie PojazdóW Drogowych W Transporcie MięDzynarodowym
Oznakowanie PojazdóW Drogowych W Transporcie MięDzynarodowymOznakowanie PojazdóW Drogowych W Transporcie MięDzynarodowym
Oznakowanie PojazdóW Drogowych W Transporcie MięDzynarodowymguestc3aea7
 
54912766 teoria-curriculum
54912766 teoria-curriculum54912766 teoria-curriculum
54912766 teoria-curriculumEmanuela Ioana
 
Regionlarda işsiz ali təhsilli kadrlar üçün ictimai işlər üzrə təlimlərin təş...
Regionlarda işsiz ali təhsilli kadrlar üçün ictimai işlər üzrə təlimlərin təş...Regionlarda işsiz ali təhsilli kadrlar üçün ictimai işlər üzrə təlimlərin təş...
Regionlarda işsiz ali təhsilli kadrlar üçün ictimai işlər üzrə təlimlərin təş...Center for Innovations in Education
 
Manna dövləti yranmasi və yuksəlisi
Manna dövləti yranmasi və yuksəlisiManna dövləti yranmasi və yuksəlisi
Manna dövləti yranmasi və yuksəlisiAltay Memmedov
 
Search Engine Marketing- Axtarış Motoru Marketinqi
Search Engine Marketing- Axtarış Motoru MarketinqiSearch Engine Marketing- Axtarış Motoru Marketinqi
Search Engine Marketing- Axtarış Motoru MarketinqiQelender Memmedli
 
Informasiyanın dərsdə öyrənilməsi
Informasiyanın dərsdə öyrənilməsiInformasiyanın dərsdə öyrənilməsi
Informasiyanın dərsdə öyrənilməsiZuzu Mehdiyeva
 

Viewers also liked (20)

Hotel bedding
Hotel bedding Hotel bedding
Hotel bedding
 
Finansowanie handlu akcjami i krótka sprzedaż
Finansowanie handlu akcjami i krótka sprzedażFinansowanie handlu akcjami i krótka sprzedaż
Finansowanie handlu akcjami i krótka sprzedaż
 
Istehza deyilən zülm. azərbaycan
Istehza deyilən zülm. azərbaycanIstehza deyilən zülm. azərbaycan
Istehza deyilən zülm. azərbaycan
 
Maliyyə Marketinqə qarşı
Maliyyə Marketinqə qarşıMaliyyə Marketinqə qarşı
Maliyyə Marketinqə qarşı
 
Iron _my_research...
Iron  _my_research...Iron  _my_research...
Iron _my_research...
 
Erasmus+ Szkolnictwo wyższe
Erasmus+ Szkolnictwo wyższeErasmus+ Szkolnictwo wyższe
Erasmus+ Szkolnictwo wyższe
 
Projekt POWER 2015 - ZST Rzeszów - Technik Organizacji Reklamy
Projekt POWER 2015 - ZST Rzeszów - Technik Organizacji ReklamyProjekt POWER 2015 - ZST Rzeszów - Technik Organizacji Reklamy
Projekt POWER 2015 - ZST Rzeszów - Technik Organizacji Reklamy
 
Kompetencje kadr kultury. Komentarz Sławomira Czarneckiego
Kompetencje kadr kultury. Komentarz Sławomira CzarneckiegoKompetencje kadr kultury. Komentarz Sławomira Czarneckiego
Kompetencje kadr kultury. Komentarz Sławomira Czarneckiego
 
Azərbaycan Milli Metbexi
Azərbaycan Milli MetbexiAzərbaycan Milli Metbexi
Azərbaycan Milli Metbexi
 
Quranda şövq və həyəcan. azərbaycan (version 2)
Quranda şövq və həyəcan. azərbaycan (version 2)Quranda şövq və həyəcan. azərbaycan (version 2)
Quranda şövq və həyəcan. azərbaycan (version 2)
 
Heyat terzi arashdirmasi hesabat (2)
Heyat terzi arashdirmasi hesabat (2)Heyat terzi arashdirmasi hesabat (2)
Heyat terzi arashdirmasi hesabat (2)
 
Technik.logistyk 342[04] z2.01_u
Technik.logistyk 342[04] z2.01_uTechnik.logistyk 342[04] z2.01_u
Technik.logistyk 342[04] z2.01_u
 
Oznakowanie PojazdóW Drogowych W Transporcie MięDzynarodowym
Oznakowanie PojazdóW Drogowych W Transporcie MięDzynarodowymOznakowanie PojazdóW Drogowych W Transporcie MięDzynarodowym
Oznakowanie PojazdóW Drogowych W Transporcie MięDzynarodowym
 
54912766 teoria-curriculum
54912766 teoria-curriculum54912766 teoria-curriculum
54912766 teoria-curriculum
 
Regionlarda işsiz ali təhsilli kadrlar üçün ictimai işlər üzrə təlimlərin təş...
Regionlarda işsiz ali təhsilli kadrlar üçün ictimai işlər üzrə təlimlərin təş...Regionlarda işsiz ali təhsilli kadrlar üçün ictimai işlər üzrə təlimlərin təş...
Regionlarda işsiz ali təhsilli kadrlar üçün ictimai işlər üzrə təlimlərin təş...
 
Manna dövləti yranmasi və yuksəlisi
Manna dövləti yranmasi və yuksəlisiManna dövləti yranmasi və yuksəlisi
Manna dövləti yranmasi və yuksəlisi
 
Search Engine Marketing- Axtarış Motoru Marketinqi
Search Engine Marketing- Axtarış Motoru MarketinqiSearch Engine Marketing- Axtarış Motoru Marketinqi
Search Engine Marketing- Axtarış Motoru Marketinqi
 
2.1 sprzedawca
2.1 sprzedawca2.1 sprzedawca
2.1 sprzedawca
 
Revista Regio nr. 14
Revista Regio nr. 14Revista Regio nr. 14
Revista Regio nr. 14
 
Informasiyanın dərsdə öyrənilməsi
Informasiyanın dərsdə öyrənilməsiInformasiyanın dərsdə öyrənilməsi
Informasiyanın dərsdə öyrənilməsi
 

Similar to JBuilder i bazy danych

Visual Basic .NET. Bazy danych. Księga eksperta
Visual Basic .NET. Bazy danych. Księga ekspertaVisual Basic .NET. Bazy danych. Księga eksperta
Visual Basic .NET. Bazy danych. Księga ekspertaWydawnictwo Helion
 
Java w komercyjnych usługach sieciowych. Księga eksperta
Java w komercyjnych usługach sieciowych. Księga ekspertaJava w komercyjnych usługach sieciowych. Księga eksperta
Java w komercyjnych usługach sieciowych. Księga ekspertaWydawnictwo Helion
 
Microsoft Access. Podręcznik administratora
Microsoft Access. Podręcznik administratoraMicrosoft Access. Podręcznik administratora
Microsoft Access. Podręcznik administratoraWydawnictwo Helion
 
Visual Basic .NET. Encyklopedia
Visual Basic .NET. EncyklopediaVisual Basic .NET. Encyklopedia
Visual Basic .NET. EncyklopediaWydawnictwo Helion
 
Visual Basic 2005. Programowanie
Visual Basic 2005. ProgramowanieVisual Basic 2005. Programowanie
Visual Basic 2005. ProgramowanieWydawnictwo Helion
 
Java. Aplikacje bazodanowe. Najlepsze rozwiązania
Java. Aplikacje bazodanowe. Najlepsze rozwiązaniaJava. Aplikacje bazodanowe. Najlepsze rozwiązania
Java. Aplikacje bazodanowe. Najlepsze rozwiązaniaWydawnictwo Helion
 
PHP, Microsoft IIS i SQL Server. Projektowanie i programowanie baz danych
PHP, Microsoft IIS i SQL Server. Projektowanie i programowanie baz danychPHP, Microsoft IIS i SQL Server. Projektowanie i programowanie baz danych
PHP, Microsoft IIS i SQL Server. Projektowanie i programowanie baz danychWydawnictwo Helion
 
J2EE. Vademecum profesjonalisty. Wydanie II
J2EE. Vademecum profesjonalisty. Wydanie IIJ2EE. Vademecum profesjonalisty. Wydanie II
J2EE. Vademecum profesjonalisty. Wydanie IIWydawnictwo Helion
 
SQL Server 2005. Wyciśnij wszystko
SQL Server 2005. Wyciśnij wszystkoSQL Server 2005. Wyciśnij wszystko
SQL Server 2005. Wyciśnij wszystkoWydawnictwo Helion
 
100 sposobów na Visual Studio
100 sposobów na Visual Studio100 sposobów na Visual Studio
100 sposobów na Visual StudioWydawnictwo Helion
 
PHP i MySQL. Tworzenie sklepów internetowych. Wydanie II
PHP i MySQL. Tworzenie sklepów internetowych. Wydanie IIPHP i MySQL. Tworzenie sklepów internetowych. Wydanie II
PHP i MySQL. Tworzenie sklepów internetowych. Wydanie IIWydawnictwo Helion
 
Bazy danych SQL. Teoria i praktyka
Bazy danych SQL. Teoria i praktykaBazy danych SQL. Teoria i praktyka
Bazy danych SQL. Teoria i praktykaWydawnictwo Helion
 
Bazy danych i MySQL. Od podstaw
Bazy danych i MySQL. Od podstawBazy danych i MySQL. Od podstaw
Bazy danych i MySQL. Od podstawWydawnictwo Helion
 

Similar to JBuilder i bazy danych (20)

Visual Basic .NET. Bazy danych. Księga eksperta
Visual Basic .NET. Bazy danych. Księga ekspertaVisual Basic .NET. Bazy danych. Księga eksperta
Visual Basic .NET. Bazy danych. Księga eksperta
 
Access w biurze i nie tylko
Access w biurze i nie tylkoAccess w biurze i nie tylko
Access w biurze i nie tylko
 
Java w komercyjnych usługach sieciowych. Księga eksperta
Java w komercyjnych usługach sieciowych. Księga ekspertaJava w komercyjnych usługach sieciowych. Księga eksperta
Java w komercyjnych usługach sieciowych. Księga eksperta
 
Spring. Zapiski programisty
Spring. Zapiski programistySpring. Zapiski programisty
Spring. Zapiski programisty
 
Microsoft Access. Podręcznik administratora
Microsoft Access. Podręcznik administratoraMicrosoft Access. Podręcznik administratora
Microsoft Access. Podręcznik administratora
 
Visual Basic .NET. Encyklopedia
Visual Basic .NET. EncyklopediaVisual Basic .NET. Encyklopedia
Visual Basic .NET. Encyklopedia
 
Visual Basic 2005. Programowanie
Visual Basic 2005. ProgramowanieVisual Basic 2005. Programowanie
Visual Basic 2005. Programowanie
 
Java. Aplikacje bazodanowe. Najlepsze rozwiązania
Java. Aplikacje bazodanowe. Najlepsze rozwiązaniaJava. Aplikacje bazodanowe. Najlepsze rozwiązania
Java. Aplikacje bazodanowe. Najlepsze rozwiązania
 
Relacyjne bazy danych
Relacyjne bazy danychRelacyjne bazy danych
Relacyjne bazy danych
 
PHP, Microsoft IIS i SQL Server. Projektowanie i programowanie baz danych
PHP, Microsoft IIS i SQL Server. Projektowanie i programowanie baz danychPHP, Microsoft IIS i SQL Server. Projektowanie i programowanie baz danych
PHP, Microsoft IIS i SQL Server. Projektowanie i programowanie baz danych
 
Access 2003 PL. Kurs
Access 2003 PL. KursAccess 2003 PL. Kurs
Access 2003 PL. Kurs
 
J2EE. Vademecum profesjonalisty. Wydanie II
J2EE. Vademecum profesjonalisty. Wydanie IIJ2EE. Vademecum profesjonalisty. Wydanie II
J2EE. Vademecum profesjonalisty. Wydanie II
 
SQL Server 2005. Wyciśnij wszystko
SQL Server 2005. Wyciśnij wszystkoSQL Server 2005. Wyciśnij wszystko
SQL Server 2005. Wyciśnij wszystko
 
100 sposobów na Visual Studio
100 sposobów na Visual Studio100 sposobów na Visual Studio
100 sposobów na Visual Studio
 
PHP i MySQL. Tworzenie sklepów internetowych. Wydanie II
PHP i MySQL. Tworzenie sklepów internetowych. Wydanie IIPHP i MySQL. Tworzenie sklepów internetowych. Wydanie II
PHP i MySQL. Tworzenie sklepów internetowych. Wydanie II
 
SQL. Od podstaw
SQL. Od podstawSQL. Od podstaw
SQL. Od podstaw
 
Access 2007 PL. Kurs
Access 2007 PL. KursAccess 2007 PL. Kurs
Access 2007 PL. Kurs
 
Bazy danych SQL. Teoria i praktyka
Bazy danych SQL. Teoria i praktykaBazy danych SQL. Teoria i praktyka
Bazy danych SQL. Teoria i praktyka
 
Bazy danych i MySQL. Od podstaw
Bazy danych i MySQL. Od podstawBazy danych i MySQL. Od podstaw
Bazy danych i MySQL. Od podstaw
 
Wprowadzenie do baz danych
Wprowadzenie do baz danychWprowadzenie do baz danych
Wprowadzenie do baz danych
 

More from Wydawnictwo Helion

Tworzenie filmów w Windows XP. Projekty
Tworzenie filmów w Windows XP. ProjektyTworzenie filmów w Windows XP. Projekty
Tworzenie filmów w Windows XP. ProjektyWydawnictwo Helion
 
Blog, więcej niż internetowy pamiętnik
Blog, więcej niż internetowy pamiętnikBlog, więcej niż internetowy pamiętnik
Blog, więcej niż internetowy pamiętnikWydawnictwo Helion
 
Pozycjonowanie i optymalizacja stron WWW. Ćwiczenia praktyczne
Pozycjonowanie i optymalizacja stron WWW. Ćwiczenia praktycznePozycjonowanie i optymalizacja stron WWW. Ćwiczenia praktyczne
Pozycjonowanie i optymalizacja stron WWW. Ćwiczenia praktyczneWydawnictwo Helion
 
E-wizerunek. Internet jako narzędzie kreowania image'u w biznesie
E-wizerunek. Internet jako narzędzie kreowania image'u w biznesieE-wizerunek. Internet jako narzędzie kreowania image'u w biznesie
E-wizerunek. Internet jako narzędzie kreowania image'u w biznesieWydawnictwo Helion
 
Microsoft Visual C++ 2008. Tworzenie aplikacji dla Windows
Microsoft Visual C++ 2008. Tworzenie aplikacji dla WindowsMicrosoft Visual C++ 2008. Tworzenie aplikacji dla Windows
Microsoft Visual C++ 2008. Tworzenie aplikacji dla WindowsWydawnictwo Helion
 
Co potrafi Twój iPhone? Podręcznik użytkownika. Wydanie II
Co potrafi Twój iPhone? Podręcznik użytkownika. Wydanie IICo potrafi Twój iPhone? Podręcznik użytkownika. Wydanie II
Co potrafi Twój iPhone? Podręcznik użytkownika. Wydanie IIWydawnictwo Helion
 
Makrofotografia. Magia szczegółu
Makrofotografia. Magia szczegółuMakrofotografia. Magia szczegółu
Makrofotografia. Magia szczegółuWydawnictwo Helion
 
Java. Efektywne programowanie. Wydanie II
Java. Efektywne programowanie. Wydanie IIJava. Efektywne programowanie. Wydanie II
Java. Efektywne programowanie. Wydanie IIWydawnictwo Helion
 
Ajax, JavaScript i PHP. Intensywny trening
Ajax, JavaScript i PHP. Intensywny treningAjax, JavaScript i PHP. Intensywny trening
Ajax, JavaScript i PHP. Intensywny treningWydawnictwo Helion
 
PowerPoint 2007 PL. Seria praktyk
PowerPoint 2007 PL. Seria praktykPowerPoint 2007 PL. Seria praktyk
PowerPoint 2007 PL. Seria praktykWydawnictwo Helion
 
Serwisy społecznościowe. Budowa, administracja i moderacja
Serwisy społecznościowe. Budowa, administracja i moderacjaSerwisy społecznościowe. Budowa, administracja i moderacja
Serwisy społecznościowe. Budowa, administracja i moderacjaWydawnictwo Helion
 
USB. Praktyczne programowanie z Windows API w C++
USB. Praktyczne programowanie z Windows API w C++USB. Praktyczne programowanie z Windows API w C++
USB. Praktyczne programowanie z Windows API w C++Wydawnictwo Helion
 

More from Wydawnictwo Helion (20)

Tworzenie filmów w Windows XP. Projekty
Tworzenie filmów w Windows XP. ProjektyTworzenie filmów w Windows XP. Projekty
Tworzenie filmów w Windows XP. Projekty
 
Blog, więcej niż internetowy pamiętnik
Blog, więcej niż internetowy pamiętnikBlog, więcej niż internetowy pamiętnik
Blog, więcej niż internetowy pamiętnik
 
Pozycjonowanie i optymalizacja stron WWW. Ćwiczenia praktyczne
Pozycjonowanie i optymalizacja stron WWW. Ćwiczenia praktycznePozycjonowanie i optymalizacja stron WWW. Ćwiczenia praktyczne
Pozycjonowanie i optymalizacja stron WWW. Ćwiczenia praktyczne
 
E-wizerunek. Internet jako narzędzie kreowania image'u w biznesie
E-wizerunek. Internet jako narzędzie kreowania image'u w biznesieE-wizerunek. Internet jako narzędzie kreowania image'u w biznesie
E-wizerunek. Internet jako narzędzie kreowania image'u w biznesie
 
Microsoft Visual C++ 2008. Tworzenie aplikacji dla Windows
Microsoft Visual C++ 2008. Tworzenie aplikacji dla WindowsMicrosoft Visual C++ 2008. Tworzenie aplikacji dla Windows
Microsoft Visual C++ 2008. Tworzenie aplikacji dla Windows
 
Co potrafi Twój iPhone? Podręcznik użytkownika. Wydanie II
Co potrafi Twój iPhone? Podręcznik użytkownika. Wydanie IICo potrafi Twój iPhone? Podręcznik użytkownika. Wydanie II
Co potrafi Twój iPhone? Podręcznik użytkownika. Wydanie II
 
Makrofotografia. Magia szczegółu
Makrofotografia. Magia szczegółuMakrofotografia. Magia szczegółu
Makrofotografia. Magia szczegółu
 
Windows PowerShell. Podstawy
Windows PowerShell. PodstawyWindows PowerShell. Podstawy
Windows PowerShell. Podstawy
 
Java. Efektywne programowanie. Wydanie II
Java. Efektywne programowanie. Wydanie IIJava. Efektywne programowanie. Wydanie II
Java. Efektywne programowanie. Wydanie II
 
JavaScript. Pierwsze starcie
JavaScript. Pierwsze starcieJavaScript. Pierwsze starcie
JavaScript. Pierwsze starcie
 
Ajax, JavaScript i PHP. Intensywny trening
Ajax, JavaScript i PHP. Intensywny treningAjax, JavaScript i PHP. Intensywny trening
Ajax, JavaScript i PHP. Intensywny trening
 
PowerPoint 2007 PL. Seria praktyk
PowerPoint 2007 PL. Seria praktykPowerPoint 2007 PL. Seria praktyk
PowerPoint 2007 PL. Seria praktyk
 
Excel 2007 PL. Seria praktyk
Excel 2007 PL. Seria praktykExcel 2007 PL. Seria praktyk
Excel 2007 PL. Seria praktyk
 
Access 2007 PL. Seria praktyk
Access 2007 PL. Seria praktykAccess 2007 PL. Seria praktyk
Access 2007 PL. Seria praktyk
 
Word 2007 PL. Seria praktyk
Word 2007 PL. Seria praktykWord 2007 PL. Seria praktyk
Word 2007 PL. Seria praktyk
 
Serwisy społecznościowe. Budowa, administracja i moderacja
Serwisy społecznościowe. Budowa, administracja i moderacjaSerwisy społecznościowe. Budowa, administracja i moderacja
Serwisy społecznościowe. Budowa, administracja i moderacja
 
AutoCAD 2008 i 2008 PL
AutoCAD 2008 i 2008 PLAutoCAD 2008 i 2008 PL
AutoCAD 2008 i 2008 PL
 
Bazy danych. Pierwsze starcie
Bazy danych. Pierwsze starcieBazy danych. Pierwsze starcie
Bazy danych. Pierwsze starcie
 
Inventor. Pierwsze kroki
Inventor. Pierwsze krokiInventor. Pierwsze kroki
Inventor. Pierwsze kroki
 
USB. Praktyczne programowanie z Windows API w C++
USB. Praktyczne programowanie z Windows API w C++USB. Praktyczne programowanie z Windows API w C++
USB. Praktyczne programowanie z Windows API w C++
 

JBuilder i bazy danych

  • 1. IDZ DO PRZYK£ADOWY ROZDZIA£ SPIS TRE CI JBuilder i bazy danych KATALOG KSI¥¯EK Autor: Mariusz Marzec KATALOG ONLINE ISBN: 83-7361-748-5 Format: B5, stron: 264 ZAMÓW DRUKOWANY KATALOG TWÓJ KOSZYK Informacja — najcenniejszy towar na wspó³czesnym rynku, wymaga rozbudowanych narzêdzi pozwalaj¹cych na magazynowanie i korzystanie z niej. Do magazynowania DODAJ DO KOSZYKA 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¹ CENNIK I INFORMACJE w formie mo¿liwej do przegl¹dania, modyfikowania i drukowania. Java — w pocz¹tkowym okresie swojego rozwoju kojarzona by³a wy³¹cznie z Internetem ZAMÓW INFORMACJE i koszmarnymi apletami typu „padaj¹cy nieg”, dzi jest uznanym i popularnym O NOWO CIACH jêzykiem programowania, coraz czê ciej wykorzystywanym do tworzenia aplikacji bazodanowych. Producenci rodowisk programistycznych równie¿ zwrócili uwagê ZAMÓW CENNIK 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¹ CZYTELNIA 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. FRAGMENTY KSI¥¯EK ONLINE 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 Wydawnictwo Helion • Raporty oraz drukowanie ul. Chopina 6 Przekonaj siê, jak szybko i efektywnie 44-100 Gliwice tel. (32)230-98-63 mo¿esz tworzyæ aplikacje w rodowisku JBuilder e-mail: helion@helion.pl
  • 2. Spis treści Wstęp ............................................................................................... 7 Rozdział 1. Baza danych ...................................................................................... 9 Elementy baz danych....................................................................................................... 10 Zasady projektowania baz danych................................................................................... 12 Podsumowanie ................................................................................................................ 16 Rozdział 2. Elementy języka SQL........................................................................ 17 Polecenia SQL................................................................................................................. 19 SELECT .......................................................................................................................... 19 INSERT........................................................................................................................... 22 UPDATE ......................................................................................................................... 23 DELETE.......................................................................................................................... 24 CREATE TABLE............................................................................................................ 24 DROP TABLE ................................................................................................................ 27 ALTER TABLE .............................................................................................................. 28 CREATE VIEW.............................................................................................................. 29 DROP VIEW................................................................................................................... 30 COMMIT ........................................................................................................................ 30 ROLLBACK ................................................................................................................... 31 TRANSAKCJE ............................................................................................................... 31 WHERE........................................................................................................................... 31 TRIGGERY..................................................................................................................... 32 Procedury składowane (stored procedure)....................................................................... 33 Funkcje agregujące.......................................................................................................... 34 Podsumowanie ................................................................................................................ 35 Rozdział 3. Narzędzia wspomagające tworzenie i modyfikację baz danych ........... 37 Przygotowanie projektu................................................................................................... 42 Tworzenie tablicy ............................................................................................................ 43 Tworzenie kluczy głównych............................................................................................ 45 Tworzenie powiązań między tablicami ........................................................................... 45 Tworzenie perspektyw..................................................................................................... 47 Generowanie skryptów.................................................................................................... 47 Generowanie dokumentacji projektu............................................................................... 49 Podsumowanie ................................................................................................................ 50
  • 3. 4 JBuilder i bazy danych Rozdział 4. Połączenie z bazą danych................................................................. 51 SQL Server 2000............................................................................................................. 52 DBase .............................................................................................................................. 55 Access ............................................................................................................................. 55 Sterowniki JDBC............................................................................................................. 56 Podsumowanie ................................................................................................................ 59 Rozdział 5. SQL Server 2000 ............................................................................. 61 Instalacja pakietu............................................................................................................. 64 Struktura SQL Servera 2000 ........................................................................................... 69 Usługi SQL Server .......................................................................................................... 70 Najwa niejsze narzędzia pakietu..................................................................................... 70 Przygotowanie projektu bazy .......................................................................................... 81 Migracja bazy.................................................................................................................. 87 Podsumowanie ................................................................................................................ 90 Rozdział 6. Tworzenie bazy danych Access......................................................... 91 Przykładowy projekt bazy ............................................................................................... 91 U ytkownicy i uprawnienia............................................................................................. 98 Podsumowanie ................................................................................................................ 99 Rozdział 7. Przygotowanie bazy w systemie JDataStore .................................... 101 DataBase Pilot............................................................................................................... 103 JDataStore Explorer ...................................................................................................... 104 Uprawnienia i u ytkownicy........................................................................................... 111 JDataStore Server .......................................................................................................... 113 Podsumowanie .............................................................................................................. 115 Rozdział 8. Komponenty bazodanowe w JBuilderze ........................................... 117 Wstęp ............................................................................................................................ 117 Java i bazy danych......................................................................................................... 119 JBuilder i bazy danych .................................................................................................. 123 DataExpress................................................................................................................... 124 DataBase ....................................................................................................................... 124 TableDataSet ................................................................................................................. 125 QueryDataSet ................................................................................................................ 126 QueryResolver............................................................................................................... 129 ProcedureDataSet .......................................................................................................... 129 ProcedureResolver ........................................................................................................ 129 ParameterRow ............................................................................................................... 130 DataSetView.................................................................................................................. 132 DataStore....................................................................................................................... 134 StorageDataSet .............................................................................................................. 134 DataStoreConnection .................................................................................................... 134 TxManager .................................................................................................................... 135 DataStoreServer ............................................................................................................ 135 DataStorePump.............................................................................................................. 136 DataStoreSync............................................................................................................... 136 JDBCDataSource .......................................................................................................... 137 Podsumowanie .............................................................................................................. 137 Rozdział 9. Komponenty graficzne dbSwing ...................................................... 139 JFrame ........................................................................................................................... 141 JPanel ............................................................................................................................ 142 JToolBar........................................................................................................................ 142
  • 4. Spis treści 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ł 10. Projektowanie aplikacji bazodanowej.............................................. 167 Etapy projektu aplikacji klient-serwer........................................................................... 168 Charakterystyka aplikacji typu klient-serwer ................................................................ 169 Projektowanie aplikacji z u yciem JBuilder8................................................................ 169 JBuilder 8 — wiadomości ogólne ................................................................................. 170 Elementy u ywane do projektowania aplikacji ............................................................. 175 Projekt aplikacji na platformie Access .......................................................................... 176 Zało enia projektowe .............................................................................................. 176 Projekt bazy................................................................................................................... 177 Projekt aplikacji............................................................................................................. 179 Projekt aplikacji na platformie SQL Server 2000.......................................................... 196 Zało enia projektowe .............................................................................................. 197 Projekt bazy................................................................................................................... 198 Projekt aplikacji............................................................................................................. 206 Wywoływanie okien z menu ......................................................................................... 228 Podsumowanie .............................................................................................................. 230 Rozdział 11. Prezentacja wyników pracy aplikacji: raporty i wydruki ................... 231 Projektowanie wydruku................................................................................................. 234 Dołączanie rysunków do wydruków ............................................................................. 237 U ywanie wydruków podczas pracy aplikacji............................................................... 238 Podsumowanie .............................................................................................................. 239 Rozdział 12. Przygotowanie pakietu aplikacji ..................................................... 241 Tworzenie pliku archiwum............................................................................................ 241 Tworzenie pliku uruchomieniowego ............................................................................. 244 Podsumowanie .............................................................................................................. 246 Skorowidz...................................................................................... 247
  • 5. 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: /, 1 Pliki zawierające strukturę bazy danych JDataStore.
  • 6. 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 Opis Synonim w JDataStore SMALLINT Wartość numeryczna z zakresu –32768 do 32767 SHORT INT Wartość numeryczna z zakresu –2147483648 INTEGER do 2147483647 BIGINT Wartość numeryczna z precyzją LONG –9223372036854775808 do 9223372036854775807 DECIMAL (p, d) Wartość rzeczywista z precyzją: p oznacza liczbę BIGDECIMAL cyfr przed przecinkiem, d — po przecinku. Maksymalna ich suma mo e być równa 72 REAL Wartość numeryczna z przedziału od 1.4E-45 do 3.4E38 z precyzją 23 bitów DOUBLE Wartość rzeczywista z zakresu od 4.9E-324 DOUBLE_PRECISION do 1.8E308 z precyzją 52 bitów FLOAT (p) Wartość numeryczna z precyzją do 52 bitów VARCHAR (p, m) Ciąg znaków zmiennej długości: p — długość STRING całkowita ciągu, m — liczba znaków w wierszu. Domyślnie wielkość p nie jest określona, m domyślnie przyjmuje wartość 64 VARBINARY (p, m) Ciąg binarny zmiennej długości. Znaczenie INPUTSTREAM BINARY parametrów takie samo jak powy ej 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 Data liczona od roku 0 TIME 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.
  • 7. 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,
  • 8. 104 JBuilder i bazy danych Rysunek 7.1. Okno główne aplikacji DataBase Pilot 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
  • 9. 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,
  • 10. 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
  • 11. 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_$.
  • 12. 108 JBuilder i bazy danych Rysunek 7.6. Definiowanie nowej tablicy o nazwie T_ADRESY 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.
  • 13. 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'4 6#$.' 6A#&4'5; #&& %10564#+06 +&:A(-A+&A75'4 (14'+)0 -'; +&A75'4 4'('4'0%'5 6A.7+' +A 10 '.'6' %#5%#' 10 72#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).
  • 14. 110 JBuilder i bazy danych 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'4 6#$.' 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:
  • 15. 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+/ 7UWYCPKG URCELK W wyniku wykonania tej funkcji otrzymamy string 7UWYCPKG URCELK , wykonanie polecenia z parametrem spowoduje usunięcie podanego znaku — tutaj 64+/ .'#+0) (41/ w wyniku otrzymamy '789.75'.