173
Bazy danych to podstawowy element każdej aplikacji. Nie są w żadnej mierze
ekscytujące, ale z pewnością bardzo ważne.
Cokolwiek, co w jakiś sposób jest zorganizowane, wykorzystuje którąś odmianę
bazy danych – na przykład strukturę systemu plików.
Również bardziej zaawansowane czynności – dajmy na to monitorowanie
użytkowników i ich preferencji na stronie WWW – wymagają zastosowania
bazy danych (informacje na temat wykorzystania serwera Apache dla systemu
Linux znajdują się w rozdziale 13.).
Przy omawianiu baz danych w serwerowym systemie operacyjnym, jakim
jest Linux, należy zdać sobie sprawę z faktu, że baza danych składa się
z dwóch modułów: klienta i serwera. Aby baza danych mogła działać, oba te
moduły muszą się ze sobą komunikować. Ma to dość interesujące
konsekwencje.
Po pierwsze, serwer bazy danych ma wiele cech systemu operacyjnego:
musi kontrolować użytkowników, ich dostęp do baz danych, procesy
i zwykle udostępnia własny wiersz poleceń.
Po drugie, trzeba zdać sobie sprawę z interakcji pomiędzy klientami
a serwerem. Zwykle z serwerem bazy danych dostarczany jest również
program klienta, pozwalający na administrowanie bazą czy kierowanie
do niej zapytań. Program klienta łączy się z serwerem bazy danych i pozwala
na przeglądanie zawartości udostępnianych przez niego tabel. Co ważniejsze,
pozwala on na wydawanie poleceń języka SQL, umożliwiając tworzenie czy
wypełnianie relacyjnych baz danych oraz tworzenie kwerend. Program
PostgreSQL Interactive SQL Monitor (opisany w dalszej części tego rozdziału)
jest przykładem programu tego typu, podobnie jak DB-Access firmy Informix.
Praca z bazami danych
8
Praca z bazam
i danych
Rozdział 8.
174
Jednak prócz użytkowników – na przykład
tych kierujących kwerendy do bazy danych
poprzez program uruchamiany ze strony
WWW – będziemy potrzebować również
interfejsu użytkownika, utworzonego za
pomocą języka programowania obsługiwanego
przez serwer bazy danych. Utworzenie takiego
interfejsu to zadanie dla doświadczonego
programisty. Wybór języka zależy od wielu
czynników, ale serwer bazy danych musi
potrafić obsłużyć połączenie z programem
napisanym w tym języku. Zwykle wybierane
są języki, takie jak C, C++ oraz – szczególnie
na stronach WWW – Perl oraz Java.
Na płycie CD-ROM dołączonej do książki
znajduje się serwer baz danych o bardzo
dużych możliwościach o nazwie PostgreSQL,
działający pod kontrolą systemu Linux.
PostgreSQL został prawdopodobnie
zainstalowany w Twoim systemie w czasie,
gdy instalowałeś Linux i Gnome. Korzystanie
z niego jest darmowe (choć nie jest on objęty
licencją GNU, co wyjaśnimy później).
W tym rozdziale pokażemy, jak skonfigurować
i uruchomić PostgreSQL.
Krótko opiszemy również proces ładowania
i instalowania programu Informix Dynamic
Server (IDS) w wersji dla Linuksa. IDS jest
programem komercyjnym, objętym 30-dniowym,
darmowym okresem próbnym. Jeśli potrzebny
Ci jest serwer o naprawdę dużych możliwościach
do firmy, być może powinieneś wybrać
właśnie Informix Dynamic Server.
SQL, czyli Structured
Query Language,
jest powszechnie
używanym językiem
obsługi relacyjnych
baz danych.
A jeśli już mówimy
o językach: jakiego
języka używają
serwery baz danych
(nazywane również
DBMS)? Zwykle jest
to język SQL, czyli
Structured Query Language. Choć implementacje
tego języka mogą się nieco różnić w zależności
od serwera, większość standardowych poleceń
SQL będzie działać prawidłowo z każdą bazą
danych określaną jako zgodną z SQL.
SQL dzieli się pojęciowo na trzy elementy:
język definicji danych, czyli Data Definition
Language, DDL, który służy do tworzenia
tabel i powiązań między nimi;
język manipulacji danymi, czyli Data
Manipulation Language, DML, służący
do przeprowadzania operacji na danych
zgromadzonych w jednostkach bazy danych;
język kontroli danych, czyli Data Control
Language, DCL, odpowiedzialny za
transakcje i nadzorowanie użytkowników
oraz ich przywilejów.
Praca z bazam
i danych
Praca z bazami danych
175
PostgreSQL
PostgreSQL jest następcą programu Postgres,
stworzonego pod przewodnictwem Michaela
Stonebrakera na Uniwersytecie Kalifornijskim
w Berkeley.
Jeśli zainstalowałeś system Red Hat Linux 7.1,
najprawdopodobniej zainstalowany został
PostgreSQL w wersji 7.0.3 (patrz następny
podrozdział).
Jak wspomniałem wcześniej, PostgreSQL
nie jest programem objętym licencją publiczną.
Prawa autorskie do niego posiadają władze
Uniwersytetu Kalifornijskiego, które zezwoliły
na wykorzystywanie, modyfikowanie
i dystrybucję programu PostgreSQL wraz
z dokumentacją za darmo, pod warunkiem,
że wraz z nim rozprowadzana będzie notka
o ich prawach autorskich oraz dwa specyficzne
akapity. Jeśli chcesz uzyskać dodatkowe
informacje o warunkach licencji programu
PostgreSQL lub też informacje o samym
programie, zajrzyj na stronę
http://www.postgresql.org/
Ważne jest, aby uświadomić sobie, że istnieje
wiele języków programowania pozwalających
na dostęp do serwera PostgreSQL. Tego typu
dostęp nazywany jest interfejsem. Jeśli chcesz
utworzyć program porozumiewający się
z serwerem baz danych, powinieneś upewnić
się, że baza danych posiada również interfejs
dla języka, w którym program ma zostać
napisany. Dla bazy PostgreSQL dostępne są
następujące interfejsy:
C
C++
Java
Perl
ODBC
Python
Tcl
Dodatkowe informacje dotyczące używania
języków programowania rozprowadzanych
wraz z systemem Red Hat Linux 7.1 możesz
znaleźć w rozdziale 11.
PostgreSQL
Rozdział 8.
176
Aby sprawdzić, czy PostgreSQL został
zainstalowany
1.
Z podmenu System menu Programy
systemu Gnome wybierz pozycję GnoRPM.
Uruchomiony zostanie program GnoRPM.
2.
W liście Packages kliknij na symbol plus
znajdujący się obok pozycji Applications.
Rozwinięta zostanie lista Applications.
3.
Wybierz pozycję Databases. W prawej
części okna powinny zostać wyświetlone
dwa pakiety: postgresql i postgresql-server
(patrz rysunek 8.1).
4.
Kliknij kolejno prawym klawiszem myszy
na oba te pakiety i z menu podręcznego
wybierz pozycję Query.
Wyświetlone zostaną informacje o pakiecie
PostgreSQL (rysunek 8.2) oraz PostgreSQL
Server (rysunek 8.3), wraz z listą
zainstalowanych plików.
Wskazówki
PostgreSQL mógł nie zostać zainstalowany,
jeśli wybrano inne opcje instalacji. Jeżeli
pakiet ten nie jest obecny w programie
Gnome RPM, możesz za pomocą tegoż
programu zainstalować go z dysku
CD-ROM dołączonego do książki,
postępując zgodnie ze wskazówkami
zawartymi w rozdziale trzecim.
Możesz również załadować PostgreSQL
z sieci Internet – jest on dostępny pod
adresem http://www.postgresql.org.
Następnie należy postępować zgodnie
z instrukcjami zawartymi w rozdziale
czwartym dokumentu PostgreSQL
Administrator’s Guide dostępnego
również na tej stronie WWW.
Rysunek 8.1. Jeśli PostgreSQL został zainstalowany,
w programie Gnome RPM widoczne będą pakiety
serwera i klienta PostgreSQL.
Rysunek 8.2. Okno Package Info zawiera informacje
o pakiecie PostgreSQL i plikach, które zostały
zainstalowane.
Rysunek 8.3. Aby korzystać z PostgreSQL, potrzebny
będzie również pakiet zawierający program klienta.
PostgreSQL
Praca z bazami danych
177
Rysunek 8.4. W programie Linuxconf wybierz
pozycję User Accounts z podkategorii Normal
kategorii User Accounts.
Rysunek 8.5. Użytkownik postgres – czyli
administrator systemu PostgreSQL – musi zostać
skonfigurowany przed uruchomieniem serwera
PostgreSQL.
Użytkownik postgres
Serwer PostgreSQL musi być uruchamiany
przez użytkownika o identyfikatorze postgres.
Bardzo ważne ze względów bezpieczeństwa
jest to, aby użytkownik ten nie miał praw
użytkownika root (jeśli przyznasz mu takie
prawa, narażone będzie bezpieczeństwo całego
serwera). Użytkownik postgres bywa też
określany jako administrator postgres. Innymi
słowy, użytkownik postgres ma takie znaczenie
dla systemu PostgreSQL, jak użytkownik root
dla całego systemu linuksowego.
Użytkownik postgres mógł zostać dodany
do systemu podczas instalacji; mimo wszystko
powinieneś się o tym upewnić i zmienić
jego hasło.
Jeśli użytkownik postgres nie istnieje,
powinieneś go dodać wykorzystując
ustawienia przedstawione na rysunku 8.5.
Dodatkowe informacje o dodawaniu
użytkowników do systemu za pomocą
środowiska Gnome znajdziesz w rozdziale
szóstym.
Aby skonfigurować konto użytkownika
postgres
1.
Zaloguj się jako root i uruchom program
Linuxconf.
2.
Przewiń zawartość listy znajdującej się
w lewej części okna, aż znajdziesz pozycję
User Accounts.
3.
Rozwiń listę towarzyszącą tej pozycji.
4.
Rozwiń kategorię Normal będącą
elementem listy User Accounts.
5.
Kliknij na pozycję User Accounts.
W prawej części okna wyświetlona
zostanie lista kont użytkowników
(patrz rysunek 8.4).
6.
Przewiń wyświetlaną listę, aż znajdziesz
użytkownika postgres.
7.
Kliknij dwukrotnie na pozycji postgres.
8.
Wyświetlone zostanie okno dialogowe
User Information, przedstawione
na rysunku 8.5.
(dalej...)
PostgreSQL
Rozdział 8.
178
9.
Zauważ, że katalogiem domowym
użytkownika postgres jest /var/lib/pgsql.
10.
Kliknij na przycisk Passwd. Wyświetlone
zostanie okno pozwalające na zmianę hasła
– Changing Password (patrz rysunek
8.6).
11.
W polu New UNIX Password wprowadź
nowe hasło użytkownika postgres,
na przykład postgres (choć hasło to jest
łatwe do zapamiętania podczas testowania
oprogramowania, przy poważniejszych
zastosowaniach należy oczywiście wybrać
hasło trudniejsze do odgadnięcia).
12.
Zapamiętaj lub zanotuj wybrane hasło.
13.
Wprowadź hasło jeszcze raz, aby je
potwierdzić, a następnie zaakceptuj
wprowadzone zmiany.
14.
Zamknij program konfiguracyjny.
15.
Z menu głównego systemu Gnome wybierz
pozycję Menedżer plików – uruchomiony
zostanie program Menedżer plików
Gnome.
16.
Zlokalizuj katalog zawierający plik
o nazwie local1_template1.bki.source.
Znajduje się on prawdopodobnie
w katalogu /usr/lib/pgsql.
17.
Za pomocą programu Menedżer plików
skopiuj zawartość znalezionego katalogu
do katalogu domowego użytkownika
postgres, czyli /var/lib/pgsql.
18.
Z menu Edycja programu Menedżer
plików wybierz pozycję Preferencje.
Otwarte zostanie okno dialogowe
Preferencje (przedstawione na rysunku
8.7).
19.
Zaznacz opcję Wyświetlanie plików
ukrytych.
20.
Kliknij na OK.
21.
Przejrzyj zawartość katalogu domowego
użytkownika postgres, /var/lib/pgsql
(rysunek 8.8).
Rysunek 8.6. Należy zmienić hasło użytkownika
postgres, aby znać jego brzmienie.
Rysunek 8.7. Jeśli chcesz sprawdzić, czy użytkownik
postgres posiada plik profilu, musisz upewnić się, że
możesz przeglądać również pliki ukryte
Rysunek 8.8. Jeśli plik .bash_profile istnieje, należy
poddać go edycji; w przeciwnym przypadku trzeba
go najpierw utworzyć.
PostgreSQL
Praca z bazami danych
179
Rysunek 8.9. Plik profilu można edytować
za pomocą programu Gnotepad+.
Rysunek 8.10. Zmienne środowiskowe używane
przez PostgreSQL powinny zostać określone w pliku
profilu użytkownika postgres.
22.
Sprawdź, czy znajduje się w nim plik
o nazwie .bash_profile. Plik ten zawiera
dane o profilu użytkownika powłoki Bash
i jest on ładowany, aby ustalić wartości
niezbędnych zmiennych środowiskowych
podczas logowania użytkownika postgres
(więcej informacji o powłoce Bash
i profilach znajdziesz w rozdziale 9.).
Kropka na początku nazwy pliku oznacza,
że jest to plik systemowy i ukryty.
23.
Jeśli plik .bash_profile istnieje, kliknij
na niego prawym klawiszem myszy
i z menu podręcznego wybierz pozycję
Otwórz z. Otwarte zostanie okno gmc
(patrz rysunek 8.9).
24.
Jeśli plik .bash_profile nie istnieje, uruchom
program Gnotepad+ i utwórz go w oparciu
o informacje podane w następnych punktach.
A. W polu Program do wykonania wpisz
gnp.
B. Kliknij na OK, aby uruchomić program
Gnotepad+(patrz rysunek 8.10).
C. Wprowadź następujące wiersze tekstu:
PATH=$PATH:/var/lib/pgsql
MANPATH=$MANPATH:/var/lib/
pgsql
PGLIB=/var/lib/pgsql
PGDATA=/var/lib/pgsql
export PATH MANPATH PGLIB
PGDATA
D. Z menu File wybierz polecenie Save.
25.
Zamknij wszystkie aplikacje i wyloguj się.
26.
Zaloguj się jako użytkownik postgres,
używając określonego wcześniej hasła.
27.
Otwórz okno terminala, klikając na ikonę
terminala znajdującej się na pulpicie
systemu Gnome.
28.
Wydaj polecenie env, aby sprawdzić,
czy zmienne środowiskowe zdefiniowane
w pliku profilu są wyświetlane prawidłowo.
Jeśli wszystko jest w porządku, jesteś gotów
do uruchomienia serwera bazy danych.
PostgreSQL
Rozdział 8.
180
Wskazówki
Szczegółowe konfiguracje serwerów mogą
być bardzo różne w zależności od wartości
różnych zmiennych konfiguracyjnych.
Możesz zmienić położenie plików,
na przykład położenie katalogu domowego
użytkownika postgres, dostosowując je
do własnych potrzeb, ale należy pamiętać
o utrzymaniu odpowiednich praw dostępu.
Katalog /usr/bin musi wchodzić w skład
ścieżki przeszukiwania. Możesz to
sprawdzić, wydając polecenie env lub
$PATH.
Najlepszym źródłem dodatkowych
informacji o konfiguracji jest dokument
PostgreSQL Administrator’s Guide
dostępny w Internecie pod adresem
http://www.postgresql.org/
Aby uruchomić serwer baz danych
1.
W oknie terminala wpisz polecenie initdb.
2.
Wciśnij klawisz Enter.
PostgreSQL
Praca z bazami danych
181
Rysunek 8.11. Program rezydentny Postmaster
musi być uruchomiony, aby programy klientów
mogły łączyć się z serwerem.
Program rezydentny Postmaster
Program rezydentny Postmaster jest procesem,
który musi działać w tle, aby programy klientów
mogły łączyć się z serwerem baz danych.
Aby uruchomić program Postmaster
1.
Po otwarciu okna terminala wydaj
polecenie postmaster –I.
2.
Wciśnij klawisz Enter. W czasie, gdy
program Postmaster działa, w oknie
terminala nie zostanie wyświetlony znak
zachęty (rysunek 8.11).
Wskazówka
Jeśli planujesz poważniejsze zastosowania
bazy danych, prawdopodobnie będziesz
chciał uruchamiać program Postmaster
automatycznie (przez użytkownika postgres).
Opis rozwiązania tego problemu znajdziesz
w rozdziale czwartym dokumentu
PostgreSQL Administrator’s Guide.
Aby przetestować połączenie
1.
Po uruchomieniu programu Postmaster
w terminalu otwórz nowe okno.
2.
Utwórz nową bazę danych o nazwie hobbits,
wydając polecenie createdb hobbits.
3.
Wciśnij Enter.
4.
Połącz się z nową bazą danych, wpisując
w wierszu poleceń psql hobbits.
Uruchomiony zostanie program
PostgreSQL
S
QL
Rozdział 8.
182
PostgreSQL Interactive SQL Monitor
(patrz rysunek 8.12).
5.
W wierszu poleceń programu PostgreSQL
Interactive SQL Monitor – znak zachęty
ma tu postać nazwy bazy danych, z którą
jesteś połączony – wprowadź polecenie \?;
wyświetlone zostaną wszystkie dostępne
polecenia (patrz rysunek 8.13).
6.
Wyjdź z okna menu, wydając polecenie \q.
7.
Po znaku zachęty Monitor wprowadź
polecenie SQL niezwiązane z żadnymi
danymi przechowywanymi w tabeli:
SELECT datetime 'now';
8.
Wciśnij klawisz Enter. Wyświetlona zostanie
bieżąca data i czas (patrz rysunek 8.14).
Wskazówki
Zgodnie z konwencją – choć nie jest to
wymagane – wszystkie słowa kluczowe
języka SQL pisze się wielkimi literami.
Język ten nie rozróżnia wielkości liter.
Każde z poleceń języka SQL wprowadzane
w programie PostgreSQL Interactive SQL
Monitor musi kończyć się średnikiem.
Aby usunąć bazę danych
1.
W oknie terminala, po znaku zachęty
powłoki, wprowadź polecenie
destroydb nazwabazydanych
2.
Wpisz na przykład
bash$ destroydb hobbits
3.
Powyższe polecenie spowoduje usunięcie
bazy danych o nazwie hobbits.
Rysunek 8.12. Program PostgreSQL Interactive
SQL Monitor pozwala bezpośrednio wydawać
polecenia SQL, które są przetwarzane przez serwer.
Rysunek 8.13. Listę poleceń dostępnych
w programie PostgreSQL Interactive SQL Monitor
można obejrzeć po wydaniu polecenia
\?
Ilustracja 8.14. Wydając proste polecenie SQL,
można upewnić się, czy połączenie pomiędzy
serwerem i klientem działa prawidłowo.
Praca z bazami danych
183
Rysunek 8.15. Do utworzenia tabeli można wykorzystać
standardowe polecenie SQL, natomiast aby sprawdzić,
czy została ona utworzona, można wykorzystać
polecenie \dt programu PostgreSQL Interactive
SQL Monitor.
Rysunek 8.16. Wszystkie wiersze i kolumny tabeli
można wyświetlić za pomocą polecenia SELECT *.
Tworzenie tabeli
Tabele, składające się z kolumn – zwanych
również polami – oraz wierszy, są
podstawowymi blokami, z których
składają się relacyjne bazy danych.
Aby utworzyć tabelę
1.
Po połączeniu się za pomocą programu
PostgreSQL Interactive SQL Monitor
z bazą danych, dajmy na to myfundb,
utwórz tabelę hobbits, wydając polecenie
CREATE TABLE hobbits(
fname varchar (20),
lname varchar (20),
ssn int);
2.
Wciśnij Enter.
3.
Aby sprawdzić, czy tabela została utworzona,
w wierszu poleceń wprowadź polecenie \dt.
Na ekranie wyświetlona zostanie Twoja
tabela (patrz rysunek 8.15).
Wskazówka
Aby uzyskać więcej informacji na temat
składni języka SQL, dostępnych typów
danych i słów kluczowych, zajrzyj do
jakiejś książki poświęconej temu językowi
i projektowaniu baz danych.
Aby wstawić dane do tabeli
1. W czasie, gdy program PostgreSQL
Interactive SQL Monitor jest wciąż
połączony z bazą myfundb, wstaw do
tabeli hobbits dane, wydając polecenie
INSERT INTO hobbits VALUES
('Frodo', 'Baggins', 12345678);
2.
Wciśnij Enter.
3.
Powtarzaj kroki 1. i 2. dla każdego wiersza,
który ma zostać umieszczony w bazie danych.
4.
Aby wyświetlić wszystkie wiersze bazy
danych, w wierszu poleceń wpisz
SELECT * FROM hobbits;
5.
Wciśnij Enter. Wyświetlone zostaną
wszystkie wiersze i kolumny
(patrz rysunek 8.16).
PostgreSQL
Rozdział 8.
184
Wskazówka
Jeśli trzeba wstawić do tabeli wiele danych,
zwykle robi się to, wybierając odpowiednie
dane z innej tabeli lub ładując je z pliku
tekstowego. W takiej sytuacji wydawanie
poleceń wstawiających każdy z wierszy
z osobna nie byłoby zbyt wygodne.
Aby skierować zapytanie dotyczące tabeli
1.
W czasie, gdy program PostgreSQL
Interactive SQL Monitor jest połączony
z bazą danych myfundb, skieruj do niej
pytanie dotyczące tabeli hobbits, wydając
polecenie
SELECT lname FROM hobbits
WHERE ssn<100000000;
2.
Wciśnij Enter. Pola spełniające zadany
warunek zostaną wyświetlone na ekranie
(patrz rysunek 8.17).
Aby uaktualnić zawartość tabeli
1.
W czasie, gdy program Interactive SQL
Monitor jest połączony z bazą danych
myfundb, wprowadź polecenie powodujące
uaktualnienie danych w tabeli hobbits
przez zamianę imienia hobbita Sama
Gamgee na Samwise:
UPDATE hobbits SET
fname='Samwise' WHERE
lname='Gamgee';
2.
Wciśnij Enter.
3.
Aby sprawdzić, czy zmiany zostały
wprowadzone, wyświetl zawartość tabeli,
wydając polecenie
SELECT * FROM hobbits;
4.
Wciśnij Enter. Odpowiednie pole zostało
uaktualnione (patrz rysunek 8.18).
Rysunek 8.17. Po wydaniu polecenie SELECT ze słowami kluczowymi
FROM i WHERE zwracane są tylko dane spełniające określony warunek.
Rysunek 8.18. Możliwe jest uaktualnianie poszczególnych pól w oparciu
o wybrane kryteria.
PostgreSQL
Praca z bazami danych
185
Dziedziczenie tabeli
Możliwe jest utworzenie tabeli, która
dziedziczy wszystkie kolumny (pola) innej
tabeli. Nowa tabela może również zawierać
dodatkowe kolumny, poza tymi z tabeli
pierwotnej.
PostgreSQL określa tego typu związki
pomiędzy tabelami mianem klasy, jak to
zwykle bywa w przypadku dziedziczenia.
Aby utworzyć tabelę dziedziczącą
po istniejącej tabeli
1.
W czasie, gdy program Interactive SQL
Monitor jest połączony z bazą danych
myfundb, utwórz nową tabelę o nazwie
hobbitsplus dziedziczącą pola tabeli
hobbits, wydając polecenie
CREATE TABLE hobbitsplus
(alias varchar(20)) INHERITS hobbit;
2.
Wciśnij Enter.
Wskazówka
Nowa tabela, hobbitsplus, zawiera pole
o nazwie alias, które nie było obecne
w tabeli hobbits.
Aby wstawić wiersz do tabeli hobbitsplus
1.
W czasie, gdy program Interactive SQL
Monitor jest połączony z bazą danych
myfundb, wydaj polecenie
INSERT INTO hobbitsplus SELECT *
FROM hobbits;
2.
Wciśnij Enter. Jeśli wyślesz do bazy
danych zapytanie SELECT * dotyczące
tabeli hobbitsplus, przekonasz się, że
zostały do niej wstawione wszystkie dane
z tabeli hobbits (patrz rysunek 8.19).
Rysunek 8.19. Dzięki dziedziczeniu tabeli można przenosić
wiersze i kolumny pomiędzy tabelami.
PostgreSQL
Rozdział 8.
186
Aby wprowadzić dane do nowego pola
Do nowego pola można wprowadzić dane
wydając polecenie, takie jak
UPDATE hobbitsplus SET alias =
'Underhill' WHERE lname = 'Baggins';
Jeśli porównasz zawartość tabeli hobbits oraz
hobbitsplus, zauważysz, że w nowym polu
pojawiły się dodatkowe dane
(patrz rysunek 8.20).
Dodawanie użytkowników
Jeśli użytkownicy muszą mieć dostęp
do serwera PostgreSQL, trzeba zalogować się
jako administrator postgres lub używając
specjalnie w tym celu utworzonego konta.
Konto takie nie ma nic wspólnego z dostępem
do systemu linuksowego; daje tylko prawa
dostępu do serwera baz danych.
Aby dodać nowego użytkownika
1.
W oknie terminala wydaj polecenie
createuser z nazwą użytkownika jako
argumentem, na przykład
createuser hdavis
2.
W odpowiedzi na monit podaj numer
identyfikacyjny użytkownika i określ
prawa dostępu do serwera PostgreSQL
(rysunek 8.21). Po udzieleniu odpowiedzi
na te pytania tworzony jest odpowiedni
użytkownik.
Wskazówka
Domyślnym numerem identyfikacyjnym
istniejącego użytkownika systemu Linux
jest jego linuksowy numer identyfikacyjny.
Rysunek 8.20. Do nowych pól tabeli można wprowadzać dodatkowe dane.
Rysunek 8.21. Polecenie createuser służy do dodawania użytkowników
serwera PostgreSQL, którzy będą mogli się z nim łączyć.
PostgreSQL
Praca z bazami danych
187
Informix Dynamic Server,
wersja dla systemu Linux
Firma Informix Software, wiodący producent
systemów obsługi baz danych, była jedną
z pierwszych firm, które przeniosły swoje
profesjonalne oprogramowanie na platformę
linuksową. Wersja programu Informix
Dynamic Server (IDS) dla systemu Linux
różni się od flagowej wersji programu
działającej w komercyjnych wersjach systemu
UNIX, na przykład Solaris, tylko w
niektórych, bardzo zaawansowanych
szczegółach.
Należy jednak uprzedzić, że program Informix
Dynamic Server nie jest łatwy ani w instalacji,
ani w utrzymaniu. Nie jest też tani. To program
komercyjny ze wszystkimi tego konsekwencjami.
Można jednakże załadować jego 30-dniową,
darmową wersję próbną (jeśli wolisz, możesz
również zamówić płytę CD-ROM z wersją
próbną bezpośrednio w firmie Informix).
Licencja na program IDS zwykle zależy
od liczby użytkowników i kosztuje 99 dolarów
od każdego użytkownika, ale w praktycznych
zastosowaniach trzeba skontaktować się
z firmą Informix i wynegocjować jej warunki.
Wiele zagadnień związanych z instalacją
i uruchamianiem programu Informix Dynamic
Server jest zbliżonych do tych omawianych
w podrozdziale poświęconym programowi
PostgreSQL. Trzeba jednak pamiętać, że
w przeciwieństwie do PostgreSQL, dla programu
Informix Dynamic Server dostępna jest
komercyjna pomoc techniczna. Jeśli program
ten zostanie prawidłowo skonfigurowany,
może działać z naprawdę wysoką wydajnością.
Jeśli tego właśnie potrzebujesz, powinieneś
rozważyć zakup programu IDS.
W tym podrozdziale przedstawimy pokrótce
proces instalacji programu IDS w wersji dla
systemu Linux. Dokładniejsze informacje
znajdziesz w dokumencie Installation Guide
dostępnym w formacie PDF pod adresem
http://www.informix.com/informix/prod
ucts/linux/5274.pdf
Wersję demonstracyjną można załadować,
korzystając z witryny
http://www.intraware.com
Aby załadować program IDS
1.
Na stronie Intraware przejdź do sekcji
poświęconej IDS w wersji dla Linuksa pod
adresem
http://www.intraware.com/membersh
ip/index.html?source=83
2.
Wypełnij formularz znajdujący się na tej
stronie.
3.
Kliknij na przycisk Submit Membership
Info. Pocztą elektroniczną zostanie Ci
przesłany identyfikator użytkownika
Intraware oraz hasło.
4.
Przejdź do strony pozwalającej
na ładowanie programów
http://member.intraware.com/shop/tr
ybuy/images.html?PLNE=000200,
używając otrzymanego identyfikatora
i hasła.
5.
Wybierz przycisk Submit, akceptując
warunki licencji.
6.
Wybierz metodę ładowania plików
(na przykład FTP). Wyświetlone zostaną
szczegółowe instrukcje dotyczące
ładowania oraz numer seryjny i klucz.
Wskazówki
Pamiętaj o zapisaniu numeru seryjnego
i klucza. Będą one potrzebne do instalacji
programu IDS.
Skompresowany plik instalacyjny zajmuje
około 19MB. Można załadować go w
całości lub podzielony na fragmenty.
Pakiet instalacyjny zawiera trzy produkty:
serwer Informix;
program Informix-Connect używany dla
zapewnienia łączności pomiędzy klientami
i serwerem;
Informix Client Software Developer’s Kit
(SDK) zawierający interfejsy do obsługi
połączeń z serwerem dla różnych języków
programowania.
Inform
ix Dynam
ic Server
Rozdział 8.
188
Jeśli nie planujesz tworzenia interfejsów
dla swoich baz danych, nie musisz instalować
SDK. Najczęściej wykorzystywany jest
interfejs ESQL/C będący biblioteką dla języka
C, którą można wkompilować do programów
tworzonych za pomocą GNU C.
Aby utworzyć użytkownika informix
1.
Zaloguj się jako root.
2.
Postępuj zgodnie ze wskazówkami
przedstawionymi we wcześniejszej części
tego rozdziału, aby utworzyć użytkownika
o nazwie informix (patrz „Aby skonfigurować
konto użytkownika postgres”).
3.
Upewnij się, że użytkownik informix należy
do utworzonej przez Ciebie grupy informix.
Aby założyć katalog instalacyjny
Za pomocą polecenia mkdir lub też używając
programu Menedżer plików Gnome, należy
utworzyć katalog, w którym zainstalowane
zostaną produkty firmy Informix. Domyślnie
jest to katalog /opt/informix, ale nic nie stoi
na przeszkodzie, aby wybrać jakąś inną
lokalizację.
Aby ustalić wartości zmiennych
środowiskowych
Odpowiednie wartości zmiennych PATH oraz
INFORMIXDIR należy ustalić w pliku
.bash_profile znajdującym się w katalogu
domowym użytkownika informix oraz
wszystkich innych użytkowników, którzy będą
łączyć się z serwerem baz danych. W tym celu
należy dodać następujące wpisy:
INFORMIXDIR=/opt/informix
export INFORMIXDIR
PATH=$PATH:$INFORMIXDIR/bin
export PATH
Aby zainstalować oprogramowanie firmy
Informix
Oprogramowanie Informix jest rozprowadzane
w standardowym formacie instalacyjnym sytemu
Red Hat, czyli RPM. Po zalogowaniu się jako
root można zainstalować ten pakiet za pomocą
programu Gnome RPM, zgodnie ze wskazówkami
przedstawionymi w rozdziale trzecim.
Aby uruchomić skrypt instalacyjny
1.
Zaloguj się jako root.
2.
Upewnij się, że istnieje użytkownik i grupa
informix.
3.
Sprawdź, czy zmienna środowiskowa
INFORMIXDIR wskazuje na katalog
instalacyjny – w tym celu możesz na
przykład wydać polecenie
$INFORMIXDIR
4.
Uruchom skrypt instalujący moduł
łączności z klientem oraz moduł serwera
Informix Dynamic Server, wydając
polecenie
./installconn –o
5.
Wciśnij Enter.
6.
Po wyświetleniu odpowiedniego pytania
wprowadź numer seryjny oraz klucz, który
uzyskałeś przy przeglądaniu witryny Intraware.
7.
Wciśnij Enter. Na ekranie wyświetlony
zostanie szereg komunikatów skryptu
instalacyjnego. Jeśli nie ma wśród nich
informacji o błędach, oznacza to, że
instalacja przebiegła pomyślnie.
Inicjalizacja programu IDS
Po zainstalowaniu programu Informix
Dynamic Server należy jeszcze wykonać kilka
czynności inicjalizacyjnych, zanim można
będzie z niego korzystać. Czynności te zostały
krótko opisane w następnym podrozdziale.
Dokładniejsze informacje na ten temat
znajdziesz w dokumencie Informix Dynamic
Server 7.3 Administrator’s Guide dostępnym
w formacie PDF pod adresem
http://www.informix.com/answers/.
Inform
ix Dynam
ic Server
Praca z bazami danych
189
Aby zainicjalizować program IDS
(informacje ogólne)
1.
Ustal wartości wymaganych zmiennych
środowiskowych (prócz zmiennych
INFORMIXDIR i PATH są to również
ONCONFIG oraz INFORMIXSERVER).
Zmienne te zwykle definiuje się w plikach
profili poszczególnych użytkowników.
2.
Utwórz plik sqlhosts, w którym należy
określić nazwy serwera baz danych, typy
połączeń i nazwy usług.
3.
Edytuj plik onconfig znajdujący się
w katalogu INFORMIXDIR/etc, ustalając
odpowiednie wartości poszczególnych
parametrów dotyczących serwera baz
danych.
4.
Uruchom serwer, wydając polecenie
oninit –i
Teraz powinieneś już mieć możliwość
korzystania z programów klientów,
na przykład DB-Access, do uzyskiwania
połączeń z serwerem, tworzenia tabel
i wysyłania zapytań.
Produkty firmy Oracle
Firma Oracle jest wiodącym producentem profesjonalnych programów do obsługi baz danych.
Kilka wersji programów tej firmy działa również na platformie Red Hat Linux. Zwykle
dostępne są ich darmowe wersje próbne. Jeśli chcesz dowiedzieć się czegoś więcej o tych
programach, zajrzyj na stronę WWW pod adresem
http://platforms.oracle.com/linux/
Oracle 8i to baza danych przeznaczona głównie do stosowania w sieci WWW. Została ona
również przeniesiona na platformę linuksową. Oto niektóre z jej zaawansowanych elementów:
Zintegrowany pakiet do gospodarowania zasobami (ERP, Enterprise Resources Planning)
– Oracle Applications for Linux.
Środowisko programistyczne pozwalające na łatwe tworzenie, rozprowadzanie
i zarządzanie aplikacjami sieciowymi do obsługi baz danych oraz witryn sterownych
danymi – Oracle WebDB on Linux.
Narzędzia służące do tworzenia i dystrybucji internetowych baz danych: Oracle Developer
oraz Oracle Developer Server on Linux.
Inform
ix Dynam
ic Server
Rozdział 8.
190
Podsumowanie
W tym rozdziale nauczyłeś się:
Sprawdzać, czy program PostgreSQL
został zainstalowany.
Konfigurować konto użytkownika postgres.
Tworzyć plik profilu użytkownika
dla powłoki Bash.
Uruchamiać usługę Postmaster.
Testować połączenie z bazą danych.
Tworzyć bazy danych.
Korzystać z programu Interactive SQL
Monitor.
Usuwać bazę danych.
Tworzyć tabele.
Wstawiać dane do tabeli.
Tworzyć zapytania dotyczące tabeli.
Korzystać z dziedziczenia tabeli.
Dodawać użytkownika bazy danych.
Ładować z sieci Internet program Informix
Dynamic Server w wersji dla systemu
Linux.
Instalować program Informix Dynamic
Server w wersji dla systemu Linux.
Podsum
owanie