Wykład 2 Wojciech Pieprzyca

Slides:



Advertisements
Podobne prezentacje
Procedura instalacji systemu Linux
Advertisements

Indeksy w bazie danych Oracle
Procedury wyzwalane Procedura wyzwalana (ang. trigger) - stanowi kod użytkownika przechowywany wewnątrz bazy i uruchamiany w określonych sytuacjach np.
SQL INJECTION Wykorzystanie błędów w językach skryptowych
Zabezpieczenia w programie MS Access
PROGRAMOWANIE STRUKTURALNE
BEZPIECZEŃSTWO DANYCH W KOMPUTERZE
Sieci komputerowe.
Komponenty bazy danych Baza danych Jest to uporządkowany zbiór powiązanych ze sobą danych charakterystycznych dla pewnej klasy obiektów lub zdarzeń,
25/08/ Bazy danych II Piotr Górczyński MS Access – Action Query.
27/09/ Języki programowania 1 Piotr Górczyński Obsługa błędów.
Zapis danych.
ELEMENTY SKŁADOWE JEDNOSTKI CENTRALNEJ
ODE Triggery. Wstęp n Triggery są trójką zdarzenie-warunek-akcja (event-condition- action). n Zdarzenia mogą być proste lub złożone, co zostanie omówione.
Bezpieczeństwo Procedury składowane Funkcje i Wyzwalacze
ZSBD PL/SQL CZĘŚĆ 3 Wykład 5 Prowadzący: dr Paweł Drozda.
Systemy operacyjne Bibliografia:
WYZWALACZE (TRIGGERY) Wyzwalacz jest specjalnym rodzajem procedury składowanej, która może być wykonana w odpowiedzi na jedną z trzech sytuacji: UPDATE.
Wykład 5 Wojciech Pieprzyca
Administracja zintegrowanych systemów zarządzania
Artur Szmigiel Paweł Zarębski Kl. III i
Bezpieczeństwo danych
Modele baz danych - spojrzenie na poziom fizyczny
Język SQL (Structured Query Language) DDL (Data Definition Language)
Bezpieczeństwo baz danych
Bazy Danych II prowadzący: mgr inż. Leszek Siwik
PROJEKTOWANIE TABEL W PROGRAMIE: ACCESS
SIEĆ P2P 1. Definicja sieci równouprawnionej. To taka sieć, która składa się z komputerów o takim samym priorytecie ważności, a każdy z nich może pełnić.
Magazyny pamięci.
Tworzenie nowych kont lokalnych i domenowych, oraz zarządzanie nimi
Linux - polecenia.
dr hab. Ryszard Walkowiak prof. nadzw.
Użytkowanie komputerów
Użytkownicy i przywileje Sesja - przykład Błędy Komunikacja międzyskryptowa Wykład 83PD Technologie internetowe.
Autor: Justyna Radomska
Przystawka Zarządzanie dyskami
Informatyka Relacyjne bazy danych.
SQL - Structured Query Language
Maszyna wirtualna ang. virtual machine, VM.
Pamięć komputerowa S t r u k t u r a p a m i ę c i.
Nośniki informacji i akcesoria komputerowe
Wybrane zagadnienia relacyjnych baz danych
Komendy SQL do pracy z tabelami i bazami
MICROSOFT Access TWORZENIE MAKR
Etapy uruchamiania systemu Pliki konfiguracyjne
PL/SQL – dalsza wędrówka
Temat 3: Integralność danych. Integralność danych, określana również mianem spójności danych, jest to funkcja SZBD, która gwarantuje, że dane nie zostaną.
Archiwizacja bazy danych
Nośniki pamięci zewnętrznej
Budowa wewnętrzna KOMPUTERA
System plików.
System Zarządzania Bazą Danych
Autor: Damian Urbańczyk
Uprawnienia w Windows Server
Komendy SQL do pracy z danymi
Eksploatacja zasobów informatycznych przedsiębiorstwa.
Bazy danych Podstawy relacyjnych baz danych Autor: Damian Urbańczyk.
Wykład 3 Prowadzący: dr Paweł Drozda. Użytkownik bazy danych – osoba lub aplikacja, mająca dostęp do części danych zgromadzonych w bazie Uprawnienia –
BUDOWA WEWNĘTRZNA KOMPUTERA
Temat: Jak działa antywirus? _________________________________________________________________________________________________________________ [ Przedmiot:
SYSTEM PLIKÓW Źródło: Systemy operacyjne i sieci komputerowe - HELION.
ASP.NET Dostęp do bazy danych z poziomu kodu Elżbieta Mrówka-Matejewska.
Bezpieczeństwo informacji Jak chronić nasze zasoby w komputerze? Jak zarchiwizować i skompresować pliki?
Metody posługiwania się środkami i narzędziami TI.
Temat: Tworzenie bazy danych
Projekt „NEW-TECH Program rozwoju praktycznych kompetencji nauczycieli zawodów branż nowych technologii” jest współfinansowany przez Unię Europejską Projekt.
PROGRAMY DO KONTROLI RODZICIELSKIEJ
PROGRAMY DO KONTROLI RODZICIELSKIEJ
Technologie Informacyjne Bazy danych
Modele baz danych - spojrzenie na poziom fizyczny
Zapis prezentacji:

Wykład 2 Wojciech Pieprzyca Systemy Baz Danych Wykład 2 Wojciech Pieprzyca

Wyzwalacze Wyzwalacz jest uruchamiany automatycznie w momencie zachodzenia określonych typów zdarzeń związanych z tabelą. Zdarzenia te mogą dotyczyć całej tabeli lub jej wiersza. Na przykład można zdefiniować wyzwalacz, który jest wywoływany po aktualizacji wiersza. W szczególności wyzwalacze są podstawowym środkiem do utrzymywania spójności bazy danych. Na przykład można je zdefiniować tak, aby były uruchamiane przed wprowadzaniem nowego wiersza do bazy danych. Można wówczas przy pomocy wyzwalacza określić, czy wiersz jest kompletny i wewnętrznie spójny, a jeśli nie, uniemożliwić operację.

Wyzwalacze Można także zdefiniować wyzwalacz wykonujący się wtedy, kiedy użytkownik próbuje usunąć wiersz z bazy danych, a tabela, z której wiersz jest usuwany jest nadrzędna w relacji "jeden do wielu” . Wyzwalacz mógłby określać, czy istnieją powiązane wiersze w tabelach podrzędnych i usuwać je automatycznie. Wyzwalacze są często wykorzystywane do generowania wartości klucza podstawowego przy wstawianiu nowego wiersza. Można wówczas wywołać wewnątrz wyzwalacza funkcję GEN_ID() w celu utworzenia unikalnego identyfikatora przed wstawieniem nowego rekordu do tabeli.

Wyzwalacze Wyzwalacze są tworzone za pomocą wyrażenia CREATE TRIGGER języka SQL. Wyrażenie to ma następującą składnię: Jak można zauważyć, wyzwalacz związany jest z konkretną tabelą i nie posiada żadnych parametrów. CREATE TRIGGER nazwa wyzwalacza FOR nazwa_tabeli BEFORE|AFTER [INSERT|UPDATE|DELETE] AS [deklaracje zmiennych lokalnych] BEGIN Cialo wyzwalacza END

Wyzwalacze Wyzwalacze są uruchamiane przez zdarzenia dotyczące tabel bazy danych. Są to następujące zdarzenia: BEFORE INSERT – przed wstawieniem nowego rekordu, BEFORE UPDATE – przed aktualizacją rekordu, BEFORE DELETE – przed usunięciem rekordu, AFTER INSERT – po wstawieniu nowego rekordu, AFTER UPDATE – po aktualizacji rekordu, AFTER DELETE – po usunięciu rekordu.

Generatory Jedną z typowych funkcji wyzwalacza jest generowanie unikalnego numeru id pełniącego funkcję klucza głównego tabeli. W tym celu, zanim zostanie utworzony wyzwalacz, należy zdefiniować odpowiedni GENERATOR. Generator pełni rolę pola automatycznie inkrementowanego o zadaną wartość. Tworzy się go poleceniem. Wartością początkową (domyślnie) jest 0, można ją zmienić poprzez polecenie: CREATE GENERATOR nazwa_generatora SET GENERATOR nazwa_generatora TO liczba

Generatory Usunięcie generatora może odbyć się jedynie poprzez skasowanie odpowiedniego rekordu z tabeli systemowej RDB$GENERATORS poleceniem: W InterBase wartość generatora jest zwiększana przy użyciu funkcji GEN_ID(). Posiada ona dwa parametry, pierwszy to nazwa generatora, a drugi to Liczba, o jaką ma zwiększyć się wartość generatora. Na kolejnym slajdzie znajduje się przykład tworzenia generatora oraz stosownego wyzwalacza, który przed utworzeniem nowego wiersza w tabeli TOWARY automatycznie generuje odpowiedni numer Id_Towaru. DELETE FROM RDB$GENERATORS WHERE RDB$GENERATOR_NAME = nazwa_generatora

Generatory CREATE GENERATOR Gen_Id_Towaru; //tworzenie generatora   SET TERM ^; CREATE TRIGGER Klucz FOR TOWARY ACTIVE BEFORE INSERT AS BEGIN NEW.Id_Towaru = GEN_ID(Gen_Id_Towaru,1); END SET TERM ;^ Klauzula NEW odwołuje się do nowej wartości pola po wykonaniu polecenia INSERT lub UPDATE. Istnieje również możliwość odwołania się do wartości pola przed zmian za pomocą klauzuli OLD.

Bezpieczeństwo Baz Danych Statystyki wskazują, że ponad 70% ataków na systemy komputerowe nie pochodzi z zewnątrz, a właśnie z wewnątrz sieci lokalnej i realizowane jest przez pracowników. Motywem tych ataków bywają zazwyczaj bardzo niskie pobudki, takie jak na przykład: sprzedanie konkurencji poufnych informacji, uszkodzenie systemu komputerowego firmy, zdobycie informacji o danych osobowych, kradzież (na drodze elektronicznej) pieniędzy.

Bezpieczeństwo Baz Danych Do podstawowych zagrożeń dla informacji zawartej w bazach danych należą: Awarie, Niespójne transakcje zapisu i modyfikacji danych, Kradzież sprzętu komputerowego razem z zapisaną informacją, Nieuprawniony dostęp do informacji, Kradzież informacji przez nielegalne skopiowanie zawartości bazy danych.

Bezpieczeństwo Baz Danych Awarie są na ogół wywołane przez zdarzenia losowe spowodowane różnego rodzaju uszkodzeniami. Podstawowe typy awarii to: awaria serwera sieciowego na skutek uszkodzenia lub braku zasilania, awaria stacji roboczej, awaria urządzeń sieciowych, awaria spowodowana sabotażem, awaria wywołana zdarzeniami losowymi (pożar, powódź, trzęsienie ziemi), awaria programowa - błędne działanie programu, lub tak zwane zawieszenie się programu lub sytemu operacyjnego.

Bezpieczeństwo Baz Danych Przez odpowiednie działania można ograniczyć prawdopodobieństwo wystąpienia awarii, na przykład przez zastosowanie macierzy dyskowych, czy zasilaczy podtrzymujących napięcie, jednak całkowicie możliwości wystąpienia awarii nie da się wyeliminować. Jeżeli tak, to należy minimalizować negatywne skutki wystąpienia awarii. W tym celu należy zabezpieczać informację poprzez systematyczne archiwowanie danych. Proces ten w dalszym ciągu będzie zwany składowaniem bazy danych (ang. backup). W zależności od wielkości bazy danych nośnikami kopii bezpieczeństwa mogą być: dyskietki typu zip, dyski MO, dodatkowe dyski HD zainstalowane na innym komputerze w innym miejscu, nagrywarki CD-RW lub DVD-RW, pamięci taśmowe typu dat.

Bezpieczeństwo Baz Danych Składowanie dużych baz danych powinno się odbywać automatycznie (programowo) według ustalonego harmonogramu. Do kolejnych składowań nie można używać ciągle tego samego nośnika, ponieważ w czasie składowania może wystąpić awaria i wtedy może nastąpić równoczesne uszkodzenie bazy danych, i jej kopii bezpieczeństwa. Przy odpowiednio dużej pojemności nośników można składować, całą zawartość dysków twardych razem z sieciowym systemem operacyjnym, programami i bazą danych. Aby wykluczyć możliwość równoczesnego uszkodzenia bazy danych przez wspomniane wyżej awarie i nośników z kopiami bezpieczeństwa, kopie te powinny znajdować się w bezpiecznym pomieszczeniu z dala od serwera.

Bezpieczeństwo Baz Danych Na skutek awarii w bazie danych mogą znajdować się niekompletne, czyli niespójne transakcje. Transakcje te należy w pierwszym rzędzie usunąć z bazy danych. Czynność tę można zrealizować prawidłowo, jeżeli prowadzony jest dziennik transakcji. Dziennik transakcji jest plikiem, w którym odnotowuje się wszystkie modyfikacje bazy danych. Do dziennika wpisuje się wszystkie operacje związane z transakcją. Jeżeli transakcja została zakończona pomyślnie to transakcję tę zapisuje się wtedy do bazy danych, w przeciwnym przypadku nie wykonuje się zapisów i informuje użytkownika o anulowaniu transakcji. W momencie awarii systemu porównuje się zapisy w dzienniku z bazą danych i wycofuje niedokończone zapisy z bazy danych. Jeżeli dziennik jest umieszczony na innym dysku niż baza danych oraz systematycznie są wykonywane kopie bezpieczeństwa, to można otworzyć bazę danych do stanu spójnego, nawet w przypadku zniszczenia dysku zawierającego bazę danych.

Uprawnienia Ważnym zagadnieniem jest prawidłowy przydział poszczególnym użytkownikom uprawnień do korzystania z danych. Dla każdej tabeli lub widoku można określić prawa dostępu do danych. Prawa te nadaje się za pomocą instrukcji GRANT. Nadane prawa można odebrać instrukcją REVOKE. Poniżej wymieniono wszystkie prawa dostępu stosowane we współczesnych bazach danych: INSERT - umożliwia wstawianie rekordów do tabel i widoków, UPDATE - pozwala na zmianę danych w tabeli lub widoku, DELETE - umożliwia usunięcie rekordu z tabeli albo widoku, SELECT - umożliwia pobieranie rekordów z tabel oraz widoków, EXECUTE – umożliwia uruchomienie procedury składowanej ALL - umożliwia wykonanie wszystkich operacji na danych.

Uprawnienia Prawie wszystkie współczesne bazy danych umożliwiają zdefiniowanie tak zwanej roli (ang. role), jest to odpowiednik grupy użytkowników w sieciowych systemach operacyjnych. Role bardzo ułatwiają i porządkują nadawanie uprawnień w bazach danych. Nadawanie uprawnień najlepiej zrealizować w następującej kolejności: opracowanie planu przydziału uprawnień, utworzenie ról, przypisanie uprawnień do ról, utworzenie użytkowników, przypisanie użytkownikom ról.