background image

 

 

ITA-101 Bazy danych 

Włodzimierz Dąbrowski, Przemysław Kowalczuk, Konrad Markowski 

DODATEK A 

Wersja 1.0 

Podstawy 

Spis treści 

Podstawy ............................................................................................................................................. 1 

Informacje o module ........................................................................................................................... 2 

Przygotowanie teoretyczne ................................................................................................................. 3 

Podstawy teoretyczne ................................................................................................................. 3 

Uwagi dla studenta ................................................................................................................... 11 

Dodatkowe źródła informacji .................................................................................................... 11 

 

 

background image

W.Dąbrowski, P.Kowalczuk, K.Markowski 

 

Dodatek A 

ITA-101 bazy danych 

 

Podstawowe pojęcia 

Strona 2/11 

Informacje o module 

Opis modułu 

W  tym  module  zajmiemy  się  zebraniem  najważniejszych  informacji  na 
temat  baz  danych  niezbędnych  do  zrozumienia  i pełnego  wykorzystania 
dalszych  modułów.  Zebrane,  najważniejsze  pojęcia  nie  zastępują  pełnego 
wykładu  na  ten  temat  i nie  zwalniają  Cię  z przestudiowania  wykładu  lub 
podręcznika  z zakresu  baz  danych.  Mają  one  jedynie  na  celu  zebrad 
i utrwalid  najważniejsze  elementy  potrzebne  do  wykonywania  kolejnych 
modułów.  Zazwyczaj  pierwsze  zajęcia  laboratorium  są  zajęciami 
organizacyjnymi. 

Cel modułu 

Celem  modułu  jest  utrwalenie  i sprawdzenie  rozumienia  podstawowych 
pojęd  z baz  danych  oraz  przygotowanie  do  pracy  z kolejnymi  modułami 
kursu. 

Uzyskane kompetencje 

Po zrealizowaniu modułu będziesz: 

 

rozumiał czym jest baza danych, 

 

rozumiał na czym polega model relacyjnej bazy danych, 

 

umiał  swobodnie  poruszad  się  wśród  podstawowych  pojęd  baz 
danych. 

Wymagania wstępne 

Ten  moduł  nie  ma  wymagao  wstępnych.  Możesz  od  razu  rozpocząd  pracę 
z tym modułem. 

Mapa zależności modułu 

Przed  przystąpieniem  do  realizacji  tego  modułu  nie  jest  wymagane 
zapoznanie się z materiałem zawartym w innych modułach. 

 

 

background image

W.Dąbrowski, P.Kowalczuk, K.Markowski 

 

Dodatek A 

ITA-101 bazy danych 

 

Podstawowe pojęcia 

Strona 3/11 

Przygotowanie teoretyczne 

Podstawy teoretyczne 

Na pewno pojęcie bazy danych nie jest dla Ciebie nowe. Pewnie każdy korzystał też z jakiejś bazy 
danych. Czy jednak zastanawiałeś się, co to jest baza danych? Od kiedy ludzie posługują się bazami 
danych?  Właśnie  na  te  i inne  podstawowe  pytania  dotyczące  pojęcia  baz  danych  spróbujemy 
odpowiedzied w tym module. 

Zastanów  się,  co  rozumiesz  pod  pojęciem  bazy  danych,  co  to  takiego?  Zapisz  swoje  określenie, 
a następnie porównaj z naszym. 

Bazą  danych  (ang.  database)  będziemy  nazywad  trwały,  zamknięty  i dobrze  zorganizowany 
magazyn  danych.  Baza  danych  charakteryzuje  się  trzema  ważnymi  cechami:  trwałością
ograniczonością (zamkniętością) i dobrą organizacją (co dla kogo jest dobre jest rzeczą dyskusyjną 
– postaramy się jednak sprecyzowad, co dla nas będzie oznaczad dobra organizacja magazynu). 

Trwałość bazy danych

 

Trwałośd  oznacza,  że  dane  zapisane  w bazie  danych  są  w niej  zapisane  w sposób  nieulotny.  Nie 
można  zbudowad  bazy  danych  w pamięci  operacyjnej  komputera,  gdyż  po  dołączeniu  zasilania 
dane w niej zapisane są  tracone. Na  trwały magazyn  danych  dobrze  natomiast  nadaje  się kamieo 
(zapisy dokonane  w kamieniu  przetrwały  tysiące  lat),  papier (ten nie  jest  już tak trwały) czy  dyski 
magnetyczne lub inne nośniki magnetooptyczne. Trwałośd danych zapisanych w bazie danych jest 
bardzo ważnym postulatem. Wszystkie współczesne systemy baz danych muszą go spełniad.  

Ograniczoność bazy danych

 

Ograniczonośd  oznacza,  że  w bazie  danych  nie  można  zapisad  zupełnie  dowolnych  danych.  Baza 
oparta jest na pewnym modelu rzeczywistości (modelu danych). Modele te mogą byd bardzo różne 
i niektóre  z nich  pokrótce  omówimy  w dalszej  części.  Model  danych  definiowany  jest  przez 
projektanta bazy  danych.  Określa  on,  w jaki  sposób  dane występujące  w rzeczywistości (np.  dane 
adresowe studentów) będą reprezentowane w bazie. Przyjęty model ogranicza więc (determinuje) 
dane, które możemy trwale przechowywad w bazie.  

Dobra organizacja bazy danych

 

Aby  zbiór  danych  można  było  uważad  za  bazę  danych,  musi  on  byd  odpowiednio  zorganizowany. 
Organizacja  ta  musi  zapewniad  możliwośd  nie  tylko  sprawnego  umieszczania  danych  w bazie,  ale 
również możliwośd odszukiwania i odczytywania danych już w niej zapisanych. Jeśli więc znalezienie 
danych zapisanych w magazynie wymaga od nas miesiąca przeglądania zapisanych danych, to taki 
magazyn nie może byd uznany za bazę danych. 

Baza  danych  to  oczywiście  każdy  magazyn  danych  spełniający  powyższe  warunki.  Ludzkośd 
dostrzegła  potrzebę  tworzenia  baz  danych  już  bardzo  dawno.  J.  Diamond  w swojej  książce  Guns, 
Germs and Steel: The Fastest of Human Societies
 twierdzi, że bazy danych istniały od czasów, kiedy 
cywilizacja  umeryjska  i egipska  zaczęły  korzystad  z pisma  klinowego  i hieroglifów  do  zapisu 
informacji  w formie  trwałej  i możliwej  do  odczytania  na  każde  żądanie.  Stosowane  w tamtych 
czasach nośniki danych były mało wygodne. Nasza cywilizacja przez całe wieki budowała swoje bazy 
danych  wykorzystując  jako  trwały  nośnik  danych  papier.  Bazy  „papierowe”  mają  jednak  bardzo 
wiele  wad,  takich  jak  duże  rozmiary  magazynu,  trudności  w wyszukiwaniu  danych,  brak 
wielodostępu  itd.  Do  budowy  i obsługi  baz  danych  nadają  się  natomiast  znakomicie  maszyny 
cyfrowe.  Dzisiaj  mówiąc  „baza  danych”  mamy  w zasadzie  na  myśli  komputerowe  bazy  danych. 
W dalszej  części  naszych  wykładów  pod  pojęciem  bazy  danych  będziemy  więc  rozumieli  bazę 
zorganizowaną i zarządzaną z wykorzystaniem komputera. 

background image

W.Dąbrowski, P.Kowalczuk, K.Markowski 

 

Dodatek A 

ITA-101 bazy danych 

 

Podstawowe pojęcia 

Strona 4/11 

Gdzie i w jakim celu stosuje się bazy danych 
Bazy danych spotykamy właściwie na każdym kroku. Każdy na pewno korzystał z bazy papierowej 
takiej  jak  encyklopedia,  książka  telefoniczna  czy  kartoteka  w bibliotece.  Bazy  danych  są  też 
powszechne  w świecie  informatyki.  Większośd  systemów  informatycznych  współpracuje  z bazami 
danych,  gdyż  muszą  one  przechowywad  dane.  Są  aplikacje,  których  głównym  zadaniem  jest 
przechowywanie, zarządzanie i udostępnianie danych. Potocznie są one nazywane bazami danych 
lub,  dla  podkreślenia  faktu  istnienia  odpowiednich  dodatków  ułatwiających  pracę,  aplikacjami 
bazodanowymi.  Należy  jednak  mied  świadomośd,  że  znakomita  większośd  aplikacji  to  aplikacje, 
które współpracują z bazami danych mniej lub bardziej skomplikowanymi. 

Zastanowimy się teraz nad najważniejszymi cechami bazy danych, które powinna ona spełniad, aby 
mogła sprostad stawianym przed nią dzisiaj wymaganiom. 

Proponujemy,  abyś  przyjrzał  się  dowolnej  bazie  danych,  z którą  się  spotkałeś,  przeanalizował  jej 
cechy  (te,  które  ma  i które  Twoim  zdaniem  powinna  mied)  i wypisał  je.  Następnie  sprawdź,  ile 
z wypisanych przez Ciebie cech pokrywa się uznanymi przez nas za najważniejsze. 

Zgodność z rzeczywistością

 

Postulat  zgodności  danych  zapisanych  w bazie  z rzeczywistością  jest  jednym  z ważniejszych 
postulatów stawianych bazom danych. Na przykład, jeśli baza opisuje dane osobowe pracowników, 
takie  jak  ich  imię,  nazwisko,  telefon,  adres  zamieszkania,  stanowisko  itd.,  to  postulat  zgodności 
z rzeczywistością  oznacza,  że  w chwili,  gdy  pracownik  zmienia  stanowisko  pracy  (a  tym  samym 
również telefon), to również w bazie danych dokonywane są odpowiednie zmiany danych. 

Postulat  zgodności  z rzeczywistością  oznacza,  że  dane  zgromadzone  w bazie  są  danymi 
prawdziwymi,  odpowiadającymi  faktycznemu  stanowi  świata,  którego  dotyczą.  Na  pewno  każdy 
z nas  spotkał  się  z bazą,  która  nie  spełniała  tego  postulatu  i przechowywała  dane  dawne  już 
nieaktualne. 

Z  takimi  bazami  często  spotykam  się  dzisiaj  zaglądając  do  oferty  sklepów  i firm  internetowych. 
Niezwykle rzadko zdarza się, aby dane podawane w bazach udostępnianych przez te podmioty były 
prawdziwe. Najczęściej nie zgadzają się ani ceny towarów, ani ich dostępnośd w magazynie. 

Powoduje to nie tylko stratę naszego czasu (bo i tak trzeba zadzwonid do „żywego człowieka”), ale 
również utratę zaufania do firmy, która udostępnia bazę z danymi niezgodnymi z rzeczywistością. 

Spełnienie  postulatu  zgodności  z rzeczywistością  nie  jest  łatwe.  Trudności  nie  leżą  w zasadzie  po 
stronie  technicznej,  ale  po  stronie  ludzkiej.  Nie  można  (jak  na  razie)  całkowicie  zautomatyzowad 
procesów  biznesowych  i  w każdym  z nich  niezbędnym  ogniwem  jest  człowiek.  Aby  zapewnid 
zgodnośd danych przechowywanych w bazie z danymi rzeczywistymi, trzeba opracowad i stosowad 
w firmie odpowiednie procedury. 

Na  przykład  w wypadku  zmiany  stanowiska  przez  pracownika,  dział  kadr  mógłby  (obowiązkowo) 
przesyład odpowiednie zgłoszenie do operatora bazy (albo wprowadzad samodzielnie) z informacją 
o zaistniałych  zmianach.  Sposób  przesyłania  takiego  zgłoszenia,  jego  zawartośd,  określenie 
odpowiedzialności itd. powinien byd właśnie określony w takiej procedurze. 

Problem  aktualności  danych  w bazie  jest  jednym  z trudniejszych  problemów  do  rozwiązania, 
szczególnie  kiedy  w przedsiębiorstwie  działa  wiele  różnych  systemów  i baz  danych.  Dlatego  też 
obserwuje się dzisiaj silną tendencję do integracji różnych systemów w jeden spójny system, który 
potrafiłby automatycznie  wymieniad  dane między  swymi modułami (częściami).  Rozwiązania  tego 
typu  noszą  nazwę  rozwiązao  EAI  (ang.  Enterprise  Architecture  Integration)  i są  oferowane 
i rozwijane przez wiodących dostawców systemów bazodanowych.  

background image

W.Dąbrowski, P.Kowalczuk, K.Markowski 

 

Dodatek A 

ITA-101 bazy danych 

 

Podstawowe pojęcia 

Strona 5/11 

Ilustracja fragmentu rzeczywistości

 

Projektując bazę danych należy pamiętad, że stanowi ona pewien model otaczającego nas świata. 
Aby  baza  spełniała  swoje  zadania,  musi  byd  ilustracją  kompletnego  i dobrze  zdefiniowanego 
fragmentu  rzeczywistości.  Można  oczywiście  zbudowad  działającą  bazę  danych,  która  będzie 
pozwalała  na  poprawne  wprowadzanie,  usuwanie  i modyfikację  danych,  ale  która  nie  będzie 
związana ze światem rzeczywistym. Przydatnośd takiej bazy stoi oczywiście pod znakiem zapytania. 

Aby  spełnid  ten  postulat,  należy  prawidłowo  zdefiniowad  dziedzinę  problemową,  która  będzie 
modelowana za pomocą bazy oraz wykonad odpowiadający tej rzeczywistośd model logiczny bazy. 
Określaniem  wymagao  i budową  modelu  logicznego  bazy  danych  będziemy  się  zajmowad 
w module 2. 

Kontrola replikacji danych

 

Replikacja  danych  oznacza  reprezentowanie  w bazie  tego  samego  faktu  w wielu  jej  miejscach  lub 
w różnych formach. Na przykład baza danych zawierająca informacje o dostawach towarów może 
przechowywad  nazwę  i adres  dostawcy  w specjalnej  liście  dostawców  współpracujących  z naszą 
firmą oraz te same dane w wykazie zamówieo. Taka sytuacja jest zazwyczaj niepożądana. Może ona 
prowadzid do: 

 

niepotrzebnego zwiększenia miejsca zajmowanego przez bazę, 

 

niepotrzebnego  angażowania  mocy  obliczeniowych  w przeprowadzanie  operacji  w wielu 
miejscach  (np.  zmiana  adresu  dostawcy  będzie  musiała  byd  wykonana  i na  liście  dostawcy 
i przy każdym zamówieniu), 

 

powstania błędów i niezgodności danych gromadzonych w bazie z danymi rzeczywistymi (np. 
zapomnimy o zmianie adresu dostawcy przy zamówieniach z lipca). 

Czasem  jednak  zachodzi  potrzeba  replikacji  danych.  Może  ona  wynikad  ze  względów 
wydajnościowych  lub  ze  względów  bezpieczeostwa.  Trzeba  jednak  zawsze  pamiętad,  że  jeśli 
decydujemy  się  na  zastosowanie  (dopuszczenie)  replikacji,  to  zawsze  należy  poświęcid  jej 
szczególną uwagę, aby pozostawała pod kontrolą.  

Spójny model danych

 

Baza  danych  powinna  byd  zbudowana  na  podstawie  spójnego  modelu.  Spójny  model  danych 
oznacza,  że  fragment  rzeczywistości,  którego  dotyczy  baza  został  zamodelowany  w jednym 
z możliwych  modeli  oraz  że  dane  i pojęcia  (np.  pojęcie  faktury)  reprezentowane  w bazie  będą  ze 
sobą połączone tworząc jedną spójną logicznie całośd. 

Spójny  model należy  zapewnid na etapie  projektowania logicznego  bazy,  a jego  wyegzekwowanie 
w czasie  eksploatacji  bazy  jest  możliwe  dzięki  narzuceniu  na  bazę  odpowiednich  warunków 
i więzów (np. związków, o których więcej w module 2). 

Współbieżny dostęp do danych

 

Można  sobie  oczywiście  wyobrazid  bazę  (a  nawet  znaleźd  takie  działające  bazy),  która  będzie 
umożliwiad  dostęp  w danej  chwili  tylko  jednemu  użytkownikowi.  Taka  cecha  nie  powinna  nikogo 
z nas  dziwid,  gdyż  wiele  baz  papierowych,  z których  korzystamy  działa  w ten  właśnie  sposób.  Nie 
jest  to  jednak  wygodne,  w szczególności  jeśli  baza  ma  służyd  wielu  użytkownikom.  Problem  ten 
zauważono  już  dawno  i radzono  sobie  z nim  powielając  zbiory  danych.  Na  przykład  książka 
telefoniczna  jest  drukowana  w wielu  tysiącach  egzemplarzy,  dzięki  czemu  z danych  w niej 
zawartych  może  jednocześnie  korzystad  wielu  użytkowników.  Nikogo  jednak  nie  trzeba 
przekonywad, jak wiele wad ma to rozwiązanie. 

Systemy  komputerowe  pozwalają  na  dostęp  do  danych  wielu  użytkownikom  jednocześnie. 
Oczywiście  udostępnienie  danych  wielu  osobom  na  raz  stwarza  dodatkowe  problemy  związane 
z zarządzaniem  dostępem  do  tych  danych  i wymaga  odpowiedniego  zaprojektowania  i organizacji 
bazy danych.  

background image

W.Dąbrowski, P.Kowalczuk, K.Markowski 

 

Dodatek A 

ITA-101 bazy danych 

 

Podstawowe pojęcia 

Strona 6/11 

Bezpieczeństwo danych

 

Bazy  danych  są  dzisiaj  obecne  w bardzo  wielu  miejscach  i instytucjach,  wspomagają  nasze  życie 
codzienne  i biorą  udział  w licznych  procesach  biznesowych.  Są  w nich  gromadzone  informacje 
finansowe,  księgowe, dane  osobowe,  transakcje  bankowe  itp.  Z oczywistych  powodów wymagają 
one  ochrony.  Dobra  baza  danych  musi  zapewniad  odpowiednie  mechanizmy  identyfikacji, 
uwierzytelnienia, autoryzacji, poufności, integralności i dostępności. 

Rodzaje, klasyfikacja i przykłady SZBD 
Sprostanie  wymaganiom  stawianym  dzisiaj  bazom  danych  nie  jest  łatwe,  dlatego  budowane  są 
złożone  systemy  zawierające  zbiór  gotowych  narzędzi  zapewniających  odpowiedni  dostęp, 
manipulację i aktualizację do danych gromadzonych w systemach komputerowych. Narzędzia te to 
Systemy  Zarządzania  Bazą  Danych  –  w skrócie  SZBD  (ang.  Database  Management  Systems  – 
DBMS). 
Do najważniejszych cech charakteryzujących SZBD możemy zaliczyd: 

 

operowanie na dużych i bardzo dużych zbiorach danych, 

 

zarządzanie złożonymi strukturami, 

 

działanie w długim cyklu życia. 

Schemat  SZBD wraz  z otaczającym  go  środowiskiem  pokazuje  poniższy  Rys.  1  System  Zarządzania 
Bazami Danych.
 

Menedżer plików

Aplikacja

Zapytanie 

użytkownika

Definicja 

schematu

SZBD

Menedżer bazy danych

Procesor zapytań

Kompilator definicji 

schematu

Dane

Dane

Dane

Dane

 

Rys. 1 System Zarządzania Bazami Danych 

SZBD składa się z: 

 

menedżera  bazy  danych  (ang.  DB  manager)  –  jego  rola  polega  na  zarządzaniu  obiektami 
bazy danych 

 

procesora  zapytao  (ang.  query  procesor)  –  jego  rola  polega  na  przetwarzaniu  zapytao 
(poleceo) kierowanych do bazy danych, 

 

kompilatora definicji schematu (ang. pattern compiler) – jego rola polega na przetwarzaniu 
definicji obiektów znajdujących się w bazie na postad zrozumiałą dla menedżera bazy. 

Jak widad na rys. 1.1, SZBD komunikuje się jednej strony z menedżerem plików (ang. file manager), 
a  z drugiej  z warstwą  wyższego  poziomu.  Menedżer  plików  jest  odpowiedzialny  za  obsługę 
fizycznych nośników danych – zna i rozumie sposób organizacji tych nośników (systemu plików). 

background image

W.Dąbrowski, P.Kowalczuk, K.Markowski 

 

Dodatek A 

ITA-101 bazy danych 

 

Podstawowe pojęcia 

Strona 7/11 

W  warstwie  wyższego  poziomu  mogą  natomiast  znajdowad  się  aplikacje  użytkownika  (ang. 
application),  zapytania  formułowane  przez  użytkownika  (ang.  user  query),  narzędzia  do 
definiowania schematu bazy danych (ang. pattern description) itp. 

Na rynku dostępnych jest wiele Systemów Zarządzania Bazami Danych dostarczanych przez różnych 
producentów. Do najważniejszych należą: 

 

Oracle 

 

MS SQL Server 

 

DB2 

 

Sybase 

 

Informix 

 

Adabase 

 

ObjectStore 

 

MS Access 

oraz wiele innych. 

Kryteria doboru SZBD 

Wybór odpowiedniego systemu SZBD nie jest łatwy. Przed podjęciem decyzji warto jest rozważyd 
wiele aspektów związanych zarówno z tym co baza danych ma robid, jak i innymi uwarunkowaniami 
po stronie dostawcy systemu i jego użytkownika. 

Do najważniejszych kryteriów doboru SZBD należą: 

 

Wydajność (ang. performance) – określa, jak szybko system będzie reagował na wydawane 
mu polecenia, ile jednocześnie będzie potrafił obsłużyd zleceo czy użytkowników.  

 

Skalowalność (ang. scalability) – określa, jak zmieni się działanie systemu (jego wydajnośd), 
jeśli wzrośnie liczba użytkowników lub danych. Cecha ta określa również możliwośd adaptacji 
systemu  do  nowych  warunków  obciążenia  i możliwośd  jego  rozbudowy  w celu  sprostania 
nowym, większym obciążeniom.  

 

Funkcjonalność  (ang.  functionality)  –  określa,  jakie  funkcje  są  dostępne  w systemie.  Warto 
zwrócid uwagę zarówno na funkcje wykorzystywane przez użytkownika, jak i administratora 
czy  projektanta  takiego  systemu.  Najczęściej  brak  odpowiednich  funkcji  –  szczególnie 
potrzebnych  projektantom  i administratorom  pociąga  za  sobą  koniecznośd  dokupienia 
dodatkowych narzędzi i zwiększa koszty systemu.  

 

Zgodność ze standardami – oznacza spełnienie przez system pewnych zasad i reguł uznanych 
za powszechne, czyli standardów (np. standard języka, standard protokołu, itp.). Spełnienie 
powszechnie  stosowanych  standardów  uniezależnia  nas od  dostawcy  systemu  i pozwala na 
dokładanie  do  niego  innych  elementów  proponowanych  przez  różnych  dostawców 
(oczywiście jeśli są godne ze standardem).  

 

Łatwość  użycia  (ang.  usability)  –  jest  ważną  cechą  systemu.  Zdarzają  się  systemy  o bardzo 
dobrych parametrach wydajnościowych lub dużej niezawodności, które jednak są tak trudne 
w obsłudze,  że  użytkownicy  z nich  rezygnują.  Ocena  tej  cechy  zależy  od  użytkownika 
systemu, jego przygotowania i doświadczenia. Jest więc cechą subiektywną i ten sam system 
przez różnych użytkowników może byd zakwalifikowany jako łatwy lub trudny w użyciu.  

 

Niezawodność (ang. reliability) – oznacza, jak często system przestaje działad. Oczywiście, im 
większa  niezawodnośd  systemu,  tym  większe  są  jego  koszty  wytworzenia.  Trzeba  więc 
wyważyd  odpowiednią  proporcję  między  niezawodnością  systemu  a potrzebami 
użytkownika. Chod każdy chciałby, aby jego system działał bezbłędnie (był niezawodny) w jak 
największym  stopniu,  to  jednak  często  jesteśmy  gotowi  zaakceptowad  przestój  systemu 
trwający godzinę w zamian za przystępną cenę.  

 

Wspomaganie (ang. support) – oznacza zapewnienie odpowiedniej pomocy przez dostawcę 
systemu. Z całą pewnością jest to bardzo ważna cecha systemu. Z pewnością warto zapłacid 

background image

W.Dąbrowski, P.Kowalczuk, K.Markowski 

 

Dodatek A 

ITA-101 bazy danych 

 

Podstawowe pojęcia 

Strona 8/11 

wyższą  cenę  za  produkt,  którego  producent  zapewnia  dobry  i stabilny  serwis.  Nie  ma 
przecież  systemów  niezawodnych  w stu  procentach  ani  systemów,  które  nie  kryją  tajemnic 
o sposobie ich użytkowania.  

 

Środowisko (ang. environment) – określa, na jakim sprzęcie czy systemie operacyjnym będzie 
działad nasz system.  

 

Cena (ang. price) – oznacza nie tylko koszt zakupu systemu, ale również wszystkie pozostałe 
koszty  związane  z wdrożeniem  tego  systemu  oraz  przewidywanymi  kosztami  jego 
eksploatacji. Koszt zakupu jest często tylko elementem składowym ogólnej ceny systemu. 

Użytkownicy baz danych i ich rola w systemie 

Wśród najważniejszych grup użytkowników systemów SZBD możemy wyróżnid następujące grupy: 

 

Administrator systemu (ang. system administrator) – jego zadaniem jest nadzór nad całym 
systemem.  To  on  definiuje  bazy  danych  w systemie,  zakłada  użytkowników  o charakterze 
globalnym itp.  

 

Administrator bazy danych (ang. database administrator) – administruje jedynie bazą, którą 
ma  pod  swoją  opieką.  Ma  on  uprawnienia  do  zakładania  i administrowania  obiektami  bazy 
ale tylko w obrębie danej bazy danych.  

 

Programista  aplikacji  (ang.  application  programmer)  –  jego  rolą  jest  pisanie  kodu,  który 
będzie wspomagał użytkowanie bazy (np. procedur składowanych).  

 

Operator  –  czuwa  nad  codzienną  eksploatacją  bazy.  Czuwa  nad  wykonaniem  kopii 
bezpieczeostwa i wykonuje inne proste, codzienne czynności admnistracyjne.  

 

Użytkownik (ang. user) – to ktoś wykonujący czynności nie wchodzące w zakres obowiązków 
pozostałych grup. 

Modele struktury logicznej bazy danych 

Modele  struktury  logicznej  bazy  danych  mogą  byd  bardzo  różne.  Modele  te  starają  się 
odzwierciedlid  rzeczywistośd,  której  baza  dotyczy  oraz  mają  zasadniczy  wpływ  na  implementacje 
i działanie  bazy.  Dzisiaj  najpopularniejszym  modelem  stosowanym  w SZBD  jest  model  relacyjny. 
Obok  niego  funkcjonują  też  inne  modele  –  starszy  model  hierarchiczny  i zyskujący  sobie  powoli 
popularnośd model obiektowy. 

Model hierarchiczny

 

Model  hierarchiczny  przypomina  odwrócone  drzewo.  Jeden  z elementów  pełni  role  korzenia, 
a pozostałe  tworzą  gałęzie  i liście.  W modelu  tym  występują  związki  między  obiektami  zwane 
związkami ojciec-syn

Związki  takie  charakteryzują  się  tym,  że  obiekt  nadrzędny  (ojciec)  może  pozostawad  w związku 
z wieloma  innymi  obiektami  podrzędnymi  (synowie),  natomiast  tylko  z jednym  obiektem 
nadrzędnym w stosunku do niego (jego ojcem). 

 

Rys. 2. Model hierarchiczny 

background image

W.Dąbrowski, P.Kowalczuk, K.Markowski 

 

Dodatek A 

ITA-101 bazy danych 

 

Podstawowe pojęcia 

Strona 9/11 

Na  Rys.  2  przedstawiono  przykład  modelu  hierarchicznego  dla  bazy  przechowującej  informacje 
o wykładach, wykładowcach oraz studentach uczęszczających na te wykłady. 

Model hierarchiczny ma jednak wiele wad. Do najważniejszych należą: 

 

niemożnośd zapisania w bazie danych, które nie mają ojca (np. wykładowcy, który w danym 
roku nie prowadzi wykładów), 

 

nadmiarowośd danych (np. dane o przedmiocie są wpisane w bazie dwa razy – w wykładach 
i przedmiotach), 

 

brak możliwości obsługi bardziej złożonych związków między obiektami (np. związków „wiele 
do wiele”). 

Zaletą tego modelu jest łatwośd (a co za tym idzie szybkośd) dojścia do szukanych danych (idziemy 
od korzenia wzdłuż gałęzi aż do celu), ale pod warunkiem, że znamy strukturę tego modelu. 

Model  hierarchiczny  stosowany  jest  dziś  w systemach  plików  (struktura  katalogów  ma  strukturę 
drzewiastą) oraz w wielu popularnych aplikacjach (np. MS Outlook, Lotus Notes).  

Model relacyjny

 

W  celu  wyeliminowania  wad  modelu  hierarchicznego  opracowano  na  początku  lat 
siedemdziesiątych  nowy  model  zwany  modelem  relacyjnym.  Podstawy  teoretyczne  dla  modelu 
relacyjnego opracował dr E. Codd pracując w firmie IBM i opublikował w roku 1970 w książce pod 
tytułem  Relacyjny  model  logiczny  dla  dużych  banków  danych.  Model  ten  oparty  jest  na  silnych 
podstawach matematycznych, głównie teorii mnogości. 

Idea modelu relacyjnego bazuje na pojęciu  relacji – czyli tabeli. Wszystkie dane w tym modelu są 
przechowywane  w tabelach  (relacjach).  Tabele  te  mogą  byd  ze  sobą  powiązane  tak  zwanymi 
związkami.  Rysunek  rys.  1.3  przedstawia  przykład  modelu  relacyjnego.  Zasadniczą  wadą  modeli 
relacyjnych  jest  ich  znaczna  rozbieżnośd  w stosunku  do  świata  rzeczywistego,  który  mają 
modelowad. Pozwalają za to na efektywne przechowywanie danych, obniżają redundancję danych 
(powtarzalnośd) i pozwalają na łatwe wyszukiwanie danych. 

 

Rys. 3. Model relacyjny 

Bazy  danych  oparte  na  modelu  relacyjnym  są  obecnie  najbardziej  rozpowszechnionym  rodzajem 
baz danych.  

Model obiektowy

 

Obecnie  technologią,  która  pozwala  najlepiej  odwzorowywad  świat  rzeczywisty  w projektowaniu 
oprogramowania, jest technologia obiektowa. O jej sukcesie świadczy popularnośd takich języków 
programowania  jak  C++  czy  Java.  Technologia  obiektowa  jest  obecnie  dominującym  narzędziem 
przy tworzeniu dużych i złożonych projektów. 

background image

W.Dąbrowski, P.Kowalczuk, K.Markowski 

 

Dodatek A 

ITA-101 bazy danych 

 

Podstawowe pojęcia 

Strona 10/11 

Obiektowośd  nie  ogranicza  się  jedynie  do  nowego  sposobu  organizacji  kodu  w językach 
programowania.  Jest  ona  pewną  ideologią  w informatyce,  której  cechą  jest  chęd  dopasowania 
modeli pojęciowych stosowanych w informatyce do modelu świata postrzeganego przez człowieka. 
Jest to kolejny krok w ewolucji kontaktów człowiek-maszyna (a ściślej programista-komputer). 

Śledząc, nawet pobieżnie, rozwój języków programowania widzimy, że ewolucja ta przebiega ciągle 
w stronę  ułatwiania  życia  człowiekowi.  Wynika  to  z rozwoju  technologii  i związanego  z tym 
zwiększania  złożoności  modelowanych  procesów.  Bez  wprowadzania  nowych  metod,  wyższych 
poziomów  abstrakcji  w projektowaniu  i programowaniu  ,  człowiek  szybko  staje  się  najsłabszym 
ogniwem w procesie tworzenia oprogramowania. 

Większośd  producentów  systemów  relacyjnych  baz  danych  wyposaża  obecnie  swoje  produkty 
w rozszerzenia  obiektowe.  Są  one  implementowane  w różnym  stopniu  i zakresie.  Obejmują  takie 
funkcje  jak  obsługa  abstrakcyjnych  typów  danych,  klas,  przechowywanie  obiektów,  wyzwalacze, 
procedury  składowane.  Podstawą  takiego  systemu  jest  najczęściej  ten  sam  „silniczek”,  jaki  był 
stosowany w wersji relacyjnej – dobry i sprawdzony, ale pisany z myślą o modelu relacyjnym, a nie 
obiektowym.  Systemy  tego  typu  nie  spełniają  w pełni  paradygmatu  obiektowości,  mogą  byd 
traktowane raczej jako rozszerzenie systemów relacyjnych o pewne atrakcyjne cechy umożliwiające 
efektywne tworzenie aplikacji, a nie jako pełnowartościowe systemy obiektowe. 

Systemy  w pełni  obiektowe  zrywają  natomiast  z założeniami  modelu  relacyjnego  i opierają  się 
w całości na technologii obiektowej. Zapewniają tradycyjną funkcjonalnośd bazy danych (trwałośd, 
integralnośd danych, obsługę wielodostępu, odtwarzanie danych) przy zastosowaniu obiektowego 
modelu danych. Wiele tego typu systemów obsługuje również bardziej zaawansowane funkcje jak 
np. obsługa rozproszonych baz danych. 

Systemy obiektowych baz danych są najlepiej dopasowane do potrzeb zorientowanych obiektowo 
aplikacji  przetwarzających  duże  ilości  danych  oraz  obsługujących  wielu  użytkowników.  Istniejące 
rozwiązania  obejmują  różne  zakresy  funkcjonalności  –  od  prostych  systemów  przeznaczonych  do 
obsługi  małej  liczby  użytkowników,  dostosowanych  do  jednego  języka  programowania,  aż  do 
bardzo  zaawansowanych  rozwiązao,  w których  wydajny  serwer  obiektowej  bazy  danych  jest 
sercem całego systemu serwera aplikacji. 

Należy  jednak  zwrócid  uwagę,  że  systemy  obiektowe  ciągle  stanowią  przedmiot  badao  i nie 
osiągnęły jeszcze pełnej dojrzałości. 

Podsumowanie  
Współczesne  systemy  informatyczne  wykorzystują  bazy  danych,  od  małych  baz  budowanych 
specjalnie  na  ich  potrzeby,  aż  po  duże  i bardzo  duże  uniwersalne  bazy  i systemy  baz  danych. 
W zasadzie trudno byłoby znaleźd program komputerowy, który nie korzystałby z baz danych. 

Nie każdą strukturę przechowującą dane możemy jednak uznad za bazę danych. Baza danych musi 
charakteryzowad się odpowiednimi cechami. Ponieważ dzisiaj przed bazami danych stawia się coraz 
większe  wymagania  związane  z wydajnością,  bezpieczeostwem  itd.  Wymaganiom  tym  mogą 
sprostad  dopiero  Systemy  Zarządzania  Bazami  Danych,  które  są  wyposażone  w odpowiednie 
mechanizmy zapewniające bezpieczeostwo, spójnośd, wydajnośd i łatwośd obsługi. 

Modele  baz  danych  są  różne.  Do  najpopularniejszych  należą  model  hierarchiczny,  relacyjny 
i obiektowy. Każdy z nich nadaje się do innych celów, a najbardziej rozpowszechnionym modelem 
w bazach  spotykanych  w rozwiązaniach  przemysłowych  jest  model  relacyjnym.  Nasze  zajęcia 
poświęcone są właśnie temu modelowi. 

background image

W.Dąbrowski, P.Kowalczuk, K.Markowski 

 

Dodatek A 

ITA-101 bazy danych 

 

Podstawowe pojęcia 

Strona 11/11 

Uwagi dla studenta 

W tym module nie jest przewidziane laboratorium. Jeśli chcesz się przekonad, czy jesteś gotowy do 
wykonywania  laboratoriów  w kolejnych  modułach,  zastanów  się  i odpowiedz  na  następujące 
pytania: 

 

czy rozumiesz, czym jest baza danych, 

 

czy  potrafisz  uzasadnid  stosowanie  baz  danych  do  przechowywania  danych  zamiast 
innych struktur, 

 

czy umiesz wymienid podstawowe cechy baz danych, 

 

czy rozumiesz założenia modelu relacyjnego? 

Jeśli potrafisz na te pytania odpowiedzied twierdząco, to jesteś przygotowany do dalszej drogi przez 
świat  baz  danych.  Jeśli  nie,  to  zapoznaj    się  ponownie  z uwagami  i poradami  zawartymi  w tym 
module.  Upewnij  się,  że  rozumiesz  omawiane  w nich  zagadnienia.  Jeśli  masz  trudności  ze 
zrozumieniem  tematu  zawartego  w uwagach,  przeczytaj  ponownie  informacje  z tego  rozdziału 
i zajrzyj do notatek z wykładów. 

Dodatkowe źródła informacji 

1.  Jeffrey D. Ullman, Jennifer Widom, Podstawowy wykład z systemów baz danych, WNT, 2000 

Książka  zawiera  pełny  akademicki  wykład  z baz  danych.  Znajdziesz  w niej  szerokie 
omówienie  wszystkich  przedstawianych  w tym  module  pojęd  wraz  z licznymi 
przykładami.  Jeśli  jesteś  zainteresowany  odrobiną  teorii  i chciałbyś  dogłębnie 
zrozumied jak działają bazy danych to jest to książka dla Ciebie. 

2.  Rebeca R. Riordan, Projektowanie relacyjnych baz danych, Microsoft Press, 2000 

Książka  poświęcona  jest  praktycznym  aspektom  projektowania  relacyjnych  baz 
danych  w środowisku  aplikacji  firmy  Microsoft.  Rebeca  Riordan  znana  jest 
z łatwego  i zrozumiałego  języka  i łatwości  tłumaczenia  zagadnieo  trudnych.  Ten 
swój  talent  wykorzystuje  również  w tej  pozycji.  Jeśli  nie  interesuje  Cię  zgłębianie 
teoretycznych  podstaw  działania  baz  danych,  a bardziej  nastawiony  jesteś  na 
praktyczne wykorzystanie wiedzy, to jest to książka dla Ciebie. 

3.  C.J.Date, Wprowadzenie do systemów baz danych, WNT, 2000 

Jest  to  pełny  podręcznik  do  wykładu  z baz  danych  znanego  i cenionego  na  całym 
świecie  autora.  Znajdziesz  w nim  szersze  spojrzenie  na  problematykę  budowy 
i modelowania  baz  danych.  Polecamy  ją  wszystkim,  którzy  chcieliby  poszerzyd 
swoje wiadomości z tego zakresu.