Wykład 1

45
1 1 Wykład 1 Systemy Baz Danych Na podstawie książki Database Systems: Design, Implementation, and Management, Sixth Edition, Rob and Coronel

description

Wykład 1. Systemy Baz Danych Na podstawie książki Database Systems: Design, Implementation, and Management , Sixth Edition, Rob and Coronel. W trakcie tego wykładu, poznamy :. różnicę pomiędzy danymi i informacją, - PowerPoint PPT Presentation

Transcript of Wykład 1

Page 1: 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

Page 2: Wykład  1

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

Page 3: Wykład  1

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

Page 4: Wykład  1

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.

Page 5: Wykład  1

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

Page 6: Wykład  1

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)

Page 7: Wykład  1

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

Page 8: Wykład  1

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”

Page 9: Wykład  1

Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel

1

9

DBMS zarządza interakcją pomiędzy użytkownikami a bazą danych

Page 10: Wykład  1

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

Page 11: Wykład  1

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ę

Page 12: Wykład  1

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

Page 13: Wykład  1

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.

Page 14: Wykład  1

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

Page 15: Wykład  1

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

Page 16: Wykład  1

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.

Page 17: Wykład  1

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)

Page 18: Wykład  1

Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel

1

18

Przykładowa zawartość pliku

Page 19: Wykład  1

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.

Page 20: Wykład  1

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

Page 21: Wykład  1

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

Page 22: Wykład  1

Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel

1

22

Przykład: zawartość pliku agenta

Page 23: Wykład  1

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.

Page 24: Wykład  1

Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel

1

24

Prosty system plików

Page 25: Wykład  1

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

Page 26: Wykład  1

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

Page 27: Wykład  1

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

Page 28: Wykład  1

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

Page 29: Wykład  1

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

Page 30: Wykład  1

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

Page 31: Wykład  1

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

Page 32: Wykład  1

Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel

1

32

Przykładowe pola pliku

Page 33: Wykład  1

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

Page 34: Wykład  1

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

Page 35: Wykład  1

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

Page 36: Wykład  1

Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel

1

36

Porównanie bazy danych i systemu plików

Page 37: Wykład  1

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

Page 38: Wykład  1

Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel

1

38

Środowisko systemu baz danych(kontynuacja)

Page 39: Wykład  1

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

Page 40: Wykład  1

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

Page 41: Wykład  1

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ą

Page 42: Wykład  1

Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel

1

42

Metadata w Microsoft Access

Page 43: Wykład  1

Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel

1

43

System przechowywania danych w Oracle

Page 44: Wykład  1

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

Page 45: Wykład  1

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