62, ciekawostki, Linux - Ksiega Eksperta, Linux - ksiega eksperta, Linux - księga eksperta


Rozdział 62.
Adabas-D
i inne bazy danych


Tim Parker

W tym rozdziale:

W tym rozdziale omówimy niektóre z popularniejszych programów obsługi baz danych przeznaczonych dla systemu Linux. Skupimy się głównie na takich aplikacjach, jak Adabas-D, FlagShip i dbMan V. Omówimy również skrótowo program LYNCKS, który jest darmowym, obiektowym systemem zarządzania bazami danych (DBMS, DataBase Management System) działającym w systemie Linux.

Bazy danych kompatybilne z dBASE

Około dziesięć lat temu w powszechnym użyciu był tylko jeden system baz danych, dBASE firmy AshtonTate. Zanim pojawił się system Windows, praktycznie każda baza danych dla systemu DOS tworzona była w dBASE, a w miarę migracji systemów UNIX-owych na mniejsze komputery zaczęły pojawiać się również wersje dBASE przeznaczone dla tych systemów. Choć właściciel pakietu dBASE zmieniał się kilkakrotnie, wersja dla Windows nie pojawiła się na rynku dość szybko (ani nie pozostała na nim zbyt długo), co spowodowało znaczny spadek jego popularności. Wkrótce zamiast dBASE zaczęto używać innych baz danych.

W związku z opracowaniem szybszych i lepszych wersji systemu dBASE, kilka firm wprowadziło kompatybilne z nim produkty, rozszerzające możliwości tego języka. Produkty były ogólnie nazywane xBase, aby podkreślić ich powiązania z systemem dBASE. Kilka z nich zyskało dość dużą popularność wśród programistów - w szczególności Clipper, kompatybilny z dBASE kompilator, który w ogromnym stopniu przyspieszał działanie tworzonych programów.

Choć wielu programistów uważa system dBASE za przestarzały, napisano tysiące (jeśli nie miliony) aplikacji działających w tym relacyjnym systemie baz danych. Wiele z nich działa po dziś dzień, bądź w niezmienionej formie, bądź też po przeniesieniu do systemów xBase i nowszych systemów operacyjnych. Ponieważ mało prawdopodobne jest, że języki rodziny xBase kiedykolwiek odejdą w zapomnienie, nie powinino być żadną niespodzianką to, że opracowano ich wersje dla systemu Linux.

Firma oferująca system FlagShip, który jest systemem baz danych kompatybilnym zarówno z dBASE, jak i Clipper, proponuje jego wersje dla różnych systemów operacyjnych, w większości UNIX-owych. Wersja dla Linuxa jest produktem komercyjnym, kosztującym w Stanach Zjednoczonych około 200$. Dostępnych jest również kilka wersji demonstracyjnych, których używać można tylko przez 30 dni, dzięki czemu można przekonać się, czy aplikacje stworzone w systemie dBASE czy Clipper będą działać pod kontrolą Linuxa. Jeśli działają prawidłowo i chcesz przenieść je na tę platformę, możesz zakupić pełną wersję systemu FlagShip.

Co to jest xBase?

xBase to dość ogólny termin, obejmujący języki programowania oparte na języku dBASE. Dla systemu DOS są to głównie programy FoxPro (którego właścicielem jest obecnie Microsoft), dBASE V (własność firmy Borland) i Clipper (własność firmy Computer Associates).

W języku xBase można znaleźć instrukcje występujące w większości innych języków programowania, takie jak IF, ELSE, ENDIF czy WHILE. Struktura tego języka nie jest jednak zaprojektowana do zastosowań ogólnych, ale tak, by uprościć dostęp do informacji przechowywanych w bazach danych. Dla przykładu, instrukcja GOTO w języku xBase nie służy do przejścia do określonego punktu w programie, ale do rekordu w bazie danych. xBase zawiera również różne inne polecenia o bardzo dużych możliwościach, służące do przetwarzania plików oraz pobierania danych z formularzy.

Również ustalanie zależności pomiędzy plikami jest w systemie xBase bardzo proste. Nazwy wszystkich pól zapisanych w pliku są przechowywane w jego nagłówku. Nowe pola mogą być dodawane bez modyfikowania operujących na nich programów. Takie rozwiązanie pozwala programom na korzystanie z tej samej bazy danych na różne sposoby, przy wykorzystaniu informacji zapisanych w nagłówku.

Trzej główni producenci baz danych xBase zignorowali system Linux jako platformę dla swoich produktów. Dostępny jest jednak system FlagShip oraz dbMan (firmy Verasoft Corporation). Oba te produkty działają pod kontrolą różnych wersji systemu UNIX.

Nie ma większego sensu porównywanie tych dwóch systemów. FlagShip jest oparty na języku Clipper w wersji 5, natomiast pakiet dbMan przypomina dBASE III+ czy FoxPlus. FlagShip, podobnie jak Clipper, jest kompilatorem, natomiast dbMan działa głównie jako interpreter, choć możliwe jest „skompilowanie” programu dbMan. FlagShip jest poza tym językiem obiektowym, co sprawia, że jego filozofia jest zupełnie inna, niż filozofia języka dbMan, FoxPro czy dBASE. Języki Clipper i FlagShip posiadają kilka cech upodabniających je do języka C. Podobieństwo to jest zaletą dla użytkowników systemu Linux.

Również rynki, dla jakich przeznaczone są te dwa produkty, są różne. dbMan jest przeznaczony głównie dla użytkowników indywidualnych. Jeśli chcesz napisać program, którego będziesz mógł używać do śledzenia czasu poświęcanego klientom czy do przechowywania listy telefonów lub danych o sprzedaży, dbMan jest aplikacją dla Ciebie.

Program FlagShip nie nadaje się do tworzenia aplikacji wykonujących tylko proste operacje na bazach danych, takie jak utrzymywanie listy adresów itp., czyli programów tworzonych przez zwykłych użytkowników. Nie chodzi bynajmniej o to, że nie radzi sobie on z takimi zadaniami, ale aby wykorzystać jego możliwości, trzeba najpierw zapoznać się z samym językiem. FlagShip jest kierowany raczej do osób, które chcą tworzyć własne pakiety oprogramowania. Zgodnie z tradycją, bazy danych systemu dBASE składają się z pliku danych o rozszerzeniu .DBF i plików z indeksami. Format plików danych jest w zasadzie taki sam we wszystkich wersjach języków xBase. Trudno jednak znaleźć dwa produkty używające tego samego formatu plików indeksowych - mimo to zarówno w systemie FlagShip, jak i dbMan można używać tych samych plików z rozszerzeniem .DBF.

Co to jest FlagShip?

FlagShip jest kompilatorem, co oznacza, że tworzy on kod nadający się do bezpośredniego uruchomienia, bez udziału pośredniego pseudo kodu. Nie istnieje żadna interpretowana wersja języka FlagShip, więc do opracowywania złożonych aplikacji możesz potrzebować takiego interpretera, jak FoxPro czy dBASE. FlagShip został zaprojektowany tak, by umożliwić istniejącym programom xBase działanie bez żadnych modyfikacji (albo przy minimalnych modyfikacjach, dotyczących tylko problemów z nazwami plików) w systemie Linux i innych wersjach UNIX-a. Nie są pobierane żadne opłaty za stworzone aplikacje, więc po opracowaniu i skompilowaniu programu można bez przeszkód rozprowadzać go za darmo.

0x01 graphic

Wersje demonstracyjne programu FlagShip można załadować z wielu węzłów sieci Internet; można je znaleźć na przykład używając jednej z wyszukiwarek, takich jak AltaVista (http://www.altavista.digital.com) czy Yahoo! (http://www.yahoo.com), lub też bezpośrednio u dystrybutora programu FlagShip, firmy Multisoft Datentechnik GmbH, którego strona WWW znajduje się pod adresem http://www.fship.com. Pod adresem ftp://fship.com/pub/multisoft dostępny jest również serwis FTP. Wersja demonstracyjna jest dość spora (ok. 4,5 MB). Dokumentacja różnego typu jest również osiągalna w węzłach WWW i FTP.

Upewnij się, że ładujesz odpowiednią wersję językową, ponieważ w większości węzłów dostępna jest zarówno wersja angielska, jak i niemiecka; podobnie sprawa wygląda z dokumentacją (ponieważ siedziba firmy Multisoft Datentechnik GmbH znajduje się w Niemczech).

FlagShip jest całkowicie kompatybilny z dBASE i Clipperem, podobnie jak z większością innych systemów xBase, takich jak Fox, FoxPlus, FoxPro, dbMan, QuickSilver i innymi. Udostępnia wszystkie przydatne funkcje spotykane w systemach xBase, na przykład:

FlagShip nie posiada odpowiednika wiersza poleceń systemu dBASE, nie umożliwia również pracy interaktywnej, jak czyni to większość systemów xBase. Dostępny jest jednak program dbu, rozprowadzany na licencji public domain, który pozwala w sposób interaktywny definiować funkcje, indeksy, dodawać, usuwać i wyszukiwać rekordy, oraz przeglądać pliki.

Interfejs użytkownika systemu FlagShip oparty jest na bibliotece curses. Podczas jego instalacji tworzony jest zestaw plików terminfo specjalnie dla systemu FlagShip. Uruchamiając program FlagShip w oknie terminalu systemu X, możesz zamiast ramek otrzymać dziwne symbole. W takim przypadku może nie pomóc nawet zmiana wartości parametru acsc wpisu fslinxterm w pliku terminfo. Spróbuj wówczas zastosować czcionki vga, które są rozprowadzane z programem DOSemu.

FlagShip nie zawiera funkcji przeznaczonych specjalnie do obsługi rozwijanych menu. Programiści radzą sobie z tym używając do tworzenia poziomych menu polecenia @PROMPT/MENU, natomiast do tworzenia menu pionowych - funkcji ACHOICE(). Klawisze skrótu można definiować za pomocą polecenia SET KEY id_klawisza TO. Zwykle polecenia są wywołaniami funkcji. Wewnątrz tych funkcji można wywołać funkcję READVAR(), która poinformuje, w którym z pól znajdował się kursor w czasie, gdy wciśnięty został klawisz. Pole wprowadzania danych może zostać uaktywnione przez dodanie polecenia VALID do instrukcji @SAY/GET. Również w tym przypadku polecenie jest wywołaniem funkcji, wewnątrz której można na przykład poszukać wprowadzonego przez użytkownika ciągu znaków w bazie danych.

W języku FlagShip dostępne są funkcje zarządzające okienkami, które działają w bardzo wygodny sposób, ale nie wchodzą one w skład pakietu podstawowego - aby uzyskać do nich dostęp, trzeba zakupić bibliotekę FStools. Jak sugeruje sama nazwa, jest to klon biblioteki Clipper Tools. Funkcje obsługi okien wchodzą również w skład biblioteki NanForum (zawierającej poza tym funkcje matematyczne i statystyczne), która jest rozprowadzana zgodnie z warunkami licencji public domain.

Programy w języku FlagShip mogą być łączone ze stronami WWW, co daje użytkownikom WWW dostęp do baz danych, wraz z możliwością ich uaktualniania. Ta cecha, w połączeniu z możliwością wiązania kodu z programami napisanymi w języku C i C++, powoduje że program FlagShip jest systemem zarządzania bazami danych o bardzo dużych możliwościach.

Do programu FlagShip dołączany jest program fsman, dzięki któremu można w każdej chwili uzyskać dostęp do potrzebnej dokumentacji (w sumie jest jej ponad 1000 stron), co oznacza, że nie trzeba posiadać ogromnego podręcznika rozłożonego na stałe na biurku. Przykładowe fragmenty kodu pochodzące z dokumentacji mogą być zapisywane jako pliki tekstowe, co pozwala w łatwy sposób włączać je do swych programów. Można oczywiście również używać myszy, kopiując fragmenty tekstu pomiędzy oknem programu FlagShip i fsman.

FlagShip nie jest tylko kompilatorem przeniesionym z platformy DOS-owej. Został on zaprojektowany tak, by można było skorzystać ze wszystkich możliwości udostępnianych przez systemy UNIX-owe. Kod źródłowy działa w systemie Linux szybciej, niż analogiczny w systemie DOS (skompilowany na przykład kompilatorem Clipper), ponieważ system Linux jest po prostu lepiej zaprojektowany. System FlagShip nie posiada również niektórych ograniczeń systemów xBase dla DOS i Windows.

Jeśli chcesz przenieść aplikacje w języku Clipper na platformę linuxową albo szukasz prostego systemu obsługi relacyjnych baz danych, program FlagShip spełni Twoje oczekiwania.

Instalowanie programu FlagShip

Program FlagShip jest dostępny głównie na płytach CD-ROM, w węzłach WWW i archiwach FTP. W większości przypadków rozprowadzane są dwie wersje tego programu, a wybór jednej z nich zależy od wykorzystywanej wersji Linuxa. Zwykle pliki są spakowane do jednego archiwum o nazwie fsdemo.tar (dla wersji demonstracyjnej). Jedna z wersji przeznaczona jest dla nowszych wersji Linuxa, ponieważ wykorzystuje format plików wykonywalnych o nazwie ELF. Druga wersja, oznaczana zwykle nazwą aout (pochodzącą od formatu plików wykonywalnych a.out), działa w każdym systemie linuxowym. Choć wersja ELF jest o wiele bardziej elastyczna i ma większe możliwości, w skład pakietu demonstracyjnego wchodzi często tylko wersja aout.

Po umieszczeniu pliku fsdemo.tar w odpowiednim katalogu (najlepiej pustym i nowo utworzonym) należy rozpakować go, wydając polecenie

tar xvf fsdemo.tar

Spowoduje ono utworzenie pewnej liczby plików, a pomiędzy nimi plików FSinstall.set i FSinstall. W pliku FSinstall.set znajdują się definicje zmiennych środowiskowych wykorzystywanych podczas instalacji - należy go uruchomić, wpisując po prostu jego nazwę. Na ekranie nie zostaną wyświetlone żadne komunikaty. Po uruchomieniu pliku .set należy wykonać polecenie FSinstall, które spowoduje rozpoczęcie właściwego procesu instalacji.

Jeśli program instalacyjny zostanie poprawnie załadowany, wyświetlone zostanie pytanie dotyczące ilości wolnego miejsca w systemie plików, jak pokazuje rysunek 62.1.

Rysunek 62.1.

Program instalacyjny systemu FlagShip sprawdza, czy na dysku jest wystarczająca ilość wolnego miejsca

0x01 graphic

Następnie będzie można wybrać docelowy katalog instalacji - w większości przypadków powinieneś zaakceptować wartość podpowiadaną przez program instalacyjny. Jeśli chcesz zmienić którąś z wartości domyślnych, możesz to zrobić po prostu wpisując nową wartość w odpowiedzi na monit programu, jak pokazano na rysunku 62.2. Po zakończeniu programu instalacyjnego można już zacząć używać systemu FlagShip.

Rysunek 62.2.

W razie potrzeby można zmienić wartości podpowiadane
przez program instalacyjny

0x01 graphic

Używanie programu FlagShip

Jeśli używałeś wcześniej programu Clipper lub innego kompilatora xBase, znasz już większość poleceń wykorzystywanych w języku FlagShip. Wprowadzone modyfikacje wynikają głównie z dostosowania tego języka do wymagań i możliwości systemów UNIX-owych, ale poza tym używanie języka FlagShip jest bardzo proste. Trzeba pamiętać o tym, że FlagShip nie jest programem do interaktywnego projektowania aplikacji; nie pomaga on w żaden sposób w tworzeniu kodu programu. Jest to po prostu kompilator. Możesz używać go do tworzenia aplikacji tylko pod warunkiem, że znasz język dBASE - nie jest on bowiem przeznaczony do nauki tego języka.

Jeśli przygotowałeś już pliki źródłowe .prg, możesz uruchomić kompilator FlagShip. Składnia odpowiedniego polecenia jest następująca:

FlagShip nazwa_prog.prg -onazwa_prog_wynikowego -Mstart

nazwa_prog to nazwa pliku, zawierającego główną część kodu źródłowego programu (wywołującą pozostałe części), natomiast nazwa_prog_wynikowego to nazwa, jaka zostanie nadana skompilowanej, gotowej do uruchomienia wersji programu (kompilator języka C domyślnie przyjmuje nazwę a.out). Jeśli program główny nie wywołuje wszystkich plików programów niezbędnych do prawidłowego działania całej aplikacji, trzeba skompilować odpowiednie pliki oddzielnie, a następnie powiązać je ze sobą.

Po skompilowaniu aplikacja może zostać uruchomiona podobnie jak w systemie DOS czy innym systemie operacyjnym. Rysunek 62.3 przedstawia aplikację systemu DOS przeniesioną na platformę linuxową, skompilowaną za pomocą programu FlagShip i uruchomioną. Jedyną modyfikacją kodu źródłowego, którą trzeba było wprowadzić, było dostosowanie ścieżek dostępu do plików do wymagań systemu Linux. Jak widać, nawet grafika tworzona za pomocą znaków ASCII została zachowana prawidłowo, dzięki czemu program może być bez problemu uruchamiany z dowolnego terminalu obsługiwanego przez system Linux.

Rysunek 62.3.

Aplikacja skompilowana kompilatorem FlagShip działa w systemie Linux tak samo, jak działała w systemie DOS

0x01 graphic

Przenoszenie istniejących aplikacji

O co więc trzeba zadbać przy przenoszeniu na platformę linuxową istniejących aplikacji w języku dBASE czy Clipper? Na początek potrzebny będzie oczywiście kod programu, zapisany w plikach z rozszerzeniem .prg. Przenieś te pliki do systemu linuxowego w dowolny sposób - czy to za pomocą dyskietki, połączenia sieciowego, czy też inną drogą. Program FlagShip jest na tyle sprytny, że potrafi ignorować wielkość liter - może to brzmiećbanalnie, ale w rzeczywistości jest to poważny problem, ponieważ większość programistów pracujących w systemie DOS tworzy programy używając zarówno wielkich, jak i małych liter - nie ma to dla nich większego znaczenia, natomiast w systemie UNIX wielkość liter jest bardzo istotna, co może powodować wiele kłopotów.

Do programu FlagShip dołączona jest dokumentacja dotycząca modyfikowania kodu źródłowego tak, by działał prawidłowo (jest ona również dostępna na stronie WWW), ale w zasadzie prawie wszystkie aplikacje powinny działać bez żadnych problemów.

FlagShip zamienia kod źródłowy w języku dBASE na odpowiadający mu kod w języku C, który następnie jest kompilowany. Z tego względu potrzebny jest również kompilator języka C, który na szczęście jest częścią prawie każdego systemu UNIX-owego i linuxowego. Jeśli chcesz używać programu FlagShip, a nie zainstalowałeś jeszcze pakietu służącego do programowania w języku C, musisz to najpierw zrobić, w przeciwnym razie program FlagShip nie będzie działał poprawnie, generując komunikaty o błędach. Nie jest potrzebny kompilator języka C++ - w zupełności wystarczy kompilator języka C, dostępny na każdej płycie CD-ROM zawierającej dystrybucję Linuxa (nie wyłączając płyty rozprowadzanej z tą książką). Proces uruchamiania aplikacji przez program FlagShip jest dość prosty:

  1. wstępne przetworzenie kodu źródłowego, dzięki czemu wykrywane są błędy składniowe i inne często popełniane błędy; jeśli jakieś błędy zostaną wykryte, są one zgłaszane i program kończy działanie;

  1. tłumaczenie kodu na język C;

  2. kompilacja za pomocą kompilatora języka C, co prowadzi do powstania pliku pośredniego .obj;

  3. konsolidacja skompilowanego pliku wraz z bibliotekami programu FlagShip do postaci wykonywalnej.

Utworzony plik wykonywalny może zostać uruchomiony z wiersza poleceń systemu Linux.

Jeszcze krótka uwaga dla doświadczonych użytkowników systemów dBASE i Clipper: nie trzeba martwić się o nakładki, ponieważ w systemach UNIX-owych nie są one potrzebne. Dzięki temu, że system używa pamięci wirtualnej, możliwe jest ładowanie do pamięci aplikacji o prawie dowolnym rozmiarze (choć istnieją pewne ograniczenia, mogą one zostać zmienione). Z tego powodu nie trzeba martwić się nakładkowaniem, tak jak to miało miejsce w systemach dBASE i Clipper - zamiast tego można śmiało połączyć cały kod w jeden duży plik wykonywalny, pozwalając systemowi Linux zająć się jego ładowaniem.

dbMan

Program dbMan jest interpreterem. Po jego uruchomieniu na ekranie wyświetlany jest wiersz poleceń ze znakiem zachęty, który ma formę CMD:. W tym wierszu należy wpisywać wszystkie polecenia. Rozwiązanie to jest zbliżone do używanego w systemie dBASE - tam znakiem zachęty była kropka. Początkujący użytkownicy mogą skorzystać z polecenia ASSIST, które przywoła na ekran interfejs obsługiwany za pomocą menu, podobny do tych dostępnych w systemach FoxPro czy dBASE.

Interfejs oparty na systemie menu nie jest szczególnie rozbudowany. Pozwala na pracę tylko z jednym plikiem w tym samym czasie, co oznacza, że nie można ustalać żadnych powiązań pomiędzy plikami. Z poziomu tego menu można również uruchomić prosty generator programów, ale tu również nałożone jest ograniczenie umożliwiające pracę tylko z jednym plikiem.

Programy w systemie dbMan można kompilować, ale proces ten nie powoduje powstania pliku wykonywalnego. Zamiast tego, tworzony jest plik z rozszerzeniem .run, do uruchomienia którego niezbędny jest program dbMan. W wierszu poleceń programu dbMan można także wydać polecenie CREATE REPORT lub MODIFY REPORT, które powoduje uruchomienie modułu do tworzenia raportów. Pozwala on na wyświetlanie danych z użyciem operatorów relacyjnych. Funkcja PMENU() pozwala tworzyć rozwijane menu. Niestety, nie jest ona wyposażona w żadne mechanizmy pozwalające na tymczasowe wyłączenie którejś z jego menu.

Obsługa okien w systemie dbMan odbiega od tej znanej z innych systemów xBase. Przed zdefiniowaniem nowego okna trzeba wywołać procedurę PUSHWIND(), która odłoży na stos dane o oknie bieżącym. Kiedy program jest w stanie początkowym, cała zawartość ekranu traktowana jest jako okno. Procedura WINDOW() służy do tworzenia nowego okna. Po zakończeniu pracy z oknem należy wywołać procedurę POPWIND(), która spowoduje zdjęcie ze stosu i uaktywnienie poprzedniego okna.

W systemie dbMan można zdefiniować tylko jeden klawisz skrótu, wywołując funkcję ONKEY(). Nie będzie ona miała żadnego efektu, dopóki nie zostanie wywołane następujące po niej polecenie - zwykle jest to instrukcja DO, obsługująca naciśnięcie danego klawisza.

Polecenie BROWSE może zostać wywołane z wieloma różnymi opcjami. Używając go, można przeglądać jedynie wyszczególnione pola, można również określać szerokość poszczególnych pól, oraz to, czy mogą one być edytowane. Lista pól może zawierać pola zapisane w innych plikach, co pozwala w łatwy sposób wiązać ze sobą dane pochodzące z różnych baz.

dbMan nie używa informacji zapisanych w pliku termcap czy terminfo. Zamiast tego zawiera on plik o nazwie dbmterm.dbm. Zawartość tego pliku jest zbliżona do zawartości pliku termcap. Nie ma w nim wpisów dotyczących terminalu X czy konsoli, więc trzeba stworzyć własne wpisy w oparciu o już istniejące.

dbMan nie zawiera interfejsu pozwalającego na wykonywanie funkcji napisanych w języku C czy asemblerze, można więc używać tylko funkcji oferowanych przez ten system. W wersji, którą testowałem (o numerze 5.32), było kilka dość poważnych błędów. Najważniejszym z nich był chyba fakt, że pliki procedur po prostu nie działały, jeśli były to pliki z rozszerzeniem .prg. Po skompilowaniu ich do postaci plików z rozszerzeniem .run wszystko działało poprawnie.

0x01 graphic

Program dbMan jest rozprowadzany przez firmę

VERASOFT Corporation
4340 Alamaden Expressway, #110
San Jose, CA95118
(408) 723-9044

Adabas-D

Adabas-D to baza danych możliwościami dorównująca aplikacjom komercyjnym dla systemów UNIX-owych, kosztującym tysiące dolarów. Obsługuje język SQL, pozwala również na pracę z wieloma popularnymi formatami baz danych - warto więc rozważyć jej zainstalowanie, jeśli potrzebujesz większych możliwości, niż oferowane przez wspomniane wcześniej programy xBase.

0x01 graphic

Na rynku działa kilku dystrybutorów programu Adabas-D. Prawdopodobnie najpewniejszym z nich jest firma Caldera, która rozprowadza również inne produkty dla systemu Linux oraz własną wersję dystrybucji Slackware, o nazwie Caldera OpenLinux. Z firmą tą można skontaktować się pod adresem:

Caldera Incorporated
633 South 550 East
Provo, Utah 86406
801-377-7687
knfo@caldera.com
http://www.caldera.com

Instalowanie programu Adabas-D

System Adabas-D jest zwykle rozprowadzany na płytach CD-ROM, ale udostępniają go również niektóre węzły FTP. Choć wersja rozprowadzana przez firmę Caldera reklamowana jest jako przeznaczona do pracy z systemem Caldera OpenLinux, działa ona znakomicie ze wszystkimi implementacjami Linuxa. Instalacja pakietu jest prosta. Podana poniżej procedura działa we wszystkich wersjach systemu RedHat, Slackware i OpenLinux, które udało nam się przetestować. Założymy tu, że oprogramowanie Adabas-D znajduje się na płycie CD-ROM. Jeśli załadowałeś odpowiedni plik z sieci, powinieneś umieścić go w osobnym katalogu i pominąć kroki dotyczące montowania systemu plików.

Zaloguj się jako root, proces instalacji wymaga bowiem uprawnień administratora. Pierwszym krokiem jest zamontowanie systemu plików zapisanego na płycie CD-ROM. Można to zrobić wydając polecenie

mount /dev/cdrom

W tej wersji polecenia mount pominęliśmy argumenty dotyczące urządzenia oraz punktu zamontowania, które omówiliśmy w poprzednich rozdziałach. System plików zostanie zamontowany w katalogu /mnt/cdrom - jeśli chcesz, możesz oczywiście wymusić zamontowanie go w innym katalogu. W dalszej części tego rozdziału przyjmiemy, że punktem zamontowania jest właśnie katalog /mnt/cdrom.

Po zamontowaniu płyty CD-ROM przejdź do katalogu zawierającego pliki instalacyjne, na przykład wydając polecenie

cd /mnt/cdrom

Wyświetlenie informacji o zawartości katalogu powinno pokazać pliki systemu Adabas-D. Większość z nich znajduje się w podkatalogach katalogu głównego.

Dla uproszczenia życia użytkownika, ta wersja systemu Adabas-D zawiera skrypt instalacyjny, który bierze na siebie wszystkie czynności, jakie normalnie należałoby wykonać ręcznie. Aby uruchomić ten skrypt, wystarczy wydać polecenie

./install

Kropka i ukośnik poprzedzające nazwę skryptu oznaczają, że jest on umieszczony w katalogu bieżącym. Jeśli zostałyby one pominięte, przed sprawdzeniem zawartości bieżącego katalogu Linux szukałby pliku o nazwie install w innych lokalizacjach, co zwykle prowadzi do uruchomienia innego programu instalacyjnego. Jeśli w Twojej wersji pakietu Adabas-D nie ma skryptu instalacyjnego, w którymś z plików powinien znajdować się dokładny opis czynności, które należy wykonać, aby go zainstalować.

Jeśli używasz skryptu instalacyjnego, będziesz miał możliwość zainstalowania kilku pakietów oprogramowania oraz zdecydowania, w którym katalogu mają się one znaleźć. Dla uzyskania pełnego i kompletnego systemu Adabas-D należy zainstalować wszystkie dostępne pakiety; jedynym wyjątkiem są pakiety obsługujące języki, których nie potrzebujesz (Adabas-D zwykle rozprowadzany jest wraz z angielską i niemiecką dokumentacją oraz zestawem poleceń). W skład pakietu w wersji Personal Edition wchodzą cztery składniki.

Przed uruchomieniem programu Adabas-D należy ustawić odpowiednie wartości dwóch zmiennych środowiskowych dla każdego użytkownika, który będzie korzystał z baz danych. Zmienne te mają następujące znaczenie:

Pakiet adabas-mydb pozwala na łatwe opanowanie obsługi systemu Adabas-D na podstawie przykładowej bazy danych dotyczącej kolei w Niemczech (która jest również sama w sobie warta obejrzenia, jeśli interesujesz się koleją). Można uruchomić ten przykład w oknie terminalu X Window, aby przekonać się, jakie możliwości ma system Adabas-D. Aby uruchomić program demonstracyjny, uruchom system X Window (po ustawieniu odpowiednich wartości zmiennych środowiskowych) i wydaj polecenie

panel

Nazwa użytkownika, którą należy podać, to control, również hasło ma postać control. Nazwa bazy danych to MYDB. Kliknij na przycisku Connect i poczekaj, aż kontrolka przypominająca światła na skrzyżowaniu zmieni kolor na zielony. Baza danych zawiera również zdjęcia niektórych niemieckich pociągów. Jeśli chcesz obejrzeć dołączone obrazki, w oknie terminalu wydaj polecenie fotos, następnie podaj nazwę użytkownika demo i hasło demo oraz tę samą co poprzednio nazwę bazy danych (MYDB).

System Adabas-D powinien już działać poprawnie. Jeśli występują jakieś problemy, upewnij się, że wartości wspomnianych wcześniej zmiennych środowiskowych są prawidłowe oraz że podczas instalacji nie wystąpił żaden błąd.

Dokumentacja systemu Adabas-D znajduje się w podkatalogu doc katalogu głównego systemu Adabas-D (na przykład /opt/adabas-d/doc).

LINCKS

LINCKS to obiektowy system zarządzania bazami danych. Znakomicie nadaje się on do użytku w sieci oraz w sytuacjach, gdy pliki mają być współużytkowane za pomocą zdalnych wywołań procedur. Aby móc w pełni wykorzystać możliwości oferowane przez ten program, trzeba mieć nieco doświadczenia w pracy z siecią i posiadać działającą sieć. Pakiet nie jest raczej przeznaczony dla systemu jednostanowiskowego, ponieważ po prostu mnóstwo jego możliwości pozostałoby niewykorzystanych.

0x01 graphic

Pakiet LINCKS można załadować z katalogu /pub/linux/apps/ database/ lincks na serwerze sunsite.unc.edu.

LINCKS oparty jest na obiektowej strukturze pozwalającej jedynie na dołączanie nowych składników. Nowe obiekty definiowane są na podstawie innych obiektów. Pomiędzy obiektami można tworzyć powiązania, obrazujące związki pomiędzy danymi. Dla obiektu można również zdefiniować widok (lub nawet kilka widoków), który pozwala określić, w jaki sposób dane będą prezentowane użytkownikowi. Widoki mogą być dziedziczone.

Głównym interfejsem tego pakietu jest program xlincks. Z jego pomocą, używając poleceń zbliżonych do tych wykorzystywanych w edytorze emacs, można w sposób interaktywny przeglądać bazy danych. Interfejs nieco przypomina w działaniu funkcje hipertekstowe dostępne na stronach WWW. Po kliknięciu na wyróżnionym elemencie program wyświetla dodatkowe informacje na zadany temat.

Pomoc dostępna jest w dwóch postaciach: jako pomoc kontekstowa oraz jako baza danych, którą można swobodnie przeglądać. Dostęp do pliku pomocy można uzyskać w każdej chwili, wciskając klawisz Help. Zawartość tego pliku jest zorganizowana w bardzo przejrzysty sposób, dzięki czemu może on zostać wykorzystany również do nauki systemu LINCKS od podstaw. W archiwach systemu sunsite dostępny jest również podręcznik w wersji postscriptowej.

W pakiecie LINCKS znajduje się kilka programów. Program dbroot służy do tworzenia nowych baz danych. Aby uwolnić bazę danych od obiektów, które nie są już używane, należy wydać polecenie cutoff. Serwerem całej aplikacji jest program netserv, który uruchamia procesy dbs obsługujące każdego łączącego się z nim klienta.

Inne bazy danych

Oczywiście narzędzia xBase, które omówiliśmy w tym rozdziale, nie są jedynymi systemami obsługi baz danych dla platformy linuxowej. Istnieje również mnóstwo programów niekompatybilnych z systemem dBASE. Przyjrzyjmy się jeszcze króciutko niektórym z nich (większość jest -dostępna za darmo i może zostać załadowana z Internetu).

Podsumowanie

Programy FlagShip oraz dbMan są doskonałą metodą na przenoszenie istniejących aplikacji dBASE i kompatybilnych na platformę linuxową. W większości przypadków mogą one działać o wiele szybciej i zwykle nie wymagają żadnych modyfikacji. W czasie tworzenia tej książki opracowywana była wersja programu FlagShip dla systemu X Window. Wersja demonstracyjna programu pozwala programistom pracować nad systemami baz danych w systemie Linux. Wersja pełna, będąca produktem komercyjnym, zawiera 1500 stron dokumentacji i kosztuje około 200$, wydaje się więc być niezłą propozycją dla dostawców oprogramowania. dbMan jest programem alternatywnym, przeznaczonym dla użytkowników, którym nie są potrzebne rozszerzenia oferowane przez FlagShip i możliwość kompilacji programów.

914 Część VIII Programowanie dla zaawansowanych

914 E:\Moje dokumenty\HELION\Linux Unleashed\Indeks\62.DOC

E:\Moje dokumenty\HELION\Linux Unleashed\Indeks\62.DOC 901

Rozdział 62. Adabas-D i inne bazy danych 913



Wyszukiwarka

Podobne podstrony:
43, ciekawostki, Linux - Ksiega Eksperta, Linux - ksiega eksperta, Linux - księga eksperta
34, ciekawostki, Linux - Ksiega Eksperta, Linux - ksiega eksperta, Linux - księga eksperta
58, ciekawostki, Linux - Ksiega Eksperta, Linux - ksiega eksperta, Linux - księga eksperta
26, ciekawostki, Linux - Ksiega Eksperta, Linux - ksiega eksperta, Linux - księga eksperta
08, ciekawostki, Linux - Ksiega Eksperta, Linux - ksiega eksperta, Linux - księga eksperta
10, ciekawostki, Linux - Ksiega Eksperta, Linux - ksiega eksperta, Linux - księga eksperta
57, ciekawostki, Linux - Ksiega Eksperta, Linux - ksiega eksperta, Linux - księga eksperta
29, ciekawostki, Linux - Ksiega Eksperta, Linux - ksiega eksperta, Linux - księga eksperta
46, ciekawostki, Linux - Ksiega Eksperta, Linux - ksiega eksperta, Linux - księga eksperta
60, ciekawostki, Linux - Ksiega Eksperta, Linux - ksiega eksperta, Linux - księga eksperta
36, ciekawostki, Linux - Ksiega Eksperta, Linux - ksiega eksperta, Linux - księga eksperta
49, ciekawostki, Linux - Ksiega Eksperta, Linux - ksiega eksperta, Linux - księga eksperta
D, ciekawostki, Linux - Ksiega Eksperta, Linux - ksiega eksperta, Linux - księga eksperta
55, ciekawostki, Linux - Ksiega Eksperta, Linux - ksiega eksperta, Linux - księga eksperta
28, ciekawostki, Linux - Ksiega Eksperta, Linux - ksiega eksperta, Linux - księga eksperta
61, ciekawostki, Linux - Ksiega Eksperta, Linux - ksiega eksperta, Linux - księga eksperta
42, ciekawostki, Linux - Ksiega Eksperta, Linux - ksiega eksperta, Linux - księga eksperta
03, ciekawostki, Linux - Ksiega Eksperta, Linux - ksiega eksperta, Linux - księga eksperta
31, ciekawostki, Linux - Ksiega Eksperta, Linux - ksiega eksperta, Linux - księga eksperta

więcej podobnych podstron