Bazy danych
Znaczenie danych w organizacji opartej
na wiedzy
Bazy danych miejscem gromadzenia
danych
Relacyjne bazy danych
Hurtowania danych
OLAP
Data mining
Agenda:
Bazy danych
Potrzeba gromadzenia danych
1. dane o studentach, wykładowcach, przedmiotach
2. którzy wykładowcy uczą których przedmiotów
3. którzy studenci są zapisani na które przedmioty
4. który studenci zaliczyli moduły i na jakie oceny
Rejestracja (ewidencja) danych
1. dane o studentach wprowadza i aktualizuje Dziekanat
2. dane o przedmiotach wprowadza i aktualizuje Dział
dydaktyki
3. dane o zaliczeniach i ocenach wprowadzają i
aktualizują Wykładowcy
4. dane o zapisach studentów na przedmioty wprowadza
i aktualizuje Dziekanat
Bazy danych
Znaczenie danych w organizacji opartej
na wiedzy
Korzystanie z danych
1. sporządzanie list studentów
2.
sporządzanie
protokołów
zaliczeniowych
i
egzaminacyjnych
3. dane wejściowe dla planowania zajęć
Bazy danych
Znaczenie danych w organizacji opartej
na wiedzy
Bazy danych
Potrzeba stosowania baz danych
Izolowane systemy nie reprezentują sposobu, w jaki
działa organizacji
Izolowane systemy nie dostarczają pełnego obrazu
działalności przedsiębiorstwa
Przeglądając
zamówienia
do
zrealizowania
(system
Zamówienia)
Komunikacja pomiędzy izolowanymi systemami
odbywa się poza komputerem
Raporty z jednego rodzaju systemów stanowią dane wejściowe
do innych systemów
Izolowane systemy powielają dane i wyniki oraz
powodują opóźnienia - brak informacji o stanach
magazynowych (system Magazyn)
Dane o pracownikach przechowywane są w systemie Kadry i te
same są powielane w systemie Płace
Bazy danych
Problemy i trudności
Przechowywanie
danych
organizacji
w
sposób
scentralizowany, w jednym miejscu zamiast w
oddzielnych plikach
Baza danych – wspólny magazyn danych z nałożoną
wewnętrzną strukturą
Struktura oznacza pewien logiczny podział danych
Przykład papierowej bazy danych:
zbiór teczek w kartotece Dziekanatu (teczki: Student,
Przedmiot, Plan zajęć, Wykładowca)
Bazy danych
Rozwiązanie problemów i trudności
Dane to:
dane to „surowe” fakty w postaci liczb, ciągów
znaków, symboli, obrazów itp.
Baza danych to:
zbiór zgromadzonych i zapamiętanych danych
Baza danych to:
zbiór
zapamiętanych
na
nośnikach
elektronicznych
danych
wykorzystywanych
przez organizację
Bazy danych
Dane - Informacje - Bazy
danych
Baza danych to model pewnego obszaru
rzeczywistości (obszaru analizy)
1. przedmioty oferowane studentom
2. studenci zaliczający przedmioty
Klasy (encje) – obiekty istotne dla danego obszaru
analizy
1. Studenci
2. Przedmioty
Bazy danych
Istota bazy danych
Właściwości (atrybuty) – informacje na temat
obiektów danej klasy
1. studenci – nazwiska, imiona, adresy, daty urodzenia,
numery Pesel...
2. przedmioty – nazwy, punkty ECTS
Związki między klasami – informacje o związkach
pomiędzy poszczególnymi obiektami
1. studenci są zapisani na poszczególne przedmioty
2. na poszczególne przedmioty są zapisani studenci
Bazy danych
Istota bazy danych
Trwałość danych oznacza przechowywanie danych
w bazie przez pewien okres czasu
Bazy danych
Trwałość danych w baza danych
Baza danych to zbiór danych, które reprezentują
obszar rzeczywistości
Baza danych to zbiór faktów
Bazy danych
Bazy danych
Reprezentacja klas, atrybutów i związków
Bazy danych
Projektowanie bazy danych
Bazy danych
Schemat i zawartość bazy danych
Funkcje aktualizujące – dokonują zmian na danych,
zmieniają bazę danych z jednego stanu w drugi
Funkcje zapytań – wydobywają dane z bazy danych,
sprawdzają czy fakt lub grupa faktów zachodzi w
danym stanie bazy danych
Baza danych jest używana w tym samym czasie przez
wielu użytkowników – aktualizacja i zapytania w tym
samym
czasie
wykonywane
są
przez
wielu
użytkowników
Przykład:
Baza danych uczelni jest używana przez wykładowców,
pracowników dziekanatu, studentów
Bazy danych
Funkcje bazy danych
Współdzielenie danych – z danych w bazie danych
korzysta wiele osób, bardzo często w tym samym
czasie
Przykład:
Baza danych uczelni jest używana przez wykładowców,
pracowników dziekanatu, studentów
Integracja danych – w bazie danych dane nie
powtarzają się (nie ma redundancji danych)
Przykład:
Dane o studencie zapisane są tylko w jednym miejscu (w
jednym pliku)
Bazy danych
Właściwości bazy danych
Integralność danych – oznacza, że jeżeli pomiędzy
danymi w bazie danych istnieją związki, to zmiany
dokonane w jednych danych powinny znaleźć
odzwierciedlenie w innych danych
Przykład:
Zmiany w danych o przedmiotach powinny zaleźć odzwierciedlenie w
planie zajęć
Bezpieczeństwo danych - ograniczenie dostępu do
bazy danych zgodnie z uprawnieniami (dostęp do całej
bazy, dostęp do części bazy, dostęp do przeglądania,
dostęp do usuwania, dostęp do modyfikowania...)
Przykład:
Student ma dostęp do danych (przeglądanie) o wysokości czesnego i
dokonanych opłatach, nie ma uprawnień do modyfikowania danych o
wysokości czesnego i dokonanych wpłatach
Bazy danych
Właściwości bazy danych
Abstrakcja danych – baza danych jest wybranym
obszarem rzeczywistości i nie przechowuje wszystkich
szczegółów o rzeczywistości – jest zatem abstrakcją
rzeczywistości
Przykład:
Baza danych nie przechowuje wszystkich danych o
studentach, przechowuje tylko dane istotne z punktu
widzenia uczelni
Bazy danych
Właściwości bazy danych
Data Base Management System (DBMS)
SZBD
–
zorganizowany
zbiór
narzędzi
(programów)
umożliwiających
dostęp
i
zarządzanie jedną lub wieloma bazami danych
Za pomocą SZBD dokonuje się wszystkich
operacji na bazie danych
SZBD – bufor (pośrednik) między programami
użytkowymi, użytkownikami końcowymi i bazą
danych
Bazy danych
Systemy zarządzania bazą danych
Bazy danych
Systemy zarządzania bazą danych
Pielęgnacja bazy danych – dodanie nowych struktur
do bazy danych, modyfikacja istniejącej struktury
danych, wstawianie nowych danych do istniejących
struktur, usuwanie danych z istniejących struktur,
aktualizacja danych w istniejących strukturach
Przykład:
Dodanie do bazy danych nowej struktury służącej do
zapisywania
danych
o
dorobku
naukowym
wykładowców
Dodanie do bazy danych, danych o nowym studencie
Bazy danych
Funkcje systemu zarządzania bazą
danych
Wyszukiwanie danych z bazy danych przez
użytkowników oraz przez programy użytkowe
Przykład:
Student wyszukuje w bazie danych, danych o ocenie z
przedmiotu Informatyka
Dziekanat wyszukuje studentów, którzy nie zdali
egzaminu z przedmiotu Informatyka
Bazy danych
Funkcje systemu zarządzania bazą
danych
Kontrola danych – tworzenie i monitorowanie
użytkowników bazy danych, ograniczenie dostępu do
danych w bazie danych, nadzorowanie działania bazy
danych
Przykład:
Przydzielenie studentowi praw dostępu w trybie
przeglądania do danych o dokonanych wpłatach,
otrzymanych ocenach
Bazy danych
Funkcje systemu zarządzania bazą
danych
Zbiór ogólnych zasad posługiwania się danymi:
definicja danych – zbiór reguł określających jaka jest
struktura danych operowanie danymi – zbiór reguł
określających jak operuje się danymi integralność
danych – zbiór reguł określających, które stany bazy
danych są poprawne
Przykład:
model relacyjny, model sieciowy,
model hierarchiczny, model obiektowy
Bazy danych
Modele danych – jako architektura
danych
Twórca modelu relacyjnego (1970) - E.F. Codd
Relacja to zbiór n-elementowych ciągów
Relacja przedstawiona jest w postaci tabeli (tablicy)
Relacyjna baza danych to zbiór tabel (relacji)
Relacja (tablica) odpowiada plikowi w pamięci
komputera
Pojedynczy wiersz relacji to krotka
Relacja to dowolny skończony zbiór krotek
Kolumny tabeli to atrybuty
Relacyjna baza danych składa się z:
kilku powiązanych ze sobą tabel (relacji), które otrzymuje się
w procesie normalizacji
Bazy danych
Historia i istota relacyjnego modelu baz
danych
Każda relacja (tabela) w bazie danych ma
jednoznaczną nazwę
Każda kolumna w relacji ma jednoznaczną nazwę w
ramach jednej relacji
Wszystkie wartości w kolumnie muszą być tego
samego typu
Uporządkowanie kolumn w tablicy jest nieistotne
W tabeli nie może być dwóch tych samych krotek
(identycznych wierszy)
Uporządkowanie wierszy (krotek) w tabeli jest
nieistotne
Bazy danych
Cechy relacyjnego modelu baz danych
Przykład bazy danych w Ms Sql Server
Charakterystyka tabel/relacji
Klucz główny/klucz obcy
Bazy danych
Cechy relacyjnego modelu baz danych
Każda relacja ma klucz główny (primary key)
Klucz główny to jedna lub więcej kolumn (atrybutów),
które jednoznacznie identyfikują każdy wiersz w tabeli
Klucz główny zapewnia, że identyczne wiersze nie
powtarzają się w tabeli
Dwie właściwości klucza głównego:
klucz główny musi być jednoznaczny
klucz główny nie może mieć wartości null
Bazy danych
Klucz główny
Klucze obce (foreign key) – sposoby łączenia
danych przechowywanych w różnych tabelach
Klucz obcy to kolumna lub grupa kolumn w
tabeli, której (których) wartości są z tej samej
dziedziny co klucz główny tabeli powiązanej z
nią w bazie danych
Bazy danych
Klucz obcy
System bazy danych:
baza danych
system zarządzania bazą danych
sprzęt komputerowy pozwalający na gromadzenie i
manipulowanie danymi zgromadzonymi w bazie
danych
Rodzaje systemu baz danych:
scentralizowany system bazy danych
rozproszony system bazy danych
system lokalnej bazy danych
Bazy danych
Systemy baz danych
Jeden centralny komputer lub jedno centrum
komputerowe
obsługujące
bazę
danych
organizacji
Całość operacji związanych z gromadzeniem,
obróbką
oraz
udostępnianiem
danych
realizowana
jest
w
jednym
miejscu
z
wykorzystaniem jednego komputera bazowego
Dostęp do danych odbywa się za pośrednictwem
terminali
podłączonych
bezpośrednio
do
komputera głównego lub zdalnych terminali
Bazy danych
Systemy
baz
danych
-
Scentralizowany system baz danych
System informatyczny może operować na
danych zawartych w kilku fizycznych bazach
danych, zarządzanych przez różne systemy
zarządzania
bazą
danych
na
różnych
platformach sprzętowych
Techniczna złożoność projektów związanych z
projektowaniem i wdrożeniem rozproszonej
bazy danych
Utrzymanie
integralności
danych
zgromadzonych w systemie
Zabezpieczenie systemu przed niepowołanym
dostępem
Bazy danych
Systemy baz danych – Rozproszony
system baz danych
Tworzenie
baz
danych
na
lokalnych
komputerach (np. przy wykorzystaniu Access)
Pozyskiwanie i ładowanie do lokalnych baz
danych, danych z centralnej bazy danych
Bazy danych
Systemy baz danych – Lokalna baza
danych
Przydzielanie użytkownikom praw dostępu do
bazy danych
Archiwizacja bazy danych
Zmiana konfiguracji sprzętu i oprogramowania
Zabezpieczenia systemu komputerowego przed
niepowołanym dostępem
Odtwarzanie stanu bazy danych po wystąpieniu
ewentualnych awarii
Uaktualnianie oprogramowania zarządzającego
bazą danych
Dbanie o utrzymanie integralności bazy danych
Bazy danych
Zadania administracyjne baz danych
Serwer to:
Komputer, który pracując w sieci komputerowej
zapewnia określone usługi
serwery plików - udostępniają innym, pracującym w
sieci komputerom, zgromadzone zbiory
serwery
drukarki
-
udostępniają
innym
użytkownikom podłączoną do nich drukarkę
Program (lub część oprogramowania), świadczący
określone usługi innym programom, np. program
realizujący dostęp do bazy danych
Klient to: program, który zwraca się o wykonanie
określonej usługi do serwera (np. wyszukanie
określonych informacji w bazie danych)
Bazy danych
Architektura klient – serwer
Baza danych klient - serwer rozdziela przetwarzanie
pomiędzy dwa systemy:
Klienta, na którym wykonywane są systemy
informatyczne korzystające z zasobów bazy danych
Serwer, na którym wykonuje się system zarządzania
bazą danych
Dwa elementy bazy danych klient - serwer:
Podłączony do sieci wyspecjalizowany serwer baz
danych - komputer dedykowany do obsługi konkretnej
bazy danych wraz z systemem zarządzania bazą
danych i oprogramowaniem pełniący rolę serwera
Duża ilość połączonych siecią komputerów
osobistych - mogących pełnić rolę klientów
Bazy danych
Architektura klient – serwer
Twórca teorii hurtowni danych Wilhelm Immon:
Hurtownia danych to:
tematycznie zorientowana, zintegrowana,
spójna, chronologiczna, zmienna w czasie,
kolekcja niezmiennych danych
zorientowana na proces wspomagania decyzji,
podejmowanych przez menedżerów organizacji
Bazy danych
Hurtownia danych
Hurtownia danych to:
repozytorium o strukturze właściwej dla organizacji
gospodarczej,
zawierające ukierunkowane tematycznie,
zmienne w czasie, historyczne dane
używane w procesach wyszukiwania informacji
Bazy danych
Hurtownia danych
Przechowuje dane pierwotne i dane zagregowane
Przechowuje dane pochodzące z różnych źródeł
Służy gromadzeniu danych na potrzeby analizy
organizacji i jej otoczenia
Hurtownia danych ma wspomagać przetwarzanie
informacji dla celów strategicznych i analitycznych
Przechowuje zintegrowane i spójne dane, odnoszące się
do konkretnych punktów w czasie (obraz prowadzonej
przez organizację działalności biznesowej w określonym
horyzoncie czasu)
Dane w hurtowniach są z natury historyczne (pozwalają
na analizę przeszłych i obecnych trendów oraz na
prognozowanie przy zastosowaniu scenariuszy typu:
„co będzie, jeśli...”)
Bazy danych
Istota hurtowni danych
Dane w hurtowniach są przechowywane z
podziałem na określone obszary tematyczne
(np.: klient, produkt, położenie geograficzne)
W hurtowni danych są wykonywane tylko dwie
operacje na danych:
wprowadzanie danych (dopisanie danych)
udostępnianie danych (odczyt danych)
Dane w hurtowni danych są:
uporządkowane tematycznie
spójne (zintegrowane)
chronologiczne (zawierające wymiar czasowy)
niezmienne (nieulotne)
Bazy danych
Istota hurtowni danych
Centralne składnice danych (data warehouse) -
zbiorcza
baza
danych
surowych
oraz
zagregowanych,
obejmujących
cała
przedsiębiorstwo
Tematyczne składnice danych (data marts) -
zbiorcza
baza
danych
surowych
oraz
zagregowanych, obejmujących wybrany temat
(zagadnienie), np. obszar funkcjonalny, taki jak
sprzedaż, finanse czy marketing
Tematyczne hurtownie danych – zależne i niezależne
od centralnej hurtowni danych
Bazy danych
Rodzaje hurtowni danych
Wielowymiarowa analiza danych (OnLine Analytical
Processing)
Interaktywne
tworzenia
raportów
według
zdefiniowanych
przez
użytkownika
kryteriów
(wymiarów)
Optymalizacja
przeszukiwania
dużych
zbiorów
danych, poprzez automatyczne generowanie zapytań
języka SQL
Udostępniają odpowiedzi na pytania, typu: "kto?",
"co?", "kiedy?", "co jeśli?" i "dlaczego?"
Pozwalają na przeprowadzanie kompleksowych
analiz, dotyczących funkcjonowania organizacji,
relacji z klientami, zyskowności produktów itp.
Bazy danych
OLAP
Do prognozowania (prediction) - polega na
wykorzystaniu znanych wartości zmiennych do
przewidywania przyszłości (np. model prognostyczny
pomaga na podstawie danych z okresów ubiegłych,
oszacować przychody w ramach poszczególnych
grup asortymentowych wyrobów i grup klientów)
Do opisu rzeczywistości (description) - polega na
tworzeniu czytelnej i zrozumiałej dla człowieka
reprezentacji wiedzy wydobytej z danych w postaci
reguł, zależności, wykresów, wzorów (np. wydobyta
wiedza o zakupach klientów może być spożytkowana
do wspomagania decyzji dotyczących polityki
cenowej)
Bazy danych
Data
mining
(drążenie
danych,
eksploracja danych) – zastosowanie
Klasyfikowanie
(classification)
-
polega
na
określeniu reguł, które służą do przyporządkowania
(zaklasyfikowania) danych do jednej lub więcej
wcześniej zdefiniowanych klas (grup) danych
Dane o sprzedaży pozwalają odkryć regułę
mówiącą, że klienci z przedziału wiekowego W1 –
W2 w X% przypadków kupują produkt P
Dane marketingowe pozwalają odkryć regułę
mówiącą, że mężczyźni w X% przypadków
korzystają z promocji cenowej i dokonują zakupów
Bazy danych
Data mining – przykładowe algorytmy
Grupowanie
(clustering)
-
polega
na
przyporządkowaniu branego pod uwagę elementu
do jednej lub wielu grup (klas), przy czym grupy
te są wyznaczane przez sam proces grupowania
na podstawie analizy danych o wszystkich
dostępnych elementach
Wynikiem grupowania może być reguła mówiąca,
że X% klientów, którzy kupują produkt A to
kobiety
Bazy danych
Data mining – przykładowe algorytmy
Kojarzenie (association) - sprowadza się do
odszukiwania tych danych, które wiążą się z
zadanym zdarzeniem lub inną daną
Specyficzną formą asocjacji są sekwencje (lista
działań, czynności lub zdarzeń następujących po
sobie w czasie)
Dane o sprzedaży pozwalają określić, że jeżeli
klient zakupił produkt A, to w X% przypadków
zakupi produkt B
Bazy danych
Data mining – przykładowe algorytmy
Bazy danych
Bazy danych