Bazy danych

Skuteczność wykorzystania bazy danych rośnie proporcjonalnie do liczby użytkowników mających dostęp do jej zasobów.

Skuteczność wykorzystania bazy danych rośnie proporcjonalnie do liczby użytkowników mających dostęp do jej zasobów.

Stanowiska pracy, tych osób są na ogół połączone w sieć lokalną LAN (Local Area Network). W sieci takiej istnieje wiele miejsc pracy określanych mianem stacji roboczych (workstations) oraz co najmniej jeden komputer o dużej pamięci masowej, przechowywujący na swych dyskach zbiory danych. Jest on nazywany file server, czyli w przybliżonym tłumaczeniu składnica plików. Użytkownik sieci, korzystający ze stacji roboczej, "widzi" składnicę plików jako duży twardy dysk z zapisanymi zasobami interesującej go bazy danych. Aby zebrać te dane i następnie nimi zarządzać potrzebne jest odpowiednie oprogramowanie. Najogólniej określa się je akronimem DBMS (Data Base Management Software - program zarządzania bazami danych). DBMS zawiera zwykle wiele aplikacji, służących do przetwarzania zawartych w bazie danych (np. zapisywanie nowych informacji, ich modyfikacja czy wymazanie, porządkowanie wg zadanych kryteriów itp.). Aby wykonać którąś z tych aplikacji wydajemy odpowiednie polecenie ze stacji roboczej.

Podział ról sprzętu

Dzisiejsza sieć LAN całą zdolność wykonywania programów (inteligencję) pozostawiła stacjom roboczym. Składnica plików ma za zadanie tylko magazynować dane. W związku z tym, cały zbiór zawierający np. te dane, które chcemy wymazać lub posortować, wędruje ze składnicy plików, via sieć, do stacji roboczej i tam wykonywana jest odpowiednia czynność - np. uaktualnianie czy też sortowanie danych. W tym momencie inny użytkownik może jedynie obejrzeć plik, ale nie jest w stanie nic z nim zrobić. Taki styl pracy DBMS w sieciach LAN, określany terminem file server/user, rodzi jednak dwa poważne problemy. Pierwszy, to duże obciążenie sieci. Wędrują nią przecież całe pliki danych, po to tylko, by np. zmienić jedną z nich. Drugi problem wynika z faktu, że gdy jeden użytkownik zmienia dane, to inny w tym czasie nie ma do nich dostępu. Nawet mała zmiana w jednej z danych może blokować dostęp pozostałym użytkownikom do zmian innych danych. Praktyka pokazuje, że już powyżej 5-10 stacji roboczych styl pracy file server/user jest bardzo niewygodny.

Podział ról oprogramowania

Ważnym krokiem usprawniającym obsługę baz danych okazało się oprogramowanie klient/serwer składające się z dwóch części. Pomiędzy aplikacjami uruchamianymi na stanowisku użytkownika, a danymi w składnicy plików, został umieszczony program zwany ogólnie serwer bazy danych (database server). Program ten funkcjonuje na stanowisku składnicy plików (file server). Składnica plików przestaje już być tylko "dużym dyskiem twardym". Uzyskuje swoją "inteligencję" (w sensie zdolności wykonywania programów). Natomiast druga jego część, program zwany klientem (client software) znajduje się na każdej stacji roboczej. Uruchomiony przez użytkownika komunikuje się z serwerem bazy danych przy użyciu specjalnej, zestandaryzowanej konwencji zapytań (Structured Query Language). Dzięki temu każdy z wielu użytkowników bazy danych może za pomocą języka SQL polecić przesłanie na stację roboczą tylko kilku danych w celu np. ich uaktualnienia. W takim stylu pracy większość operacji przetwarzania danych wykonuje serwer. Możemy również poprzez sieć "przeciągać" do stacji roboczej tylko wybrane rekordy całej bazy danych (a nie jak poprzednio pełne pliki).

Front i zaplecze

Serwerami baz danych, zwanymi też programami zaplecza (back end) są m.in. takie pakiety jak Microsoft SQL Server lub Oracle Server. Z kolei program - klient, który można nazwać programem czołowym (front end), to w zasadzie, tradycyjne już w bazach danych, oprogramowanie typu DBMS m.in. Paradox, dBase czy Superbase, przeznaczone do stosowania w sieciach LAN i wzbogacone w tym przypadku o łącze SQL.

Serwer bazy danych uruchamiany jest na komputerach typu 386 lub lepszych pod kontrolą systemu wielozadaniowego np. OS/2 lub Unix.

Zalety SQL

Praca w układzie klient/serwer poza tak oczywistą zaletą jak możliwość korzystania z baz danych przez dziesiątki współbieżnie pracujących użytkowników, ma jeszcze inne. Ze względu na standaryzację języka SQL możemy bowiem na każdej stacji roboczej korzystać z innego pakietu oprogramowania typu klient DBMS. Jeden z użytkowników może np. pracować z bazą danych firmy Borland Paradox, drugi z arkuszem kalkulacyjnym firmy Lotus itp. Programy te przy użyciu wspólnego języka SQL komunikują się z zapleczem, zaś danymi zarządza jeden program - serwer bazy danych.

Poniżej podajemy zestawienie niektórych programów typu serwer bazy danych. W Polsce kilka firm (DHI, Techmex, Soft- tronik) sprzedaje database server NetWare SQL. Dokładne zestawienie własności i cen pakietów DBMS (front-end) zamieścimy w jednym z najbliższych cenników.