Obszarem analizy



Pobieranie 432,49 Kb.
Strona1/5
Data04.02.2018
Rozmiar432,49 Kb.
  1   2   3   4   5



Baza danych jest modelem pewnej rzeczywistości, tą rzeczywistość realną nazywamy obszarem analizy.

Istotne obiekty analizy:



  • bloki przedmiotowe- moduły

  • studenci

Istotne obiekty analizy nazywamy klasami lub encjami. Związki, które zachodzą między klasami (encjami) są częścią obszaru analizy. Każda klasa posiada właściwości (atrybuty).

Mówimy, że klasy są zidentyfikowane poprzez pewne informacje przechowywane na temat obiektów tej klasy, np.: student identyfikowany jest poprzez nazwisko, imię, numer albumu.



Baza danych jest zbiorem danych reprezentujących pewien obszar analizy. Jednostka danych (lub potocznie dana) jest symbolem lub zbiorem symboli reprezentujących jakiś fakt, jakąś rzecz. Aby fakt był użyteczny musi zostać zinterpretowany. Zinterpretowane dane nazywa się często informacjami. Informacje mają przypisane znaczenie, np.: liczba 23 może oznaczać wiek, numer albumu; bez interpretacji nie wiemy co ona oznacza. Mówimy, że baza danych jest zbiorem faktów (pozytywnych) o pewnym obszarze analizy. Baza danych, w ściśle określonej chwili, jest w pewnym stanie, czyli jest to zbiór faktów dotyczących bazy, zbiór faktów prawdziwych w danej chwili.

Baza zawiera dwa podstawowe elementy:

- zbiór definicji opisujących strukturę – schemat bazy danych tworzenie schematu – projekt bazy lub projektowaniem bazy

- łączny – całkowity zbiór danych w bazie danych.

Integralność oznacza, że baza jest dokładnym odbiciem swojego obszaru analizy.

Proces integralności powinien zapewnić przejście zmianę bazy danych poprzez stany poprawne.

Integralna baza nie powinna posiadać powtarzających się faktów lub przejść, czyli nie powinna posiadać replikacji

Transakcje są to zdarzenia powodujące zmianę stanu bazy danych.

Integralność jest realizowana poprzez więzy integralności - reguły określające w jaki sposób baza ma pozostać dokładnym odbiciem swojego obszaru analizy.



Więzy dzielimy na:

- więzy statyczne (niezmienniki stanu)- są używane do sprawdzania czy wykonywana transakcja nie zmienia stanu bazy w stan niepoprawny.

- więzy przejść- są to reguły wiążące ze sobą stany bazy. Więzy przejść są ograniczeniami nakładanymi na same przejścia.

Podstawowe funkcje bazy danych


Do wykonywania operacji na bazie używamy dwóch rodzajów funkcji:

- funkcje aktualizujące – dokonują one fizycznie zmiany w bazie – np. zaliczamy transakcje zmieniające bazę z jednego stanu w drugi , wiąże się z nimi ciąg warunków reprezentujących więzy integralności oraz ciąg akcji określających co powinno się zdarzyć, jeżeli warunki będą prawdziwe.

- funkcje zapytań – za ich pomocą wydobywa się dane z bazy danych - nie modyfikują samej bazy, głównie sprawdzają czy fakt lub grupa faktów jest spełniona w danym stanie bazy danych. Funkcje te zwracają nie określenie czy zachodzi prawda lub fałsz, ale zwracają pewien zbiór wartości.
Każdy system bazy danych, używa pewnych formalizmów nazywanych modelem danych, inaczej są to ściśle określone reguły za pomocą, których można konstruować system bazy danych. Baza danych może być używana przez jednego użytkownika, jednak często baza danych jest wielodostępna. Ważne jest zachowanie spójności bazy danych, żeby nie zawiodła w przypadku, gdy korzysta z niej dwóch użytkowników.

Bazą danych nazywamy zbiór danych o określonej strukturze zapisany na zewnętrznym nośniku pamięci komputera mogącym zaspokoić potrzeby wielu użytkowników korzystających z niego w sposób selektywny w dogodnym dla siebie czasie.

Baza danych jest to zbiór danych zorganizowanych przez system zarządzania bazą danych

System zarządzania bazą danych SZBD

SZBD  DBMS


DBMS – DATABASE MANAGEMENT SYSTEM

SZBD – zorganizowany zbiór narzędzi umożliwiających dostęp i zarządzanie bazą lub wieloma bazami danych.


Elementarne zadania SZBD


1.Umożliwienie użytkownikowi utworzenia nowej bazy danych i określenie jej schematu, czyli logicznej struktury danych za pomocą specjalizowanego języka definiowania danych.

2.Udostępnianie użytkownikowi możliwości tworzenia zapytań o dane – query (kwerend-zapytania) oraz aktualizowania danych za pomocą języka zapytań – języka operowania danymi = język zapytań.

3.Zapewnienie możliwości przechowywania ogromnej ilości danych przez dłuższy czas chroniąc je przed przypadkowym, nieprawidłowym dostępem oraz umożliwianie efektywnego dostępu do danych z poziomu języka zapytań i operacji na danych.

4.Sterowanie jednoznacznym dostępem do danych przez wielu użytkowników z zapewnieniem bezkolizyjności oraz ochrony danych przed przypadkowym uszkodzeniem


Funkcje systemu SZBD


  1. Zarządzanie plikami

  • dodawanie nowych plików do bazy danych

  • usuwanie plików z bazy danych

  • modyfikowanie struktury istniejących plików

  • wstawianie nowych danych do istniejących plików

  • modyfikowanie danych w istniejących plikach

  • usuwanie danych z istniejących plików

  1. Wyszukiwanie informacji

  • wydobywanie danych z istniejących plików do stosowania przez użytkowników

  • wydobywanie danych z istniejących plików przez programy użytkowe

  1. Zarządzanie bazą danych

  • tworzenie i monitorowanie użytkowników bazy danych

  • ograniczanie dostępu do plików w bazie danych

  • monitorowanie działania samej bazy danych.

Właściwości SZBD


1.Współdzielenie danych, przez niektórych nazywane współbieżnością dostępu lub korzystanie z bazy.

2.Integracja danych – jeden logiczny element w bazie powinien być przechowywany tylko w jednym miejscu.

3.Integralność danych – zmiany danych winny być odzwierciedlone w wielu miejscach, gdzie następuje odwołanie do tych zmiennych lub „możliwość stwarzania użytkownikowi definiowania reguł pozwalających zachować warunki integralności”.

4.Poufność i bezpieczeństwo danych.

5.Abstrakcja i opis danych – określenie, wydzielenie niektórych właściwości obiektów przechowywanych w bazie.

Poziom opisu danych:


  • opis logiczny (z punktu widzenia użytkownika)

  • opis fizyczny

6.Niezależność danych – oddzielenie danych od procesów, które te dane będą używać.

7.Niezawodność – awaria sprzętowa lub programowanie powinna wpłynąć na integralność bazy po usunięciu awarii.

Właściwości powyżej wymienione są w danej bazie osiągnięte tylko częściowo.

Zapytania mogą być sformułowane dwojako:

-poprzez interfejs zapytań bezpośrednich

-poprzez interfejs programów użytkowych

Aktualizacja – dotyczy operacji zmiany danych dwoma drogami:

-poprzez interfejs zapytań bezpośrednich

-poprzez interfejs programów użytkowych

Modyfikacje (modyfikacja samego schematu DBMS) dotyczy administratora bazy.

Moduł Zarządzania Pamięcią w prostych systemach zarządzania może bezpośrednio odpowiadać systemowi plików z podstawowego systemu operacyjnego.

Moduł Zarządzania Plików przechowuje dane o miejscu zapisania pliku na dysku i jest odpowiedzialny za ich przesyłanie w postaci blokowej.

Moduł Zarządzania Buforami obsługuje pamięć operacyjną i jest odpowiedzialny za przydzielanie odpowiednich obszarów pamięci operacyjnej i przydzielenie ich blokom.

Procesor Zapytań nazywany jest Modułem Zarządzania Zapytaniami, przekształca zapytania lub operacje na bazie formułowane zazwyczaj w języku „bardzo wysokiego poziomu”


(np. SQL) w ciąg poleceń żądających dostarczenia odpowiednich danych. Najtrudniej jest optymalizować zapytania, czyli generować odpowiedzi w najkrótszym możliwie czasie.

Moduł Zarządzania Transakcjami ma gwarantować pewność i kompletność przeprowadzania wszystkich operacji „w jednym ciągu”. Opisuje się to za pomocą właściwości poprawności przeprowadzenia transakcji ACID (Atomicity Consistency Isolation Durability – Niepodzielność Spójność Izolacja Trwałość).

1. Atomicity – jest wykonywana albo cała transakcja, albo nic

2. Consistency – po zakończeniu transakcji baza musi zachowywać spójność – niesprzeczność

3. Isolation – przy jednoczesnym przeprowadzaniu kilku transakcji ich działania nie mogą na siebie wpływać

4. Durability – wynik transakcji nie może być utracony z powodu awarii systemu

Do realizacji tych 4 własności wykorzystuje się:

- blokady - MZT blokuje elementy, których dotyczy wykonywana transakcja

- logi MZT dokonuje zapisu na dysku takich danych jak:

- rozpoczęcie transakcji

- zmiany w bazie przez transakcję

- zakończenie transakcji



- zatwierdzenie transakcji – w chwili gdy transakcja kończy działanie jest gotowa do zatwierdzenia (zmiany są kopiowane do logu, log jest zapisywany na HDD, aktualizacja samych danych)

Modele danych


- Relacyjny Model Danych

  • Klasyczny

  • Hierarchiczny

  • Sieciowy

  • Obiektowy Model Danych

RMD– jest tylko jedna struktura danych – relacja. Relacja to tabela, dla której jest spełniony zbiór 7 zasad.

ZASADY:

1.każda relacja w bazie ma jednoznaczną nazwę (relacja  zbiór)

2.każda kolumna w relacji ma jednoznaczną nazwę w ramach jednej relacji (to też zbiór)

3.wszystkie wartości w kolumnie muszą być tego samego typu

4.porządek kolumn w relacji nie jest istotny (lista nazw kolumn to też zbiór)

5.każdy wiersz relacji musi być różny

6.porządek wierszy nie jest istotny

7.każde pole leżące na przecięciu kolumny i wiersza w relacji powinno zawierać wartość atomową (zbiór wartości nie jest dozwolony na jednym polu relacji)


kolumny tabeli w RMD to atrybuty

wiersze tabeli to krotki

liczba kolumn w tabeli to stopień tabeli

liczba wierszy w tabeli to liczebność tabeli


DEF 1. Niech dane będą zbiory D1,D2, ... ,Dn. Relacją matematyczną R nad tymi zbiorami nazwiemy dowolny podzbiór iloczynu kartezjańskiego nad tymi zbiorami

R D1xD2x ... xDn={d1, d2, ... , dn­}:diD i=1,2, ... ,n

Ta relacja jest relacją n-członową. Ponieważ n-członowa relacja jest zbiorem n-elementowych ciągów, więc istotna jest kolejność D1xD2D2xD1

W RMD chodzi o uniezależnienie się od uporządkowania zbiorów, więc mamy inną konwencję notacyjną. Zamiast traktować elementy n-członowej relacji jako n-elementowe ciągi lub zamiast traktować funkcję f ze zbioru {1,2, ... , n} w zbiór D1  D2  ...  Dn gdzie f(i)Di traktuje się jako funkcję nad pewnym n-elementowym zbiorem symboli zwanych atrybutami – nie musi być w tym zbiorze żadnych relacji porządkujących.

Niech dany będzie zbiór U={A1, A2, ... , An}, którego elementy nazywać będziemy atrybutami, i niech AU, przyporządkowany zbiór wartości DOM nazywamy domeną lub dziedziną A.

DEF 2. Krotką (TUPLE) typu U nazywamy dowolną funkcję f:U{DOM(A):AU} taką, że dla dowolnego AU f(A)DOM(A).

Zbiór wszystkich krotek typu U oznaczamy KROTKA(U)

Jeśli zbiór pustyfunkcja pustanazywamy ją 

DEF 3. Relacją typu U nazywamy dowolny skończony podzbiór KROTKA(U).

Zbiór wszystkich relacji typu U oznaczamy REL(U).



UPROSZCZENIA:

1)Relacje typu U oznaczamy R(U), S(U) lub krócej R,S

2)Krotki typu U oznaczamy r(U), n(U)

3)Podzbiory zbiorów atrybutów oznaczamy X,Y,Z

4)Krotkę r typu U niekiedy utożsamiamy z ciągiem jej wartości

r={(A1,a1), (A2,a2), ... ,(An,an)} i ai=r(A) i=1,2, ... ,n

czyli (a1,a2, ...,an)

5)Dla zbioru atrybutów {A,B} zamiast R({A,B}) piszemy R(A,B)


Niech U={A1,A2, ...,An), wówczas krotkę r(U) można przedstawić w postaci tabeli:

Relacja R(U) jest skończonym zbiorem krotek typu U, R=(r1,r2,...,r), takich, że ri(A)DOM(Ai) gdzie i=1,2, ..., n.


Wykorzystujemy tabelaryczne przedstawienie relacji R

Właściwości:

1.Nazwa tabeli będzie nazwą relacji

2.Jeżeli U jest zbiorem n-elementowym to tabela będzie miała n kolumn, z których każda ma przyporządkowany jeden z atrybutów ze zbioru U jako nazwę

3.Uporządkowanie kolumn tabeli jest nieistotne

4.W kolumnie o nazwie AU mogą występować wartości ze zbioru DOM(A)

5.Żadne z dwóch wierszy w tabeli nie mogą być identyczne

6.Nieistotne jest uporządkowanie wierszy
Zakładamy, że dziedziny DOM(A), przyporządkowane atrybutom AU, są zbiorami wartości prostych. O wartości aDOM(A) powiemy, że jest wartością prostą, jeżeli nie jest ona ani zbiorem ani ciągiem elementów należących do {DOM(A) : AU}.

DEF 4


R(U) jest w pierwszej postaci normalnej jeżeli dziedziny DOM(A) wszystkich atrybutów AU są zbiorami wartości prostych.

Operacje na danych (relacjach)

  1. wstawianie danych do relacji

  2. usuwanie danych z relacji

  3. edycja danych

  4. wyszukiwanie danych

Algebra Relacyjna


  1. selekcjaograniczenie

  2. rzut (projekcja)

  3. złączenie

  4. dopełnienie

  5. suma

  6. przecięcie (przekrój)

  7. różnica

  8. iloraz (podzielenie)

1-3 główne, 4-8 modelowane na operatorach teorii zbiorów

operacje mnogościowe (zbiory) - suma, różnica, przecięcie, dopełnienie

operacje relacyjne – (def. oparte o rozumienie relacji jako zbioru krotek) projekcja, selekcja, złączenie, iloraz.

Operacje mnogościowe

DEF 5


Relację T(U) nazywamy sumą relacji R(U) i S(U), co oznaczono T=RS, wtedy i tylko wtedy, gdy T={tKROTKA(U) : tR  tS}.

DEF 6


Relację T(U) nazywamy różnicą relacji R(U) i S(U), co oznaczamy T=R-S, wtedy i tylko wtedy, gdy T={tKROTKA(U) : tR  tS}.

DEF 7


Relację T(U) nazywamy projekcją (przecięciem) relacji R(U) i S(U), co oznaczamy T=RS, wtedy i tylko wtedy, gdy T={tKROTKA(U) : tR  tS}.

DEF 8


Relację T(U) nazywamy dopełnieniem relacji R(U) , co oznaczamy T=-R, wtedy i tylko wtedy, gdy T=KROTKA(U)-R={tKROTKA(U) : tR }.

dopełnienie jest określone gdy zbiór KROTKA(U)


Przykład

RS=-(-R-S)

R-S=R(-S)=-R(-RS)



Operacje Relacyjne

Ograniczenie krotki typu U do zbioru XU





  1   2   3   4   5


©operacji.org 2019
wyślij wiadomość

    Strona główna