Definicja Bazy danych Baza danych to zbiór wzajemnie powiązanych ze sobą i zintegrowanych danych z pewnej dziedziny jest to zbiór danych (duży), z którego mogą być one pobierane przez różnych użytkowników w różnych celach W bazie danych opisane są zjawiska pochodzące z wybranego, określonego obszaru działalności człowieka, np.: pacjentów szpitala (dane osobowe, zastosowane leczenie, terminy wizyt kontrolnych) rezerwacje i sprzedaż biletów lotniczych (dane osobowe, termin zakupu, dane o rejsie) działalność przedsiębiorstwa (księga główna, dane o klientach i odbiorcach, plan produkcji, plan zakupów) warunki meteorologiczne w Polsce w latach 1950-2005 (temperatura, ciśnienie, opady). dane w bazie są ze sobą powiązane (istnieją między nimi związki), np. między nr pracownika a nr wydziału istnieje związek jest zatrudniony w, a w drugą stronę (między wydziałem a nr pracownika związek zatrudnia system informacyjny stworzony na postawie bazy danych może mieć charakter mikro (dla prywatnego użytkownika, np. spis telefonów w książce telefonicznej), jak i charakter makro (dla wielkiej korporacji, obejmujący wszystkie sfery jej działalności) Ogólna zaleta bazy danych: zapewnia organizacji centralne sterowanie danymi Korzyści z centralnego sterowania danymi: Zmniejszenie redundancji danych (jednokrotne wprowadzanie danych) Uniknięcie problemu niezgodności danych (łatwość aktualizacji) Dzielenie danych między użytkowników (wspólne korzystanie z danych) Ograniczenie dostępu do danych Zachowanie integralności danych (eliminacja błędów, wprowadzanie standardów) Zapewnienie niezależności danych (odporność programów na organizację zapisu danych) Potrzeby użytkowników Użytkownicy bazy pracują na różnych stanowiskach, mają więc różne potrzeby informacyjne, w obszarze ich zainteresowania znajdują się różne fragmenty bazy, a więc nadaje się im różne uprawnienia dostępu do bazy Obraz 1 Obraz 2 RóŜne obrazy danych zdefiniowane przez odmienne potrzeby informacyjne Baza danych Obraz 3 Obraz 5 Obraz 4 1
Zalety zastosowania różnych obrazów bazy dla różnych użytkowników łatwiejszy sposób pozyskiwania danych użytkownik otrzymuje gotowy już, uprzednio zdefiniowany obraz ochrona danych definiując obraz dla konkretnego użytkownika pozwala mu się czytać i modyfikować tylko wybrane fragment bazy, stosownie do jego kompetencji i wiedzy Sposób komunikowania się użytkownika z bazą poprzez polecenia Systemu Zarządzania Bazą Danych (SZBD) Data Base Management System (DBMS) poprzez oprogramowanie aplikacyjne, stanowiące warstwę pośrednią i ułatwiające korzystanie z bazy bardzo rzadko bezpośrednio komunikując się z bazą Sposób komunikowania się użytkownika z bazą Oprogramowanie System Zarządzania Bazą Danych System Zarządzania Bazą Danych jest to zbiór programów, który gwarantuje zapamiętywanie, manipulowanie i przetwarzanie danych, zapewniając licznym i różnorodnym użytkownikom bezpieczeństwo, poufność i integralność danych. przekształca zapytanie użytkownika na postać zrozumiałą na najniższym poziomie bazy danych po wykonaniu określonych zadań, przekazuje ich wyniki z powrotem na poziom użytkownika Baza danych SZBD pozwala tworzyć struktury do przechowywania danych wprowadzać, odczytywać i aktualizować dane kontrolować dostęp korzystać z bazy wielu użytkownikom jednocześnie automatycznie archiwizować dane i odtwarzać zasoby po awarii definiować i przestrzegać warunków integralności system bazy danych = baza danych + system zarządzania bazą danych SZBD zapewnia: zintegrowanie danych eliminuje nadmiarowość danych (redundancję) zapewnia spójność, niesprzeczność, niezależność danych ułatwia szybkie i łatwe tworzenie aplikacji 2
Typy baz danych Logiczna organizacja bazy danych odzwierciedla logiczne zależności między danymi. Podstawowe typy organizacji bazy danych: hierarchiczne sieciowe relacyjne Bazy hierarchiczne najstarszy typ baz, powstały w latach 60. pierwsza baza: IMS firmy IBM (do obsługi programu Apollo) dane zapisuje się w formie zależności zwierzchnictwa-podporządkowania w rodzaju: jeden do jednego (1:1) oraz jeden do wielu (1:n), z rozróżnieniem poziomów wyższego i niższego schemat bazy nie może być łatwo odwrócony, kłopotliwy jest przy wykonywaniu operacji na danych Przykład hierarchicznej struktury danych Struktura hierarchiczna Student Departament Przedmiot Przedmiot Pracownik Pracownik Jerzy Janiak 32156 SIZ 2345 Ekonomia 1541 Departament Badań Rynkowych 35 parter A Odwrócona struktura hierarchiczna Przedmiot Jan Kowal kierownik 1991-03-01 Piotr Nowak referent 1999-10-01 Student Student SIZ 2345 Jerzy Janiak 32156 Marta Adams 27100 Bazy sieciowe pierwsze powstały w końcu lat 60. (IDS), ale pierwszy raport w 1971 r. każdy rekord może mieć dowolną liczbę rekordów bezpośrednio nadrzędnych i wiele rekordów podrzędnych, czyli pozwala zapisywać dane nie tylko w formie zależności (1:n), ale również wiele do jednego (m:1), czyli ogólnie (m:n) schemat sieciowy daje się odwrócić w wiele schematów hierarchicznych nakładają na projektanta bazy mniej ograniczeń struktura sieciowa pozwala na dostęp do danych, począwszy od punktu startowego, wg określonej ścieżki (sekwencji kroków między danymi, które są powiązane ze sobą w logiczną strukturę sieciową Struktura sieciowej bazy danych (przykład) Poniedziałek Dzień Konkurencja Zawodnik 100 m Skok w dal 200 m Rzut kulą Mariusz Wtorek Paweł 3
Poniedziałek 100 m Skok w dal 200 m Rzut kulą Mariusz Wtorek Paweł jednego dnia może odbywać się wiele konkurencji jeden zawodnik może uczestniczyć w wielu konkurencjach np. można odpowiedzieć na pytanie, jakie konkurencje odbywają się w poniedziałek zaczynamy od poniedziałku, strzałka prowadzi do 100 m, a następnie skoku w dal Bazy relacyjne podstawy teoretyczne 1970 r. E.F. Codd model stosowany powszechnie do chwili obecnej większość komercyjnych systemów opiera się na modelu relacyjnym przykłady: Oracle DB2 (IBM) SQL Server (Microsoft) Progress Informix Ingres Sybase MySQL Access PostgreSQL FoxPro Paradox dbase Relacyjna baza danych uzyskał z Student Zaliczenie Przedmiot dotyczy jest przedmiotem pozwala zapisać dane w wielu dwuwymiarowych tablicach (relacjach); na bazę danych może składać się wiele relacji, między którymi istnieją związki typu 1:n oraz 1:1 tabele( relacje ) zawierają zero lub więcej wierszy ("krotek") i jedną lub więcej kolumn("atrybutów"); a każdy wiersz składają się jednakowo ułożone kolumny wypełnione wartościami, które z kolei w każdym wierszu mogą być inne (pola na przecięciu wierszy i kolumn) istota podejścia relacyjnego polega na tym, że powiązania między danymi nie są ustawiane na stałe. nr_albumu Studenci imie 3412 Jan 4277 Ewa 3717 Anna nazwis ko data_ur Nowak 88-03-12 Wójcik 89-10-23 Lep 88-05-0909 kod Przedmioty nazwa 024 Algebra 025 Ekonomia I 056 Informatyka 125 Socjologia Zaliczenia nr_albumu kod ocena Data 3412 125 3,5 08-02-2626 3412 056 4,5 08-01-1717 3717 024 4 08-02-2323 3412 024 5 08-01-1717 profesor prof. J. Kowal prof. A. Bender prof. B. Wasilewski dr S. Fan użytkownicy wykonujący operacje na bazie formułują polecenia w języku zrozumiałym dla Systemu Zarządzania Bazą Danych, jakim jest SQL (Structured Query Language) operacje na bazie danych zapytania nie zmieniają zawartości bazy, lecz wyświetlają interesujące użytkownika dane zarówno całe tabele, jak i wybrane wiersze oraz kolumny dodawanie nowych zapisów (przyjęcie nowego studenta, zaliczenie przedmiotu, uruchomienie nowego przedmiotu) modyfikowanie (poprawa błędnie dokonanych zapisów) usuwanie wierszy z tabeli celem osiągnięcia poprawnej struktury logicznej bazy danych, stosuje się pewne przekształcenia - normalizacja. Metody zabezpieczenia bazy danych 1. ochrona danych przed nieuprawnionym dostępem dane nie mogą być dostępne dla wszystkich, a tylko dla uprawnionych system haseł system nadawania uprawnień perspektywy (nadawanie praw do dostępu tylko do wybranych fragmentów bazy) 2. odtwarzanie danych i sterowanie jednoczesną pracą wielu użytkowników 3. obsługa i zarządzanie bazą 4
Administrator bazy danych osoba (lub cały zespół) odpowiedzialna za nadzorowanie działania całej bazy danych, zwłaszcza za: decydowanie o zawartości bazy bezpieczeństwo kontakt z użytkownikiem definiowanie procedur kontrolnych przydział uprawnień słownik danych- narzędzie administratora - dane o danych -opisy rekordów, pól,... Podstawowe sposoby rozmieszczenia danych w bazach centralna rozproszona - łącząca zalety baz danych (zintegrowane sterowanie, zapewnienie spójności danych... ) z zaletami sieci komputerowych (rozproszenie danych, łatwiejszy i szybszy dostęp, duży udział przetwarzania lokalnego) replikowana partycjonowana hybrydowa UŜytkownik 1 Centralna baza danych UŜytkownik 2 UŜytkownik n Jedna baza i jeden SZBD w jednym miejscu Wady: duże koszty pozyskania informacji, awaria w centrali powoduje niemożność korzystania z bazy w żadnym z węzłów Replikowana baza danych Pełna kopia bazy danych utrzymywana jest w każdym węźle Zalety: niskie koszty komunikacji z bazą, nie ma potrzeby częstego korzystania z sieci przy pozyskiwaniu danych. Wada: wysokie koszty przechowywania i aktualizacji danych (bo pełna kopia jest w każdym węźle) Replikowana baza danych (c.d.) Partycjonowana baza danych UŜytkownik 1 UŜytkownik n UŜytkownik p Jest podzielona na części, a każda z nich umieszczona w innym węźle. Na części mogą składać wybrane fragmenty tablic. Awaria w jednym węźle nie wpływa na pracę innych węzłów, chociaż dane z tego węzła nie są dostępne. Koszt przechowywania i komunikacji są niskie. UŜytkownik k UŜytkownik m 5
Partycjonowana baza danych (c.d.) UŜytkownik 1 UŜytkownik p UŜytkownik n UŜytkownik m UŜytkownik k Hybrydowa baza danych Pomieszana baza replikowana i partycjonowana. Dane często wykorzystywane znajdują się w każdym węźle. Dane wykorzystywane wyłącznie lub głównie w jednym węźle znajdują się wyłącznie w nim jednym. Postrelacyjne bazy danych obiektowe wielowymiarowe multimedialne Hurtownie danych (od połowy lat 80.) Hurtownie danych Baza danych modelowana i strojona dla potrzeb analizy i procesów podejmowania decyzji Wyseparowanakolekcja danych, zasilana z różnych źródeł, dedykowana dla potrzeb procesów analizy i podejmowania decyzji Zbiór różnego typu danych strategicznych, przeznaczonych do wspomagania analizy i procesów decyzyjnych podejmowanych na różnych szczeblach zarządzania Zbiór danych zorientowanych tematycznie, zintegrowanych, statycznych, nie zmieniających się w czasie, dedykowanych dla potrzeb wspierania procesów zarządzania Cechy hurtowni danych Zorientowanie tematyczne Integracja Niezmienność danych w czasie Statyczność Wspieranie procesów zarządzania 6
Zorientowanie tematyczne wszystkie dane dotyczące określonego tematu przechowywane są w jednym miejscu umożliwia to użytkownikowi łatwy i czytelny dostęp do wszystkiego, co jest związane z danym tematem informacje są dostępne w sposób prosty i ułatwiający analizy hurtownia gromadzi wszystkie informacje związane z danym tematem (np. dane o kliencie), w sposób pozwalający na proste zrozumienie wszystkiego, co z danym klientem jest związane np. banki przetwarzają różnorodne informacje związane ze swymi klientami, takie jak: dane osobowe, dane o bieżących rachunkach, zobowiązaniach, długach hipotecznych itp., które w bazie przechowywane są w wielu różnych formatach Integracja dane przechowywane w hurtowni muszą być w pełni zintegrowane, nawet jeśli dane źródłowe przechowywane są w odmienny sposób proces integracji danych pochodzących z różnych źródeł może być kosztowny i czasochłonny wymaga wspólnej konwencji stosowanej w nazwach, tej samej struktury kodowania, fizycznych atrybutów danych. Niezmienność danych w czasie dane w hurtowniach są danymi historycznymi, a nie odzwierciedlającymi stan aktualny dane w długim horyzoncie czasowym 5-10 lat raz wprowadzone do hurtowni pozostają tam niezmienione (w bazach operacyjnych dane zmieniają się z minuty na minutę) dane służą do przeprowadzania analiz, poszukiwania przeszłych i obecnych trendów, prognozowania zachowań na podstawie różnego rodzaju scenariuszy Statyczność dane statyczne, (na ogół) przeznaczone tylko do czytania wprowadzone dane pozostają w hurtowni bez zmian (chyba że trzeba poprawić błąd) użytkownik nie może zmieniać danych optymalizacja dostępu do danych minimalizację redundancji osiąga się dzięki temu, że do hurtowni wprowadzane są tylko te dane, które są rzeczywiście potrzebne większość danych jest fizycznie przekształcana, zanim zostanie wprowadzona do hurtowni hurtownia zwykle zawiera dane sumaryczne, które nie istnieją w systemach zasilających dane w hurtowni są (trochę) starsze od danych w systemach źródłowych. Wspieranie procesów zarządzania hurtownie nie służą do przetwarzania transakcji, lecz głównie dla osób zarządzających organizacjami, które robią analizy i podejmują strategiczne decyzje zasilanie musi być różnymi danymi: bieżącymi danymi operacyjnymi, danymi historycznymi, danymi zewnętrznymi odwzorowującymi środowisko, w którym funkcjonuje organizacja architektura hurtowni musi być elastyczna i skalowalna tak, by sprostać nowym żądaniom użytkowników Podsumowanie charakterystycznych cech hurtowni danych zasilanie różnego typu danymi pochodzącymi z wielu różnych źródeł przechowywanie danych w sposób odpowiednio wyselekcjonowany integralność statyczność przeznaczenie wspieranie procesów decyzyjnych 7
Porównanie hurtowni danych z systemami transakcyjnymi Dane źródłowe Metody aktualizacji Systemy transakcyjne Zasilanie z wewnętrznych baz danych Transakcje realizowane w czasie rzeczywistym Hurtownie danych Zasilanie danymi z organizacji i jej otoczenia Wsadowo, w określonych momentach czasu Atrybut czasu Dane bieŝące Dane historyczne Przeznaczenie Wielkość (rozmiar) Do wspierania bieŝących działań operacyjnych Gigabajty Informacje dla potrzeb analiz i róŝnego typu procesów decyzyjnych, w szczególności strategicznego planowania i rozwoju. Terabajty Większość firm tworzących systemy relacyjnych baz danych tworzy również oprogramowanie hurtowni danych. Minihurtownie danych (ang. data mart) zawężone tematycznie hurtownie danych np. do jednego oddziału szpitala lub kliniki Minihurtowniemogą istnieć jako oddzielne jednostki lub stanowić element hurtowni danych 8