You are on page 1of 52

Bazy danych

Wykłady i laboratoria – dr German Budnik


german.budnik@gmail.com
Strona kursu: https://bit.ly/2SQZA3d
Wprowadzenie do
problematyki baz danych
Opracowanie: dr German Budnik
Plan wykładu
 podstawowa terminologia
 charakterystyka baz danych
 wymagania, stawiane bazom danych
 cechy technologii baz danych
 funkcjonalność systemu zarządzania bazą danych
 wprowadzenie do modeli danych
 architektura systemu bazy danych
 użytkownicy baz danych
Terminologia
 Zbiór danych opisujący pewien wybrany
fragment rzeczywistości będziemy nazywać
bazą danych.
Przykładowo, bazą danych może być zbiór
danych banku na temat klientów, ich rachunków,
operacji na rachunkach, udzielanych kredytach.
 Dane w bazie danych posiadają 2
podstawowe cechy:
1. Reprezentują rzeczywistość w sposób z
nią zgodny;
2. Są zorganizowane w specyficzny sposób,
Baza danych zgodnie z tzw. modelem danych.
Terminologia
 Struktura danych i powiązania
między nimi są opisane przez tzw.
schemat bazy danych.

Schemat

Baza danych
Terminologia
 Baza danych jest zarządzana przez
tzw. system zarządzania bazą
danych, w skrócie SZBD.
System duomenų bazių valdymo sistema,
zarządzania database management system.
bazą danych

Schemat

Baza danych
Terminologia
 SZBD i bazę danych będziemy dalej
nazywać systemem bazy danych.

System
zarządzania
bazą danych

Schemat

Baza danych

System bazy danych


Terminologia
 Z systemem bazy danych
Apl. Apl.
współpracują programy
użytkowników, zwane aplikacjami.
System  Zadaniem tych programów jest
zarządzania
bazą danych
przetwarzanie danych, np.
◦ wstawianie nowych danych,
◦ modyfikowanie danych już istniejących,
◦ usuwanie danych nieaktualnych,
Schemat ◦ wyszukiwanie danych.
Baza danych

System bazy danych


Terminologia
 Wszystkie omówione komponenty
Apl. Apl.
System - BD, SZBD i aplikacje,
informatyczny
wchodzą w skład tzw.
System systemu informatycznego.
zarządzania Informacijos sistema
bazą danych
Information system

Schemat

Baza danych

System bazy danych


Charakterystyka baz danych
Do głównych cech charakteryzujących bazę danych
zalicza się
1. Trwałość danych
2. Rozmiar wolumenu danych
3. Złożoność danych
Charakterystyka baz danych
Trwałość danych | Ilgaamžiškumas | Durability
 Okres przechowywania danych jest ograniczony

wyłącznie okresem żywotności nośnika danych;


 "Czas życia" danych, po ich zapisaniu do BD jest

niezależny od
◦ istnienia i działania bądź niedziałania aplikacji;
◦ platformy sprzętowo-programowej.
Charakterystyka baz danych
Rozmiar wolumenu danych | Duomenų tomai |
Data volumes
 Dane nie mieszczą się w pamięci operacyjnej, – więc

wymagana pamięć zewnętrza;


 Danych jest zbyt dużo dla ich liniowego przeglądania;
 W konsekwencji jest wykorzystano innych

zaawansowanych mechanizmów efektywnego dostępu


do danych.

vs
Charakterystyka baz danych
Złożoność danych | Sudėtingumas | Complexity
Dane gromadzone w bazie danych często są złożone ze
względu na:
 złożoność ich struktur i zależności pomiędzy danymi

np. projekt samochodu, złożony z tysięcy elementów,


 złożoność semantyczną danych
np. fakt przyznania kredytu mieszkaniowego jest uzależniony
od spełnienia wielu wymagań.
 ograniczenia integralnościowe
gwarantujące, że w bazie danych pojawią się wyłącznie dane,
spełniające te ograniczenia.
Wymagania
Bazie danych stawia się 6 podstawowych wymagań
 Spójność bazy danych
 Efektywne przetwarzanie danych
 Poprawne modelowanie świata rzeczywistego
 Autoryzacja dostępu do danych
 Współbieżność dostępu do danych
 Metadane
Wymagania
Spójność bazy danych | integruotumas| integrity |
целостность 

 jest definiowana jako poprawność danych z punktu


widzenia pewnych przyjętych kryteriów:
◦ wierna reprezentacja danych rzeczywistych,
◦ spełnienie ograniczeń nałożonych przez użytkowników,
◦ odporność na
 anomalie będące wynikiem współbieżności dostępu do baz danych,
 błędy, awarie i inne anormalne sytuacje, wynikające z zawodności
środowiska sprzętowo-programowego,
 błędy użytkowników.
Wymagania
Spójność bazy danych
 jest definiowana jako poprawność danych z punktu

widzenia pewnych przyjętych kryteriów, np.


◦ wierna reprezentacja danych rzeczywistych
Baza danych
Filii UwB
Inni
studenci
Absolwenc Studenci Filii
i Filii UwB UwB
Baza nie
zawiera danych Ekonomi Inform
studentów sci atycy

nieistniejących
EKO1 EKO2
Wymagania
Spójność bazy danych
 jest definiowana jako poprawność danych z punktu

widzenia pewnych przyjętych kryteriów, np.


◦ spełnienie ograniczeń nałożonych przez użytkowników

vs 1, 2, …, 8, 9, 10
Wymagania
Spójność bazy danych
 jest definiowana jako poprawność danych z punktu

widzenia pewnych przyjętych kryteriów:


◦ odporność na anomalie będące wynikiem współbieżności
dostępu do baz danych

Baza danych musi być


odporna na takie Zmienić
sytuacje niepoprawne na 0

Zmienić
na A

Zmienić
na B
Wymagania
Efektywne przetwarzanie danych
 Efektywne metody dostępu do danych

(z wykorzystaniem specjalizowanych struktur)


 Optymalizacja metod dostępu do danych
 Niezależność aplikacji od fizycznych metod dostępu

fizyczna organizacja
danych na nośniku,
metod dostępu do danych.
Wymagania
Poprawne modelowanie świata rzeczywistego
 Wspomaganie procesu projektowania i utrzymania

bazy danych
 Różne poziomy modelowania danych
 Transformacje między modelami danych
Wymagania
Poprawne modelowanie świata rzeczywistego
 Wspomaganie procesu projektowania i utrzymania

bazy danych
Wymagania
Poprawne modelowanie świata rzeczywistego
 Różne poziomy modelowania danych
 Transformacje między modelami danych
Wymagania
Autoryzacja dostępu do danych
 użytkownicy z hasłami dostępu
 użytkownicy i ich uprawnienia
Wymagania
Współbieżność dostępu do danych
 równoczesny dostęp do tych samych danych przez

wielu użytkowników
 konflikt odczyt-zapis, zapis-zapis

modyfikuje

próbuje
odczytać
Wymagania
Metadane
 dane o danych,

strukturach
dostępu,
użytkownikach i
ich prawach
Technologia baz danych
Pliki  Połowienie binarne,
 uporządkowane,  haszowanie
 haszowe, ◦ statyczne i
 zgrupowane
◦ dynamiczne
 algorytmy
Indeksy ◦ połączenia,
 drzewiaste i
◦ sortowania i
 bitmapowe ◦ grupowania
Fizyczna niezależność danych
 Składniowa i kosztowa
metody optymalizacji

Fizyczne struktury danych i metody dostępu


Technologia baz danych
Fizyczne struktury
danych
Pliki uporządkowane
Metody dostępu
Metoda połowienia
binarnego
Technologia baz danych
Fizyczna niezależność danych ma do czynienie
Apl. Apl. z ukrywaniem szczegółów struktury danych
od aplikacji użytkownika.
Technologia baz danych
 Dostęp do bazy danych za pomocą transakcji o własnościach
◦ atomowości, spójności, izolacji i trwałości
 Metody synchronizacji transakcji
◦ 2PL, znaczniki czasowe, wielowersyjność danych
 Metody odtwarzania spójności bazy danych
◦ plik logu, odtwarzanie i wycofywanie operacji, Write Ahead Log,
punkty kontrolne
 Archiwizacja bazy danych i odtwarzanie po awarii

Przetwarzanie transakcyjne (spójność baz danych)


Technologia baz danych
 Modele pojęciowe | Koncepciniai modeliai | Conceptual m.
◦ model związków-encji ER, UML
 Modele logiczne
◦ relacyjny, obiektowy,
◦ obiektowo-relacyjny,
◦ semistrukturalny,
◦ hierarchiczny, sieciowy

Modele danych
Technologia baz danych
 Języki budowy aplikacji Języki budowy aplikacji
 Narzędzia modelowania
i projektowania
 Metodyki projektowania

Metodyki projektowania

Narzędzia programistyczne
System Zarządzania Bazą Danych (SZBD)
 SZBD - moduł programowy, którego zadaniem jest
◦ zarządzanie całą bazą danych oraz
◦ realizowanie żądań aplikacji użytkowników
 Funkcjonalność SZBD obejmuje:
◦ Język bazy danych - tworzenie, definiowanie, wyszukiwanie i pielęgnacja
danych w BD
◦ Struktury danych - efektywne składowanie i przetwarzanie dużych
wolumenów danych
◦ Optymalizacja dostępu do danych
◦ Współbieżny dostęp do danych
◦ Zapewnienie bezpieczeństwa danych w przypadku awarii
◦ Autoryzacja dostępu do danych
◦ Wielość interfejsów dostępu do bazy danych
Model danych
 Obiekty ze świata rzeczywistego są reprezentowane w
bazie danych za pomocą tzw. modelu danych
 Obecnie w bazach danych najczęściej stosuje się model

◦ relacyjny,
◦ obiektowo-relacyjny lub
◦ semistrukturalny.
Model danych

Obiekty świata rzeczywistego Obiekty modelu danych


Model danych
Każdy model danych definiuje 3 podstawowe elementy:
 struktury danych,
 operacje na danych i
 ograniczenia intergralnościowe, nakładane na dane.
Model danych
Struktury danych
Służy do reprezentowania w bazie danych
obiektów ze świata rzeczywistego.

Grupa pracowników firmy może być reprezentowana


 jako klasa  jako relacja (tabela)
Poszczególni pracownicy są reprezentowani
 wystąpienia| klasės  krotki relacji | kortežas
klasy | egzempliorius

w modelu obiektowym w modelu relacyjnym


Model danych
 Operacje (operatory modelu danych)
◦ selekcja,
◦ projekcja,
◦ połączenie i
◦ operacje na zbiorach
Model danych
 Ograniczenia integralnościowe
Przykładowa baza danych
Pracownicy

Etaty Zespoły
Przykładowa baza danych
W przykładzie strukturami danych modelu są …?
Przykładowa baza danych
W przykładzie strukturami danych modelu są …
trzy relacje: Pracownicy, Zespoły, Etaty.
Architektura systemu bazy danych
 3-warstwowa architektura wg standardu ANSI/SPARC
użytkownicy

schemat
zewnętrzny

schemat
implementacyjny

schemat
wewnętrzny
Architektura systemu bazy danych
 3-warstwowa architektura wg standardu ANSI/SPARC
użytkownicy

schemat
zewnętrzny

schemat
implementacyjny

schemat opisuje fizyczny sposób składowania danych


wewnętrzny na nośnikach.
Architektura systemu bazy danych
 3-warstwowa architektura wg standardu ANSI/SPARC
użytkownicy

schemat
zewnętrzny

schemat odwzorowuje schemat wewnętrzny w struktury


implementacyjny modelu danych, wykorzystywanego w bazie
danych.

schemat opisuje fizyczny sposób składowania danych


wewnętrzny na nośnikach.
Architektura systemu bazy danych
 3-warstwowa architektura wg standardu ANSI/SPARC
użytkownicy

- stanowi interfejs użytkownika do bazy danych.


schemat - odwzorowuje schemat implementacyjny w schemat
zewnętrzny poprzez, który użytkownik widzi BD i pracuje z nią.

schemat odwzorowuje schemat wewnętrzny w struktury


implementacyjny modelu danych, wykorzystywanego w bazie
danych.

schemat opisuje fizyczny sposób składowania danych


wewnętrzny na nośnikach.
Użytkownicy SBD
 Użytkownicy końcowi  Administratorzy serwerów,
 Programiści aplikacji sieci komputerowych
 Projektanci baz danych
 Projektanci i programiści
 Analitycy systemowi SZBD
 Projektanci narzędzi
 Administratorzy systemów
deweloperskich
baz danych

Aktorzy na scenie Aktorzy poza sceną


Interakcja z bazą danych
Język SQL
 jedyny sposób interakcji z bazą danych
 język deklaratywny
 ustandaryzowany

select nazwisko, etat, płaca


from pracownicy
where idzesp=30
and etat='kierownik'
Interakcja z bazą danych
Aplikacje
 formularze

◦ elektroniczne formularze z polami, listami, elementami


wyboru
◦ umożliwiają wstawianie, modyfikowanie, usuwanie,
wyszukiwanie danych
 raporty
◦ umożliwiają prezentowanie zawartości bazy danych
 teksty
 wykresy
 grafika
Formularz - przykład
Raport - przykład
Technologie implementacyjne aplikacji
 Języki 3GL
◦ np. C, C++, Visual Basic, Visual C++
◦ biblioteki umożliwiające zagnieżdżanie poleceń SQL w kodzie
 Języki 4GL
◦ np. SAS 4GL, Oracle Forms
◦ umożliwiają bezpośrednie umieszczanie poleceń SQL w kodzie
aplikacji i bezpośrednią obsługę wyników poleceń SQL
 Java, PHP, Perl
◦ stosowane w aplikacjach web'owych pracujących w
architekturze 3-warstwowej
Literatura
 Robert Wrembel. Wprowadzenie do problematyki baz
danych. Uczelnia online
 http://images.google.pl/
 http://msdn.microsoft.com/pl-pl/library/baza-danych-s
ql-server--indeksy--kiedy-i-jak-je-stosowac.aspx

You might also like