Projektowanie systemów informacyjno-wyszukiwawczych
Bazy danych
Małgorzata Janiak
Zagadnienia
Bazy danych, banki wiedzy. Dyscyplina i obiekty. Wprowadzenie: terminologia, struktury, cechy, standardy, sieci.
Architektura baz danych: modele baz danych, języki dostępu do baz.
Bazy w rozwoju historycznym.
Tworzenie baz danych: etapy, determinanty.
Systemy zarządzania bazami danych ; Systemy informacyjne z bazami danych ; Systemy udostępniania sieciowego.
Przykładowe zastosowania baz danych: naukowe bazy danych, bibliograficzne i biblioteczne bazy danych. Bazy, serwisy i platformy. Dystrybucja. Wybrane sieci polskie.
Ochrona baz oraz danych, autoryzacja dostępu.
Lektury
Norma: Technika informatyczna - Terminologia - Bazy danych PN-ISO/IEC 2382-17 (1999). Warszawa: Polski Komitet Normalizacyjny, 1999.
Balter, Alison (2004). Access 2003 PL dla każdego. Warszawa: Helion, 552 s.
Banachowski, Lech, Mrówka-Matejewska, Elżbieta, Stencel, Krzysztof (2004). Systemy baz danych: wykłady i ćwiczenia. Warszawa: Wydaw. PJWSTK, XIII, [1], 424 s.
Beynon-Davies, Paul (2003). Systemy baz danych. Wyd. 3 zm. i rozsz. Warszawa: Wydawnictwa Naukowo-Techniczne, 547 s. : rys.
Buyens, Jim (2000). Bazy danych w internecie: krok po kroku. [Tł. Piotr Kresak]. Warszawa: Wydaw. RM, ss. XVI, 494 : il. + CD-ROM.
Elmasri, Ramez A., Navathe, Shamkant B. (2005). Wprowadzenie do systemów baz danych. Gliwice: Helion, 1053 s. : rys., tab.
Forte, Stephen (2001). Access 2000: księga eksperta. [Tom Howe, James Ralston]. Gliwice: Helion, 714 s. : rys. + CD-ROM.
Grabowska, Marta (1995). Systemy online w bibliotekach. Wyd. 2. Warszawa: Wydaw. Uniw. Warszawskiego, 179 s.
Hernandez, Michael J. (1998). Bazy danych dla zwykłych śmiertelników. Warszawa: Mikom, 329 s.
Kurzyjamski, Ryszard (2004). Systemy baz danych [Dokument elektroniczny]. [Łódź] : Polski Uniwersytet Wirtualny, 1 dysk optyczny (CD ROM) : dźw., kolor. ; 12 cm.
Muraszkiewicz Mieczysław Ryszard; Rybiński Henryk (1993): Bazy danych. Warszawa: Akademicka Oficyna Wydawnicza RM, VI, [2], 163 s.
Petersen, John V. (2003). Wprowadzenie do baz danych. Gliwice: Helion, 265 s.
Sundgren, Bo (1991). Bazy i modele danych. Warszawa: Państ. Wydaw. Ekonomiczne, 154, [2] s.
Ullman, Jeffrey D., Widom, Jennifer (2000). Podstawowy wykład z systemów baz danych. Wyd. 2. Warszawa: Wydawnictwa Naukowo-Techniczne, 525 s. : il.
Definicje - bazy danych jako dyscyplina
Komitet do Spraw Nauczania ameryk. tow. Association for Computing Machinery w raporcie „Computing as a discipline” oprac. przez Denninga i współprac. [1989] określił dziedzinę baz danych jako: dyscyplinę, która zajmuje się organizacją dużych zbiorów wiarygodnych danych dostępnych dla licznych użytkowników, w których to zbiorach można prowadzić efektywne wyszukiwanie i aktualizowanie informacji.
H. Muraszkiewicz, H. Rybiński: Bazy danych. Warszawa 1993 Akad. Oficyna Wydaw., s. 2
Zasadnicze kwestie związane z bazami danych to:
1. problemy modelowania i reprezentacji danych
a. fragmenty świata rzeczywistego nazywamy wycinkami, światem modelowanym, światem rzeczywistym
b. modelowanie świata rzeczywistego: wyselekcjonowanie typu informacji, jakie będą potrzebne przyszłym użytkownikom bazy (konceptualizacja świata rzeczywistego) zapisanie ich w ustrukturalizowanej formie akceptowanej przez komputer (utworzenie schematu danych: jeśli świat opisujemy za pomocą grafów (wzajemnych powiązań) to wchodzimy na grunt modelu sieciowego, posłużenie się drzewami oznacza przejście do modelu hierarchicznego, wykorzystanie logiki możliwe jest w ramach modelu logicznego itp.)
c. wprowadzenie do komputera konkretnych danych odzwierciedlających stan świata rzeczywistego
zapewnienie wiarygodności i spójności danych, zwłaszcza w kontekście ich aktualizowania
języki wyszukiwania dla różnych typów baz danych (tekstowych, graficznych itp.)
ochrona danych
komunikacja człowieka z bazą danych
poszukiwanie nowych organizacji komputerów zorientowanych na bazy danych.
2. zapewnienie wiarygodności i spójności danych, zwłaszcza w kontekście ich aktualizowania;
3. języki wyszukiwania dla różnych typów baz danych (tekstowych, graficznych itp.);
4. ochrona danych;
5. komunikacja człowieka z bazą danych;
6. poszukiwanie nowych organizacji komputerów zorientowanych na bazy danych.
Definicje - bazy danych jako obiekty
Artykuł ze Słownika encyklopedycznego informacji, języków i systemów informacyjno-wyszukiwawczych. Oprac. B. Bojar. Warszawa 2002, s. 27-28.
BAZA DANYCH - uporządkowany zbiór informacji (danych) z określonej dziedziny lub tematyki, przeznaczony do wyszukiwania. Termin baza danych upowszechnił się wraz z rozwojem informatyki, umożliwiającym tworzenie baz danych na maszynowym nośniku informacji. Obecnie oznacza zazwyczaj komputerową bazę danych. Ostatnio daje się zaobserwować tendencja zamiennego stosowania terminów baza danych i system informacyjny (system informacyjno-wyszukiwawczy). Często, zwłaszcza w literaturze z zakresu informatyki, terminem baza danych określany jest zbiór danych wraz z oprogramowaniem i innymi środkami służącymi do przetwarzania danych.
Baza danych składa się z wielu zbiorów (plików), z których najważniejszymi są zbiór główny i indeks (indeksy).
Rekordy w bazie oraz pola w rekordach mogą być wzajemnie powiązane. Istnieje wiele modeli danych, ale w praktyce bardzo często przy projektowaniu baz danych stosowane są rozwiązania własne. Przez wiele lat rozróżniano trzy podstawowe modele struktury bazy: hierarchiczny, sieciowy i relacyjny, a w ostatniej dekadzie bardzo się rozpowszechnił model obiektowy. Zdefiniowanie bazy danych polega na określeniu:
(l) formatu rekordu (i ew. powiązań między rekordami),
(2) formatu (formularza wejściowego) wprowadzania informacji do bazy,
(3) zasad tworzenia indeksu (indeksów),
(4) formatu wyświetlania/wydruku.
Baza danych może się fizycznie znajdować:
(l) u dysponenta (producenta i/lub dystrybutora) bazy, użytkownik korzysta z bazy online za pośrednictwem sieci komputerowych lub zleca przeprowadzenie wyszukiwania w trybie wsadowym,
(2) u użytkownika, który pozyskuje bazę na nośniku informacji (CD-ROM, taśma magnetyczna, dyskietka) do własnego przetwarzania: na jednym komputerze, na kilku komputerach lub w sieci lokalnej. Rozpowszechnia się także korzystanie z rozproszonych baz danych w modelu klient/serwer.
BAZA DANYCH. Hasło z Nowej encyklopedii powszechnej PWN. - Tryb dostępu: http://encyklopedia.pwn.pl/haslo.php?id=3875256 [odczyt: 25.09.2006].
baza danych, inform. zbiór wzajemnie powiązanych danych, przechowywanych w pamięci komputerów i wykorzystywanych przez programy użytkowe instytucji lub organizacji wraz z oprogramowaniem umożliwiającym definiowanie, wykorzystywanie i modyfikowanie tych danych; zwykle bazy danych zawiera całość informacji wykorzystywanych w pewnym obszarze działania, np. bazy danych systemu zarządzania przedsiębiorstwem zawiera wszystkie informacje związane z finansami i księgowością, zaopatrzeniem, kadrami i płacami; czasami bazy danych nazywa się każdy zorganizowany zbiór danych. Obsługa baz danych stanowi jedno z najczęstszych zastosowań systemów komputerowych. Informacje zapisane w bazach danych modelują przedmioty, pojęcia lub zjawiska występujące w otaczającym świecie. Przy definiowaniu baz danych wyróżnia się 3 poziomy modelowania: zewnętrzny (sposób postrzegania danych przez konkretnego użytkownika baz danych), pojęciowy (sposób organizacji danych, wspólny dla wszystkich użytkowników) i wewnętrzny (sposób zapamiętania danych w pamięci zewnętrznej).
BAZA DANYCH. Hasło z Portalu wiedzy. - Tryb dostępu: http://portalwiedzy.onet.pl/135168,,,,baza_danych,haslo.html [odczyt: 25.09.2006].
Baza danych (ang. database) — zbiór danych o określonej strukturze wraz z systemem zarządzania, dzięki czemu możliwe jest szybkie ich przetwarzanie (aktualizowanie, dopisywanie, edytowanie, wyszukiwanie, udostępnianie). Rozróżnia się bazy kartotekowe i relacyjne. Najprostsze, jednopoziomowe bazy danych są tworzone przez plik jednostek o jednolitej strukturze, zwanych rekordami. Rekordy te zawierają pola różnych typów: numeryczne, znakowe, tekstowe, pola walut, a w przypadku baz multimedialnych także pola wskaźnikowe odnoszące się do zapamiętanych obrazów, animacji i dźwięków.
W zależności od potrzeb bazy tworzą wielokolumnowe tabele spełniające ścisłe wymogi. Tabele takie określa się mianem relacji, a tworzone przez nie bazy nazywa się bazami relacyjnymi. W zarządzaniu bazami przydatne są klucze, za pomocą których określa się zapytanie kierowane do bazy lub reguły ich porządkowania. Istnieją standardowe języki obsługi baz danych, np. SQL.
Hasło opracowano na podstawie "Słownika informatycznego" Wydawnictwa HELION. Autor: Piotr Adamczewski ISBN 83-7361-645-4. Rok wydania 2005.
Struktura danych. Hasło z Portalu wiedzy. - Tryb dostępu: http://portalwiedzy.onet.pl/136267,,,,struktura_danych,haslo.html[odczyt: 25.09.2006].
Struktura danych (ang. data structure) — abstrakcyjna forma stosowana do organizacji danych (tablice, rekordy, wykazy, listy, stosy, grafy), dzięki czemu łatwiejsze jest ich przetwarzanie. Tworzenie struktur danych o ściśle zdefiniowanym interfejsie programisty (specyfikacji wykorzystania) umożliwia wprowadzenie modułowej konstrukcji programu, testowanie oddzielnie modułów przechowywania danych i samego oprogramowania aplikacyjnego, wielokrotne używanie raz stworzonej, oprogramowanej i przetestowanej struktury danych, a w efekcie podniesienie jakości oprogramowania.
Hasło opracowano na podstawie "Słownika informatycznego" Wydawnictwa HELION. Autor: Piotr Adamczewski ISBN 83-7361-645-4. Rok wydania 2005.
Baza danych jako zbiór informacji:
Typy zbiorów
zbiór prosty (złożony z rekordów)
zbiór inwersyjny (odwrócony) (indeksy).
Baza danych od strony informatycznej - system na poziomie fizycznym:
pliki, zbiory plików.
Baza danych pojawia się, gdy pliki mają dodatkowe cechy - (cechy baz danych) tzn.:
zapewniona jest trwałość danych
jest efektywny (szybki) dostęp do dużej liczby danych (także dla wielu użytkowników)
„podtrzymywany” jest choć jeden model danych, czyli istnieje możliwość opisu wycinka w postaci schematu danych
zapewniona jest zgodność ze światem rzeczywistym
zmiana rzeczywistości musi być uwzględniona w bazie danych
istnieją języki wyższego rzędu: do opisu danych i do manipulowania nimi
możliwe jest zarządzanie transakcjami, czyli zapewnienie prawidłowego dostępu wielu użytkownikom, którzy pracują w tym samym czasie
możliwa jest syntaktyczna kontrola danych, której celem jest sprawdzenie składnikowych aspektów danych (np. czy ISBN jest liczbą)
możliwa jest semantyczna kontrola danych
możliwe jest zapewnienie niezależności danych (małą zmiana z schemacie danych pozwala dalej go wykorzystywać)
zapewniona jest kontrola redundancji (powtarzania się danych)
jeden fakt jest reprezentowany na jeden sposób
problem dostępności i dokładności poszukiwanych danych (czas dostępu oraz nadmiar danych)
możliwa jest ochrona danych: umożliwienie dostępu, ale nie zniszczenia, czy kradzieży
skutecznie można odtworzyć dane po awarii systemu
można obserwować, monitorować i oceniać procesy zachodzące w bazie.
Baza wiedzy. Hasło z Portalu wiedzy. - Tryb dostępu: http://portalwiedzy.onet.pl/135169,,,,baza_wiedzy,haslo.html [odczyt: 25.09.2006].
Baza wiedzy (ang. knowledge base) — szczegółowy, rozległy zbiór powiązanych logicznie danych dotyczących danej dziedziny (obszaru tematycznego). Przechowywany w pamięci komputera wraz z regułami logicznymi (sformułowanymi przez fachowców z danej dziedziny) umożliwia efektywne wykorzystywanie bazy danych na wzór systemu eksperckiego.
Hasło opracowano na podstawie "Słownika informatycznego" Wydawnictwa HELION. Autor: Piotr Adamczewski ISBN 83-7361-645-4. Rok wydania 2005.
Baza wiedzy. Hasło z Wielkiej internetowej encyklopedii multimedialnej WIEM. - Tryb dostępu: http://wiem.onet.pl [odczyt: 25.09.2003].
Baza wiedzy (angielskie database), rodzaj komputerowego zbioru kartotek, magazyn danych o określonej budowie. Baza danych jest modelowym ujęciem fragmentu rzeczywistości będącego przedmiotem zainteresowania (universe of discours) osób, instytucji, organizacji, firm, zakładów itp., reprezentującym fakty dotyczące tej rzeczywistości w formie umożliwiającej ich przetwarzanie w komputerze. Istotne obiekty danego przedmiotu zainteresowania określa się jak encje lub klasy. Klasą lub encją w rejestrze samochodów są poszczególne samochody, a także ich właściciele lub użytkownicy. Projekt bazy danych określa jej strukturę (część intensjonalną) i zawartość (część ekstensjonalną). Dane przechowywane w bazie są trwałe, co nie oznacza, że nie ulegają zmianom. W każdej chwili baza danych znajduje się w określonym stanie. Operacje powodujące zmianę stanu bazy danych noszą nazwę transakcji.
Przez integralność bazy danych rozumie się wierne odzwierciedlanie przez nią przedmiotu zainteresowania jej użytkowników. Prostymi przykładami baz danych są spisy towarów, rozkłady jazdy, ewidencje pracowników, wykazy płatnicze, wszelkiego rodzaju rejestry bankowe, kartoteki urzędowe, biblioteki, katalogi, książki telefoniczne, szpitalne historie chorób, dzienniki lekcyjne, wykazy osób podejrzanych, księgi parafialne itd. Wszystkie one muszą spełniać jeden warunek: ich tworzenie, przechowywanie, uaktualnianie i przeszukiwanie powinno się odbywać w komputerze.
Najprostsze bazy danych są jednopoziomowe (płaskie) i są tworzone przez plik jednostek o jednolitej strukturze, zwanych rekordami. Rekordy, czyli elementy składowe pliku bazy danych, zawierają pola różnorodnych typów: numeryczne, znakowe, tekstowe, pola walut, a w przypadku baz multimedialnych także pola wskaźnikowe odnoszące się do zapamiętanych w komputerze cyfrowych obrazów, animacji i dźwięków. W zależności od charakteru przedmiotu zainteresowania bazy danych tworzą wielokolumnowe tabele spełniające ścisłe wymogi. Tabele takie określa się mianem relacji, a tworzone przez nie bazy nazywa się relacyjnymi bazami danych.
W zarządzaniu informacją baz danych są przydatne klucze, za pomocą których określa się zapytanie kierowane do baz danych lub reguły porządkowania baz danych (sporządzanie indeksów baz danych). Istnieją standardowe języki obsługi baz danych, np. SQL. Praktycznie nie ma już dziedziny zainteresowań, która nie podlegałaby odwzorowaniu w komputerową bazę danych. Dysponowanie właściwą informacją o określonym obiekcie w określonym czasie i miejscu jest zawsze cenną wartością, pomocną w podejmowaniu udanych decyzji.
Hasło opracowano na podstawie “Słownika Encyklopedycznego - Informatyka” Wydawnictwa Europa. Autor - Zdzisław Płoski. ISBN 83-87977-16-0. Rok wydania 1999.
Diagramy związków encji (Model E/R)
Model bazy danych - reprezentowany w postaci diagramów.
Encja analog obiektu, = “przedmiot”
Zbiór encji analog klasy = zbiór “podobnych” encji/obiektów.
Atrybuty = właściwości encji w zbiorze encji = analog pól w klasach.
Zbiór danych to nie to samo co baza danych
Hasło z Portalu wiedzy. - Tryb dostępu: http://portalwiedzy.onet.pl/135014,,,,zbior_danych,haslo.html [odczyt: 25.09.2006].
Zbiór danych (ang. data set) — zestaw danych dotyczących określonego zagadnienia. Mogą nim być dane do modelu, programu, systemu lub dane zawarte w bazie danych. Zbiór taki może być zapisany w jednym pliku lub w kilku.
Hasło opracowano na podstawie "Słownika informatycznego" Wydawnictwa HELION. Autor: Piotr Adamczewski ISBN 83-7361-645-4. Rok wydania 2005.
Bank danych (database)
Hasło z Portalu wiedzy. - Tryb dostępu: http://portalwiedzy.onet.pl/127347,,,,bank_danych_database,haslo.html
[odczyt: 25.09.2006].
Bank danych (database)
baza danych wraz z jej specjalistycznym oprogramowaniem umożliwiającym gromadzenie i wybieranie różnorodnych danych dla wielu użytkowników jednocześnie. Bank danych zawiera zasoby informacyjne. Zasoby te można określić jako posiadane w systemie informacyjnym dane i wiedzę, którymi może się użytkownik posługiwać dla potrzeb zarządzania. Dane pochodzące z banku (danych) są najczęściej przeznaczone do dalszej obróbki komputerowej. Dane źródłowe nazywane są danymi pierwszego stopnia przetwarzania, zaś te dane, które uległy obróbce w systemie komputerowym określa się jako dane drugiego stopnia przetwarzania.
Bank danych (database)
W banku (bazie) danych wydziela się trzy poziomy:
wewnętrzny - najbliższy pamięci maszyny, odnoszony do zasobów, w jakim dane są rzeczywiście pamiętane;
zewnętrzny - najbliższy programiście i użytkownikowi, odnoszony do sposobu, w jakim dane są przez nich widziane;
pojęciowy - poziom pośredni (między wewnętrznym i zewnętrznym), czyli poziom definiowania wspólnej dla wszystkich użytkowników części lub całej bazy danych.
Banki danych są stale aktualizowane i uzupełniane o nowe informacje. Banki takie tworzą coraz liczniej różne stowarzyszenia, przy czym super komputery są łączone sieciami telekomunikacyjnymi. Korzystanie z banku danych wymaga zawarcia umowy z jego właścicielem. Korzystanie tylko z niektórych banków jest bezpłatne.
Leksykon biznesu, Wydawnictwo Placet
BAZA DANYCH jest
metodą strukturalizacji zarządzania informacją
dotyczy fragmentu rzeczywistości i stanowi kolekcję danych
częścią systemu informacyjnego
aplikacja bazy danych (oprogramowanie)
system informatyczny (sprzęt)
Cele użytkowania baz danych
niezawodność zapisu
integralność danych
sprawność zapytań
wygodne interfejsy
wielodostęp
zabezpieczenia dostępu
Przykładowe zastosowania baz danych
systemy finansowo-księgowe
systemy rezerwacji (np. lotniczej)
systemy wspomagające zarządzanie
CAD (Computer Aided Design)
GIS (Geographical Information Systems)
Struktura bazy danych
format
oprogramowanie bazy danych.
Składniki działającego systemu baz danych
struktura danych
reguły integralności
dane
aplikacja:
- formularze
- raporty
- programy przetwarzające
zapytania ad-hoc
System zarządzania bazą danych
Hasło z Portalu wiedzy. - Tryb dostępu: http://portalwiedzy.onet.pl/136331,,,,system_zarzadzania_baza_danych,haslo.html [odczyt: 25.09.2006].
System zarządzania bazą danych (ang. DBMS — Data Base Management System) — oprogramowanie służące do operowania na bazie danych: wyszukiwania, aktualizowania zawartych w niej danych, sporządzania raportów itp. System taki może współpracować z tradycyjnymi językami programowania (np. COBOL, C) lub wykorzystywać własne języki, w których tworzone są aplikacje. Przykładami są dBase, INFORMIX, Oracle, Progress.
Hasło opracowano na podstawie "Słownika informatycznego" Wydawnictwa HELION. Autor: Piotr Adamczewski ISBN 83-7361-645-4. Rok wydania 2005.
System zarządzania bazą danych (DBMS)
izoluje programy od reprezentacji fizycznej
słownik danych
język opisu danych
extended dictionary
mechanizmy dostępu:
język zapytań i manipulacji danymi
optymalizacja dostępu
mechanizmy ochrony:
autoryzacja dostępu
ochrona spójności
mechanizmy do odtwarzania po awarii
wielodostęp i dostęp przez sieć
zarządzanie transakcjami
klient-serwer
mechanizmy dla rozproszonych b.d.
narzędzia do budowy interfejsów:
narzędzia do zapytań interakcyjnych
dostęp z języków 3GL
specjalizowane narzędzia 4GL
Słownik danych
Hasło z Portalu wiedzy. - Tryb dostępu: http://portalwiedzy.onet.pl/136220,,,,slownik_danych,haslo.html [odczyt: 25.09.2006].
Słownik danych (ang. data dictionary) — baza metadanych (ang. metadata), tj. danych opisujących inne dane. Centralny element systemu zarządzania bazą danych, w którym przechowuje się m.in. opisy relacji i perspektyw, deklaracje kluczy głównych, grup użytkowników i uprawnień, informacje o indeksach, plikach i ich strukturach.
Hasło opracowano na podstawie "Słownika informatycznego" Wydawnictwa HELION. Autor: Piotr Adamczewski ISBN 83-7361-645-4. Rok wydania 2005.
System bazy danych. Hasło z Portalu wiedzy. - Tryb dostępu: http://portalwiedzy.onet.pl/136220,,,,slownik_danych,haslo.html [odczyt: 25.09.2006].
System bazy danych (ang. data base system) — zestaw programów i języków umożliwiających przechowywanie i przetwarzanie dużych zbiorów danych zorganizowanych w bazie danych.
Hasło opracowano na podstawie "Słownika informatycznego" Wydawnictwa HELION. Autor: Piotr Adamczewski ISBN 83-7361-645-4. Rok wydania 2005.
Serwer bazy danych. Hasło z Portalu wiedzy. - Tryb dostępu: http://portalwiedzy.onet.pl/91855,,,,serwer_bazy_danych,haslo.html [odczyt: 25.09.2006].
Serwer bazy danych (angielskie: database server), komputer na którym jest zainstalowane i uruchomione oprogramowanie serwera bazy danych. Do podstawowych zadań serwera bazy danych należy udostępnianie, obsługa oraz wymiana informacji pomiędzy bazą, a zdalnym klientem w sieci komputerowej. Najbardziej znane serwery baz danych to: Microsoft SQL Server, Oracle, Interbase itp.
Języki baz danych:
- język opisu schematu danych - DLL
- język manipulowania danymi - DML
Cechy wszystkich języków baz danych:
siła ekspresji języka (co można w nim wyrazić)
równoważność jednego języka innemu językowi (naturalnego - sztucznego)
prostota i łatwość użycia języka
proceduralnoć (zapytania w formie procedury czyli ze sposobem, jak osiągnąć wynik) ; nieproceduralność (samo żądanie, zapytanie)
efektywność języka (czas oczekiwania na odpowiedź, rozmiar pamięci roboczej dla wyszukiwania).
Języki dostępu (manipulowania danymi)
budowa:
proceduralne
nieproceduralne
typ dostępu:
nawigacyjne (rekord bieżący)
zwracające struktury (np. tabele)
Architektura klient-serwer
Termin architektura typu klient-serwer wywodzi się od sposobu interakcji komponentów softwarowych z systemem. Ogólnie mówiąc klient jest procesem który potrzebuje pewnych zasobów, a proces serwera tych zasobów dostarcza, realizując zgłoszone zapotrzebowanie.
Mamy więc do czynienia z dwoma warstwami oprogramowania: warstwą serwera i warstwą klienta. Nie ma wymagań formalnych odnośnie lokalizacji obu procesów, teoretycznie mogą one znajdować się na jednym komputerze (baza lokalna), w praktyce jednak serwer umieszczany jest na innym komputerze niż procesy klienta, komunikując się poprzez LAN.
Główne funkcje realizowane przez proces klienta i proces serwera
Klient
Logika prezentacji - obsługa interfejsu użytkownika
Akceptowanie i kontrola syntaktyki zgłoszeń użytkownika
Przetwarzanie logiki aplikacji
Generowanie zapytań do bazy danych i transmisja do serwera
Przekazywanie odpowiedzi do użytkownika
Serwer
Akceptowanie i realizacja żądań klienta do bazy danych
Kontrola autoryzacji
Kontrola więzów integralności
Wykonywanie zapytań i transmisja odpowiedzi do klienta
Obsługa katalogu systemowego
Sterowanie pracą współbieżną
Sterowanie odtwarzaniem stanu bazy danych
Architektura klient-serwer zdominowała sposób przetwarzania w obszarze baz danych ze względu na szereg zalet, m.in.:
Szeroki dostęp do istniejących baz danych.
Poprawienie współczynników przetwarzania - chociażby przez fakt rezydowania na różnych komputerach serwera i klienta oraz możliwość zrównoleglenia pracy aplikacji.
W pewnym zakresie zredukowanie kosztów sprzętu - komputerem o dobrych parametrach musi być maszyna, na której posadowiony jest serwer, w odniesieniu do stacji klienckich wymagania nie są aż tak wysokie.
Zmniejszenie kosztów komunikacji w sieci - część przetwarzania odbywa się po stronie klienta, serwer przesyła z bazy tylko dane wynikowe.
Zwiększenie spójności i bezpieczeństwa bazy danych - serwer kontroluje więzy integralności, a więc są one obowiązujące dla wszystkich pracujących aplikacji.
1