1
Materiały uzupełniające do
Materiały uzupełniające do
wykładu: Bazy danych
wykładu: Bazy danych
i hurtownie danych
i hurtownie danych
Materiały uzupełniające do
Materiały uzupełniające do
wykładu: Bazy danych
wykładu: Bazy danych
i hurtownie danych
i hurtownie danych
Rola SZBD (DBMS) w firmie
W p ro w a d z a n ie
d a n y c h i ra p o rty
D z ia ł S p rz e d a ż y
A p lik a c je D z ia łu S p rz e d a ż y
S Z B D
D z ia ł U m ó w
B a z a d a n y c h
A p lik a c je D z ia łu U m ó w
W p ro w a d z a n ie
d a n y c h i ra p o rty
Zadania DBMS:
Zarządzanie zbiorami danych
tworzenie nowych zbiorów (jednostek
logicznej struktury DBMS, tj. baz
danych, tabel, ...)
usuwanie zbiorów
modyfikowanie struktury zbiorów
wstawianie, aktualizowanie i usuwanie
danych
Wyszukiwanie informacji
w odpowiedzi na zapytania otrzymane od
programów klienckich.
Zarządzanie bazą danych jako całością
tworzenie kont użytkowników
definiowanie uprawnień dostępu
monitorowanie działania bazy danych
Zadania DBMS:
Kluczowe pojęcia
z zakresu baz danych
Rekord (record) zwany także krotką
lub wierszem, to pozioma struktura
danych opisująca jeden obiekt.
Rekord składa się z pól opisujących
dokładnie cechy obiektu np.
pojedynczego pracownika.
Pole (field) zwane także atrybutem
lub kolumną, to struktura danych
opisująca pojedynczą daną w
rekordzie np. nazwisko pracownika.
Tabela (table) - zbiór rekordów
opisujących obiekty w sposób
ujednolicony tj. każdy rekord posiada te
same nazwy pól.
Baza danych składa się z tabel, tabele
składają się z rekordów, rekordy składają
się z pól.
Format danej (data format) postać
wprowadzania i wyświetlania danej
(np. format kodu pocztowego 99-999)
Typy danych
(ang. data type) - rodzaj danej, czyli forma
zapisu informacji:
znakowy (ang.character) dana może
przybierać tylko wartości znaków pisarskich
liczbowy (ang.number) dana może
przechowywać tylko liczby
logiczny (ang.logical) dana może
przybierać tylko dwie wartości: prawda,
fałsz (tak, nie)
data (ang.date) postać daty i czasu np.
rok.miesiąc.dzień godz:min:sek
alfanumeryczny (ang.alphanumeric)
dana może przybierać wartości znaków
ASCII oraz cyfry
numeryczny (ang.numeric)
wartościami danej mogą być tylko cyfry i
znaki: + (plus), - (minus).
walutowy (ang.currency) dana może
przyjmować wartości liczbowe razem z
symbolem waluty
notatnikowy (ang.memo) dana może
być oddzielnym zbiorem tekstowym
służącym do przechowywania dowolnych
opisów.
binarny (ang.binary) dana może być
np. plikiem dźwiękowym lub
filmowym.
graficzny (ang.graphic) dana
przechowuje grafikę (np. zdjęcia,
wzory podpisów)
obiektowy (ang. object) dana
przechowuje obiekty do których
dostęp dokonuje się za pomocą
techniki OLE (ang. object linking and
embedding), czyli obiektów
tworzonych przez różne aplikacje.
Model relacyjny
Najbardziej rozpowszechnionym obecnie
modelem danych jest model relacyjny.
Podstawową koncepcję modelu
relacyjnego przedstawił w latach
siedemdziesiątych E.F. Codd.
Model relacyjny (RDBMS)
Dane przechowywane są w tabelach, z
których każda ma stałą liczbę kolumn i
dowolną liczbę wierszy. Każda tabela ma
zdefiniowany klucz danych (key) -
wyróżniony atrybut lub kilka takich
atrybutów, którego wartość
jednoznacznie identyfikuje dany
wiersz. Wyszukiwanie danych odbywa
się za pomocą odwołania się programu
do danego klucza i identyfikacji danego
wiersza za jego pomocą
Przykładowe relacje
przedstawione w postaci
tabel
Tabela reprezentująca relację
musi posiadać następujące
właściwości:
nazwa tabeli jest nazwą relacji,
uporządkowanie kolumn tabeli jest nieistotne,
uporządkowanie krotek w tabeli jest nieistotne,
w tabeli nie może być dwóch takich samych
krotek,
w kolumnie zawierającej wartości atrybutu
A mogą występować wartości wyłącznie ze
zbioru zwanego dziedziną atrybutu A.
Dla modelu relacyjnego danych istotny jest
fakt, że każda wartość atrybutu jest
wielkością atomową (prostą,
nierozkładalną). Jeśli spełniony jest
omawiany warunek to mówimy, że relacja
jest znormalizowana lub, że znajduje się
w pierwszej postaci normalnej (1PN).
Przykład bazy
nieznormalizowanej
Przykład bazy w pierwszej
postaci normalnej
Pierwsza postać normalna jest konieczna aby, tabelę można było nazwać relacją.
Większość systemów baz danych nie ma możliwości zbudowania tabel nie
będących w pierwszej postaci normalnej.
Relacyjna baza danych składa się z kilku
powiązanych ze sobą tabel (relacji), które
otrzymuje się w wyniku przeprowadzonego
procesu normalizacji.
Cechy baz relacyjnych
istnieje kilka źródeł danych (tabel)
połączonych tzw. relacjami
brak powtarzających się danych, gdyż te
są zwykle wydzielone jako osobna tabela
bazy tego typu można łatwo modyfikować
łatwiejszy jest nadzór nad utrzymaniem
integralności danych
bazy tego typu ekonomicznie zarządzają
zasobami (cechuje je mała redundancja)
Klucze tabeli
Realizacja szybkiego przeszukiwania bazy
składającej się z wielu tabel wymaga obecności
w tabeli pola lub ich zestawu jednoznacznie
identyfikującego każdy rekord zapisany w
tabeli.
Pola takie noszą nazwę
kluczy
podstawowych
tabeli (ang. primary key).
Po zdefiniowaniu w tabeli klucza
podstawowego, nie będzie można w jego pole
wprowadzić wartości już istniejącej w tabeli ani
wartości Null (pustej).
Klucz obcy to taka kolumna w tabeli, która zawiera
wartości będące odnośnikami do klucza głównego
innej tabeli (sama niekoniecznie będąc kluczem
głównym - najczęściej nim nie jest).
Sortowanie rekordów - porządkowanie według
jakiegoś kryterium.
Zapytanie (ang. query) lub kwerenda
konstrukcja językowa, która pozwala na
wyszukiwanie danych z bazy danych za pomocą
zadawania pytań. Rodzaje kwerend to np.:
Wybierające
Aktualizujące,
Dołączające
Usuwające
Tworzące tabele
Filtr - pozwala na wyświetlanie rekordów
spełniających pojedyncze kryterium lub wiele
kryteriów
Podstawowe operacje na
relacyjnych bazach danych
Operacje relacyjne
Operacja selekcji
Operacja projekcji
Operacja złączenia
Operacja selekcji
Umożliwia pobranie
wierszy (krotek)
spełniających
określony warunek.
Operacja ta nazywana
jest również
podzbiorem
poziomym
.
Operacja projekcji
Umożliwia pobranie
wartości wybranych
pól (atrybutów) z
wszystkich wierszy
tabeli (krotek relacji).
Operacja ta jest
nazywana także
podzbiorem
pionowym
.
Operacja złączenia
Umożliwia łączenie wierszy z dwóch lub więcej tabel
z zastosowaniem określonego warunku łączenia.
Wynikiem połączenia jest podzbiór produktu relacji czyli iloczynu
kartezjańskiego
.
Autorzy
Id_autor
Imię
Nazwisko
001
Adam
Mickiewicz
002
Bjarne
Stroustrup
Książki
Id_książki
Tytuł
Id_autor
100
Pan Tadeusz 001
200
Język C++
002
300
Dziady
001
Adam
Mickiewicz Pan
Tadeusz
Adam
Mickiewicz Dziady
SQL – Structured Query
Language
Język używany do tworzenia i modyfikacji
zapytań o raz sterowania dostępem do
danych zorganizowanych w tabelach.
Z technicznego punktu widzenia, SQL
jest podjęzykiem danych. Oznacza to, że
jest on wykorzystywany wyłącznie do
komunikacji z bazą danych. Nie posiada
on cech pozwalających na tworzenie
kompletnych programów
Inne mechanizmy w bazach
danych:
1. Raporty - czyli wydruki
2. Formularze
3. Makra (skrypty) - miniprogramy wspomagające
wykonywanie szeregu kolejnych czynności (np.
sterowanie formularzami)
4. Moduły (fragmenty kodu źródłowego w języku
programowania wysokiego poziomu, np. Visual Basic,
C++ itp.) - moduły pełnią tę samą funkcje co marka.
Są stosowane do projektowania skomplikowanych
operacji. Np. obliczeń, interakcyjnych interfejsów itp.
5. Mechanizmy grupowej modyfikacji (np. kwerendy
aktualizujące)
6. Strony dostępu (formularze umożliwiające dostęp
przez WWW, Access 2000 i nowsze)
Organizacja systemu
zarządzania bazą danych
Scentralizowany system bazy danych
Rozproszony system bazy danych
Lokalna baza danych
Ważniejsze systemy zarządzania
bazą danych
Systemy profesjonalne
Oracle Corporation –
PROGRESS Application Development Environment
DB/2 (IBM )
Informix,
Ingres
Sybase PL
Adabas C,
Gupta SQLBase
DBMS dla mniejszych firm
Microsoft Access
FoxPro (Microsoft)
Paradox (Borland)
dBase (Borland),
MySQL
Hurtownie danych
Definicje hurtowni danych (1
)
Twórca teorii hurtowni danych
B.Immon
definiuje hurtownię danych jako:
tematycznie zorientowaną, spójną,
chronologiczną
i niezmienną kolekcję danych.
Hurtownie danych
Hurtownia danych to wydzielona
centralna baza danych stworzona
z myślą o prowadzeniu analiz
służących do podejmowania decyzji
strategicznych związanych
z zarządzaniem organizacją.
Hurtownia danych jest:
informacyjna a nie operacyjna,
zorientowana na analizy oraz na
wspomaganie decyzji, a nie na
przetwarzanie transakcji,
zwykle o architekturze
klient/serwer, a nie pochodną
bazującą na serwerze.
Cechy HD (Inmon)
zbiór danych:
uporządkowany tematyczny
spójny (zintegrowany)
chronologiczny (zawierający wymiar
czasowy)
niezmienny (nieulotny)
Cechy hurtowni danych
uporządkowanie tematyczne – w hurtowni przechowywane są
tylko te dane, które będą potrzebne do sporządzenia analiz
w przewidywanym zakresie,
zintegrowanie – dane są przechowywane w ujednoliconym
formacie, czyli dane dotyczące tego samego atrybutu
a pochodzące z różnych źródeł przechowywane są w jednolity
sposób,
niezmienność – w stosunku do hurtowni danych określa się
tylko dwie operacje na danych: ładowanie danych oraz dostęp
do danych. Dane zgromadzone w hurtownie nie podlegają
modyfikacji w trakcie jej bieżącej eksploatacji,
oznaczenie czasowe gromadzonych danych – w hurtowni
przechowywane są dane historyczne opatrzone znacznikiem
czasu, który pozwala na ustalenie, z jakiego okresu
historycznego dane te pochodzą.
Uporządkowanie tematyczne
•
Dane są zorientowanie na najważniejsze tematy,
z punktu widzenia zarządzania przedsiębiorstwem.
•
Tworzenie HD skupia się natomiast na modelowaniu
danych i bazie danych w sposób wyłączny.
Modelowanie procesów w klasycznej formie nie jest
częścią środowiska HD.
•
Z HD wyłączone są te dane, które nie są
wykorzystywane w procesie wspomagania decyzji,
podczas gdy dane aplikacji zawierają informacje
potrzebne do obsługi procesów bieżących. Dane te
mogą, ale nie muszą być potrzebne analitykom firmy.
Spójność
Najważniejszym aspektem HD jest to, że wszystkie bez
wyjątku dane, które się w niej znajdują są zintegrowane.
Integracja przejawia się w wielu różnych aspektach: nazwach,
jednostkach miary, wyrażaniu czasu, struktur, opisów
obiektów, postaci atrybutów itd.
Integrowanie oznacza także łączenie danych z różnych
systemów i zapewnia zunifikowane spojrzenie całościowe na
sytuację firmy.
Potrzeba integracji wynika przede wszystkim z tego, że w
ciągu wielu lat rozwijania systemu informatycznego organizacji
różni twórcy podejmowali indywidualne decyzje odnośnie
sposobów budowy aplikacji. (klucze, nazwy, kodowanie danych
np. płeć K, M., lub Kobieta True False itd.).
Dane zawarte w HD muszą zostać sprowadzone do
porównywalności w ten sposób, że informacje zawarte w
rozmaicie przedstawionych w aplikacjach danych są ujęte w
sposób wspólnie akceptowany i jednolity (ontologia).
Wymiar czasowy
Czas jest podstawą porządkowania danych w HD. Jest on
podstawowym kluczem porządkowania informacji
o otaczającym nas świecie.
W HD dane odzwierciedlają zmiany zachodzące w długich
okresach czasu - od kilku do kilkunastu i więcej lat.
W HD każdy klucz wyszukiwania jest w sposób jawny lub
niejawny oparty o czas. Jawnie może odnosić się do danych
rejestrowanych na określony moment czasu. W sposób
niejawny związany jest z danymi obliczanymi na koniec
okresów sprawozdawczych (miesięcy , kwartałów, lat).
Trzecim wyróżnikiem HD jest to, że dane raz wprowadzone do
bazy nie są z niej usuwane ani poprawiane. HD jest
z praktycznego punktu widzenia widziana jako długa
sekwencja ujęć rzeczywistości.
Niezmienność danych
W hurtowni danych są wykonywane tylko dwie operacje na
danych:
1.
wprowadzanie danych (dopisanie danych) do bazy,
2.
udostępnianie danych (odczyt danych).
Z tego powodu konstrukcja procedur obsługi HD może być
prostsza, aniżeli w aplikacjach. Nie ma potrzeby zwracania uwagi
na anomalie związane z aktualizacją danych, które są jedną z
przyczyn dużej komplikacji systemów wielodostępnych.
Dodatkowa (5) cecha HD
Hurtownia danych ma wspomagać
przetwarzanie informacji dla celów
strategicznych i analitycznych.
(w przeciwieństwie do systemów transakcyjnych
realizujących przetwarzanie dla celów
operacyjnych)
Źródła danych dla hurtowni
danych
systemy transakcyjne działające
w danej organizacji,
bazy danych istniejące w otoczeniu
organizacji,
zasoby systemu WWW,
arkusze
kalkulacyjne
lub
pliki
w formacie XML.
Korzyści z zastosowania
hurtowni danych
Korzyści ogólne dla Firmy:
integracja danych pochodzących z różnych
systemów,
skrócenie czasu dostępu do wybranych
informacji,
skrócenie czasu przygotowywania raportów,
generowanie raportów ad-hoc,
śledzenie zmian zachodzących w
poszczególnych danych firmy
nadawanie uprawnień użytkownikom
systemu do poszczególnych informacji.
Modele przetwarzania
danych
Istota modelu przetwarzania
danych
Sposób, w jaki użytkownik korzysta
z bazy danych
Modele przetwarzania
danych
przetwarzanie transakcji w trybie on-
line OLTP (on-line transaction
processing) – tradycyjny model
przetwarzania
przetwarzanie analityczne w trybie
on-line OLAP (on-line analytical
processing) – model opracowany dla
potrzeb analizy danych
Cechy OLTP
Doskonałe narzędzie do obsługi bieżącej działalności
firmy, operacji bankowych i księgowych, wykonywania
powtarzalnych i dobrze zdefiniowanych procesów.
Charakteryzuje się krótkimi i prostymi transakcjami,
które operują na niewielkich ilościach danych.
Większość operacji stanowią operacje modyfikacji
zapisu krotek, równolegle wykonują się setki bądź
tysiące transakcji, stąd kluczowe znaczenie mają
kwestie integralności, odtwarzania czy izolacji.
Użytkownicy OLTP - najczęściej urzędnicy, pracownicy
obsługi klienta itp.
Nie znajduje zastosowania w procesach analizy danych,
w systemach wspomagania decyzji oraz procesów nie
do końca dobrze zdefiniowanych.
1. Dynamiczna analiza danych – to taka, w której na danych
historycznych mogą być wykonywane ekstensywne
analizy wykorzystujące wielowymiarowe podejście do
zjawisk i danych
i pozwalają na zrozumienie ich dynamiki.
2. Modele przedsiębiorstwa umożliwiają:
1. definiowanie struktur danych (kategoryzacja),
2. określenie przyczyn istniejącego stanu zapisanego w
modelu kategoryzacji poprzez analizę danych
historycznych (egzegeza),
3. budowanie scenariuszy prognozowanie i
przewidywanie,
4. wskazywanie skomplikowanych połączeń pomiędzy
danymi pozornie niepowiązanymi (formalny, oparty o
formuły).
3. Wspólne dane przedsiębiorstwa – dane widziane poprzez
OLAP muszą być identyczne z tymi, które są używane
przez OLTP.
Najważniejsze charakterystyki
OLAP
•Dostęp do bardzo dużych zbiorów danych
•Analiza powiązań pomiędzy wieloma elementami
gospodarowania: sprzedaż, reklama, regiony,
kanały...
•Zawiera agregaty – przede wszystkim sumy
różnych wartości, ale także wyniki analiz długich
szeregów czasowych, złączenia wielu baz itp.
•Zawiera hierarchie
•Zawiera złożone formuły w odniesieniu do
różnorodnych przekrojów danych
Inne charakterystyki OLAP
Porównanie modelu danych
operacyjnych
i modelu danych hurtowni danych
MODEL DANYCH
OPERACYJNYCH
MODEL DANYCH HURTOWNI
Aktualizacja na poziomie rekordów
Aktualizacja na poziomie tablic
Integralność danych
Oczyszczone, przetworzone
Wiele wzajemnych relacji
Tablice wstępnie połączone
Zapytania na poziomie rekordu
Zapytania na poziomie tablic
Narzędzia SQL
OLAP, data mining, SQL
Transakcje
Usuwane dane nieistotne
Dane aktualne
Dane historyczne
Brak redundancji danych
Kontrolowana redundancja
Znormalizowany
Częściowo znormalizowany