Slide 1

advertisement
1
Wykład 1
Systemy Baz Danych
Na podstawie książki
Database Systems:
Design, Implementation, and Management,
Sixth Edition, Rob and Coronel
1
1
W trakcie tego wykładu, poznamy:
• różnicę pomiędzy danymi i informacją,
• definicję baz danych, ich różne typy
i dlaczego są one pomocne w procesie
podejmowania decyzji
• dlaczego proces projektowania baz danych
jest taki ważny
• jak współczesne bazy danych ewoluowały
z systemów plików
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
2
1
W trakcie tego wykładu, poznamy:
• Wady systemu plików (jako prekursora baz
danych)
• Czym baza danych różni się od systemu
plików i jak funkcjonuje DBMS wewnątrz
systemu baz danych
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
3
1
Dane czy Informacja
• Dane:
– Surowe fakty; tworzą bloki informacji
– Nieprzetworzona informacja
• Informacja:
– Przetworzone dane w calu ujawnienia znaczenia
• Dokładne, istotne i podane na czas informacje są
kluczem do podejmowania właściwych decyzji.
• Podejmowanie właściwych decyzji jest kluczem do
„przeżycia” w środowisku globalnym.
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
4
1
Przykład: Sprzedaż przypadająca na
danego pracownika w dwóch działach
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
5
1
Prezentacja bazy danych i DBMS
• Baza danych (ang. database) —
współdzielona, zintegrowana struktura
(komputerowa) która przechowuje:
– Dane użytkownika końcowego (surowe fakty)
– Metadata (dane o danych)
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
6
1
Prezentacja bazy danych i DBMS
(kontynuacja)
• DBMS (ang. database management system):
– Zestaw programów do zarządzania strukturą
bazy danych i do kontrolowania dostępu
– Powala na współdzielenie danych pomiędzy
wiele aplikacji i użytkowników
– Pozwala na bardziej wydajne i efektywne
zarządzanie danymi
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
7
1
DBMS pozwala na zarządzanie danymi
bardziej wydajnie i efektywnie
• Użytkownicy mają ułatwiony dostęp do lepiej
zarządzanych danych
– Promowanie zintegrowanych widoków operacji
– Prawdopodobieństwo wystąpienia braku
spójności jest znacznie zredukowane
– Możliwość generowania szybkich odpowiedzi
na zapytania typu „ad hoc”
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
8
1
DBMS zarządza interakcją pomiędzy
użytkownikami a bazą danych
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
9
1
Typy baz danych
• Single-user:
– Obsługa tylko jednego użytkownika w danej
chwili
• Desktop:
– Baza danych typu Single-user uruchomiona
na komputerze osobistym
• Multi-user:
– Obsługa wielu użytkowników w danej chwili
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
10
1
Typy baz danych (kontynuacja)
• Workgroup:
– Baza danych typu Multi-user obsługująca
małą grupę użytkowników lub pojedynczy
oddział (wydział)
• Enterprise:
– Baza danych typu Multi-user obsługująca
dużą grupę użytkowników lub całą korporację
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
11
1
Lokalizacja bazy danych
• Scentralizowane:
– Obsługa danych zlokalizowanych w jednym
określonym miejscu
• Rozproszone:
– Obsługa danych rozproszonych pomiędzy
wiele miejsc
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
12
1
Bazy danych – podział ze względu
na zastosowanie
• Transakcyjna (lub produkcyjna):
– Obsługa codziennych operacji w firmie
• Hurtownie danych:
– Przechowuje dane używane uzyskiwania informacji
niezbędnej to podejmowania taktycznych lub
strategicznych decyzji
• Takie decyzje wymagają ogromnej ilości danych
– Często używana do przechowywania historycznych
danych.
– Ich struktura jest odmienna.
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
13
1
Dlaczego proces projektowania
jest taki ważny
• Definiujemy oczekiwane działanie i użycie
bazy danych
• Różne podejścia muszą być stosowane do
różnych typów baz danych
• Unikamy nadmiarowości danych
(niepotrzebnie duplikowanych)
• Źle zaprojektowana baza danych generuje
błędy  to prowadzi do podjęcia błędnych
decyzji może to spowodować upadek firmy
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
14
1
Co było przed bazami danych?
Pliki i systemy plików (plikowe)
• Chociaż zarządzanie danymi poprzez system plików jest
przestarzałe, to :
– Zrozumienie relatywnie prostej charakterystyki systemu
plików pozwala na lepsze zrozumienie istoty
projektowania baz danych
– Świadomość problemów występujących przy zarządzaniu
systemem plików pomaga unikać podobnych problemów
z DBMS
– Znajomość systemu plików jest pomocna gdy planujesz
konwersję przestarzałego systemu plików do DBMS
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
15
1
„Ręczne” systemy plików
• Składały się ze zbioru plików (akt, dokumentów
papierowych) przetrzymywanych w gablocie.
• Schemat folderów był opracowany na
podstawie oczekiwanego użycia danych
• Taki system był odpowiedni dla malej ilości
danych i niewielkiego systemu raportowania
• Odszukiwanie i korzystanie z danych
w rosnącym zbiorze folderów plików (akt)
stawało się czasochłonne i nieefektywne.
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
16
1
Od ręcznego do komputerowego
systemu plików
• Technicznie skomplikowany proces, wymaga pracy
wielu specjalistów od przetwarzania danych (ang.
data processing -DP)
• Specjaliści DP tworzyli strukturę plików, pisali
oprogramowanie i projektowali aplikację do obsługi
systemu plików
• Powstało wiele odmiennych systemów plików
• Początkowo, struktura plików komputerowych była
podobna do plików ręcznych (zobacz rysunek 1.3)
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
17
1
Przykładowa zawartość pliku
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
18
1
Podstawowa terminologia (dla plików)
Dane : surowe fakty, takie jak : numery telefonów , data urodzin
lub wielkość sprzedaży. Dane nie mają wielkiego
znaczenia
dopóki nie będą ułożone w pewien logiczny sposób.
Najmniejszy „kawałek” informacji może być rozpoznany
przez komputer (np. jeden znak).
Pole: Zbiór znaków alfanumerycznych który ma specificzne
znaczenie. Pole definuje i przechowuje dane
Rekord: Logicznie połaczony zbiór pól które opisują osobę,
miejsce lub rzecz.
Plik:
Zbiór powiązanych rekordów.
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
19
1
Przykład wczesnego projektowania
baz danych
• Specjaliści DP pisali programy do tworzenia raportów :
– Miesięcznej sprzedaży różnego typu polis
ubezpieczeniowych przez agentów
– Miesięcznej listy klientów którzy będą dokonywali
wznowienia polis
– Sprzedaży polis i ich typów przez poszczególnych
agentów
– Sprawozdań wysyłanych do klientów
• Dodatkowe raporty były przygotowywane gdy
zachodziła taka potrzeba
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
20
1
Przykład wczesnego projektowania
baz danych (kontynuacja)
• Inne działy wymagały również baz danych
specjalnie dla nich
– Baza danych SPRZEDAŻ dla działu
sprzedaży
– Baza danych AGENT dla działu osobowego
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
21
1
Przykład: zawartość pliku agenta
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
22
1
Ewolucja prostego systemu plików
• Od czasu gdy liczba baz danych rosła,
ewoluowały też systemy plików
• Każdy plik używał innej aplikacji do obsługi.
• Każdy plik był przechowywany przez
użytkownika lub grupę użytkowników którzy
zlecili stworzenie tego pliku.
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
23
1
Prosty system plików
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
24
1
Prosty system plików (kontynuacja)
• Rozbudowa systemu wymagała nowych
umiejętności (programistycznych) od
specjalistów DP
• Dodatkowi programiści byli wymagani
• Specjaliści DP zostali podzieleni na DP
managerów DP, i kierowników DP
• Podstawowymi zadaniami specjalistów DP
pozostało programowanie
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
25
1
Problemy z plikowym systemem
zarządzania danymi
• Każde zadanie wymaga programowania w językach
3-ciej generacji (3GL)
– Programista musi dokładnie zdefiniować zadanie i to w
jaki sposób musi to być zrobione
• Współczesne bazy danych korzystają z języków 4-tej
generacji (4GL)
– Pozwalają użytkownikowi na zdefiniowanie co musi
być zrobione bez potrzeby definiowania jak to ma być
zrobione
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
26
1
Programowanie w 3GL
• Czasochłonne
• Programista musi znać fizyczną strukturę
plików
• Gdy system rozrasta się to zarządzanie
dostępem do plików staje się trudniejsze
i prowadzi do niesprawności systemu
• Skomplikowane kodowanie wymaga
precyzyjnego umiejscowienia plików,
komponentów systemu i charakterystyk
danych
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
27
1
Programowanie w 3GL (kontynuacja)
• Zapytania typu „Ad hoc” są niemożliwe
• Pisanie programów do tworzenia nowych
raportów jest czasochłonne
• Gdy liczba plików wzrasta, zarządzanie
systemem staje się coraz trudniejsze
• Wprowadzanie zmian do istniejącej struktury
plików jest bardzo trudne
• Zmiany w strukturze pliku wymagają
modyfikacji we wszystkich programach które
korzystają z tego pliku
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
28
1
Programowanie w 3GL (kontynuacja)
• Jakiekolwiek modyfikacje po prostu generują
błędy, dlatego wymagany jest dodatkowy
czas na debugowanie programu.
• Wprowadzenie zagadnień ochrony danych
jest bardzo trudne i dlatego często omijane
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
29
1
Zależności strukturalne i danych
• Zależność strukturalna
– Dostęp do pliku zależy od jego struktury
• Zależność danych
– Zmiany w strukturze bazy danych powodują
zmiany w dostępie programu do danych
– Logiczny format danych
• Jak ludzie widzą dane
– Fizyczny format danych
• Jak komputer „widzi” dane
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
30
1
Definicje pól i konwencje nazewnictwa
• Elastyczne definicje rekordów „przewidują”
wymagania dla procesu raportowania
poprzez podział pierwotnych pól na
komponenty
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
31
1
Przykładowe pola pliku
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
32
1
Nadmiarowość danych
• Nadmiarowość danych prowadzi do niespójności
danych
– Różne i sprzeczne wersje tych samych danych
pojawiają się w różnych miejscach
• Błędy najczęściej powstają gdy dokonujemy zmian
w wielu miejscach danego pliku i powtarzamy tą
czynność w jednym lub wielu plikach
• Anomalie danych pojawiają się gdy wymagane
zmiany w nadmiarowych danych nie są zakończone
sukcesem
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
33
1
Anomalie danych
• Anomalie modyfikacji
– Mają miejsce gdy dokonujemy zmian
w istniejących rekordach
• Anomalie wstawiania
– Mają miejsce gdy wprowadzamy nowe rekordy
• Anomalie kasowania
– Mają miejsce gdy kasujemy rekordy
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
34
1
Baza danych vs. System plików
• Wrodzone problemy systemu plików
motywują nas do budowy i rozwoju
prawdziwych baz danych
• System plików
– Wiele oddzielnych i niezależnych plików
• Baza Danych
– Logicznie połączone dane przechowywane w
jednej strukturze
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
35
1
Porównanie bazy danych i systemu plików
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
36
1
Środowisko systemu baz danych
•
System baz danych składa się z 5-ciu
podstawowych części:
1. Sprzętu (ang. hardware)
2. Oprogramowania (ang. software)
•
•
•
Systemu operacyjnego
Oprogramowania DBMS
Aplikacji i programów narzędziowych
3. Ludzi
4. Procedur
5. Danych
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
37
1
Środowisko systemu baz danych
(kontynuacja)
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
38
1
Funkcje DBMS
• Wykonuje operacje które gwarantują
integralność i spójność danych
– Zarządzanie słownikiem danych
• Definiuje elementy danych i ich zależności
– Zarządzanie magazynowaniem danych
• Przechowuje dane oraz formularze do
wprowadzania danych i raportowania itp..
– Prezentacja i przetwarzanie danych
• Przetwarza logiczne żądania na fizyczne
polecenia lokalizacji i pobierania żądanych
danych
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
39
1
Funkcje DBMS (kontynuacja)
– Zarządzanie ochroną danych
• Narzuca reguły prywatności danych
– Sterowanie dostępem dla wielu użytkowników
• Tworzone są odpowiednie struktury tak aby
wielu użytkowników mogło jednocześnie
uzyskać dostęp do danych
– Tworzenie kopii zapasowych i przywracanie
systemu
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
40
1
Funkcje DBMS (kontynuacja)
– Zarządzanie integralnością danych
• Wprowadza i egzekwuje reguły integralności w celu
eliminacji problemów ze integralnością danych
– Języki dostępu do danych oraz interfejsy aplikacji
i programowania
• Dostęp do danych poprzez język zapytań
– Bazodanowe interfejsy komunikacji
• Pozwalają bazie danych na akceptowanie żądań
użytkowników przesyłanych siecią komputerową
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
41
1
Metadata w Microsoft Access
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
42
1
System przechowywania danych
w Oracle
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
43
1
Podsumowanie
• Informacja jest pozyskiwana z danych które są
przechowywane w bazie danych
• Do budowy i zarządzania bazą danych
używamy DBMS
• Proces projektowania bazy danych definiuje jej
strukturę
• Projektowanie jest bardzo ważne
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
44
1
Podsumowanie (kontynuacja)
• Pierwowzorem baz danych były systemy
plików
• Ponieważ systemy plików nie posiadały
DBMS, zarządzanie danymi było bardzo
utrudnione (zwłaszcza gdy rosła l. plików)
• DBMS zostały wprowadzone aby
przezwyciężać wewnętrzne słabości systemu
plików
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
45
Download