Ochrona integralności danych, Analiza matematyczna, Analiza matematyczna, Analiza matematyczna cz2, BD wyklady, BD wyklady


Ochrona integralności danych

  1. dwie podstawowe formy zabezpieczenia w RBD:

    1. mechanizm transakcji

    2. więzy integralności

Co to są transakcje

Pojęcie transakcji może być kojarzone z pojęciem transakcji kupna-sprzedaży z normalnego życia.

Transakcje w SBD gwarantują, że działania skończą się powodzeniem lub niepowodzeniem w całości

Rodzaje transakcji

  1. Transakcje jawne - konfigurowane przez użytkownika

  2. Transakcje niejawne i automatyczne

Transakcje jawne

BEGIN TRANSACTION

Treść transakcji

Wykonanie zakończone powodzeniem

COMMIT TRANSACTION (potwierdzenie zakończenia transakcji)

Wykonanie zakończone niepowodzeniem

ROLLBACK TRANSACTION (wycofanie transakcji i cofnięcie bazy do stanu sprzed jej rozpoczęcia)

Begin transaction

Update cena = cena *1.1 -podniesienie cen wszystkich towarów o 10%

IF @error >0

Rollback transaction

Else

Commit transaction

Możliwe jest także etapowanie transakcji przy pomocy tzw. Savepoints

Po utworzeniu takich punktów można wtedy wycofać transakcję do ustalonego punktu

Begin transaction

Update towary set cena = cena *1.1 where cena <100 -podniesienie cen towarów tańszych niż 100 o 10%

SAVE transaction po_aktualizacji_1

Update towary set cena = cena *0.9 where cena >110 - obniżenie cen wszystkich towarów droższych niż 110 o 10%

IF @error >0

Rollback transaction po_aktualizacji_1

Else

Commit transaction

Transakcje niejawne i automatyczne tworzy SZBD w celu wykonania niektórych operacji np. operacji DELETE lub UPDATE. Przed rozpoczęciem wykonywania tych poleceń automatycznie otwierane są transakcje. W przypadku przerwania tych operacji BD powraca do stanu sprzed rozpoczęcia wykonywania polecenia.

UTRZYMANIE BAZY DANYCH

W odniesieniu do obiektów zmianie może ulegać m.in.:

Bardzo często wszystkie wymienione muszą występować łącznie. Przykładowo utworzenie nowego atrybutu wymaga określenia jego dziedziny i zbudowania procedur (metod) jego obsługi a zmiana krotności relacji wymaga często również sposobu realizacji metod. W tablicy 3 wskazano na typowe zmiany składników BD w reakcji na zmianę zaistniałą w dziedzinie przedmiotowej. Pamiętać jednak należy, że odpowiedzi w każdym konkretnym przypadku mogą być inne w zależności od przyjętego sposobu implementacji.

Zmiany składników bazy danych

Rodzaj zmiany

Co wymaga zmiany

Reguły

Struktura

Procedury

Wartość atrybutu

Nie

Nie

Nie

Dziedzina atrybutu

Tak

Nie

Nie

Zbiór atrybutów

Tak

Tak

Tak

Skład obiektów złożonych

Tak

Tak

Tak

Zbiór metod

Nie

Nie

Tak

Powiązania pomiędzy obiektami lub ich klasami,

Tak

Tak

Tak

Przynależność obiektu do klasy, nowa klasa

Tak

Tak

Tak

Sposób realizacji metod

Nie

Nie

Tak

Pytania:

na ile z tych zmian BD jest przygotowana?

co zrobić aby uczynić BD mniej wrażliwą na te zmiany?

jak powinna baza wyglądać, aby przeprowadzenie tych zmian było możliwie najprostsze?

Jak skonstruować bazę, aby historie tych wszystkich zmian można było przechować w samej BD?

jak je odczytać oraz przetworzyć uzyskując dodatkowe informacje o rozwoju samej dziedziny, która jest odzwierciedlana w BD?

W praktyce programiści podejmują próby zabezpieczenia się przed zmianami w przyszłości poprzez dokładanie do tabel pól rezerwowych lub oprogramowując możliwość dynamicznej zmiany reguł przetwarzania.

podejmuje się próby określenia standardów postępowania w przypadku dokonywania zmian w strukturze bazy danych.

Zarządzanie zmianami w SBD obejmuje określenie zbioru oraz kolejności operacji potrzebnych do prawidłowego ukompletowania zmian takich jak dodanie atrybutu, tablicy, relacji, rozszerzenie dziedziny i gwarantujących zachowanie logicznej spójności bazy danych oraz możliwość odtwarzania informacji sprzed wprowadzonych zmian.

MODEL SI I BD

0x01 graphic

  1. Schemat odwzorowania dziedziny przedmiotowej w system informatyczny
    Źródło: [Louc92]

Poziomy modelowania:

REGUŁY I WIĘZY INTEGRALNOŚCI

Dla zapewnienia zgodności zawartości bazy z rzeczywistością oraz jej funkcjonowania zgodnie z przebiegającymi w rzeczywistości procesami należy na BD nałożyć określone prawa.

Integralność BD to bowiem jej własność bycia dokładnym odbiciem modelowanej rzeczywistości

Prawa, które muszą być przestrzegane podczas użytkowania BD nazywamy więzami integralności lub regułami.

Niektóre z reguł zawarte są w samej strukturze bazy danych (np. już określenie typu atrybutu jest ograniczeniem), inne zapisujemy w postaci procedur.

Wartość atrybutu też często nie może być dowolna. Może być ona ustalona w postaci reguły odwołującej się do konkretnych wartości lub do wartości innych atrybutów.

Również działania na BD podlegają regułom: tworzenie nowych krotek, modyfikacja istniejących a nawet działania nie zmieniające stanu bazy (raporty) mogą być wykonane tylko w określonych warunkach.

Odpowiedzialnością za przestrzeganie reguł można obciążyć:

użytkownika,

programistę

SZBD.

Najwygodniejszym sposobem jest zdefiniowanie odpowiednich reguł na etapie budowy SBD i przerzucenie obowiązku ich przestrzegania na SZBD.

Kontrola więzów polega na wyliczeniu wartości formuł dla bie­żącego stanu bazy i historii stanów poprzednich. Jeśli warto­ścią formuły dla któregoś z więzów jest FAŁSZ, to bieżący stan nie zachowuje więzów integralności. Jeśli natomiast formuły od­powiadające wszystkim więzom są prawdziwe, to stan bieżący jest poprawny

Próba wykonania transakcji na BD pociąga za sobą sprawdzenie więzów integralności.

Jeżeli więzy są spełnione, to nowa historia stanów jest zapamiętywana. W przeciwnym wypadku transakcja jest odrzucana. Transakcja, w wyniku której ma powstać nowy stan bazy danych, jest wypełniana tylko wtedy, gdy utworzony przez nią stan spełnia więzy integralności.

We współczesnych BD więzy integralności kontrolowane przez SZBD dotyczyć mogą jedynie pojedynczych stanów bazy lub przejść z jednego stanu do drugiego. Pozostałe więzy trzeba implementować w postaci procedur.

Można więc łatwo formułować więzy odnoszące się do bieżącego stanu bazy i do nowego stanu, dla którego są sprawdzane więzy integralności. Umożliwia to formułowanie warunków typu:

Reguły statyczne:

Cena_towaru >=0

Cena_towaru + podatek <=1 000

Reguły przejścia:

cena towaru nie może zmienić się jednorazowo bardziej niż o 15%.

Stawka pracownika nie może spadać

sprawdzenie takich warunków polega na porównaniu wartości w stanie bieżącym z wartością proponowaną w nowym stanie bazy.

Niemożliwe jest natomiast zdefiniowanie warunku:

w2: cena towaru nie może się zmienić o więcej niż 30% w trzech kolejnych operacjach zmiany ceny.

Sprawdzenie warunku w2 wymagałoby porównania ceny w nowym stanie z cenami z dwóch poprzednich stanów. Specyfikowanie więzów takich, jak w2, wymaga więc przechowywa­nia informacji o poprzednich stanach bazy.

Rodzaje reguł:

0x08 graphic

Implementacja reguł:

Statyczne ograniczające - wszystkie

Dynamiczne ograniczające:

W SZBD ORACLE w wyzwalaczach związanych z operacjami INSERT i UPDATE można odwołać się do wartości istniejącej w bazie poprzez prefix :OLD, natomiast do wartości wprowadzanej poprzez prefix :NEW.

W MS SQL Server możliwe jest wykorzystanie dwóch wartości, ponieważ w czasie wykonywania transakcji przechowywane są one w dwóch specjalnych tabelach. Tabela DELETED przechowuje wartości już istniejące w bazie natomiast tabela INSERTED zawiera wartości proponowane.

Cechy systemów transakcyjnych

Systemy MRP, ERP (Material Requirement Planning - Enterprise Requirement Planning)

Budując nowoczesne systemy transakcyjne uwzględnia się również zagadnienia:

W ten sposób zakres działania systemów transakcyjnych został rozszerzo­ny na wspomaganie zespołów ludzkich poprzez porządkowanie, organizowanie, automatyzowanie, przekazywanie i śledzenie prac realizowanych przez zespół.

Systemy takie z punktu widzenia związków ze zmiennością dziedziny przedmiotowej charakteryzują się tym, że:

W toku wspomagania bieżących zadań w systemach transakcyjnych powstają duże zbiory danych dokumentujących przebieg wykonania poszczególnych transakcji. Jednakże koncentracja na wspomaganiu (optymalizacji, usprawnianiu, doskonaleniu) działalności operacyjnej często ogranicza ich użyteczność w prowadzeniu pogłębionych analiz przedsiębiors­twa i jego otoczenia. Przez wiele lat zbiory danych historycznych miały charakter archiwalny przede wszystkim dlatego, że:

Zainteresowanie możliwością wykorzystania danych historycznych wzrasta wraz z technicznymi możliwościami przechowywania dużych ilości danych.

Z punktu widzenia użytkownika końcowego odpowiedzialnego za wykonanie transakcji (sprzedawca, wypożyczający, urzędnik) istotne jest jedynie uzyskanie szybkiej odpowiedzi na zadane pytanie co do informacji jakiej domaga się klient. Inne informacje są dla niego nieistotne chociaż mogą być ważne dla innych użytkowników systemu

0x08 graphic

Przykład z dziedziny sprzedaży

Z punktu widzenia użytkownika końcowego istotne jest jedynie czy dostępna jest taka ilość towaru, jakiej domaga się klient. Nie jest ważne jakie były w przeszłości ceny sprzedaży tego towaru a jedynie, po jakiej cenie ma być dokonana aktualna transakcja. Odpowiedzi na inne pytania: Jak zmieniały się ceny towaru?, Jaki jest przewidywany kierunek tych zmian? Jakie ceny oferował poprzedni dostawca?, Dlaczego towaru jest tak mało/dużo?, Jaka jest średnia wielkość zakupu towaru? - są z punktu widzenia realizacji kolejnych transakcji nieistotne. Całość funkcjonuje zgodnie ze schematem z rysunku.

0x01 graphic

Zegar

Wpłata klienta A

Wpłata klienta B

Stan konta A

Stan konta B

1

Odczyt stanu konta = 100

-

100

-

2

Odczyt stanu konta = 100

100

100

3

Wpłata = 10

110

100

4

Wpłata = 20

110

120

5

Zapis stanu konta = 110

110

120

6

Zapis stanu konta = 120

-

120

Zegar

Zakup klienta A

Zakup klienta B

1

Odczyt stanu magazynu = 100

-

2

Klient się zastanawia

Odczyt stanu magazynu = 100

3

Klient zamawia 70 sztuk

Klient zamawia 50 sztuk

4

Zapis nowego stanu =30

Zapis nowego stanu =50

Przykre konsekwencje:

    1. Klienci mogą nie otrzymać towaru bo go zabraknie w magazynie

    2. Stan magazynowy jest fałszywy i następni klienci dalej wykonują zakupy

1

zdarzenie

BD

Sprawdzenie możliwości obsługi zdarzenia

Wykonanie działań

Odrzucenie żądania

BD w nowym stanie

0x01 graphic



Wyszukiwarka

Podobne podstrony:
transact sql, Analiza matematyczna, Analiza matematyczna, Analiza matematyczna cz2, BD wyklady, BD w
Przedmioty obieralne 2 st 2 sem gik - treści programowe, SEM II Analiza i integracja danych, GIK
Analiza matematyczna cz2, Matematyka
Analiza matematyczna I (lato) teoria, Wykłady - Studia matematyczno-informatyczne
Oznaczenie twardości ogólnej metodą werenianową, inżynieria ochrony środowiska kalisz, Analiza Chemi
Spektrofotometria - oznaczenie miedzi, inżynieria ochrony środowiska kalisz, Analiza Chemiczna Wody
Refraktometria, inżynieria ochrony środowiska kalisz, Analiza Chemiczna Wody i Ścieków
Pehametria, inżynieria ochrony środowiska kalisz, Analiza Chemiczna Wody i Ścieków
Metody analizy instrumentalnej, Studia, 2-stopień, magisterka, Ochrona Środowiska, Metody analizy in
ChZT-Mn, inżynieria ochrony środowiska kalisz, Analiza Chemiczna Wody i Ścieków
Polarymetria, inżynieria ochrony środowiska kalisz, Analiza Chemiczna Wody i Ścieków
Spektrofotometria - oznaczenie manganu, inżynieria ochrony środowiska kalisz, Analiza Chemiczna Wody
Konduktometria, inżynieria ochrony środowiska kalisz, Analiza Chemiczna Wody i Ścieków
Oznaczenie kwasowości, inżynieria ochrony środowiska kalisz, Analiza Chemiczna Wody i Ścieków
EKONOMIKA I FINANSOWANIE W OCHRONIE ZDROWIA cz7, Analiza wskaźnikowa word, Analiza wskaźnikowa
Siarczany, inżynieria ochrony środowiska kalisz, Analiza Chemiczna Wody i Ścieków
analiza zbiorcza teorii pielęgnierstwa, wyklady pielegniarstwo, licencjat, pielęgniarstwo
Analiza regresji ostatnie notaki z wykladu
Analiza i pomiar systemów logistycznych wykład 1( 24.02.2008)(1), Logistyka, Logistyka

więcej podobnych podstron