Notatki
Pokaz slajdów
Konspekt
1
Rozdział 1
Wprowadzenie do baz danych
2
Model danych
3
Funkcje systemu zarządzania bazą danych
  • Wymagania
    • spójność bazy danych po awarii
    • trwałość danych
    • wielodostęp
    • poufność danych
    • wydajność
    • rozproszenie danych
4
Architektura
systemu bazy danych
5
Definicja transakcji
  • Transakcja
    •   Jest sekwencją logicznie powiązanych operacji na bazie danych, która przeprowadza bazę danych z jednego stanu spójnego w inny stan spójny. Systemy bazy danych umożliwiają łączenie operacji w transakcje i gwarantują poprawne zarządzanie transakcjami.


    • Transakcja przelewu kwoty N z konta A na konto B:


          • BEGIN.
          • // Odejmij kwotę N z konta A;
          • UPDATE konta.
          • SET stan = stan - N.
          • WHERE id_konta = A;
          • // Dodaj do konta B kwotę N;
          • UPDATE konta.
          • SET stan = stan + N.
          • WHERE id_konta = B;
          • COMMIT;
          • END.

6
Spójność bazy danych
  • Definicja
    • Baza danych jest spójna jeżeli jej stan jest zgodny ze stanem reprezentowanego przez nią fragmentu świata rzeczywistego.
    • Baza danych jest spójna jeżeli są w niej spełnione wszystkie ograniczenia referencyjne i integralnościowe.

  • Zagrożenia spójności bazy danych
    • awarie sprzętu komputerowego i oprogramowania
    • utrata danych w wyniku uszkodzenia pamięci masowej
    • użytkownicy
    • współbieżny dostęp do danych

7
Spójność bazy danych. Własności transakcji
A(tomicity) C(onsistency) I(solation) D(urability)
  • Atomowość
    • zbiór operacji wchodzących w skład transakcji jest niepodzielny; albo zostaną wykonane wszystkie operacje transakcji, albo żadna.
  • Spójność
    • poprawne wykonanie transakcji przeprowadza bazę danych z jednego stanu spójnego do innego stanu spójnego.
  • Izolacja
    • transakcje są od siebie logicznie odseparowane. Mogą wzajemnie oddziaływać na siebie w taki sposób jak gdyby były wykonywane sekwencyjnie.
  • Trwałość
    • wyniki zatwierdzonych transakcji nie mogą zostać utracone, niezależnie od awarii systemu.

8
Relacyjny model danych
  • Historia


  • Podstawy teoretyczne:
    • E.Codd: „A Relational Model for Large Shared Data Banks”,  rok 1970
  • Projekty badawcze (lata siedemdziesiąte):
    • IBM System R, SEQUEL (1978)
    • Berkley Ingres
  • Produkty komercyjne (lata osiemdziesiąte):
    • Oracle (1979), Ingres (1979), DB2 (1982), Sybase, Informix, SQL Server
    • Paradox, dBase
    • Postgres, MySQL
  • Standard:
    • SQL:2003

9
Model relacyjny
10
Nazewnictwo
11
Podejście relacyjne
  • Własności relacji
    • W relacji nie ma żadnych powtarzających się krotek
    • W relacji nie ma atrybutów o powtarzających się nazwach
    • Kolejność krotek w relacji jest całkowicie nieokreślona
    • Wartościami atrybutów są dane atomowe
    • Krotki są identyfikowane tylko i wyłącznie na podstawie wartości atrybutów, lokalizacja krotki nie ma żadnego wpływu na tożsamość krotki
  • Własności bazy danych
    • Widziana jako zbiór relacji
    • Nazwy relacji nie mogą się powtarzać
    • Operatory: selekcja, projekcja, iloczyn kartezjański, połączenie, suma, przecięcie, różnica
    • Dane nie są powiązane za pomocą żadnych wskaźników, powiązania między danymi tylko przez porównywanie wartości atrybutów
    • Nieproceduralny język komunikowania się z bazą danych
    • Użytkownik nie określa sposobu dostępu do danych i nie zna ich fizycznej organizacji
12
Schemat ćwiczebny