BAZY DANYCH
BAZY DANYCH
Dr inż. Andrzej Nastaj
BAZY DANYCH
Literatura
1. Date C. J. Wprowadzenie do systemów baz danych, WNT,
Warszawa, 2000,
2. Ullman J.D., Widom J., Podstawowy wykład z systemów baz
danych, WNT, Warszawa, 2000,
3. Beynon-Davies P., Systemy baz danych, WNT, Warszawa,
2000
4. Date C.J., Darwen Hugh, SQL. Omówienie standardu języka,
WNT, Warszawa, 2000
5. Hernandez Michael J., Bazy danych dla zwykłych
śmiertelników, MIKOM, Warszawa, 1998
BAZY DANYCH
Tematy zajęd
1. Wprowadzenie do baz danych.
2. Architektura systemu bazy danych.
3. Modele danych. Model relacyjny.
4. Projektowanie baz danych. Projektowanie konceptualne.
Diagram obiektowo-zwiÄ…zkowy.
5. Projektowanie aplikacji bazodanowych.
6. Języki manipulacji danymi. Języki zapytao. Optymalizacja
zapytao.
7. SQL.
8. Przetwarzanie transakcyjne.
9. Rozproszone bazy danych.
10. Poufnośd i bezpieczeostwo baz danych.
BAZY DANYCH
Baza danych jest zbiorem powiÄ…zanych ze sobÄ… danych.
Przez dane rozumiemy w tym przypadku znane fakty, które
można jakoś zarejestrowad, i które mają konkretne
znaczenie.
Mamy więc zbiór powiązanych ze sobą danych o
konkretnym znaczeniu, co oznacza, że dysponujemy bazą
danych.
BAZY DANYCH
Własności bazy danych:
żð Baza danych reprezentuje jakiÅ› wybrany aspekt Å›wiata
rzeczywistego, nazywany niekiedy mini-światem lub dziedziną
problemu (ang. Universe of Discourse UoD). Zmiany w takim
mini-świecie muszą byd uwzględniane w bazie danych.
żð Baza danych jest logicznie koherentnym zbiorem danych z
jakimś spójnym znaczeniem. Przypadkowy zbiór danych nie jest
prawidłową bazą danych i nie należy dla niego stosowad tego
określenia.
żð Baza danych jest projektowana, konstruowana i wypeÅ‚niana
danymi w określonym celu. Do bazy danych powinna byd
przypisana grupa docelowych użytkowników oraz z góry
przyjęte zastosowania, które będą realizowane przez tych
użytkowników.
BAZY DANYCH
Baza danych powinna mied pewne zródło, z którego
będą pochodzid przechowywane dane, pewien stopieo
interakcji ze zdarzeniami majÄ…cymi miejsce w
reprezentowanym przez nią wycinku świata
rzeczywistego oraz użytkowników, którzy są aktywnie
zainteresowani jej zawartością.
Bazy danych mogÄ… mied dowolne rozmiary i
zróżnicowane poziomy złożoności.
Baza danych może byd generowana i utrzymywana
ręcznie lub może zostad całkowicie skomputeryzowana.
Skomputeryzowane bazy danych mogÄ… byd tworzone i
utrzymywane zarówno za pomocą grupy programów
napisanych specjalnie z myślą o tym zadaniu, jak i przez
uniwersalny system zarzÄ…dzania bazÄ… danych.
BAZY DANYCH
System zarządzania bazą danych (w skrócie SZBD, ang.
Database Management System DBMS) jest zbiorem
programów, które umożliwiają tworzenie i
utrzymywanie bazy danych. SZBD jest więc
uniwersalnym systemem programowym, który ułatwia
definiowanie, konstruowanie, manipulowanie i
udostępnianie baz danych różnym użytkownikom i
aplikacjom.
BAZY DANYCH
Definiowanie bazy danych wiąże się z określaniem
typów i struktur danych oraz ograniczeo dla
przechowywanych informacji.
Konstruowanie bazy danych jest kontrolowanym przez
SZBD procesem umieszczania w niej właściwych informacji
na jakimÅ› medium przechowywania.
BAZY DANYCH
Manipulowanie bazą danych obejmuje takie działania
jak wykonywanie zapytao wyciągających z bazy określone
informacje, aktualizowanie bazy danych w taki sposób,
aby zawarte w niej informacje odzwierciedlały rzeczywisty
stan reprezentowanego mini-świata, oraz generowanie
raportów na podstawie informacji zawartych w bazie
danych.
Udostępnianie bazy danych umożliwia wielu
użytkownikom i programom jednoczesne operowanie na
zawartych w niej informacjach.
BAZY DANYCH
Do pozostałych funkcji oferowanych przez systemy
zarządzania bazami danych należy ochrona bazy
danych oraz konserwowanie jej przez długi okres
czasu.
Proces ochrony bazy danych obejmuje zarówno
ochroną systemową przed niewłaściwym działaniem
(lub awariami) sprzętu oraz oprogramowania, jak i
zabezpieczanie przed nieuprawnionym dostępem.
Cykl życia wielkich baz danych może trwad wiele lat,
zatem systemy zarzÄ…dzania takimi bazami danych
muszą umożliwiad ich konserwowanie, tak aby
możliwe było dostosowywanie ich do ewoluujących
wymagao.
BAZY DANYCH
System bazy danych jest to połączenie samej bazy
danych z oprogramowaniem SZBD.
Użytkownicy i programiści
Aplikacje i zapytania
Oprogramowanie
Oprogramowanie przetwarzajÄ…ce
SZBD
zapytania i programy
Oprogramowanie obsługujące dostęp
do składowanych danych
Składowana
definicja bazy Składowana bazy
danych danych
(meta-dane)
BAZY DANYCH
Główne cechy odróżniające rozwiązania oparte na bazach
danych od rozwiązao opartych na przetwarzaniu plików:
żð samoopisujÄ…ca natura systemów baz danych,
żð oddzielenie programów od danych oraz abstrakcja
danych,
żð obsÅ‚uga wielu perspektyw dla tych samych danych,
żð współdzielenie danych oraz przetwarzanie transakcji.
BAZY DANYCH
Samoopisująca natura systemów baz danych
Podstawowa właściwośd rozwiązao opartych na
stosowaniu baz danych określa, że system bazy danych
zawiera nie tylko samą bazę danych, ale także kompletną
definicjÄ™ lub opis jej struktury i ograniczeo. Wspomniana
definicja jest przechowywana w katalogu systemu
zarządzania bazą danych (SZBD), który zawiera informacje
odnośnie do struktury poszczególnych plików, typu i
formatu przechowywania poszczególnych elementów
danych oraz rozmaitych ograniczeo nałożonych na te dane.
Informacje przechowywane w katalogu są często
nazywane metadanymi. Metadane zawsze opisujÄ…
strukturę głównej bazy danych.
BAZY DANYCH
Oddzielenie programów od danych oraz abstrakcja danych
W tradycyjnej metodzie przetwarzania plików struktura
plików z danymi jest umieszczana w wykorzystywanych
programach, zatem wszystkie ewentualne zmiany tej
struktury mogÄ… wymagad odpowiedniego zmodyfikowania
wszystkich programów, które uzyskują dostęp do danego
pliku. Zupełnie inaczej jest w przypadku programów
wykorzystujących pośrednictwo systemów zarządzania
bazami danymi, które w większości podobnych sytuacji nie
wymagają tego typu dodatkowych zmian. Struktura plików
z danymi jest przechowywana w specjalnym katalogu
systemu SZBD, dzięki czemu jest oddzielona od
programów dostępowych. Taki model nazywamy
niezależnością programu od danych.
BAZY DANYCH
W niektórych typach systemów baz danych, np. w
systemach obiektowych i obiektowo-relacyjnych, to
użytkownicy mogą (w ramach definiowania baz danych)
określad możliwe operacje na danych. Taka operacja
(nazywana także funkcją lub metodą) składa się z dwóch
elementów. Pierwszym z nich jest interfejs (nazywany
często sygnaturą), który zawiera nazwę operacji oraz typy
danych jej argumentów (nazywanych także parametrami).
Drugim jest implementacja (metoda), która jest
definiowana osobno i może byd zmieniana bez
konieczności modyfikowania odpowiadającego jej
interfejsu. Aplikacje użytkownika mogą operowad na
danych przez wywoływanie tak zdefiniowanych operacji
poprzez ich nazwy i argumenty, niezależnie od tego, w jaki
sposób te operacje zostały zaimplementowane. Można
taki model nazwad niezależnością programu od operacji.
BAZY DANYCH
Właściwośd, która umożliwia zapewnienie niezależności
programu od danych oraz niezależności programu od operacji,
jest nazywana abstrakcjÄ… danych. Systemy zarzÄ…dzania bazami
danych udostępniają użytkownikom koncepcyjną reprezentację
danych, która nie zawiera wielu szczegółów związanych z
wykorzystywanymi technikami przechowywania danych oraz
implementacji operacji. Nieformalnie można przyjąd, że jednym
z typów abstrakcji danych jest model danych, stosowany do
zapewniania właśnie reprezentacji koncepcyjnej. Model danych
wykorzystuje takie logiczne pojęcia jak obiekty, ich własności
oraz ich wewnętrzne relacje, które dla użytkowników są bardziej
zrozumiałe od pojęd związanych z przechowywaniem danych na
komputerach. Oznacza to, że model danych ukrywa szczegóły
przechowywania i implementacji danych, które nie są
przedmiotem zainteresowania dla większości użytkowników baz
danych.
BAZY DANYCH
W typowym rozwiÄ…zaniu opartym na bazie danych
szczegółowa struktura i organizacja poszczególnych plików
jest przechowywana w katalogu. Użytkownicy bazy danych i
obsługujących ją aplikacji odwołują się jedynie do
koncepcyjnej reprezentacji tych plików, a za wydobywanie z
katalogu szczegółów związanych z przechowywaniem plików
odpowiadają stosowne moduły dostępu używanych
systemów zarządzania bazami danych. Do zapewniania
abstrakcji danych użytkownikom baz danych można
wykorzystywad rozmaite modele danych.
BAZY DANYCH
W obiektowych i obiektowo-relacyjnych bazach danych proces
abstrahowania obejmuje nie tylko struktury danych, ale także
zdefiniowane dla nich operacje. Takie operacje stanowiÄ…
abstrakcję dla czynności w reprezentowanym przez bazę danych
mini-świecie, które zwykle są łatwiejsze do zrozumienia dla
zwykłych użytkowników. Operacje takie jak ta mogą byd
wywoływane przez użytkownika za pomocą odpowiednich
zapytao (lub za pośrednictwem aplikacji obsługujących bazę
danych) bez znajomości szczegółów dotyczących sposobu
zaimplementowania wykonywanych działao. W tym sensie
abstrakcja czynności z reprezentowanego mini-świata jest
udostępniana użytkownikowi jako operacja abstrakcyjna.
BAZY DANYCH
Obsługa wielu perspektyw dla tych samych danych
Typowa baza danych ma wielu użytkowników, z których każdy
może potrzebowad dostępu do innej perspektywy (ang. view)
dla tej bazy danych. Perspektywa może byd albo podzbiorem
bazy danych, albo może zawierad dane wirtualne, które zostały
wywiedzione z plików bazy danych, gdzie są przechowywane
w nieco innej postaci (dane wirtualne same w sobie nie sÄ…
więc trwale składowane w bazie danych). Niektórzy
użytkownicy w ogóle nie muszą wiedzied, czy dane, do których
się odwołują, faktycznie są przechowywane w takiej postaci w
bazie danych, czy są z niej jedynie w odpowiedni sposób
wywiedzione (w procesie tworzenia perspektywy)..
BAZY DANYCH
Wielodostępny system zarządzania bazą danych, który jest
wykorzystywany przez użytkowników do odmiennych celów,
musi zapewniad mechanizmy ułatwiające definiowanie wielu
różnych perspektyw.
BAZY DANYCH
Współdzielenie danych oraz wielodostępne przetwarzanie
transakcji
Wielodostępny system zarządzania bazą danych, jak sama
nazwa wskazuje, musi umożliwiad wielu użytkownikom
jednoczesny dostęp do bazy danych. Ta właściwośd ma
zasadnicze znaczenie, jeśli z pojedynczą bazą danych
chcemy zintegrowad wiele aplikacji. System zarzÄ…dzania
bazą danych musi wówczas zawierad oprogramowanie
sterowania współbieżnego (ang. concurrency control),
które zapewni w sposób kontrolowany wielu
użytkownikom możliwośd podejmowania prób aktualizacji
tych samych danych i zagwarantuje, że efekt tych działao
będzie spójny logicznie.
BAZY DANYCH
Tego typu zastosowania są określane ogólnym terminem
rozwiązao z przetwarzaniem transakcji na bieżąco (ang.
Online Transaction Processing OLTP). ZasadniczÄ… rolÄ…
oprogramowania wielodostępnego systemu zarządzania bazą
danych jest wówczas zapewnienie właściwego przetwarzania
współbieżnych transakcji.
Transakcja jest wykonywanym programem lub procesem, na
który składa się jeden lub więcej operacji dostępu do bazy
danych, takich jak odczytywanie czy aktualizacja jej rekordów.
Każda transakcja, która zostanie zrealizowana w całości, ma w
założeniu wykonywad logicznie poprawne operacje dostępu do
bazy danych i nie może wpływad na przebieg pozostałych
transakcji.
BAZY DANYCH
System zarzÄ…dzania bazÄ… danych musi wymuszad wiele
właściwości transakcji.
żð WÅ‚asnoÅ›d izolacji daje nam gwarancjÄ™, że każda transakcja
będzie wykonywana w warunkach separacji od pozostałych
transakcji, nawet jeśli jednocześnie będą wykonywane setki
transakcji.
żð WÅ‚asnoÅ›d niepodzielnoÅ›ci gwarantuje, że albo zostanÄ…
wykonane wszystkie operacje na bazie danych składające
się na daną transakcję, albo nie zostanie wykonana żadna z
tych operacji.
BAZY DANYCH
Administratorzy bazy danych
W każdej organizacji, gdzie wiele osób wykorzystuje te same
zasoby, istnieje koniecznośd zatrudnienia głównego
administratora, który będzie te zasoby nadzorował i nimi
zarządzał. W środowisku bazy danych głównym zasobem jest
oczywiście sama baza danych, drugim zasobem jest
natomiast system zarzÄ…dzania bazÄ… danych lub
oprogramowanie pokrewne. ObowiÄ…zki zwiÄ…zane z
administrowaniem tymi zasobami spadajÄ… na administratora
bazy danych (ang. database administrator DBA).
BAZY DANYCH
Osoba na tym stanowisku odpowiada za uwierzytelnianie
dostępu do bazy danych, koordynowanie i monitorowanie jej
wykorzystania oraz za pozyskiwanie niezbędnych zasobów
programowych i sprzętowych. Administrator bazy danych jest
także odpowiedzialny za wszystkie problemy związane z
administrowanym środowiskiem, w tym ewentualne
naruszenia bezpieczeostwa lub zbyt długi czas odpowiedzi. W
wielkich organizacjach administratorzy baz danych dysponujÄ…
zwykle całym sztabem ludzi, którzy pomagają im w realizacji
wymienionych zadao.
BAZY DANYCH
Projektanci bazy danych
Odpowiadają za identyfikację danych, które docelowo mają
byd przechowywane w bazie danych, oraz za wybór
właściwych struktur, które będą te dane reprezentowały i
przechowywały. Większośd tych zadao musi byd wykonana
zanim jeszcze baza danych zostanie faktycznie
zaimplementowana i wypełniona danymi. Projektanci baz
danych odpowiadajÄ… za zapewnienie odpowiedniej
komunikacji ze wszystkimi potencjalnymi użytkownikami
projektowanych rozwiÄ…zao, aby dobrze zrozumied
definiowane przez nich wymagania tylko w ten sposób
mogą zapewnid zgodnośd efektów swojej pracy z tymi
wymaganiami.
BAZY DANYCH
W wielu przypadkach projektanci należą do zespołu
kierowanego przez administratora bazy danych i mogÄ… mied
przydzielane zupełnie inne obszary odpowiedzialności już po
zakooczeniu procesu projektowania bazy danych.
Projektanci bazy danych zazwyczaj uzgadniajÄ… oczekiwany
kształt opracowywanego rozwiązania z każdą grupą
potencjalnych użytkowników i tworzą takie perspektywy
bazy danych, które w jak największym stopniu odpowiadają
zdefiniowanym przez te grupy wymaganiom dotyczÄ…cym
dostępnych danych i funkcji przetwarzających. Każda
perspektywa jest następnie analizowana i integrowana z
perspektywami opracowanymi dla pozostałych grup
przyszłych użytkowników. Ostateczna wersja projektu bazy
danych musi byd zgodna z wymaganiami zgłoszonymi przez
wszystkie takie grupy.
BAZY DANYCH
Użytkownicy koocowi
To pracownicy organizacji, których codzienna praca wymaga
dostępu do takich operacji na bazie danych jak
przetwarzanie zapytao, aktualizowanie informacji oraz
generowanie raportów baza danych jest więc tworzona
przede wszystkim dla nich. Istnieje kilka kategorii, do których
można przypisad użytkowników koocowych:
żð użytkownicy dorywczy,
żð Naiwni lub parametryczni użytkownicy koocowi,
żð doÅ›wiadczeni użytkownicy koocowi,
żð samodzielni użytkownicy.
BAZY DANYCH
Użytkownicy dorywczy korzystają z bazy danych tylko od
czasu do czasu, ale mogą za każdym razem potrzebowad
innych informacji. Tacy użytkownicy koocowi często używają
do definiowania swoich żądao wyszukanych języków zapytao
do bazy danych i zwykle pełnią stanowiska menadżerów
średniego lub wysokiego szczebla.
BAZY DANYCH
Naiwni lub parametryczni użytkownicy koocowi stanowią
znaczącą częśd wszystkich użytkowników bazy danych. Ich
praca polega przeważnie na wielokrotnym wykonywaniu
zapytao i aktualizowaniu informacji zawartych w bazie
danych. Użytkownicy należący do tej grupy wykorzystują
zwykle standardowe typy zapytao i operacji aktualizacji,
które zostały bardzo uważnie zaprogramowane i
przetestowane (sÄ… to tzw. transakcje zapuszkowane ang.
cannect transactions).
BAZY DANYCH
Do grupy doświadczonych użytkowników koocowych należą
najczęściej inżynierowie, naukowcy, analitycy biznesowi i
wszyscy inni pracownicy organizacji, którzy mieli już do
czynienia z mechanizmami systemów zarządzania bazami
danych oraz stosowali już rozmaite rozwiązania
odpowiadajÄ…ce ich skomplikowanym wymaganiom.
Samodzielni użytkownicy utrzymują zwykle osobiste bazy
danych w oparciu o gotowe pakiety oprogramowania, które
oferują łatwe w użyciu interfejsy, często oparte na
wygodnych menu lub na komponentach graficznych.
BAZY DANYCH
Analitycy systemowi
Określają wymagania użytkowników koocowych, szczególnie
tych należących do grupy naiwnych lub parametrycznych, i
opracowujÄ… specyfikacje wielokrotnie wykonywanych
transakcji, które powinny w jak największym stopniu
odpowiadad tym wymaganiom. Programiści aplikacji w
pierwszej kolejności implementują w postaci programów
specyfikacje otrzymane od analityków systemowych, po
czym poddajÄ… gotowe rozwiÄ…zania testom, przygotowujÄ…
niezbędną dokumentację i konserwują przygotowane w ten
sposób transakcje.
BAZY DANYCH
Analitycy systemowi i programiści aplikacji (nazywani często
inżynierami oprogramowania) powinni mied odpowiednią
wiedzę na temat wszystkich tych możliwości oferowanych
przez wykorzystywany system zarzÄ…dzania bazÄ… danych,
które mogą się przydad podczas realizacji tego zadania.
BAZY DANYCH
Pracownicy poza scenÄ…
Poza osobami, które projektują, wykorzystują i administrują
bazą danych, działania związane z projektowaniem,
tworzeniem i operowaniem na oprogramowaniu i
środowisku systemowym SZBD wymagają udziału także
innych osób. Pracownicy należący do tej grupy zwykle nie są
zainteresowani samÄ… bazÄ… danych ani zawartymi w niej
informacjami nazywamy ich pracownikami poza scenÄ….
Takie osoby można podzielid na trzy główne grupy:
żð projektanci i programiÅ›ci systemu zarzÄ…dzania bazÄ…
danych,
żð programiÅ›ci narzÄ™dzi,
żð operatorzy i personel pomocniczy.
BAZY DANYCH
Projektanci i programiści systemu zarządzania bazą danych
są autorami projektów i (mających postad pakietów
oprogramowania) implementacji modułów i interfejsów
systemu zarzÄ…dzania bazÄ… danych. Systemy zarzÄ…dzania
bazami danych sÄ… bardzo skomplikowanymi pakietami
oprogramowania, które składają się z wielu modułów
(komponentów), włącznie z modułami implementującymi
katalog, język przetwarzania zapytao, interfejs
przetwarzania, mechanizmy dostępu i buforowania,
sterowanie współbieżne oraz obsługę odzyskiwania danych i
bezpieczeostwa. Każdy system zarządzania bazą danych musi
oferowad interfejsy dla innych systemów oprogramowania,
takich jak systemy operacyjne czy kompilatory różnych
języków programowania.
BAZY DANYCH
Do grupy programistów narzędzi należą wszystkie osoby
projektujące i implementujące narzędzia, czyli pakiety
oprogramowania, które nie tylko ułatwiają projektowanie i
wykorzystywanie systemu bazy danych, ale także pomagają
poprawid jego wydajnośd. Narzędzia są opcjonalnymi
pakietami, które w wielu przypadkach można dokupid
osobno do już posiadanego systemu zarządzania bazą
danych. Takie pakiety mogą służyd łatwiejszemu
projektowaniu baz danych, monitorowaniu wydajności,
obsłudze interfejsów języka naturalnego lub interfejsów
graficznych, modelowaniu, przeprowadzaniu symulacji oraz
testowemu generowaniu danych. W wielu przypadkach
narzędzia tego typu są opracowywane i wprowadzane na
rynek przez niezależnych producentów.
BAZY DANYCH
Kategoria operatorów i personelu pomocniczego obejmuje
administratorów systemów, którzy odpowiadają za bieżące
funkcjonowanie i konserwację środowiska sprzętowego i
programowego dla wykorzystywanego systemu bazy danych.
BAZY DANYCH
Zalety stosowania rozwiÄ…zao opartych na systemach
zarzÄ…dzania bazami danych
1. Kontrola nadmiarowości.
2. Ograniczanie możliwości uzyskania nieautoryzowanego
dostępu.
3. Zapewnianie miejsca trwałego przechowywania dla
obiektów stosowanych w programach.
4. Zapewnianie struktur przechowywania dla efektywnego
przetwarzania zapytao.
BAZY DANYCH
5. Zapewnianie możliwości tworzenia kopii bezpieczeostwa i
odzyskiwania danych.
6. Zapewnianie interfejsów dla wielu użytkowników.
7. Reprezentowanie skomplikowanych relacji pomiędzy
danymi.
8. Wymuszanie ograniczeo integralnościowych.
9. Zezwalanie na wnioskowanie i podejmowanie działao w
oparciu o zdefiniowane reguły.
BAZY DANYCH
Kontrola nadmiarowości
W tradycyjnych pakietach oprogramowania tworzonych z
myślą o przetwarzaniu plików z danymi, każda grupa
użytkowników utrzymuje własne pliki obsługiwane przez
aplikacje operujÄ…ce na zawartych w nich danych.
Duża częśd wykorzystywanych przez grupy danych byłaby więc
przechowywana dwukrotnie w osobnych plikach, z których
każdy zawierałby wszystkie informacje przetwarzane przez
odpowiednią jednostkę. Kolejne grupy użytkowników mogłyby
dodatkowo powielad niektóre lub wszystkie te dane we
własnych plikach.
BAZY DANYCH
Ograniczanie możliwości uzyskania nieautoryzowanego
dostępu
System zarzÄ…dzania bazÄ… danych powinien oferowad
podsystem bezpieczeostwa i autoryzacji, za pomocą którego
administrator bazy danych będzie mógł tworzyd konta
użytkowników (lub grup użytkowników) i nakładad na nie
odpowiednie ograniczenia. System zarzÄ…dzania bazÄ… danych
powinien następnie automatycznie wymuszad przestrzeganie
tych ograniczeo.
BAZY DANYCH
Przykładowo, tylko osoby z uprawnieniami administratora
bazy danych mogÄ… uruchamiad pewne uprzywilejowane
elementy tego oprogramowania, np. moduły przeznaczone
do tworzenia nowych kont użytkowników. Podobnie,
użytkownicy parametryczni mogą mied możliwośd uzyskiwania
dostępu do bazy danych wyłącznie za pośrednictwem
transakcji zaprojektowanych specjalnie z myślą o
realizowanych przez nich zadaniach.
BAZY DANYCH
Zapewnianie miejsca trwałego przechowywania dla
obiektów stosowanych w programach
Bazy danych mogÄ… byd wykorzystywane do zapewniania
miejsca trwałego przechowywania dla obiektów i struktur
danych stosowanych w programach. Jest to jedna z przyczyn
tworzenia obiektowych systemów baz danych.
BAZY DANYCH
Trwałe przechowywanie obiektów i struktur danych
stosowanych w programach jest ważnym elementem
funkcjonalności systemów baz danych. Tradycyjne systemy
tego typu często były narażone na problem niezgodności
impedancji, ponieważ struktury danych oferowane przez
systemy zarządzania bazami danych były niezgodne ze
strukturami danych wykorzystywanymi w językach
programowania. Obiektowe systemy baz danych oferujÄ…
zwykle zgodnośd obsługiwanych struktur danych ze
strukturami stosowanymi w jednym lub większej ilości
obiektowych języków programowania.
BAZY DANYCH
Zapewnianie struktur przechowywania dla efektywnego
przetwarzania zapytao
Systemy baz danych muszą zapewniad możliwośd efektywnego
wykonywania zapytao i operacji aktualizacji danych. Ponieważ
baza danych jest zwykle przechowywana na dysku, system
zarządzania bazą danych musi udostępniad wyspecjalizowane
struktury danych, które przyspieszą proces przeglądania dysku
w poszukiwaniu żądanych rekordów. Do tego celu
wykorzystywane są pliki zewnętrzne nazywane indeksami.
Indeksy opierajÄ… siÄ™ zwykle na drzewiastych strukturach
danych lub strukturach mieszających niezależnie od
wybranej metody reprezentowania indeksów, każda z tych
struktur jest odpowiednio przystosowana do zadania
przeszukiwania danych dyskowych.
BAZY DANYCH
Zapewnianie możliwości tworzenia kopii bezpieczeostwa i
odzyskiwania danych
System zarządzania bazą danych musi także zapewniad
mechanizmy ułatwiające przywracanie pierwotnego stanu w
przypadku ewentualnych awarii sprzętowych lub
programowych. Za przywracanie tego stanu odpowiada
należący do systemu zarządzania bazą danych specjalny
podsystem tworzenia kopii bezpieczeostwa i odzyskiwania
danych.
BAZY DANYCH
Zapewnianie interfejsów dla wielu użytkowników
Ponieważ bazy danych mogą byd wykorzystywane przez wiele
typów użytkowników, którzy dysponują wiedzą techniczną na
bardzo zróżnicowanych poziomach, systemy zarządzania
bazami danych powinny udostępniad różne interfejsy
użytkownika. Takim interfejsem jest język zapytao
wykorzystywany przez użytkowników doraznych, interfejs
języka programowania dla programistów aplikacji, formularze i
kody poleceo dla użytkowników parametrycznych oraz
interfejsy oparte na menu i języku naturalnym dla
samodzielnych użytkowników.
BAZY DANYCH
Reprezentowanie skomplikowanych relacji pomiędzy
danymi
Baza danych może zawierad wiele zróżnicowanych danych,
które są wzajemnie powiązane na różne sposoby.
System zarządzania bazą danych musi oferowad możliwośd nie
tylko samego reprezentowania wraz z danymi rozmaitych
skomplikowanych związków, ale także łatwego i efektywnego
generowania i aktualizowania powiÄ…zanych ze sobÄ… informacji.
BAZY DANYCH
Wymuszanie ograniczeo integralnościowych
Większośd baz danych ma zdefiniowane pewne ograniczenia
integralnościowe, które muszą byd spełnione przez
przechowywane dane. System zarzÄ…dzania bazÄ… danych
powinien oferowad możliwośd zarówno definiowania takich
ograniczeo, jak i wymuszania ich przestrzegania. Najprostszym
typem ograniczenia integralnościowego jest wymuszenie
określonego typu danych dla poszczególnych elementów
danych.
BAZY DANYCH
Za identyfikację ograniczeo integralnościowych w fazie
projektowania bazy danych zawsze odpowiada jej projektant.
Niektóre ograniczenia mogą byd definiowane w systemie
zarzÄ…dzania bazÄ… danych i automatycznie przez ten system
wymuszane; inne mogÄ… wymagad przeprowadzania
odpowiednich testów na poziomie programów aktualizujących
dane lub już w momencie wpisywania informacji.
BAZY DANYCH
Zezwalanie na wnioskowanie i podejmowanie działao w
oparciu o zdefiniowane reguły
Niektóre systemy baz danych oferują możliwośd definiowania
reguł wnioskowania (reguł dedukcyjnych), w oparciu o które
można wywodzid nowe informacje na podstawie faktów
reprezentowanych w bazie danych. Takie systemy sÄ… nazywane
dedukcyjnymi systemami baz danych. Przykładowo, w świecie
rzeczywistym (mini-świecie reprezentowanym przez bazę
danych) mogą istnied skomplikowane zasady określające, czy
dany student odbywa staż. Można te zasady zdefiniowad
deklaratywnie w postaci reguł, które będą kompilowane i
utrzymywane przez system zarządzania bazą danych, i które
będą umożliwiały wyszukiwanie wszystkich studentów
odbywających staż.
BAZY DANYCH
W tradycyjnych systemach zarzÄ…dzania bazami danych do
obsługi tego typu zastosowao konieczny byłby odpowiedni kod
programu proceduralnego. Jeśli jednak reguły obowiązujące w
reprezentowanym mini-świecie ulegną zmianie, generalnie
znacznie łatwiejszym zadaniem (od ponownego kodowania
programów proceduralnych) jest zmiana zadeklarowanych
wcześniej reguł wnioskowania. Mechanizmy zapewniające
jeszcze większe możliwości są oferowane przez aktywne
systemy baz danych, gdzie w przypadku wystÄ…pienia
określonych zdarzeo lub spełnienia określonych warunków
aktywne reguły mogą automatycznie inicjowad zdefiniowane
wcześniej działania.
BAZY DANYCH
Dodatkowe własności wynikające ze stosowania rozwiązao
opartych na bazach danych
1. Możliwośd wymuszania stosowania standardów.
2. Skrócony czas wytwarzania aplikacji.
3. Elastycznośd.
4. Dostępnośd aktualnych informacji.
5. Korzyści ekonomiczne.
BAZY DANYCH
Możliwośd wymuszania stosowania standardów
Rozwiązania oparte na bazach danych umożliwiają
administratorom baz danych wymuszanie na użytkownikach
stosowania standardów przyjętych w danej organizacji.
Standardy ułatwiają wzajemną komunikację i współpracę
pomiędzy różnymi działami organizacji oraz pomiędzy
użytkownikami przydzielonymi do różnych projektów.
Standardy można definiowad zarówno dla nazw i formatów
elementów danych, jak i dla formatów wyświetlania, struktury
raportów, terminologii itp. Administrator bazy danych może
łatwiej wymuszad stosowanie standardów w środowisku
scentralizowanej bazy danych niż w środowisku, w którym
każda grupa użytkowników sama kontroluje swoje
oprogramowanie i przetwarzane pliki.
BAZY DANYCH
Skrócony czas wytwarzania aplikacji
Szybkośd wytwarzania nowych aplikacji jest zwykle
wykorzystywana w roli kluczowego hasła marketingowego
promujÄ…cego wszelkie rozwiÄ…zania oparte na bazach danych.
Projektowanie i implementowanie od zera nowych baz danych
może w wielu przypadkach wymagad więcej czasu niż pisanie
wyspecjalizowanych aplikacji operujÄ…cych na plikach. Kiedy
jednak taka baza danych będzie już gotowa, tworzenie nowych
aplikacji w oparciu o odpowiednie mechanizmy systemu
zarzÄ…dzania bazÄ… danych wymaga generalnie minimalnych
nakładów czasowych. Tworzenie aplikacji z wykorzystaniem
tych mechanizmów wymaga w przybliżeniu od jednej szóstej
do jednej czwartej czasu, który zużylibyśmy na opracowanie
odpowiedniego programu pracujÄ…cego w tradycyjnym
systemie plików.
BAZY DANYCH
Elastycznośd
Każda ewentualna zmiana wymagao może się wiązad z
koniecznością zmodyfikowania struktury bazy danych.
Przykładowo, nowa grupa użytkowników może zgłosid
koniecznośd przetwarzania informacji, które nie są
przechowywane w bazie danych w obecnym kształcie. W
efekcie, może zaistnied potrzeba dodania do bazy danych
nowego pliku lub rozszerzenia elementów danych w pliku już
istniejącym. Współczesne systemy zarządzania bazami danych
oferują pewne możliwości w zakresie wprowadzania
ewolucyjnych zmian do struktury bazy danych bez
konieczności modyfikowania już przechowywanych danych ani
istniejÄ…cych aplikacji.
BAZY DANYCH
Dostępnośd aktualnych informacji
System zarządzania bazą danych udostępnia tę bazę wszystkim
użytkownikom, którzy tylko dysponują odpowiednimi
uprawnieniami. Oznacza to, że w momencie zastosowania w
udostępnianej bazie danych operacji aktualizacji wykonanej
przez jednego użytkownika, wszyscy pozostali użytkownicy
mogÄ… natychmiast zobaczyd efekt wykonania tej operacji.
Dostępnośd najbardziej aktualnych informacji ma zasadnicze
znaczenie w wielu aplikacjach przetwarzajÄ…cych transakcje
(takich jak systemy rezerwacji czy bankowe bazy danych)
jest to możliwe dzięki mechanizmom sterowania
współbieżnego i podsystemowi odzyskiwania danych systemu
zarzÄ…dzania bazÄ… danych.
BAZY DANYCH
Korzyści ekonomiczne
RozwiÄ…zania oparte na systemach sterowania bazami danych
umożliwiają konsolidowanie danych i aplikacji celem
ograniczenia niepotrzebnego pokrywania się działao
personelu przetwarzającego dane przydzielonego do różnych
projektów lub pracującego w różnych działach organizacji.
Dzięki temu cała organizacja może inwestowad większe środki
w nowoczesne procesory, układy pamięci czy systemy
komunikacji, zamiast pozwalad poszczególnym działom na
dokonywanie samodzielnych zakupów (często gorszego)
wyposażenia. Można w ten sposób zredukowad łączne koszty
operacyjne i zarzÄ…dzania.
BAZY DANYCH
Kiedy nie należy używad systemów zarządzania bazami
danych
Pomimo wymienionych poprzednio zalet systemów
zarządzania bazami danych, istnieją sytuacje, w których
stosowanie tego typu rozwiązao wiąże się z niepotrzebnymi
kosztami, których z kolei można uniknąd stosując tradycyjne
rozwiÄ…zania przetwarzajÄ…ce pliki.
BAZY DANYCH
Nadmierne koszty stosowania systemów zarządzania bazami
danych mogą wynikad z następujących uwarunkowao:
żð zbyt wysoki poczÄ…tkowy koszt inwestycji w sprzÄ™t,
oprogramowanie i szkolenia,
żð zbyt maÅ‚y poziom szczegółowoÅ›ci oferowanej przez system
zarzÄ…dzania bazÄ… danych w zakresie definiowania i
przetwarzania danych,
żð negatywne skutki dla wydajnoÅ›ci, bÄ™dÄ…ce efektem
automatycznego stosowania mechanizmów bezpieczeostwa,
sterowania współbieżnego, odzyskiwania i zapewniania
spójności danych.
BAZY DANYCH
Dodatkowe problemy mogą wystąpid także w sytuacji, gdy
programiści lub administratorzy baz danych popełnią błędy
podczas projektowania, lub gdy aplikacje systemu bazy danych
nie zostaną właściwie zaimplementowane. Zatem
zastosowanie tradycyjnych rozwiÄ…zao opartych na
przetwarzaniu zwykłych plików z danymi może byd
usprawiedliwione w następujących okolicznościach:
żð sama baza danych i aplikacje dodatkowe sÄ… proste, dobrze
zdefiniowane i nie będą w przyszłości zmieniane,
żð zostaÅ‚y zdefiniowane Å›cisÅ‚e wymagania dotyczÄ…ce
projektowanego pakietu oprogramowania, których nie
można spełnid przy użyciu systemu zarządzania bazą danych
(np. z powodu mniejszej wydajności),
żð reprezentowane dane nie muszÄ… byd dostÄ™pne dla wielu
użytkowników.
BAZY DANYCH
Pytania powtórkowe
1. Zdefiniuj następujące pojęcia: dane, baza danych, system
zarzÄ…dzania bazÄ… danych, system bazy danych, katalog
bazy danych, niezależnośd programu od danych,
perspektywa użytkownika, administrator bazy danych,
użytkownik koocowy, transakcja zapuszkowana,
dedukcyjny system bazy danych, trwały obiekt, metadane
oraz aplikacja przetwarzajÄ…ca transakcje.
2. Jakie trzy główne typy działao wiążą się ze stosowaniem
baz danych? Krótko omów każdy z wymienionych typów.
BAZY DANYCH
Pytania powtórkowe cd.
3. Omów główne właściwości rozwiązao opartych na bazach
danych i przedstaw krótko różnice dzielące te rozwiązania
od ich odpowiedników mających postad tradycyjnych
systemów plików.
4. Jakie sÄ… zadania administratora bazy danych i projektanta
bazy danych?
5. Wymieo różne typy użytkowników koocowych bazy
danych. Omów główne czynności podejmowane przez
użytkowników należących do poszczególnych typów.
6. Przedstaw możliwości, jakie powinny byd oferowane przez
systemy zarzÄ…dzania bazami danych.
BAZY DANYCH
DZIKUJ ZA UWAG
Wyszukiwarka
Podobne podstrony:
BAZY DANYCH Streszczenie z wykładówStrona polecenia do bazy danych2004 11 Porównanie serwerów relacyjnych baz danych Open Source [Bazy Danych]MySQL Mechanizmy wewnętrzne bazy danychBazy danych w CADPostać normalna (bazy danych) – Wikipedia, wolna encyklopediabazy danych01 Projektowanie relacyjnej bazy danych Czym jest relacyj2004 05 Rozproszone fraktale [Bazy Danych]bazy danych projekt infor w projekcieBazy danych(1)więcej podobnych podstron