Strona główna

Baza danych jest modelem informacyjnym pewnego aspektu rzeczywistości danej organizacji stanowiąc zbiór danych przechowywanych w systemie informatycznym, których zadaniem jest reprezentowanie tej rzeczywistości. Właściwości bazy danych


Pobieranie 55.58 Kb.
Data18.06.2016
Rozmiar55.58 Kb.
1) Pojęcia podstawowe – baza danych, system zarządzania baza danych, system bazy danych, właściwości bazy danych.

Baza danych - jest modelem informacyjnym pewnego aspektu rzeczywistości danej organizacji stanowiąc zbiór danych przechowywanych w systemie informatycznym, których zadaniem jest reprezentowanie tej rzeczywistości.

Właściwości bazy danych

_ Wspłózielenie danych

_ Integracja danych

_ Integralność danych

_ Bezpieczeństwo danych

_ Abstrakcja danych

_ NiezaleŜność danych

Współdzielenie - Dane przechowywane w bazie danych mogą być uŜytkowane

przez wielu uŜytkowników, moŜliwe, Ŝe w tym samym czasie



Integracja – brak redundancji danych czyli nadmiarowości

Integralność – stan bazy naleŜy do zbioru stanów dopuszczalnych, modyfikacja

danych nie narusza tej zasady



Bezpieczeństwo – kontrolowany dostęp do bazy danych (uŜytkownicy i

uprawnienia, perspektywy)



Abstrakcja – związana z celami organizacji a nie z wiernym odzwierciedleniem

rzeczywistości



NiezaleŜność – organizacja danych jest odseparowana od programów i

uŜytkowników (trudne do osiągnięcia)



System zarządzania bazą danych

(Datebase Management System – DBMS)

_ Zbi narzędzi umoŜliwiający dostęp do

danych i zarządzanie nimi

_ Pośredniczy w uzyskaniu dostępu do

danych


2) Modele baz danych – krótka charakterystyka poszczególnych modeli.

Hierarchiczny: W modelu hierarchicznym dane są przechowywane na zasadzie rekordów nadrzędnych-podrzędnych, tzn. rekordy przypominają strukturę drzewa. Każdy rekord (z wyjątkiem głównego) jest związany z dokładnie jednym rekordem nadrzędnym.

Dane w takim modelu, są znajdowane na zasadzie wyszukiwania rekordów podrzędnych względem rekordu nadrzędnego. Przykładem takiego modelu może być struktura katalogów na dysku twardym komputera.



Sieciowy: Sieciowy model danych w ogólnym zarysie niewiele odbiega od hierarchicznego. Związki pomiędzy danymi reprezentowane są przy pomocy wskaźników i tworzą strukturę garafu.

Relacyjny: Model relacyjny oparty jest na tylko jednej podstawowej strukturze danych -- relacji. Pojęcie relacji można uważać za pewną abstrakcję intuicyjnego pojęcia tabeli, zbudowanej z wierszy i kolumn, w której na przecięciu każdej kolumny z każdym wierzem występuje określona wartość. Baza danych jest zbiorem relacji, o następujących własnościach:

-Każda relacja w bazie danych jest jednoznacznie określona przez swoją nazwę.

-Każda kolumna w relacji ma jednoznaczną nazwę (w ramach tej relacji).

-Kolumny relacji tworzą zbiór nieuporządkowany. Kolumny nazywane bywają również atrybutami. -Wszystkie wartości w danej kolumnie muszą być tego samego typu. Zbiór możliwych wartości elementów danej kolumny nazywany bywa też jej dziedziną.

-Również wiersze relacji tworzą nieuporządkowany zbiór; w szczególności, nie ma powtarzających się wierszy. Wiersze relacji nazywa się też encjami.

-Każde pole (przecięcie wiersza z kolumną) zawiera wartość atomową z dziedziny określonej przez kolumnę. Brakowi wartosci odpowiada wartość specjalna NULL, zgodna z każdym typem kolumny (chyba, że została jawnie wykluczona przez definicję typu kolumny).

-Każda relacja zawiera klucz główny -- kolumnę (lub kolumny), której wartości jednoznacznie identyfikują wiersz (a więc w szczególności nie powtarzają się). Wartością klucza głównego nie może być NULL.

3) Model relacyjny - podstawowe właściwości



Model relacyjny to model baz danych oparty na postulatach relacyjności.

Dane w modelu relacyjnym są reprezentowane jako zbiór krotek, które w znormalizowanych bazach danych są unikalne i nie gra roli ich kolejność. Dostęp do nich jest realizowany za pomocą algebry relacji.

Model relacyjny składa się z trzech podstawowych elementów: struktury, integralności i manipulacji. Struktura (znana najczęściej w postaci tabeli) jest formą prezentacji relacji, która jest zdefiniowana w oparciu o typy (dziedziny). Dwie podstawowe reguły integralności to integralność encji (wartość klucza głównego nie może być NULL) oraz integralność odwołań (nie mogą istnieć niedopasowane wartości klucza obcego). Na elementy manipulacyjne modelu składają się: zbiór operatorów relacyjnych zwany algebrą relacyjną oraz relacyjny operator przypisania, pozwalający na przypisanie relacji wyniku powstałego z wyrażenia relacyjnego opartego na algebrze relacyjne

4)Zasady normalizacji modelu relacyjnego.



Normalizacja bazy danych jest to proces mający na celu eliminację powtarzających się danych w relacyjnej bazie danych. Główna idea polega na trzymaniu danych w jednym miejscu, a w razie potrzeby linkowania do danych. Taki sposób tworzenia bazy danych zwiększa bezpieczeństwo danych i zmniejsza ryzyko powstania niespójności (w szczególności problemów anomalii).

Istnieją sposoby ustalenia czy dany schemat bazy danych jest "znormalizowany", a jeżeli jest to jak bardzo. Sposoby te nazywane są postaciami normalnymi.

Normalizacja bazy danych do konkretnej postaci może wymagać rozbicia dużych tabel na mniejsze i przy każdym wykonywaniu zapytania do bazy danych ponownego ich łączenia.

Pierwsza postać normalna

-W poszczególnych tabelach wyeliminuj powtarzające się grupy.

–Dla każdego zestawu danych pokrewnych utwórz oddzielną tabelę.

-Dla każdego zestawu danych pokrewnych określ klucz podstawowy.

Druga postać normalna

-Utwórz oddzielne tabele dla zestawów wartości, odnoszących się do wielu rekordów.

-Ustal powiązania tabel za pomocą klucza obcego.

Trzecia postać normalna

-Wyeliminuj pola, które nie zależą od klucza.


5) Etapy projektowania systemów bazodanowych

Świat rzeczywisty  Analiza wymagań  Modelowanie koncepcyjne (modelowanie perspektyw -> integracja perspektyw)  Modelowanie logiczne  Modelowanie fizyczne (analiza ilościowa, integralności -> decyzje wdrożeniowe)  System bazy danych

Wymagania – określenie kluczowych wymagań technicznych dla systemu bazy danych poprzez kroki formalne i nieformalne między uŜytkownikami i

projektantem (interakcja). NajwaŜniejsze to określenie zakresu działania systemu projektowanej bazy danych w stosunku don otoczenia. Otoczenie to między innymi inne systemy. W wymaganiach musi się znaleźć odniesienie do otoczenia. Związana z uzyskaniem od uŜytkownik początkowego zbioru informacji i wymagań dotyczących przetwarzania danych Zbiór „poboŜnych Ŝyczeń” – nierzadko

sprzecznych

Model koncepcyjny: Dwa etapy:

_ Modelowanie schemat będących przekształceniem wymagań poszczegnych uŜytkownik w cząstkowe schematy

_ Integracja cząstkowych schematów w globalny schemat

Modelowanie koncepcyjne:

_ Modelowanie schematów

_ Definiowanie encji/obiektów

_ Definiowanie relacji

_ Definiowanie atrybutów

_ Integracja schematów

_ Identyfikacja części wspólnych

_ Tworzenie modelu ogólnego

_ Dopasowanie do schematu relacyjnego



Modelowanie logiczne przekształcenie modelu konceptualnego na pewien typ

modelu danych np. Relacyjny model danych

Jedna z technik to normalizacja – usunięcie problemów z aktualizacją

Modelowanie fizyczne – to konstruowanie modelu za pomocą struktur danych i

mechanizmów dostępu w wybranym DBMS

Analiza ilościowa – oszacowanie średniej i maksymalnej liczby instancji kaŜdejencji

Więzy integralności – klucze główne i obce, dziedziny

Rozproszenie – określenie sposobu podziału i replikacji schematu logicznego.

Główny cel – ograniczenie komunikatywności

podział danych poziomy i pionowy

_ Struktury danych (DDL)

_ Więzy integralności (DDL)

_ Zbi zapytań do uruchomienia na bazie danych

_ Zbi zdefiniowanych uŜytkownik

_ Strategia rozproszenia dla systemu bazy danych

_ Definiowanie zabezpieczeń danych

6) Zasady utrzymywaniu integralności bazy danych – metody realizacji.

Dla utrzymania integralności bazy danych należy:

- zapewnić semantyczną zgodność informacji przechowywanych w bazie. Np. wartość atrybutu wiek powinna być liczbą z przedziału <0, 120>, ilość_towaru powinna być wartością nieujemną. Ograniczenia te, kojarzone z obiektami bazy danych, nazywa się więzami (warunkami) integralnosci;

- z tej samej bazy danych korzysta jednocześnie wielu użytkowników. Nie wolno dopuścić do tego, aby działania jednych użytkowników szkodziły działaniom innych. Jest to

problem odpowiedniego zarządzania współbieżnością;

-system zarządzania baza danych może być zainstalowany na jednym lub wielu komputerach. W każdym z tych komputerów może nastąpić awaria prowadząca do utraty części lub całości danych.. System zarządzania powinien umożliwiać zachowanie bazy danych w stanie spójnym, niezależnie od awarii sprzętowych czy programowych. Jest to problem niezawodności bazy danych;

- poprawność bazy danych mogą naruszyć nieupoważnieni

użytkownicy. Pojawia się zatem problem ochrony danych

lub inaczej autoryzacji dostępu do bazy danych

7) Charakterystyczne cechy obiektowo-relacyjnych baz danych w odniesieniu do klasycznego modelu relacyjnego – przykłady.

Obiektowo-relacyjne bazy danych (ORDBMS)
Stanowią bardzo silna grupę systemów, która w ostatnim czasie dobrze zaznaczyła się na rynku oprogramowania. Są wynikiem ostrożnej ewolucji systemów relacyjnych w kierunku obiektowych. Kierunek rozwoju jest wyznaczany przez dwie tendencje:

-dążenie do zniwelowania niedostatków technologii relacyjnej, szczególnie w zakresie danych multimedialnych, dołączania metod lub reguł "zachowania się" danych, modelowania pojęciowego,

-chęć wprowadzenia wielu cech obiektowości, takich jak klasy, metody, dziedziczenie, abstrakcyjne typy danych (ADT) - własności potwierdzające choć częściowa obiektowość systemu relacyjnego. Zasadnicze elementy ewolucji:

-Abstrakcyjne typy danych (ADT)

-Zagnieżdżone relacje

-Umożliwienie użytkownikowi definiowania własnych typów danych (np. tabele)



Model danych
ORDBMS korzysta z modelu danych zawartego w standardzie SQL3, który mówi, ze "obiektowo-relacyjny model danych próbuje dodać obiektowości do tablic". Dane są wciąż przechowywane w tabelach, jednak wartości mogą mięć nieco bogatsza niż dotychczas postać - ADT (Abstract Data Type). Pola typu ADT zachowują funkcjonalność zwykłych pól (mogą być używane do indeksowania, wyszukiwania, pobierania lub umieszczania danych) przy nowych zawartościach (jak np. multimedia).

Jezyk zapytan
Ponieważ ten model rozszerza model relacyjny, dlatego opracowywany obecnie SQL3 (nazywany tez ObjectSQL) jest rozszerzeniem SQL. Rozszerzenie dotyczy rozbudowy możliwości zapytań o obiekty zagnieżdżone, ADT, atrybuty o wartości wyliczanej (np. metody obiektu), itp. Wyniki są jednak wciąż podawane w formie tabel krotek, a nie jako kolekcje obiektów.

Model obliczeniowy
Rozszerzony język SQL jest podstawowym interfejsem dostępu do danych. Bezpośrednie odwzorowanie miedzy obiektami z języka programowania a obiektami / tabelami w bazie nie istnieje, tłumaczenie wciąż obciąża programistę.

8) Idea i cechy charakterystyczne transakcji – przykłady.



Transakcja - to grupa wyrażeń interpretowana jako logiczna jednostka przetwarzania.

Jeżeli jakiekolwiek z tych wyrażeń zakończy się niepowodzeniem to cały zbiór operacji powinien zostać wycofany.

Transakcje wiążą się ze znacznym narzutem na resursy i w związku z tym mogą poważnie obniżać wydajność systemu.

Wszelkie mechanizmy związane z wykorzystaniem transakcji są uzależnione od poszczególnych implementacji.

Aby grupa wyrażeń SQL była traktowana jako transakcja musi przejść test ACID.

Atomowość – „wszystko albo nic”, jeżeli próba wykonania któregokolwiek z wyrażeń transakcji zakończy się niepowodzeniem, cała grupa musi być wycofana (należy usunąć skutki wykonania wszystkich wyrażeń), np. przelew między kontami.

Spójność – na końcu transakcji baza danych musi znajdować się w stanie spójności. Wyrażenie SQL muszą być wykonywane bezbłędnie, a wszystkie struktury bazy danych muszą być poprawne i trwale zapisane. np. nie można zarezerwować większej liczby miejsc w samolocie niż w nim rzeczywiście jest.

Izolacja – dane zmieniane przez transakcje nie mogą być widoczne dla pozostałych użytkowników dopóty, dopóki transakcja nie zakończy ich używać. Pozostali użytkownicy muszą mieć dostęp albo do danych sprzed rozpoczęcia transakcji albo do danych po pozytywnym zakończeniu transakcji. np. wycofywanie w ostatniej chwili zamówienie nie powinno skutkować jakąkolwiek zmianą stanu bazy.

Trwałość – na końcu transakcji baza danych musi zawierać prawidłowe dane. Awarie zasilania, awarie sprzętu lub inne usterki nie powinny powodować utrwalania niekompletnych danych. Większość DBMS realizuje to zadanie przy pomocy dziennika transakcji.

Standard SQL definiuje tzw. model transakcyjny oraz wyrażenia COMMIT i ROLLBACK wraz z ich rolą w procesie zapewnienia spójności danych. Model ten jest wykorzystywany w wielu komercyjnych DBMS, część producentów dodaje jednak pewne rozszerzenia i udoskonalenia, które zapewniają lepszą kontrolę nad przetwarzanymi transakcjami.

Idea transakcji języka SQL sprowadza się do takiego zamykania zbiorów wyrażeń w blokach oznaczonych odpowiednimi słowami kluczowymi, aby kod pomiędzy tymi słowami był przetwarzany jako jednostka. „Albo wszystko albo nic”.

9) Model transakcyjny i jego implementacja w systemach baz danych.



Standard SQL definiuje tzw. model transakcyjny oraz wyrażenia COMMIT i ROLLBACK wraz z ich rolą w procesie zapewnienia spójności danych. Model ten jest wykorzystywany w wielu komercyjnych DBMS, część producentów dodaje jednak pewne rozszerzenia i udoskonalenia, które zapewniają lepszą kontrolę nad przetwarzanymi transakcjami.

Idea transakcji języka SQL sprowadza się do takiego zamykania zbiorów wyrażeń w blokach oznaczonych odpowiednimi słowami kluczowymi, aby kod pomiędzy tymi słowami był przetwarzany jako jednostka. „Albo wszystko albo nic”.

Standard SQL definiuje jedynie słowo kluczowe COMMIT i ROLLBACK.

COMMIT – sygnalizuje DBMS, że wszystkie wyrażenia wykonane od ostatniego wywołania COMMIT zostały prawidłowo ukończone i że baza danych jest spójna. Dopiero teraz modyfikacje danych wynikające z poprzednich operacji języka SQL są zapisywane na dysku. Po wykonaniu wyrażenia COMMIT nie można wycofać zmian danych.

ROLLBACK – wyrażenie to sygnalizuje DBMS, że wszelkie zmiany spowodowane przez wyrażenia SQL wykonane od ostatniego wywołania wyrażenia COMMIT mają być wycofane. Wiele interaktywnych aplikacji wykonuje operację COMMIT po każdym wyrażeniu wpisanym przez użytkownika, co w praktyce oznacza brak możliwości wycofania większych transakcji.

Takie działanie jest nazywane trybem automatycznego zatwierdzenia (autocommit), a w niektórych systemach można ten tryb włączać i wyłączać. W takim środowisku nie można używać wyrażenia ROLLBACK

BEGIN TRANSACTION – początek transakcji

COMMIT TRANSACTION – odpowiednik COMMIT

SAVE TRANSACTION – tworzy nazwane punkty zachowania)

ROLLBACK TRANSACTION – odpowiednik ROLLBACK

10)Zasady blokowania w systemach transakcyjnych – metody.

Blokada (lock) jest zmienną związaną z elementem bazy danych, która opisuje stan tego elementu pod względem możliwości działań, jakie mogą być na nim wykonane. Na każdy element danych przypada jedna blokada.

Blokady są używane jako środek synchronizowania dostępu współbieżnych transakcji do elementów bazy danych.

Blokady nie mają nic wspólnego z bezpieczeństwem na poziomie użytkowników – w szczególności nie służą do zabezpieczania danych przed dostępem określonych użytkowników lub grup użytkowników. Zadaniem blokad jest chwilowe (tylko na czas wykonywania krytycznych operacji) uniemożliwienie dostępu do określonych danych lub struktur pozostałym użytkownikom.

Główne typy blokad:

-Blokada binarna (model teoretyczny)

Blokada binarna jest bardzo restrykcyjna. W danej chwili tylko jedna transakcja może trzymać blokadę na elemencie bazy danych czyli tylko ona ma dostęp do tego elementu. Występują dwie operacje blokowania: blokuj i odblokuj element.

Implementacja blokady binarnej polega na zdefiniowaniu zmiennej dwuwartościowej, BLOKADA, związanej z każdym elementem danych X w bazie. Np. trzy argumenty: nazwa elementu bazy, BLOKADA, transakcja blokująca. Dodatkowo istnieje kolejka dla transakcji, które oczekują na uzyskanie dostępu.



Blokada do odczytu (daje dostęp tylko do odczytu)

Blokada dzielona

Właściwości:

-Daje dostęp tylko do odczytu danych i ochrania zablokowane dane przed ich modyfikacją przez inną transakcję

-Dowolna liczba transakcji może mieć założoną blokadę do odczytu na elemencie danych

Przykład zastosowania:

Wykonanie Select na tabeli (bez potrzeby zmian), inni użytkownicy nie zmieniają tabeli w tym czasie

-Blokada do zapisu (umożliwia dostęp do zapisu
i odczytu)

Blokada wyłączna

-Daje dostęp do danych w celu ich odczytu jak i zapisu

-Uniemożliwia innym transakcjom jakikolwiek odczyt i zapis dla tego elementu

Przykład zastosowania:

Wykonanie Insert na tabeli, inni użytkownicy nie zmieniają ani nie oglądają tabeli w tym czasie




-Blokada dwutrybowa

Jedna z metod implementacji blokady dwutrybowej jest przechowywanie informacji o liczbie transakcji trzymających dzieloną blokadę na elemencie bazy.

Np..: cztery argumenty: nazwa elementu bazy, BLOKADA, liczba odczytów, transakcje blokujące.

Zmienna BLOKADA przyjmuje wartości: zablokowany do odczytu, zablokowany do zapisu, odblokowany.

-Blokada wzajemna zakleszczenie

Zakleszczenie (deadlock) – sytuacja, w której jedna transakcja (A) czeka na dane zablokowane przez inną transakcję (B), która z kolei czeka na dane zablokowane przez transakcję A.

Protokół zapobiegania zakleszczeniom jest sposobem unikania zakleszczeń.



Protokół nierealny – wymaga, aby każda transakcja z góry blokowała wszystkie wymagane elementy . Jeżeli któryś z nich nie może być zablokowany, żaden nie podlega blokowaniu Transakcja oczekuje pewien czas i próbuje ponownie blokować wymagane elementy.

11)Charakterystyczne cechy multimedialnych baz danych w porównaniu z tradycyjnymi bazami danych.

-Media – srodek przekazywania danych

-Multi-wiele

-Duzy rozmiar danych

-Złożone struktury danych

-Zaawansowane przetwarzanie danych

-Zapytania rozniace się od tradycyjnych

-Problemy prezentacji danych

-Tolerancja dla nie kompletnych wynikow



-Wyszukiwanie z przedefiniowanego zbioru


©snauka.pl 2016
wyślij wiadomość