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