Bazy Danych wyklady sem_III.doc

(209 KB) Pobierz
Bazy Danych

Wykład 1.

 

 

Prowadzący: Madejewski.

 

Zakres wykładów:

1.      Podstawowe pojęcia z dziedziny baz danych.

2.      Systemy IDEF0 i modelowanie obiegów danych.

3.      Architektura baz danych (model hierarchiczny, sieciowy i relacyjny).

4.      Projektowanie schematu relacyjnej bazy danych.

5.      Normalizacja.

6.      Podstawy języka SQL.

7.      Zabezpieczenia systemu baz danych.

 

Literatura:

-          Tadeusz Pankowski „ Podstawy baz danych” PWN 1992r.

-          J. Ullman ,,Systemy baz danych” WND 1988r.

 

Systemy działające na konkretach (na przykładzie firmy zajmującej się wynajmem):

Dział sprzedaży:

-          nieruchomość do wynajęcia

-          właściciel nieruchomości

-          osoba która chce wynająć (nazwisko, rodzaj nieruchomości jaka go interesuje)

Dział umów:

-          umowa między wynajmującym (właścicielem)

-          nieruchomość

-          wynajmujący (gdzie można go znaleźć)

 

Są to dwa rozdzielne zbiory danych.

 

Ograniczenie specjalizowanych aplikacji operujących na dedykowanych strukturach plików:

-          separacja i izolacja danych – każdy program (aplikacja) operuje na osobnym zestawie danych, dane te są zapisywane w formacie właściwym dla danej aplikacji (tym samym każda aplikacja może korzystać z danych zapisanych w innym formacie), użytkownicy jednej aplikacji nie mają dostępu do danych z których mogą korzystać inne aplikacje

-          powielanie danych – te same dane przechowywane w wielu miejscach jednocześnie, korzystają z nich różne aplikacje i te same dane mogą być zapisane w różnych formatach, np.: daty, liczby czy łańcuchy tekstowe

-          struktura danych jest zdefiniowana w aplikacji która z niej korzysta tym samym próba zmiany (rozszerzenia) formatu danych wymaga zmiany aplikacji

-          celem gromadzenia danych jest wyszukiwanie informacji drogą zapytań; zbiór zapytań w dedykowanych aplikacjach jest zbiorem zamkniętym tym samym próba analizy danych w sposób inny niż zdefiniowane danej aplikacji wymaga zmiany aplikacji

 

Bazy danych.

Podejście charakterystyczne dla baz danych.

Property – rzeczy do wynajęcia

Owner – właściciel

Renter – wynajmujący

Lease – dzierżawca

 

DBMS – rzeczy do wynajęcia + właściciel + wynajmujący + dzierżawca + struktura plików

 

W bazach danych jedną z charakterystycznych cech jest oddzielenie opisów struktury danych od konkretnej aplikacji tym samym opis struktury danych staje się informacją przechowywaną niezależnie od programu i informacja ta może być przechowywana wraz z danymi.

Systemy baz danych stanowią odpowiedz na konieczność kontroli dostępu do danych, ich zawartości wykraczającą poza kontrolę którą mogły zapewnić dedykowane aplikacje.

 

Def.: Baza danych jest zbiorem logicznie uporządkowanych danych oraz ich opisów. Stałym elementem baz danych jest katalog systemu w którym znajdują się opisy struktur danych. W poprawnie zaprojektowanym systemie baz danych możliwe jest modyfikowanie struktury danych bez naruszenia zawartości danych.

 

Def.: ENCJA – to każdy przedmiot, zjawiskom, stan lub pojęcie – każdy obiekt który potrafimy (chcemy) odróżnić od innych obiektów. Encją jest zatem każdy stół, samochód itp.. Encją jest niedźwiedź, jako element składowy życia na ziemi. Encja to każdy obiekt dający się zidentyfikować na podstawie swoich atrybutów.

 

Def.: ATRYBUT – cechy encji które dają się wyrażać przez przydanie im pewnych wartości – są to cechy encji wynikające z ich natury, dające się wyrazić liczbami bądź prostymi określeniami słownymi. Stół ma np.: liczbę nóg, samochód – marka i pojemność silnika.

 

Wywołanie atrybutów wymaga także określenia dziedziny wartości tych atrybutów, np.: w przypadku dat urodzenia studentów w systemie dziekanat należało by założyć jakiś minimalny wiek studenta powiedzmy 15 lat w celu uniknięcia błędów przy wprowadzaniu danych, lub należało by kontrolować długość nazwiska, itp..

W systemach baz danych takie zbiory ograniczeń mogą być przechowywane niezależnie od danych, nie muszą też stanowić części aplikacji operującej na danych.

 

W systemach baz danych występują dwa typy języków:

-          język DDL (język do definiowania struktury danych; język ten pozwala na określenie typu danych, ich struktury i dziedziny danych)

-          język DML (język do manipulowania na danych, język tworzenia zapytań)

 

Bazy danych zapewniają następujące usługi:

-          system zabezpieczeń – daje on dostęp do danych i informacji tylko określonym użytkownikom na określonym poziomie szczegółowości

-          kontrola integralności danych (ich kompletność i ich poprawność)

-          kontrola jednoczesnego dostępu do danych przez wielu użytkowników (w taką procedurę może być wbudowana hierarchia użytkowników, np.: niektórzy mogą wprowadzać nowe dane i usuwać stare, inni mogą je tylko przeglądać

-          odtwarzanie stanu systemu sprzed awarii

 

 

 

Mechanizmy perspektyw.

Użytkownik bazy danych ma zawsze dostęp do informacji zawartych w bazie. Informacje zaś są pozyskiwane drogą zapytań z danych zapisanych w bazie tym samym informacja taka jest np.: średnia ze studiów nie musi być nigdzie zapisana w bazie danych jako dana jest po prostu wyznaczana na podstawie istniejących wpisów w bazie danych. W ogólnym przypadku użytkownik może w ogóle nie operować na surowych danych znajdujących się w bazie danych.

Perspektywy to sposób udostępniania użytkownikowi informacji w postaci i zakresie określonym w czasie projektowania bazy danych. Perspektywy uwzględniają zakres uprawnień konkretnego użytkownika do korzystania z danych.    

Informacje dostępne w ramach danej perspektywy mogą być uzyskane  z danych zebranych i przetworzonych z wielu różnych plików bazy danych, które mogą być ponadto rozmieszczone w różnych systemach komputerowych.

 

Kontrola redundacji danych.

 

Redundacja to jest występowanie wielu zapisów tych samych danych. Kontrola redundacji w bazach danych zaczyna się już na etapie projektowania bazy danych. W przypadku relacyjnych baz danych proces który zapewnia uporządkowanie danych w poszczególnych zbiorach zwany jest normalizacją. Bazy danych zapewniają większą wydajność pracy programistów.

 

Role użytkowników systemów baz danych:

-          administrator bazy danych (projektuje on strukturę baz danych, przydziela uprawnienia poszczególnym użytkownikom, określa perspektywy użytkownika, oraz prowadzi systematyczne kopiowanie zawartości bazy danych dla umożliwienia odtworzenia stanu bazy danych sprzed awarii, w niektórych systemach można wyróżnić dwie funkcje: administrator danych, administrator bazy danych)

-          programiści aplikacji(budują oni procedury pozwalające na pozyskiwanie informacji z danych, a procedury te budowane są w języku DML)

-          ,, użytkownicy naiwni „ (są to wszyscy użytkownicy bazy danych którzy dostęp do danych i informacji uzyskują za pośrednictwem mechanizmu perspektyw)

 

Aplikacje dedykowane budowane do operowania na ściśle określonych strukturach danych mają również zalety do nich należy:

-          możliwość bardzo szybkiego dostępu do danych znacznie przekraczająca parametry bazy danych

 

Wady baz danych:

-          złożoność (korzystanie z bazy danych powoduje że każdorazowo taki system ma  dostęp do szeregu usług nawet takich które w danym zastosowaniu nie są potrzebne) 

-          rozmiar

-          dodatkowe koszty sprzętu (mogą one wynikać z podwyższonej złożoności oprogramowania bazy danych, konieczności zabezpieczenia fizycznego danych, np.: dodatkowe dyski)

 

 

-          koszt konwersji danych (mogą obejmować konieczność przetworzenia istniejących zapisów do nowego formatu, koszt zamiany struktury istniejących danych oraz kontroli integralności uzyskanych danych)

-          szybkość działania systemu baz danych z wyjątkiem wybranych funkcji tj. indeksowanie jest z reguły niższa niż systemów dedykacyjnych

 

 

Wykład 2.

 

 

Architektura ASCI-SPARC jako podstawa budowy systemu zarządzania danymi.

Cele architektury ASCI-SPARC:

-          wszyscy użytkownicy powinni mieć dostęp do tych samych danych

-          perspektywa konkretnego użytkownika nie powinna odzwierciedlać zmian wnoszonych do perspektyw innych użytkowników

-          użytkownik nie musi znać szczegółów technicznych zapisu danych w bazie

-          administrator bazy danych może zmieniać strukturę zapisu danych w systemie bez naruszania perspektyw poszczególnych użytkowników

-          wewnętrzna struktura bazy danych jest niezależna od sposobu jej zapisania w systemie komputerowym

-          administrator bazy danych może modyfikować strukturę pojęciową bazy danych bez odzwierciedlania tego w perspektywach użytkowników

Powyższy schemat składa się z trzech poziomów, a mianowicie z:

-          poziomu zewnętrznego – perspektywy użytkownika, użytkownicy ,,naiwni”

-          poziom pojęciowy – schemat logiczny

-          poziom wewnętrzny – zapisać w efektywny sposób dane zgodnie z modelem na którym będą działać założone wcześniej perspektywy

 

Języki czwartego poziomu (4GL):

-          wbudowane języki zapytań – standardowym językiem zapytań jest SQL – a w Accessie mamy dodatkowo QBE

-          wbudowane generatory formularzy

-          wbudowane generatory raportów

-          wbudowane generatory grafiki (wykresów)

-          wbudowane generatory aplikacji

 

Model danych jest to reprezentacja danych sporządzona w pewien usystematyzowany sposób. Modele danych dzielą się na:

-          obiektowe

-          oparte na strukturze rekordowej

 

Wśród    modeli opartych na zapisie rekordowym wyróżnia się:

-          modele hierarchiczne

-          modele sieciowe

-          modele relacyjne

 

Elementy składowe systemu zarządzania bazy danych.

Podstawowe elementy systemu zarządzania bazą danych:

-          procesor zapytań

-          program zarządzający bazą danych

-          program zarządzający plikami

-          program procesor języka DML

-          kompilator języka DDL

-          program zarządzający katalogiem systemu

 

Elementy programu zarządzającego bazą danych:

-          system kontroli dostępu

-          procesor zapytań

-          system kontroli poprawności poleceń

-          optymalizator zapytań

-          program zarządzający transakcjami

-          system do harmonogramowania zadań

-          system usprawniający odtwarzanie systemu z przed awarii

 

Architektura systemu zarządzania bazą danych z wielodostępem:

-          zdalne przetwarzanie – jest to rozwiązanie wychodzące z użycia charakteryzujące się tym że system zarządzania bazą danych, dane oraz oprogramowanie aplikacji realizujących poszczególne perspektywy wszystko to jest zapisane na centralnym komputerze dołączone są terminale za pośrednictwem których użytkownicy dostają dostęp do danych

-          architektura serwera plików – dane z których mogą korzystać użytkownicy za pośrednictwem swoich stacji roboczych. Baza danych zapisana jest na serwerze plików na poszczególnych stacjach roboczych zainstalowane są systemy zarządzana bazą danych jako odrębne kopie oraz programy realizujące poszczególne perspektywy. Wszystkie stacje robocze są połączone z serwerem plików za pośrednictwem sieci komputerowej

 

Wady (serwera plików):

-          znaczne natężenie ruchu w sieci

-          konieczne jest instalowanie kopii systemu zarządzania bazą danych na każdej stacji roboczej

-          takie rozwiązanie utrudnia współdzielenie danych, kontrole ich poprawności, odtwarzanie stanu systemu sprzed awarii

-          architektura klient – serwer (serwer aplikacji)

Zalety:

-          ułatwiony dostęp do istniejącej bazy danych

-          usprawniony dostęp do danych – lepsze wykorzystanie przepustowości sieci

-          możliwie oszczędności na sprzęcie komputerowym

-          ułatwione administrowanie bazą danych

 

Katalog systemowy (słownik) – jest to zbiór informacji opisujących dane zapisane w bazie (metodane). Jego typowa zawartość to spis uprawnionych użytkowników bazy danych dla nazwy encji (obiektów bazy danych), ograniczenia związane z każdym elementem występującym w bazie danych (np.: ograniczenie wartość atrybutów), określenie zakresów danych dostępnych dla konkretnego użytkownika i sposobu dostępu.

 

 

Wykład 3.

Ochrona informacji i polityka bezpieczeństwa

-          najczęściej 90% decyzji podejmuje 5% kadry

-          sprzątaczka (20%) ma dostęp do prawie takiej samej ilości informacji jak zarząd 35%

-          administrator systemu (75%) może wiedzieć jeśli zechce prawie tyle samo co kierownik działu  (85%)

-          kierownik działu (85%) nie zna wszystkich informacji w dziale

 

Konieczne jest w każdym przypadku opracowanie i przestrzeganie właściwych metod:

-          kontrolowania

-          klasyfikacji

-          opracowanie informacji

Miejsce przechowywania informacji (2 typy zagrożeń)

-          zagrożenia w obrębie przedsiębiorstwa            1) wewnętrzne

-          zagrożenia poza obrębem przedsiębiorstwa      2) zewnętrzne

1)     sprzęt komputerowy, bazy danych, dokumenty elektroniczne, dokumenty papierowe, umysły pracowników (zabezpieczenia sprzętu, zabezpieczenie e-mailów)

2)     bank, kurierzy, telekomunikacja  (kluczowe informacje zawsze trafiają do banku, bank żąda konkretnych informacji – mają one najwyższy stopień poufności)

 

Procedura tworzenia i optymalizacji systemu bezpieczeństwa.

Grupy informacji:

-          informacje stanowiące o istnieniu przedsiębiorstwa (dokumentacja wewnętrzna, dane personalne, opis zdarzeń gospodarczych itp.)

...

Zgłoś jeśli naruszono regulamin