Wykład 1
description
Transcript of Wykład 1
1
1
Wykład 1
Systemy Baz Danych
Na podstawie książki
Database Systems: Design, Implementation, and Management,
Sixth Edition, Rob and Coronel
Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel
1
2
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, 6 th Edition, Rob & Coronel
1
3
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, 6 th Edition, Rob & Coronel
1
4
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, 6 th Edition, Rob & Coronel
1
5
Przykład: Sprzedaż przypadająca na danego pracownika w dwóch działach
Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel
1
6
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, 6 th Edition, Rob & Coronel
1
7
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, 6 th Edition, Rob & Coronel
1
8
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, 6 th Edition, Rob & Coronel
1
9
DBMS zarządza interakcją pomiędzy użytkownikami a bazą danych
Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel
1
10
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, 6 th Edition, Rob & Coronel
1
11
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, 6 th Edition, Rob & Coronel
1
12
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, 6 th Edition, Rob & Coronel
1
13
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, 6 th Edition, Rob & Coronel
1
14
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, 6 th Edition, Rob & Coronel
1
15
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, 6 th Edition, Rob & Coronel
1
16
„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, 6 th Edition, Rob & Coronel
1
17
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, 6 th Edition, Rob & Coronel
1
18
Przykładowa zawartość pliku
Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel
1
19
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, 6 th Edition, Rob & Coronel
1
20
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, 6 th Edition, Rob & Coronel
1
21
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, 6 th Edition, Rob & Coronel
1
22
Przykład: zawartość pliku agenta
Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel
1
23
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, 6 th Edition, Rob & Coronel
1
24
Prosty system plików
Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel
1
25
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, 6 th Edition, Rob & Coronel
1
26
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, 6 th Edition, Rob & Coronel
1
27
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, 6 th Edition, Rob & Coronel
1
28
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, 6 th Edition, Rob & Coronel
1
29
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, 6 th Edition, Rob & Coronel
1
30
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, 6 th Edition, Rob & Coronel
1
31
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, 6 th Edition, Rob & Coronel
1
32
Przykładowe pola pliku
Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel
1
33
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, 6 th Edition, Rob & Coronel
1
34
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, 6 th Edition, Rob & Coronel
1
35
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, 6 th Edition, Rob & Coronel
1
36
Porównanie bazy danych i systemu plików
Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel
1
37
Ś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, 6 th Edition, Rob & Coronel
1
38
Środowisko systemu baz danych(kontynuacja)
Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel
1
39
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, 6 th Edition, Rob & Coronel
1
40
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, 6 th Edition, Rob & Coronel
1
41
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, 6 th Edition, Rob & Coronel
1
42
Metadata w Microsoft Access
Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel
1
43
System przechowywania danych w Oracle
Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel
1
44
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, 6 th Edition, Rob & Coronel
1
45
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