2007.09_PostgreSQL_[Bazy Danych].pdf
(
659 KB
)
Pobierz
332760183 UNPDF
rozwiązania
PostgreSQL
PostgreSQL
zaczynamy z OpenOfice Base
Adam Radłowski
PostgreSQL jest znanym i wcale nie nowym systemem baz danych. Powstał w słynnym Uniwersytecie
Kalifornijskim w Berkeley i nazywał się wtedy po prostu Postgres. W ubiegłym roku obchodził dwudzieste
urodziny. Pomimo podeszłego informatycznie wieku rozwija się bardzo szybko i dynamicznie.
M
am okazję już od kilku lat obserwować je-
częściowo lub w całości na GPL, warto zapoznać się
z systemem licencjonowania MySQL-a;
• dobra, przetłumaczona na język polski literatura,
co jest zawsze ważne na początku;
• doskonała, spójna dokumentacja, bazująca na przyję-
tych deinicjach i pojęciach z baz danych, niepróbują-
ca szokować radosnym słowotwórstwem;
• bardzo dobra prędkość obróbki danych przy zacho-
waniu pełnej transakcyjności;
• duża ilość interfejsów programistycznych i sterowni-
ków dostępu do baz;
• bazy danych transakcyjne, bez ustalania ich granicz-
nej wielkości;
• rozbudowany mechanizm kursorów odczytu;
• wieloplatformowość;
• doskonały serwis – fachowe odpowiedziedzi udziela-
ne są nieodpłatnie, nierzadko w ciągu kwadransa.
Dlaczego postawiłem na PostgreSQL?
Tak jak większość programistów musiałem wraz ze zmie-
niającym się (zaczynając od XT) komputerem PC i syste-
mami operacyjnymi, działającymi na tej platformie sprzę-
towej, w pewnym momencie podjąć decyzję o wymianie
poczciwego DOS-a na coś nowocześniejszego. Wybór padł
na Linuksa, a jeśli chodzi o system baz danych – na Post-
greSQL.
Argumentami za PostgreSQL-em były:
• wygodne licencjonowanie – PostgreSQL opiera się na
prostej licencji – BSD, więc nawet mniej restrykcyj-
nej niż LGPL, pozwalającej na swobodne jego uży-
wanie w różnie licencjonowanych aplikacjach; dla po-
równania z innymi systemami baz danych, opartych
Jak zacząć
Jeśli jesteś osobą niezbyt obeznaną z bazami danych SQL,
a potraisz np. choć w małym stopniu używać interfejsu do
tworzenia zapytań, raportów i formularzy w Microsoft®
44
wrzesień 2007
go działanie w różnych systemach opera-
cyjnych, pisać dla niego oprogramowa-
nie klienckie.Nigdy mnie nie zawiódł.
Strona systemu zarządzania bazami danych PostgreSQL:
http://www.postgresql.org
.
rozwiązania
PostgreSQL
niczyłem w kursie „
Administering a Microsoft®
SQL Server™ 2000 Database
”, zdumiało mnie
to, że nikt z uczestników oprócz mnie nie znał
SQL-a, choć sądząc po zawartości skryptu na-
pisanego do kursu - ta umiejętność ewidentnie
jest na kursie potrzebna. Dbający o bazy admi-
nistrator na pewno będzie w jakimś momen-
cie zmuszony napisać prosty skrypt SQL - wy-
zwalacz czy cokolwiek innego.
Instalacja sterownika w wersjach 1.1.x opi-
sana jest na stronie sterownika. Zalecam jed-
nak OpenOfice 2.2.x, ponieważ ma on więk-
sze możliwości operowania na bazach danych
niż 1.1.x.
W swojej dystrybucji Linuksa zainstalujcie
wszystko, co należy do pakietu PostgreSQL.
Jeżeli jest to Mandriva 2007 czy Fedora, lokal-
ny motor bazy powinien działać po zainstalo-
waniu i wystartowaniu demona (usługi) Post-
greSQL albo (dla mało doświadczonych) prze-
ładowaniu systemu operacyjnego.
Aby założyć plik bazy danych komuniku-
jącej się z serwerem bazy PostgreSQL, wybie-
ramy w OpenOfice 2.2.x opcję
Plik/Nowy/baza
danych
.
Będziemy przechodzić przez odpowied-
nie etapy pracy kreatora – przedstawione na
rysunkach.
Wybieramy z listy wyboru „
Połącz z istnie-
jącą bazą danych
” opcję „
postgresql
”.
Teraz wpisujemy parametry połączenia.
Na rysunku 2. przedstawiłem przykładowy
Rysunek 1.
Wybieramy z listy wyboru „Połącz
z istniejącą bazą danych” opcję „postgresql”
PostgreSQL i OpenOfice
Dla OpenOfice stworzono sterownik do ob-
sługi baz danych PostgreSQL. Z niego też najle-
piej jest skorzystać przy operowaniu na bazach
(mamy jeszcze JDBC i ODBC, ale wspominany
sterownik wydaje się najsprawniejszy).
Można go pobrać ze strony
http://dba.
openofice.org/drivers/postgresql/index.html
.
Instalujemy go w OpenOfice 2.2.x w opcji:
Narzędzia/Menedżer pakietów
, gdzie po kliknię-
ciu przycisku
Dodaj
wybieramy plik ze sterow-
nikiem, wyłączamy OpenOfice, włączamy na
powrót i to wszystko.
Access i brakuje Ci czegoś takiego w Linuk-
sie, to z tego artykułu dowiesz się o połącze-
niu OpenOfice z PostgreSQL i... nie będzie
Ci potrzebna gruntowna znajomość Postgre-
SQL-a na początek.
Jeżeli jednak chcesz poznać PostgreSQL
lepiej, to powinieneś, moim zdaniem zrobić
to, co opisuję poniżej.
Należy kupić jakąś cienką książeczkę
z ćwiczeniami praktycznymi. Należy spraw-
dzić, czy publikacja zawiera to, co nas intere-
suje, czyli podstawowe opisy instalacji, koni-
gurowania i pracy na bazie danych. Jeśli nie
znamy języka SQL, należy sprawdzić, czy au-
tor nie zakłada, że taką umiejętność posia-
damy. W moim wypadku była to publika-
cja Marcina Szeligi „
PostgreSQL 7.2. Ćwicze-
nia praktyczne
” .
Trzeba przeczytać tyle, aby wiedzieć, co
zrobić na początek i zainstalować Postgre-
SQL z binarnych pakietów dostarczonych
z naszą dystrybucją Linuksa. Następnie nale-
ży wykonać ćwiczenia z książki, działając prak-
tycznie w systemie baz danych.
Jeżeli chcemy tworzyć oprogramowanie
klienckie, a nie znamy SQL-a, należy nauczyć
się tego języka (książeczka do ćwiczeń po-
winna dawać taką możliwość), tak aby wie-
dzieć, że coś można zrobić. W trakcie używa-
nia PostgreSQL-a będziemy systematycznie
poszerzać naszą wiedzę.
Potem poszukać trzeba dokładniejszej
i bardziej odpowiadającej naszym potrzebom
pozycji, przeczytać ją i działać w PostgreSQL-
u już na etapie rzeczywistego korzystania.
W moim wypadku taką książką była publika-
cja „
Bazy danych i PostgreSQL
” Richarda Sto-
nesa i Neila Matthew.
W trakcie pracy w pewnym momencie
zacząłem się opierać na oryginalnej doku-
mentacji PostgreSQL, która jak dotąd nie za-
wierała (w wersji 8.1.4) tylko jednej odpowie-
dzi - jak używać funkcji umożliwiającej two-
rzenie zapytań do dwóch baz danych naraz.
Należy bezwzględnie poznać język SQL,
nawet jeśli jesteśmy administratorem systemu
baz danych, czyli teoretycznie baz nie używa-
my, nie robimy w nich zmian itp. Kiedy uczest-
Rysunek 2.
Wpisujemy parametry połączenia
Rysunek 3.
Uwierzytelnienie użytkownika
www.lpmagazine.org
45
rozwiązania
PostgreSQL
Rysunek 5.
Ustawienia specjalne
Rysunek 4.
Rejestracja bazy
Aby w OpenOfice możliwa była edycja
tabeli, musi ona mieć klucz główny. Klucz
główny założony na pole specjalne
OID
nie
daje możliwości edycji. W wersjach 8.1.x
i wyższych domyślnie nie ma
OID
, oprócz te-
go jest ono ukryte, więc na razie nie kłopocz-
my się tym, co to jest.
W OpenOfice wersja 1.1.x mamy także
dostęp do baz, gdzie możemy tworzyć zapy-
tania, a nawet tabele, wypełniać je, kreować
formularze edycyjne, ale tylko poprzez zare-
jestrowane bazy jako źródła danych (w Open-
Ofice 1.1.x parametry bazy nie są zapisywa-
ne w pliku).
Nie piszę o tym, jak w OpenOfice zakła-
da się tabele czy tworzy zapytania (zapytania
to kwerendy – ten twór językowy także „bar-
dzo lubię”). Jest to temat powiązany z Open-
Ofice, a nie konkretnie z PostgreSQL-em.
Tym niemniej para PostgreSQL-OpenOfice
to naprawdę dobre połączenie klienta do ba-
zy i wysokiej jakości serwera bazy.
Należy także wspomnieć, że w Linuksie
mamy bardzo wygodne narzędzie do pra-
cy z bazami danych (tak wynika z opisów)
– Kexi. Niestety, nie miałem nigdy potrze-
by użyć tej aplikacji. Tym niemniej z samej
ciekawości na pewno „spróbuję się” niedłu-
go z Kexi (kiedy piszę ten artykuł, właśnie
trwa kompilacja).
Niniejszy artykuł najprawdopodobniej
zapoczątkuje serię podobnych, opisujących
różne elementy pracy z PostgreSQL i cieka-
we funkcjonalności tego systemu zarządza-
nia bazami danych.
wpis, który można zmodyikować dla połą-
czenia z dowolnym serwerem PostgreSQL.
W systemach Mandriva 2007 i Fedora, je-
żeli działa już w naszym komputerze serwer
bazy PostgreSQL, mamy dostęp do pustej ba-
zy „
postgres
”. Jeżeli nie umiemy zakładać baz
w PostgreSQL-u, a chcielibyśmy po prostu pra-
cować, wystarczy zamiast powyższych wpisać
parametry
user=postgres
dbname=postgres
.
Wpisy
host=
...,
port=
...,
password=
... pomijamy.
Dla bardziej zaawansowanych - parame-
try, które podajemy, są zgodne z parametrami,
jakie podajemy funkcji
PQConnectdb
z bibliote-
ki
libpq
. Nie wpisujemy nazwy użytkownika
i nie zaznaczamy kwadracika (ang.
check box
)
Wymagane hasło, ponieważ podaliśmy te in-
formacje w parametrach połączenia z bazą. Je-
śli chcielibyśmy, aby OpenOfice zawsze py-
tał nas o hasło przy otwieraniu pliku bazy
OpenOfice, w parametrach połączenia z ba-
zą pomijamy wpisanie danej
user
i
password
i w okienku, które widzimy na Rysunku 3, wpi-
sujemy użytkownika i zaznaczamy kwadra-
cik
Wymagane hasło
. Kliikamy przycisk
Testuj
połączenie
.
Mam nadzieję, że podczas pierwszej pró-
by podłączenia do bazy uzyskacie taki sam po-
zytywny komunikat jak na Rysunku 3. W os-
tatnim kroku każemy zarejestrować bazę i wcis-
kamy
Utwórz
.
Rejestracja bazy do operowania w modu-
le baz danych OpenOfice nie jest potrzebna,
lecz jeśli chcielibyśmy wykorzystać bazę jako
źródło danych dla arkusza kalkulacyjnego al-
bo korespondencji seryjnej, musi ona być za-
rejestrowana.
Już możemy używać bazy, ale koniecz-
nie należy przeprowadzić kilka dodatko-
wych czynności, związanych z ustawianiem
połączenia... Kiedy baza danych jest otwarta,
wybieramy z menu Open Ofice
Edycja/Baza
danych/Ustawienia zaawansowane
i w zakład-
ce
Ustawienia
specjalne musimy wybrać opcje
tak jak na Rysunku 5.
W przypadku komputera lokalnego (we
wspominanym przypadku dystrybucji Man-
driva 2007 czy Fedora) nie musimy już nic wię-
cej ustawiać. Jeżeli podłączamy się do serwe-
ra, który koduje polskie znaki inaczej niż nasz
system, musimy poinformować o tym sterow-
nik, wchodząc do
Edycja->Baza danych->Wła-
ściwości
w zakładce
Ustawienia
dodatkowe wy-
brać z listy
kodowanie znaków serwera bazy
. Na
rysunku 6. z systemu pracującego w ISO8859-
2 podłączamy się do bazy danych kodowanej
w UTF-8. Nazwy hosta i portu nie ruszamy,
choć wyglądają dziwnie (
port
) – wpisaliśmy
te elementy wcześniej przy okazji nawiązywa-
nia połączenia. Schemat jest czymś w rodzaju
katalogu (folderu), w którym gromadzone są
tabele w bazie. Jako domyślny schemat klient
PostgreSQL traktuje schemat „
public
”.
Jeżeli podłączamy się w najprostszy spo-
sób do gotowej bazy „
postgres
” w systemie
Mandriva 2007 lub Fedora, w bazie nie ma
schematu „
public
”. Przy zakładaniu pierwszej
tabeli należy po prostu wpisać, że ma ona być
założona w schemacie „
public
” i schemat zo-
stanie założony.
O autorze
Adam Radłowski
specjalizuje się w zakre-
sie tworzenia aplikacji bazodanowych dla
sieci lokalnych i rozległych (od kilku lat Post-
greSQL - platforma klienta - Linuks), kieruje
wdrożeniami tych aplikacji, zapewnia pomoc
autorską irmom współpracującym. Równo-
legle zajmuje się m.in. administracją bazami
PostgreSQL oraz systemami GIS.
Kontakt z autorem:
adamr@informatyka.gdansk.pl
Rysunek 6.
Podłączamy się do bazy danych
kodowanej w UTF-8
46
wrzesień 2007
Plik z chomika:
SOLARIX33
Inne pliki z tego folderu:
2004.11_Porównanie serwerów relacyjnych baz danych Open Source_[Bazy Danych].pdf
(603 KB)
2004.09_Kexi bazy danych_[Bazy Danych].pdf
(283 KB)
2004.05_Sybase SQL Anywhere Studio 9.0_[Bazy Danych].pdf
(423 KB)
2004.05_Rozproszone fraktale_[Bazy Danych].pdf
(410 KB)
2009.04_SQLite – lekka alternatywa_[Bazy Danych].pdf
(1156 KB)
Inne foldery tego chomika:
Administracja
Aktualnosci
Audio
Bezpieczenstwo
Biznes
Zgłoś jeśli
naruszono regulamin