Bazy danych - kłopot czy dobrodziejstwo?
- Dariusz Gościniak
- Kategoria: Logistyka
Pozycja baz danych w obrocie ekonomicznym zyskuje obecnie błyskawicznie na znaczeniu. Proces ten zaś trwa już niemal piętnaście lat.
Baza danych to, najprościej mówiąc, uporządkowany zbiór informacji. Najprostszą jej formą jest zbiór rekordów ułożony w takiej postaci, jak ma to miejsce np. w arkuszach kalkulacyjnych. Rekordy złożone są z pól, do których wpisywana jest informacja, np. liczba porządkowa, imię, nazwisko, miasto, ulica i tym podobne dane. O takiej bazie można powiedzieć, że ma strukturę płaską.
Często jest tak, że do pojedynczego pola lub rekordu trzeba dopisać kolejne informacje. Tworzone są wtedy kolejne „płaskie” arkusze, a baza staje się bazą wielowymiarową. Poszczególne dane są między sobą skorelowane - odbywa się to poprzez nadanie każdemu z rekordów unikalnego indeksu, indeks ten jest podstawą powiązania informacji w różnych tabelach występujących w bazie. Indeksem przykładowo może być informacja występująca w powiązanych ze sobą tabelach. Ważne jest, aby zawsze była wpisana i aby była niepowtarzalna dla każdego rekordu.
Projektując bazę danych trudno jest przewidzieć, że warunek ten zawsze będzie spełniony, dlatego też zwykle stosuje się w rekordzie osobne pole indeksowe. Takie rozbicie informacji na wiele tabel ma jeszcze jedną zaletę. Pozwala osobno posortować rekordy w każdej z tabel, przez co można szybciej wyszukać potrzebne informacje według dowolnego klucza. Ten sposób organizacji danych stosowany jest w relacyjnych bazach danych. Do takich należą bazy: Oracle, Sybase, My-SQL, DB2 czy MS SQL. Bazy tego typu są obecnie najbardziej rozpowszechnione. Do ich zalet należy między innymi niezależność od języków programowania, bardzo łatwo jest w nich wyszukiwać informacje z użyciem złożonych parametrów wyszukiwania, pozwalają sprawnie zarządzać dużymi ilościami danych i dostępem do nich.
Innym typem baz danych są bazy obiektowe, w których każdy element bazy ma przypisane pewne cechy. Doskonałym przykładem zastosowania baz tego typu są systemy eksperckie albo systemy CAD. W tych ostatnich obiektem w bazie może być np. belka regałowa, która ma przypisane pewne cechy - wymiary, materiał, wytrzymałość, długość, kolor i wiele innych. Z bazami tego typu wiążą się pewne charakterystyczne pojęcia, takie jak obiekt i jego identyfikator, atrybuty i metody, hermetyzacja i przekazywanie komunikatów, klasa, hierarchia klas i dziedziczenie. Przykładem takiej bazy jest NDS stosowany w systemach produkowanych przez firmę Novell. Podobny mechanizm został wprowadzony w systemach Windows 2000 np. w Active Directory. W tego typu bazach obiektem jest np. użytkownik, do którego przypisane są atrybuty - prawa dostępu. Dany obiekt – użytkownik, może np. należeć do klasy - użytkownicy zaawansowani, a tym samym dziedziczyć atrybuty klasy (np. prawa dostępu do określonych katalogów czy usług). Klasy z kolei mogą tworzyć hierarchię klas, o strukturze drzewa. Dostęp do bazy danych odbywa poprzez wysyłanie komunikatów do obiektów w celu uzyskania dostępu do jego atrybutów. Nie ma innej drogi uzyskania dostępu oprócz zdefiniowanego dla niego interfejsu.
Gromadzenie danych bez możliwości zarządzania nimi nie ma sensu, dlatego z bazą danych musi być związany serwer bazy danych, którego zadaniem jest przede wszystkim zarządzanie nią, ale również komunikacja z klientem. Serwery baz danych mogą działać na pojedynczym komputerze jak również na wielu komputerach, przy czym nie muszą to być jednostki takie same ani nie muszą mieć takich samych systemów operacyjnych. W takich przypadkach mamy do czynienia z systemami rozproszonymi. Rozproszone środowisko przetwarzania danych jest niewidoczne dla pracującego w nim użytkownika, jednocześnie oferując możliwość replikacji zawartości baz danych pomiędzy poszczególnymi serwerami, co między innymi pozwala uodpornić system na awarie sprzętowe, umożliwia szybszy dostęp do danych i pozwala na stosowanie niejednorodnej polityki archiwizowania danych w przypadku różnych ośrodków przetwarzania danych.
Do zarządzania bazą danych służą mechanizmy DBMS (Database Management System), działające na serwerze bazy danych. Mechanizm ten odpowiada za obsługę funkcji związanych z zarządzaniem danymi czy przyjmowaniem zapytań od użytkowników i odpowiadaniem na nie. To właśnie DBMS odpowiedzialny jest za organizację informacji w bazie danych w struktury, takie jak rekordy, tablice czy obiekty. Drugim elementem jest system komunikacji z klientem. W jednowarstwowym modelu bazy danych klient bezpośrednio modyfikuje jej zawartość, wpisując informacje. W modelu dwuwarstwowym i wyższych, powszechnie stosowany jest język zapytań - SQL (Structured Query Language). Ponieważ wielu producentów stosuje własne wersje SQL dostosowane do potrzeb ich produktów, dlatego kolejnym elementem pośredniczącym w komunikacji z DBMS są interfejsy API. Jednym z bardziej znanych tego typu interfejsów jest Microsoft ODBC. Podobne to IDAPI firmy Borland, DRDA firmy IBM, DAL firmy Apple czy Glue firmy Oracle.
Komunikacja klient-serwer może mieć różną postać. Mogą to być lokalne bazy danych, w których zarówno klient, jak i serwer (który może raczej należałoby nazwać w takim przypadku motorem bazy danych (Database Engine), znajdują się na tym samym komputerze. Są to produkty typu MS Access. Może to być model dwuwarstwowy, w którym na komputerze użytkownika zainstalowana jest aplikacja klienta, komunikująca się za pomocą odpowiednich sterowników z serwerem bazy danych. Model trójwarstwowy, zwany też „cienkim klientem” (Think Client), to rozwiązanie, w którym wszystkie elementy, tzn. serwer, interfejs komunikacyjny i klient, umieszczone są na serwerze (lub serwerach w rozproszonym systemie bazy danych). Użytkownik ma dostęp do klienta za pośrednictwem serwera WWW po stronie serwera i przeglądarki stron WWW po stronie klienta. Architektura trójwarstwowa, oprócz zmniejszenia ilości danych wymienianych pomiędzy serwerem bazy danych a klientem, pozwala dodatkowo na wykorzystywanie tych samych aplikacji w środowiskach silnie heterogenicznych.
Elementem, który z racji swojej obszerności zostanie jedynie zasygnalizowany, jest kwestia bezpieczeństwa. Serwer, na którym znajduje się motor bazy danych, nawet w przypadku, gdy znajduje się za firewallem, musi umożliwiać połączenie z bazą, w przeciwnym razie straciłby swoją funkcjonalność. Oznacza to jednak, że w przypadku niewłaściwie zaprojektowanej bazy danych może bardzo łatwo dojść do kradzieży lub nieautoryzowanej zmiany informacji w tej bazie.
Poza bezpieczeństwem systemowym, bazy danych jako specyficzne dobra niematerialne - bowiem ich faktyczna wartość tkwi w ich użytkowym charakterze - mocno kontrastują z tradycyjnymi utworami artystycznymi, chronionymi prawem autorskim. Właśnie ten utylitaryzm sprawia, że bardzo często prawo autorskie nie obejmuje ich swoim zakresem.
Wystarczająca w latach 80. XX w. autorska ochrona tego typu dóbr informatycznych już na początku lat dziewięćdziesiątych ub. w. coraz wyraźniej traciła na aktualności i adekwatności. Lobby twórców banków danych bardzo szybko poczuło się zaniepokojone sytuacją, w której krajowe prawa autorskie bądź zaczęły odmawiać ochrony ich produktom ze względu na kłopoty ze spełnieniem przesłanki twórczego charakteru dzieł, bądź też dobra przez nich wytwarzane korzystały z tej ochrony tylko w niektórych krajach lub regionach. Do głosu zaczęły też dochodzić słuszne opinie twórców nieautorskich baz danych domagających się ochrony poniesionych nakładów ekonomicznych.
Nowość w tej kwestii stanowi natomiast wprowadzenie w ramach dyrektywy z 1996 r. reżimu ochrony sui generis baz danych. Odnosi się on zarówno do baz autorskich, jak i nie autorskich ze względu na niespełnienie przesłanki twórczego charakteru utworu. Elementem koniecznym objęcia danej bazy ochroną typu sui generis jest wykazanie przez producenta faktu poniesienia istotnego wkładu ilościowego lub jakościowego w otrzymanie, weryfikację lub prezentację zawartości takiej bazy.
Istotna jest treść prawa płynącego z reżimu ochrony sui generis. Mianowicie uprawnienie podmiotu posiadającego prawa do takiego dobra wyraża się w skutecznym erga omnes (wobec wszystkich), zakazie zarówno pobierania całości lub istotnej części zawartości bazy danych, jak i powtórnego wykorzystywania takiej całości lub części.
Pobieranie definiowane jest w dyrektywie jako trwałe lub okresowe przeniesienie całej lub istotnej części zawartości bazy danych dowolnymi środkami i w dowolnej formie na inny nośnik. Natomiast częste jednostkowe pobieranie nawet małych, nieistotnych części bazy traktowane jest jako korzystanie z jej istotnej części. Powtórne wykorzystanie zaś obejmuje wszelkie formy publicznego udostępniania całej lub istotnej części zawartości bazy danych przez rozpowszechnianie kopii, ich wynajmowanie, transmisję bezpośrednią online lub w inny sposób.
Jeżeli idzie o długość okresu ochrony przewidzianego modelem sui generis to wynosi on 15 lat. Okres ten jest liczony od początku roku następującego po roku, w którym bank danych ukończono. Jeżeli jednak przed upływem tego terminu został on w jakikolwiek sposób udostępniony publicznie, to początek biegu okresu ochrony wyznacza pierwsze publiczne udostępnienie. Wyraźnie można tu dostrzec, że okres ten jest krótszy od przewidzianego prawem autorskim.