1
Bazy danych - zasady zaliczenia
Wykład - 1 godzina; Laboratorium - 1 godzina (2 godziny)
Osoby prowadzące
Wykład
dr inż. Jarosław Konieczny, p.368
Forma zaliczenia
Ocena ważona na podstawie ocen cząstkowych z:
- wykładu - sprawdzian pisemny lub test wyboru
- laboratorium - sprawdzian
2
Bazy danych - program wykładu
Program wykładu
• Znaczenie baz danych, modele baz danych, system
zarządzania bazami danych
• Modelowanie baz danych
• Związki encji, modelowanie więzów
• Relacyjne bazy danych
• Projektowanie relacyjnych schematów baz danych
• Podstawy języka SQL
3
Bazy danych - program laboratorium
Program laboratorium
• Podstawy systemu i środowiska Access 2000
• Tworzenie i modyfikacja tabeli, indeksowanie i sortowanie
• Tworzenie kwerend, sortowanie i filtrowanie, tworzenie relacji
między tabelami
• Tworzenie i modyfikacja formularza
• Tworzenie i modyfikacja raportu; etykiety adresowe, wykresy
• Współpraca Accessa z innymi programami pakietu Office
2000
• Integracja Accessa z Internetem, hiperłącza
4
Bazy danych – literatura do wykładu
Literatura
J.D. Ullman, J. Widom, Podstawowy wykład z systemów
baz danych, WNT, Warszawa 2000
T. Pankowski, Podstawy baz danych, WNT, Warszawa
5
Bazy danych – literatura do laboratorium
Literatura
• P. Cassel, P.Palmer, Acces 2000 PL dla każdego, Helion,
Gliwice 2000
• D.S. Ray, E.S.Ray, Po prostu Access 2000 PL, Helion,
Gliwice 2000
• S. Forte, Access 2000. Księga eksperta, Helion, Gliwice
2000
6
Bazy danych - definicja
Baza danych
(ang. database), rodzaj komputerowego
zbioru kartotek, magazyn danych o określonej budowie.
Baza danych jest modelowym ujęciem fragmentu
rzeczywistości będącego przedmiotem zainteresowania
osób, instytucji, organizacji, firm, zakładów itp.,
reprezentującym fakty dotyczące tej rzeczywistości w
formie umożliwiającej ich przetwarzanie w komputerze.
“Słownik Encyklopedyczny - Informatyka” Wydawnictwo Europa, 1999.
7
Bazy danych - definicja
Baza danych
Istniejący przez długi czas zbiór danych
Zbiór informacji na dany temat zorganizowanych w sposób
umożliwiający: dodawanie, edycję, przeglądanie
Zbiór danych zorganizowanych przez system zarządzania
bazą danych (DBMS - database managment system)
8
Bazy danych - definicja
Baza danych -
abstrakcyjny, informatyczny model wybranego
fragmentu rzeczywistości
„Fragment rzeczywistości” może być rozumiany jako:
• rzeczywistość fizyczna
• rzeczywistość konceptualna
9
Bazy danych -
Wymagania stawiane systemom baz danych
• możliwość utworzenia i określenie schematu bazy danych
• możliwość tworzenia zapytań o dane oraz aktualizowania
danych
• zapewnienie bezpiecznego przechowywania dużej liczby
danych
• sterowanie jednoczesnym dostępem do danych przez wielu
użytkowników
• szybki dostęp do informacji
10
Bazy danych - przykłady zastosowania
Systemy rezerwacji miejsc lotniczych
• rezerwacja
• informacje dotyczące rejsu
• dane o dostępności biletu i cenie
Systemy bankowe
Przedsiębiorstwa
11
Bazy danych – system DBMS
Dane
Metadane
Moduł
zarządzania
pamięcią
Procesor
zapytań
Moduł
zarządzania
transakcjami
Modyfikacje
schematu
Zapytania
Aktualizacje
Moduł zarządzania
pamięcią wybiera
właściwe dane z
pamięci i dostosowuje je
(w razie potrzeby) do
wymagań modułów z
wyższych poziomów
systemu. Składa się z
dwóch części:
• modułu zarządzania
buforami
• modułu zarządzania
plikami
Procesor zapytań –
przekształca zapytanie
w ciąg poleceń
skierowanych do
systemu zarządzania
pamięcią pozwalających
na otrzymanie właściwej
odpowiedzi w możliwie
krótkim czasie
Moduł zarządzania
transakcjami
• zabezpiecza przed
wystąpieniem konfliktu w
przypadku jednocześnie
przetwarzanych zapytań
• zabezpiecza przed
utratą danych w
przypadku awarii systemu
Zapytania o dane:
• interfejs zapytań
bezpośrednich
• interfejsy programów
użytkowych
Aktualizacje – operacje
zmiany danych
wprowadzane do
systemu podobnie jak
zapytania
Modyfikacje schematu –
zmiana schematu bazy
danych lub tworzenie nowej
bazy danych (modyfikacja
jest przeprowadzana
wyłącznie przez
administratora bazy
danych)
12
Bazy danych – system DBMS
Właściwości modułu zarządzania transakcjami
• niepodzielność - zostaje przeprowadzona cała operacja albo
żaden z jej elementów nie zostaje uwzględniony
• spójność - po zakończeniu przetwarzania transakcji baza
danych nie zawiera sprzeczności
• izolacja - jednocześnie przeprowadzone transakcje nie mogą
na siebie wzajemnie wpływać
• trwałość - wynik transakcji nie może zostać utracony w
wyniku awarii systemu
13
Bazy danych – system DBMS
Mechanizmy modułu zarządzania transakcjami
• blokady - zablokowanie elementu (zbioru elementów)
bazy danych dla innych transakcji
• logi - przechowywana w pamięci stałej dokumentacja
przeprowadzonej transakcji
• zatwierdzanie transakcji - auktualizacja w bazie danych
przeprowadzona na podstawie logu
14
Bazy danych – system DBMS
Architektura klient/serwer
SERWER - przechowuje dane i
zachowuje ich pełną spójność.
Wyszukuje dane z bazy na
podstawie zapytań poszczególnych
komputerów (klientów)
KLIENT - generuje zapytania w celu
uzyskania informacji lub przesyła
dane w celu ich zapamiętania
15
Bazy danych – system DBMS
Architektura trójwarstwowa oparta o sieć WWW
Komputer podłączony do sieci i
wyposażony w przeglądarkę WWW
Serwer aplikacji
–
komputer centralny
realizujący część
przetwarzania
danych
Serwer danych z
systemem DBMS
16
Bazy danych – system DBMS
Architektura klient/serwer
Zalety:
• elastyczność systemu –
- możliwość pracy z różnymi środowiskami graficznymi;
- rozbudowa systemu nie wymaga zmiany interfejsu
użytkownika;
- możliwość określenia dostępu do danych w zależności
od potrzeb użytkownika
17
Bazy danych – system DBMS
Architektura klient/serwer
Wady:
• Wysoki stopień komplikacji systemu:
- konieczność zapewnienia mechanizmów kontroli,
spójności i wielodostępu;
- zapewnienie właściwej komunikacji aplikacji klientów z
serwerem;
- zapewnienie odpowiednich połączeń sieciowych.
SZCZEGÓLNIE W PRZYPADKU
ROZBUDOWANYCH APLIKACJI
KLIENTÓW I KILKU SERWERÓW DANYCH
18
Bazy danych – system DBMS
„Rozwarstwienie” środowiska klient/serwer
Warstwy:
• informacje (struktura bazy danych)
• reguły zarządzania informacją
• prezentacja danych (wprowadzanie i wyświetlanie
danych)
19
Bazy danych – modele baz danych
Modele baz danych
• hierarchiczny
• sieciowy
• relacyjny
• obiektowy
20
Bazy danych – modele baz danych
Modele baz danych
• hierarchiczny
POŚREDNICY
MUZYCY
KLIENCI
UMOWY
ROZLICZENIA
TERMINARZ
21
Bazy danych – modele baz danych
Modele baz danych
• hierarchiczny
• sieciowy
• relacyjny
• obiektowy
22
Bazy danych – modele baz danych
Modele baz danych
• sieciowy
POŚREDNICY
MUZYCY
KLIENCI
UMOWY
ROZLICZENIA
STYLE
MUZYCZNE
REPREZENTUJE
KIERUJE
UISZCZA
ZAWIERA
WYPEŁNIA
GRA
23
Bazy danych – modele baz danych
Modele baz danych
• hierarchiczny
• sieciowy
• relacyjny
• obiektowy
Bazy danych – modele baz danych
Modele baz danych -
model relacyjny
24
krotka
(wiersz)
atrybut
(kolumna)
pole
25
Bazy danych – modele baz danych
Modele baz danych
• hierarchiczny
• sieciowy
• relacyjny
• obiektowy
26
Bazy danych – modele baz danych
Modele baz danych –
model
obiektowy
Podstawowe pojęcia obiektowego modelu danych
• obiekt
• klasa
• identyfikator obiektu
• atrybut
• metoda
• hermetyzacja
27
Bazy danych – modele baz danych
Modele baz danych –
model
obiektowy
Podstawowe pojęcia obiektowego modelu danych
• obiekt
• klasa
• identyfikator obiektu
• atrybut
• metoda
• hermetyzacja
konkretny lub abstrakcyjny byt
(wyróżnialny w modelowanej
rzeczywistości) posiadający nazwę,
jednoznaczną identyfikację,
określone granice, atrybuty i inne
własności ;
rodzaj struktur danych
przetwarzanych przez obiektowe
języki programowania i
przechowywanych w bazie danych.
28
Bazy danych – modele baz danych
Modele baz danych –
model
obiektowy
Podstawowe pojęcia obiektowego modelu danych
• obiekt
• klasa
• identyfikator obiektu
• atrybut
• metoda
• hermetyzacja
Klasa stanowi wzorzec dla
tworzonego obiektu. Jest miejscem
przechowywania (specyfikacji i
definicji) takich cech grupy
podobnych obiektów, które są dla
nich niezmienne: atrybutów, metod,
ograniczeń dostępu, dozwolonych
operacji na obiektach, wyjątków, itp.
29
Bazy danych – modele baz danych
Modele baz danych –
model
obiektowy
Podstawowe pojęcia obiektowego modelu danych
• obiekt
• klasa
• identyfikator obiektu
• atrybut
• metoda
• hermetyzacja
umożliwia jednoznaczne odwołanie
do obiektu (jest niepowtarzalny w
systemie)
30
Bazy danych – modele baz danych
Modele baz danych –
model
obiektowy
Podstawowe pojęcia obiektowego modelu danych
• obiekt
• klasa
• identyfikator obiektu
• atrybut
• metoda
• hermetyzacja
Część definicji klasy. Wartości
atrybutów opisują stan obiektu.
31
Bazy danych – modele baz danych
Modele baz danych –
model
obiektowy
Podstawowe pojęcia obiektowego modelu danych
• obiekt
• klasa
• identyfikator obiektu
• atrybut
• metoda
• hermetyzacja
Procedura, funkcja lub operacja
przypisana do klasy i dziedziczona
przez jej podklasy.
32
Bazy danych – modele baz danych
Modele baz danych –
model
obiektowy
Podstawowe pojęcia obiektowego modelu danych
• obiekt
• klasa
• identyfikator obiektu
• atrybut
• metoda
• hermetyzacja
Związek pomiędzy klasami
obiektów, modelujący stosunek
całości do jej części (np. stosunek
samolotu do śmigła).
33
Bazy danych – modele baz danych
Modele baz danych –
model
obiektowy
Identyfikator
Waga
Układ napędzający
Producent
POJAZD
Nazwa
Lokalizacja
Prezes
FIRMA
Pesel
Nazwisko
Wiek
PRACOWNIK
FIRMA
CIĘŻARÓWEK
FIRMA
SAMOCHODOWA
JAPOŃSKA FIRMA
SAMOCHODOWA
SAMOCHÓD
CIĘŻARÓWKA
SAMOCHÓD KRAJOWY
POWIĄZANIE ATRYBUT-DZIEDZINA
POWIĄZANIE KLASA-PODKLASA