08.DOC

(494 KB) Pobierz
Po prostu











8







Praca z bazami danych

 



 

 

179


















              Praca z bazami danych

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.

Praca z bazami danych

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

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:

n     język definicji danych, czyli Data Definition Language, DDL, który służy do tworzenia tabel i powiązań między nimi;

n     język manipulacji danymi, czyli Data Manipulation Language, DML, służący do przeprowadzania operacji na danych zgromadzonych w jednostkach bazy danych;

n     język kontroli danych, czyli Data Control Language, DCL, odpowiedzialny za transakcje i nadzorowanie użytkowników oraz ich przywilejów.

 

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.

 

 

 

 

 

PostgreSQL

 

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:

 

 

n     C

n     C++

n     Java

n     Perl

n     ODBC

n     Python

n     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

 

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

n     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.

n     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

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...)

9.    

PostgreSQL

10. Zauważ, że katalogiem domowym użytkownika postgres jest /var/lib/pgsql.

11. Kliknij na przycisk Passwd. Wyświetlone zostanie okno pozwalające na zmianę hasła – Changing Password (patrz rysunek 8.6).

12. 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).

13. Zapamiętaj lub zanotuj wybrane hasło.

14. Wprowadź hasło jeszcze raz, aby je potwierdzić, a następnie zaakceptuj wprowadzone zmiany.

15. Zamknij program konfiguracyjny.

16. Z menu głównego systemu Gnome wybierz pozycję Menedżer plików – uruchomiony zostanie program Menedżer plików Gnome.

17. Zlokalizuj katalog zawierający plik o nazwie local1_template1.bki.source. Znajduje się on prawdopodobnie w katalogu ...

Zgłoś jeśli naruszono regulamin