Technologie Informacyjne
Technologie Informacyjne
część II
część II
Dr hab. inż. Zbigniew
Dr hab. inż. Zbigniew
Fąfara
Fąfara
Pawilon A1, parter, pokój
Pawilon A1, parter, pokój
21
21
Systemy Bazy Danych
Systemy Bazy Danych
Systemy bazy danych stanowią jeden
z dwóch wiodących kierunków we
współczesnej Informatyce. Drugim
kierunkiem są sieci komputerowe.
Bazy danych
Bazy danych
Pierwsze elektroniczne maszyny obliczeniowe
Pierwsze elektroniczne maszyny obliczeniowe
(komputery) konstruowane w latach czterdziestych
(komputery) konstruowane w latach czterdziestych
XX wieku wykorzystywane były w sektorze
XX wieku wykorzystywane były w sektorze
wojskowym. Ich celem była realizacja obliczeń na
wojskowym. Ich celem była realizacja obliczeń na
potrzeby toczącej się II wojny światowej, a po jej
potrzeby toczącej się II wojny światowej, a po jej
zakończeniu – zbrojenia się w okresie
zakończeniu – zbrojenia się w okresie
zimnowojennym. Maszyny te dosłownie prowadziły
zimnowojennym. Maszyny te dosłownie prowadziły
tylko obliczenia i stąd wzięła się ich nazwa komputer
tylko obliczenia i stąd wzięła się ich nazwa komputer
(ang. compute znaczy liczyć).
(ang. compute znaczy liczyć).
Dopiero w latach pięćdziesiątych XX wieku w USA
Dopiero w latach pięćdziesiątych XX wieku w USA
pracowało tak dużo komputerów, że część z nich
pracowało tak dużo komputerów, że część z nich
mogła być wykorzystana dla celów cywilnych.
mogła być wykorzystana dla celów cywilnych.
Zastosowano je do gromadzenia i przetwarzania
Zastosowano je do gromadzenia i przetwarzania
informacji.
informacji.
Bazy Danych
Bazy Danych
Rozwój zastosowań wymagających operowania
Rozwój zastosowań wymagających operowania
dużymi i trwałymi zbiorami danych:
dużymi i trwałymi zbiorami danych:
Systemy plików (lata 50 XX wieku)
Systemy plików (lata 50 XX wieku)
Systemy bazy danych (lata 60 XX wieku)
Systemy bazy danych (lata 60 XX wieku)
Hurtownie danych (lata 90 XX wieku)
Hurtownie danych (lata 90 XX wieku)
System plików – integracja danych i programów
System plików – integracja danych i programów
System bazy danych, hurtownie danych –
System bazy danych, hurtownie danych –
oddzielenie danych od programów
oddzielenie danych od programów
System bazy danych - dane operacyjne
System bazy danych - dane operacyjne
Hurtownia danych – dane analityczne (historyczne)
Hurtownia danych – dane analityczne (historyczne)
Systemy plików
Systemy plików
Pierwsze zastosowania komputerów do operowania dużymi i
Pierwsze zastosowania komputerów do operowania dużymi i
trwałymi zbiorami danych polegały na tworzeniu systemu
trwałymi zbiorami danych polegały na tworzeniu systemu
plików – zestawów programów i plików ściśle ze sobą
plików – zestawów programów i plików ściśle ze sobą
powiązanych.
powiązanych.
Programy umożliwiały realizację zaplanowanych operacji na
Programy umożliwiały realizację zaplanowanych operacji na
danych (np. ich przeszukiwanie) a także pozwalały na wyłączny
danych (np. ich przeszukiwanie) a także pozwalały na wyłączny
dostęp do danych zapisanych w plikach. Mankamentem tego
dostęp do danych zapisanych w plikach. Mankamentem tego
rozwiązania była ścisła integracja programów i danych,
rozwiązania była ścisła integracja programów i danych,
ponieważ w programach opisana została struktura plików z
ponieważ w programach opisana została struktura plików z
danymi oraz sposób ich czytania. Jakakolwiek zmiana struktury
danymi oraz sposób ich czytania. Jakakolwiek zmiana struktury
plików z danymi (nawet niewielka) wymagała powtórnego
plików z danymi (nawet niewielka) wymagała powtórnego
przygotowania programów. Z drugiej strony dany zestaw
przygotowania programów. Z drugiej strony dany zestaw
programów nie mógł być bezpośrednio wykorzystywany do
programów nie mógł być bezpośrednio wykorzystywany do
zarządzania innym zbiorem danych.
zarządzania innym zbiorem danych.
Każdy zbiór danych wymagał przygotowania od podstaw
Każdy zbiór danych wymagał przygotowania od podstaw
programów do zarządzania nim.
programów do zarządzania nim.
Systemy plików
Systemy plików
Konieczność przygotowywania od podstaw zestawu
Konieczność przygotowywania od podstaw zestawu
programów i plików dla każdego przypadku
programów i plików dla każdego przypadku
zarządzania dużym i trwałym zbiorem danych przez
zarządzania dużym i trwałym zbiorem danych przez
komputer była zjawiskiem negatywnym z powodu:
komputer była zjawiskiem negatywnym z powodu:
Podnoszenia kosztów robocizny przy realizacji
Podnoszenia kosztów robocizny przy realizacji
systemu plików (każdy stanowił osobne dzieło).
systemu plików (każdy stanowił osobne dzieło).
Opóźnienia czasowego wywołanego oczekiwaniem
Opóźnienia czasowego wywołanego oczekiwaniem
na przygotowanie systemu plików.
na przygotowanie systemu plików.
Dlatego już w latach 50 XX wieku zrodził się pomysł
Dlatego już w latach 50 XX wieku zrodził się pomysł
przygotowania pewnego uniwersalnego zestawu
przygotowania pewnego uniwersalnego zestawu
narzędzi (programów), który mógłby być
narzędzi (programów), który mógłby być
wykorzystany do założenia (niemal) dowolnej bazy
wykorzystany do założenia (niemal) dowolnej bazy
danych i zarządzania informacją w niej zawartą.
danych i zarządzania informacją w niej zawartą.
Pomysł ten doczekał się realizacji w latach 60 XX
Pomysł ten doczekał się realizacji w latach 60 XX
wieku.
wieku.
Systemy Bazy Danych
Systemy Bazy Danych
System Bazy Danych
System Bazy Danych
to pewien uniwersalny zestaw
to pewien uniwersalny zestaw
narzędzi programowych (programów) i sprzętowych
narzędzi programowych (programów) i sprzętowych
(sprzętu), który pozwala na założenie, zarządzanie i
(sprzętu), który pozwala na założenie, zarządzanie i
obsługę prawie dowolnych danych zorganizowanych
obsługę prawie dowolnych danych zorganizowanych
w postaci komputerowej bazy danych.
w postaci komputerowej bazy danych.
Rodzaj i struktura danych przechowywanych w bazie
Rodzaj i struktura danych przechowywanych w bazie
danych posiada ograniczenia wynikające z
danych posiada ograniczenia wynikające z
przyjętych założeń odnośnie sposobu reprezentacji
przyjętych założeń odnośnie sposobu reprezentacji
danych. Założenia te ulegały zmianom na
danych. Założenia te ulegały zmianom na
przestrzeni lat wraz z przygotowywaniem kolejnych
przestrzeni lat wraz z przygotowywaniem kolejnych
rodzin systemów bazy danych.
rodzin systemów bazy danych.
Obsługa danych zawsze obejmuje wszystkie typowe
Obsługa danych zawsze obejmuje wszystkie typowe
operacje bazodanowe, ewentualnie z dodatkowymi
operacje bazodanowe, ewentualnie z dodatkowymi
funkcjami zależnymi od konkretnego systemu bazy
funkcjami zależnymi od konkretnego systemu bazy
danych.
danych.
Systemy Bazy Danych
Systemy Bazy Danych
Pierwsze systemy bazy danych powstały w latach 60 XX
Pierwsze systemy bazy danych powstały w latach 60 XX
wieku. Ich celem było wspomaganie bieżącej
wieku. Ich celem było wspomaganie bieżącej
działalności firmy, instytucji – dlatego operowały na
działalności firmy, instytucji – dlatego operowały na
informacjach dotyczących teraźniejszości lub
informacjach dotyczących teraźniejszości lub
niedalekiej przeszłości, np.
niedalekiej przeszłości, np.
W bibliotece przechowuje się informacje o aktualnie
W bibliotece przechowuje się informacje o aktualnie
wypożyczonych książkach (kto co wypożyczył). Po
wypożyczonych książkach (kto co wypożyczył). Po
zwrocie książki ślad o jej wypożyczeniu znika. Można
zwrocie książki ślad o jej wypożyczeniu znika. Można
także przechowywać informacje o wypożyczonych i
także przechowywać informacje o wypożyczonych i
zwróconych książkach przez klientów w ciągu
zwróconych książkach przez klientów w ciągu
jakiegoś okresu czasu, ale powoduje to wzrost
jakiegoś okresu czasu, ale powoduje to wzrost
wielkości bazy danych obniżając efektywność
wielkości bazy danych obniżając efektywność
działania systemu. Dlatego zazwyczaj dane
działania systemu. Dlatego zazwyczaj dane
historyczne co jakiś czas (np. co miesiąc, co rok)
historyczne co jakiś czas (np. co miesiąc, co rok)
archiwizuje się.
archiwizuje się.
Systemy Bazy Danych
Systemy Bazy Danych
W sklepie przechowuje się informacje o towarach
W sklepie przechowuje się informacje o towarach
znajdujących się na półkach i w magazynie a także
znajdujących się na półkach i w magazynie a także
transakcje sprzedaży zrealizowane przez
transakcje sprzedaży zrealizowane przez
poszczególnych kasjerów. Po zdaniu kasy i rozliczeniu
poszczególnych kasjerów. Po zdaniu kasy i rozliczeniu
się z pieniędzy przez danego kasjera nie ma potrzeby
się z pieniędzy przez danego kasjera nie ma potrzeby
przechowywania w systemie informacji o tym, co
przechowywania w systemie informacji o tym, co
sprzedał. Powoduje to wzrost wielkości bazy danych i
sprzedał. Powoduje to wzrost wielkości bazy danych i
spadek efektywności przetwarzania danych.
spadek efektywności przetwarzania danych.
Rozliczone transakcje wyrzuca się z systemu
Rozliczone transakcje wyrzuca się z systemu
archiwizując je co jakiś czas (np. na zakończenie dnia,
archiwizując je co jakiś czas (np. na zakończenie dnia,
tygodnia, miesiąca).
tygodnia, miesiąca).
Oczywiście przechowywanie informacji dotyczącej
Oczywiście przechowywanie informacji dotyczącej
niedalekiej przeszłości także może być pomocne w
niedalekiej przeszłości także może być pomocne w
planowaniu bieżącej działalności firmy – np. w sklepie
planowaniu bieżącej działalności firmy – np. w sklepie
może dać sygnał o kończeniu się zapasów danego
może dać sygnał o kończeniu się zapasów danego
towaru na półce, czy w magazynie. Nie ma jednak
towaru na półce, czy w magazynie. Nie ma jednak
sensu przechowywanie danych z wielu lat.
sensu przechowywanie danych z wielu lat.
System bazy danych
System bazy danych
ma za zadanie wspomagać
ma za zadanie wspomagać
bieżącą działalność firmy, organizacji, instytucji.
bieżącą działalność firmy, organizacji, instytucji.
Baza danych obejmuje dane operacyjne, dotyczące
Baza danych obejmuje dane operacyjne, dotyczące
teraźniejszości lub najbliższej przeszłości. Polecenia
teraźniejszości lub najbliższej przeszłości. Polecenia
użytkownika muszą być wykonywane w możliwie
użytkownika muszą być wykonywane w możliwie
najkrótszym czasie, zalecany tryb on-line.
najkrótszym czasie, zalecany tryb on-line.
Dane przechowywane w systemie bazy danych
Dane przechowywane w systemie bazy danych
ulegają ciągłym modyfikacjom. Polecenia
ulegają ciągłym modyfikacjom. Polecenia
użytkowników wykonywane są na stosunkowo
użytkowników wykonywane są na stosunkowo
małych ilościach danych.
małych ilościach danych.
Systemy Bazy Danych
Systemy Bazy Danych
Hurtownia Danych
Hurtownia Danych
Po pewnym czasie eksploatacji danych za pomocą
Po pewnym czasie eksploatacji danych za pomocą
systemów bazy danych zaczyna rozrastać się
systemów bazy danych zaczyna rozrastać się
(praktycznie nieprzydatny) zbiór danych
(praktycznie nieprzydatny) zbiór danych
historycznych. Pomijanie ich zaczęto postrzegać jako
historycznych. Pomijanie ich zaczęto postrzegać jako
błąd. W społeczeństwie egzystuje powiedzenie, że w
błąd. W społeczeństwie egzystuje powiedzenie, że w
historii kryje się wiedza, trzeba tylko umieć ja odkryć.
historii kryje się wiedza, trzeba tylko umieć ja odkryć.
Gromadzono więc w osobnych systemach dane
Gromadzono więc w osobnych systemach dane
historyczne i zaczęto ich analizę. W ten sposób w
historyczne i zaczęto ich analizę. W ten sposób w
latach 90 XX wieku powstały pierwsze hurtownie
latach 90 XX wieku powstały pierwsze hurtownie
danych. Stały się one podstawą systemów
danych. Stały się one podstawą systemów
wspomagania podejmowania decyzji.
wspomagania podejmowania decyzji.
Organizacja hurtowni danych nieco różni się od systemu
Organizacja hurtowni danych nieco różni się od systemu
bazy danych z uwagi na operowanie znacznie
bazy danych z uwagi na operowanie znacznie
większymi zbiorami danych. Dane te dotyczą historii,
większymi zbiorami danych. Dane te dotyczą historii,
dlatego nie podlegają już modyfikacji. Różny jest także
dlatego nie podlegają już modyfikacji. Różny jest także
zakres operacji wykonywanych na danych oraz ich cel.
zakres operacji wykonywanych na danych oraz ich cel.
Hurtownia danych
Hurtownia danych
stanowi system wspomagania
stanowi system wspomagania
decyzji. Ma ona ułatwić decydentom
decyzji. Ma ona ułatwić decydentom
podejmowanie decyzji, dzięki możliwości
podejmowanie decyzji, dzięki możliwości
prowadzenia analizy danych historycznych
prowadzenia analizy danych historycznych
(analitycznych), dotyczących przeszłości.
(analitycznych), dotyczących przeszłości.
Polecenia użytkownika mogą być wykonywane w
Polecenia użytkownika mogą być wykonywane w
dłuższym czasie (nie jest wymagany tryb on-line,
dłuższym czasie (nie jest wymagany tryb on-line,
tylko off-line), ponieważ podejmowanie decyzji jest
tylko off-line), ponieważ podejmowanie decyzji jest
procesem długofalowym, wymagającym rozwagi.
procesem długofalowym, wymagającym rozwagi.
Dane przechowywane w hurtowni danych są stałe,
Dane przechowywane w hurtowni danych są stałe,
niezmienne (nie można zmienić historii). Polecenia
niezmienne (nie można zmienić historii). Polecenia
użytkowników dotyczą odczytu i analizy
użytkowników dotyczą odczytu i analizy
stosunkowo dużych ilości danych.
stosunkowo dużych ilości danych.
Hurtownia Danych
Hurtownia Danych
Decyzje podejmowane na podstawie wiedzy
Decyzje podejmowane na podstawie wiedzy
uzyskanej z hurtowni danych odnoszą się do
uzyskanej z hurtowni danych odnoszą się do
kierunku działalności firmy w przyszłości, w okresie
kierunku działalności firmy w przyszłości, w okresie
kilku najbliższych miesięcy, czy nawet lat.
kilku najbliższych miesięcy, czy nawet lat.
Rodzaje podejmowanych decyzji
Rodzaje podejmowanych decyzji
:
:
Operacyjne
Operacyjne
(bieżące dotyczące teraźniejszości
(bieżące dotyczące teraźniejszości
lub krótkoterminowe dotyczące przyszłości – np.
lub krótkoterminowe dotyczące przyszłości – np.
zamawianie kończącego się towaru na kilka
zamawianie kończącego się towaru na kilka
następnych dni) – SBD
następnych dni) – SBD
Strategiczne
Strategiczne
(krótkoterminowe – dotyczące
(krótkoterminowe – dotyczące
kierunku działalności firmy w okresu kilku
kierunku działalności firmy w okresu kilku
następnych miesięcy, długoterminowe – dotyczące
następnych miesięcy, długoterminowe – dotyczące
działalności firmy w okresie następnych lat) – HD
działalności firmy w okresie następnych lat) – HD
Hurtownie Danych
Hurtownie Danych
Co dało przejście z systemu plików na system bazy
Co dało przejście z systemu plików na system bazy
danych:
danych:
fizyczna i logiczna niezależność danych
fizyczna i logiczna niezależność danych
przechowywanie danych bez redundancji
przechowywanie danych bez redundancji
centralna kontrola integralności danych
centralna kontrola integralności danych
języki baz danych na wysokim poziomie abstrakcji
języki baz danych na wysokim poziomie abstrakcji
System bazy danych składa się z:
System bazy danych składa się z:
systemu zarządzania bazą danych (SZBD)
systemu zarządzania bazą danych (SZBD)
bazy (baz) danych
bazy (baz) danych
modelu danych
modelu danych
System Bazy Danych
System Bazy Danych
System Bazy Danych
System Bazy Danych
Zestaw narzędzi SZBD
Baza danych
Jądro SZBD
Interfejs SZBD
Model
danych
Świat
rzeczywisty
System Bazy Danych
System Bazy Danych
W skład systemu zarządzania bazą danych wchodzą:
W skład systemu zarządzania bazą danych wchodzą:
Jądro SZBD – podstawowy zestaw narzędzi
Jądro SZBD – podstawowy zestaw narzędzi
(programów) do tworzenia, zarządzania i
(programów) do tworzenia, zarządzania i
operowania danymi.
operowania danymi.
Interfejs SZBD – język wspólny użytkownikowi i
Interfejs SZBD – język wspólny użytkownikowi i
systemowi bazy danych, który pozwala
systemowi bazy danych, który pozwala
użytkownikowi na edycję poleceń kierowanych do
użytkownikowi na edycję poleceń kierowanych do
SZBD a systemowi na tworzenie odpowiedzi i
SZBD a systemowi na tworzenie odpowiedzi i
wysyłanie komunikatów.
wysyłanie komunikatów.
Zestaw (dodatkowych) narzędzi SZBD – dodatkowe
Zestaw (dodatkowych) narzędzi SZBD – dodatkowe
programy ułatwiające administratorowi systemu
programy ułatwiające administratorowi systemu
bazy danych pracę (zarządzanie, monitorowanie
bazy danych pracę (zarządzanie, monitorowanie
działania systemu, zestrajanie, aktualizowanie itp.).
działania systemu, zestrajanie, aktualizowanie itp.).
System Zarządzania Bazą
System Zarządzania Bazą
Danych
Danych
System Zarządzania Bazą Danych
System Zarządzania Bazą Danych
to zorganizowany
to zorganizowany
zbiór narzędzi (programów) umożliwiających:
zbiór narzędzi (programów) umożliwiających:
Założenie bazy danych (definicja struktury,
Założenie bazy danych (definicja struktury,
wprowadzenie danych).
wprowadzenie danych).
Zarządzanie bazą danych (monitorowanie pracy
Zarządzanie bazą danych (monitorowanie pracy
systemu, audyt, kontrola dostępu do danych,
systemu, audyt, kontrola dostępu do danych,
zapewnienie poprawności danych, odtwarzanie danych,
zapewnienie poprawności danych, odtwarzanie danych,
kontrola współbieżności transakcji).
kontrola współbieżności transakcji).
Operowanie danymi (wprowadzanie nowych informacji,
Operowanie danymi (wprowadzanie nowych informacji,
usuwanie i modyfikowanie istniejących, wyszukiwanie
usuwanie i modyfikowanie istniejących, wyszukiwanie
informacji, wykonywanie operacji na danych z bazy).
informacji, wykonywanie operacji na danych z bazy).
SZBD stanowi między innymi powłokę oddzielającą dane
SZBD stanowi między innymi powłokę oddzielającą dane
od użytkownika. Użytkownik ma dostęp do danych tylko
od użytkownika. Użytkownik ma dostęp do danych tylko
za pośrednictwem systemu zarządzania bazą danych.
za pośrednictwem systemu zarządzania bazą danych.
Polecenia użytkownika kierowane do systemu
Polecenia użytkownika kierowane do systemu
zarządzania bazą danych dzielą się na:
zarządzania bazą danych dzielą się na:
zapytania (operacje wyszukiwania danych bez
zapytania (operacje wyszukiwania danych bez
zmiany zawartości bazy danych),
zmiany zawartości bazy danych),
transakcje (operacje zmieniające zawartość bazy
transakcje (operacje zmieniające zawartość bazy
danych: modyfikacja, usuwanie, wstawianie).
danych: modyfikacja, usuwanie, wstawianie).
Baza danych
Baza danych
to zbiór (magazyn) zinterpretowanych
to zbiór (magazyn) zinterpretowanych
danych z nałożoną na niego wewnętrzną strukturą
danych z nałożoną na niego wewnętrzną strukturą
opisującą zależności między nimi. Dane dotyczą
opisującą zależności między nimi. Dane dotyczą
pewnego zestawu zadań organizacyjnych firmy lub
pewnego zestawu zadań organizacyjnych firmy lub
organizacji wykonywanych podczas codziennej jej
organizacji wykonywanych podczas codziennej jej
działalności.
działalności.
Baza Danych
Baza Danych
Baza Danych
Baza Danych
Dane w komputerze pracującym w systemie
Dane w komputerze pracującym w systemie
binarnym to tylko ciągi zer i jedynek. Użytkownik
binarnym to tylko ciągi zer i jedynek. Użytkownik
musi umieć je zinterpretować (wiedzieć co
musi umieć je zinterpretować (wiedzieć co
oznaczają i czego dotyczą) oraz wiedzieć jak są ze
oznaczają i czego dotyczą) oraz wiedzieć jak są ze
sobą powiązane. Dopiero wtedy dane stają się
sobą powiązane. Dopiero wtedy dane stają się
informacją. Dane są w zasadzie nieprzydatne.
informacją. Dane są w zasadzie nieprzydatne.
Dopiero informacja może zostać wykorzystana.
Dopiero informacja może zostać wykorzystana.
Baza Danych
Baza Danych
Np. dane następującego typu:
Np. dane następującego typu:
Beata Brown 600111222
Beata Brown 600111222
Iwona Green 500333444
Iwona Green 500333444
będą dla użytkownika nieprzydatne dopóki nie będzie
będą dla użytkownika nieprzydatne dopóki nie będzie
on wiedział, że Beata i Iwona to imiona, Brown i
on wiedział, że Beata i Iwona to imiona, Brown i
Green to nazwiska, a liczby są ich numerami
Green to nazwiska, a liczby są ich numerami
telefonów. Dodatkowo z przedstawionego zapisu
telefonów. Dodatkowo z przedstawionego zapisu
wynika, że Beata ma na nazwisko Brown i posiada
wynika, że Beata ma na nazwisko Brown i posiada
telefon o numerze 600111222, natomiast Iwona ma
telefon o numerze 600111222, natomiast Iwona ma
na nazwisko Green i posiada telefon o numerze
na nazwisko Green i posiada telefon o numerze
5000333444. Gdy użytkownik pozna znaczenie tych
5000333444. Gdy użytkownik pozna znaczenie tych
danych i zależność między nimi mówimy, że
danych i zależność między nimi mówimy, że
posiada informacje.
posiada informacje.
Model Danych
Model Danych
Model danych
Model danych
– to pewna umowa określająca
– to pewna umowa określająca
sposób przedstawiania danych wraz z
sposób przedstawiania danych wraz z
zależnościami między nimi (architektura danych).
zależnościami między nimi (architektura danych).
Model danych stanowi zarazem zbiór wymagań,
Model danych stanowi zarazem zbiór wymagań,
jakie muszą spełniać dane (inaczej projekt
jakie muszą spełniać dane (inaczej projekt
danych).
danych).
Z drugiej strony model danych określa pewien zbiór
Z drugiej strony model danych określa pewien zbiór
ogólnych zasad dotyczących posługiwania się
ogólnych zasad dotyczących posługiwania się
danymi. Z tego powodu model danych warunkuje
danymi. Z tego powodu model danych warunkuje
postać języka danych, czyli języka w którym
postać języka danych, czyli języka w którym
użytkownik definiuje swoje polecenia kierowane
użytkownik definiuje swoje polecenia kierowane
do systemu zarządzania bazą danych.
do systemu zarządzania bazą danych.
System Bazy Danych
System Bazy Danych
Program 1
Program N
...
Podsystem komunikacyjny
SZBD
Baza
danych
System operacyjny
Trzypoziomowa architektura
Trzypoziomowa architektura
SBD
SBD
Użytkownik
A1
Użytkownik
A2
Użytkownik
B1
Użytkownik
B2
Użytkownik
B3
Język
macierzysty
Obszar
roboczy
Język
macierzysty
Obszar
roboczy
Język
macierzysty
Obszar
roboczy
Język
macierzysty
Obszar
roboczy
Język
macierzysty
Obszar
roboczy
Pośrednictwo
użytkownika
Schemat
zewnętrzny
A
Model
zewnętrzny A
Model
zewnętrzny B
Pośrednictwo
użytkownika
Schemat
zewnętrzny
B
Odwzorowanie A
zewnętrzny/pojęciow
y
Model danych
(model
pojęciowy)
S
Z
B
D
Definicja
struktury pamięci
(schemat
wewnętrzny)
Pamiętana baza danych
(model wewnętrzny)
Schemat
pojęciow
y
Schematy i
odwzorowani
a tworzone i
utrzymywan
e przez
administrato
ra bazy
danych
Odwzorowanie B
zewnętrzny/pojęcio
wy
Odwzorowanie
pojęciowy/wewnętrzn
y
Aspekty niezależności danych:
Aspekty niezależności danych:
Oddzielenie danych od procesów (aplikacji) –
Oddzielenie danych od procesów (aplikacji) –
możliwość niezależnego modyfikowania danych i
możliwość niezależnego modyfikowania danych i
programów użytkowych.
programów użytkowych.
Niezależność na poziomie fizyczny-logiczny
Niezależność na poziomie fizyczny-logiczny
(niezależność schematu logicznego bazy danych
(niezależność schematu logicznego bazy danych
od fizycznego sposobu przechowywania danych
od fizycznego sposobu przechowywania danych
na nośnikach).
na nośnikach).
Niezależność na poziomie logiczny-zewnętrzny
Niezależność na poziomie logiczny-zewnętrzny
(niezależność schematu logicznego bazy danych
(niezależność schematu logicznego bazy danych
od jej modelu zewnętrznego widzianego przez
od jej modelu zewnętrznego widzianego przez
bezpośredniego użytkownika).
bezpośredniego użytkownika).
System Bazy Danych
System Bazy Danych
Niezależność danych
Niezależność danych
Zależność aplikacji od danych
Zależność aplikacji od danych
– organizacja danych
– organizacja danych
i/lub techniki dostępu są wbudowane w logiczną
i/lub techniki dostępu są wbudowane w logiczną
strukturę programów użytkowych. W konsekwencji
strukturę programów użytkowych. W konsekwencji
reorganizacja danych wymaga zmiany struktury
reorganizacja danych wymaga zmiany struktury
logicznej programu użytkowego i odwrotnie.
logicznej programu użytkowego i odwrotnie.
Podstawowym celem systemów baz danych jest
Podstawowym celem systemów baz danych jest
zapewnienie
zapewnienie
niezależności danych
niezależności danych
, rozumianej
, rozumianej
jako – odporność programów użytkowych na zmiany
jako – odporność programów użytkowych na zmiany
struktury pamięci przechowującej dane i strategii
struktury pamięci przechowującej dane i strategii
dostępu (i odwrotnie).
dostępu (i odwrotnie).
System Bazy Danych
System Bazy Danych
Ewolucja systemów baz danych:
Ewolucja systemów baz danych:
1.
1.
Systemy plików – podejście zorientowane na pliki
Systemy plików – podejście zorientowane na pliki
2.
2.
Generacja pierwsza SBD – podejście
Generacja pierwsza SBD – podejście
zorientowane na rekordy
zorientowane na rekordy
3.
3.
Generacja druga SBD – podejście zorientowane
Generacja druga SBD – podejście zorientowane
na tabele (będące zbiorem rekordów, przejaw
na tabele (będące zbiorem rekordów, przejaw
agregacji)
agregacji)
4.
4.
Generacja trzecia SBD – podejście zorientowane
Generacja trzecia SBD – podejście zorientowane
na obiekty (o różnym poziomie abstrakcji)
na obiekty (o różnym poziomie abstrakcji)
System Bazy Danych
System Bazy Danych
Ewolucja systemów baz danych pod kątem ewolucji
Ewolucja systemów baz danych pod kątem ewolucji
modelu danych:
modelu danych:
1.
1.
Model hierarchiczny i sieciowy (koniec lat
Model hierarchiczny i sieciowy (koniec lat
sześćdziesiątych i lata siedemdziesiąte) –
sześćdziesiątych i lata siedemdziesiąte) –
niezależność fizyczna i logiczna danych
niezależność fizyczna i logiczna danych
2.
2.
Systemy relacyjne baz danych (lata
Systemy relacyjne baz danych (lata
siedemdziesiąte i osiemdziesiąte) – nowe
siedemdziesiąte i osiemdziesiąte) – nowe
prostsze podejście do organizacji danych
prostsze podejście do organizacji danych
3.
3.
Systemy obiektowe, obiektowo-relacyjne i
Systemy obiektowe, obiektowo-relacyjne i
rozszerzone systemy relacyjne baz danych
rozszerzone systemy relacyjne baz danych
(szczytowy rozwój w chwili obecnej) –
(szczytowy rozwój w chwili obecnej) –
rozszerzenie możliwości czysto relacyjnych
rozszerzenie możliwości czysto relacyjnych
systemów oraz odpowiednia integracja języków
systemów oraz odpowiednia integracja języków
programowania baz danych
programowania baz danych
System Bazy Danych
System Bazy Danych
Ewolucja modeli danych
Ewolucja modeli danych
Systemy plików
Diagramy
Bachmana
Model
hierarchiczny
Płaski model
relacyjny
Zagnieżdżony model
relacyjny
Modele obiektów
złożonych
Model związków encji
Semantyczne modele
danych
Modele obiektowe
Model sieciowy
Relacyjne bazy danych
Relacyjne bazy danych
Podejście relacyjne
Podejście relacyjne
opiera się na wykorzystaniu do
opiera się na wykorzystaniu do
przedstawiania danych modelu relacyjnego i
przedstawiania danych modelu relacyjnego i
zarządzania nimi matematycznego modelu
zarządzania nimi matematycznego modelu
zawierającego algebrę relacyjną i rachunek relacji.
zawierającego algebrę relacyjną i rachunek relacji.
Ogólnie system zarządzania relacyjną bazą danych:
Ogólnie system zarządzania relacyjną bazą danych:
Reprezentuje całą informację z bazie danych za
Reprezentuje całą informację z bazie danych za
pomocą tabel („wszystko jest tabelą”) podzielonych
pomocą tabel („wszystko jest tabelą”) podzielonych
na wiersze i kolumny.
na wiersze i kolumny.
Wspiera trzy podstawowe operacje relacyjne: wybór
Wspiera trzy podstawowe operacje relacyjne: wybór
(selekcja, wybór wierszy, ang. selection),
(selekcja, wybór wierszy, ang. selection),
rzutowanie (projekcja, wybór kolumn, ang.
rzutowanie (projekcja, wybór kolumn, ang.
projection) i złączanie (łączenie tabel, ang. join).
projection) i złączanie (łączenie tabel, ang. join).
Szczegółowe wymagania określa dwanaście tzw.
Szczegółowe wymagania określa dwanaście tzw.
„praw Codda”.
„praw Codda”.
Na potrzeby systemu relacyjnego opracowano
Na potrzeby systemu relacyjnego opracowano
pełny
pełny
(można za jego pomocą wydobyć każdą informację
(można za jego pomocą wydobyć każdą informację
istniejącą w relacyjnej bazie danych)
istniejącą w relacyjnej bazie danych)
język danych
język danych
SQL
SQL
(strukturalny język zapytań, ang. Structured Query
(strukturalny język zapytań, ang. Structured Query
Language), który stał się ogólnoświatowym standardem.
Language), który stał się ogólnoświatowym standardem.
Zakres zastosowań pełnego podjęzyka danych:
Zakres zastosowań pełnego podjęzyka danych:
Operowanie danymi (wyszukiwanie i modyfikowanie).
Operowanie danymi (wyszukiwanie i modyfikowanie).
Definiowanie danych.
Definiowanie danych.
Administrowanie danymi.
Administrowanie danymi.
Każda operacja języka SQL wyrażona jest
Każda operacja języka SQL wyrażona jest
instrukcją
instrukcją
lub
lub
poleceniem
poleceniem
. Operacje wyszukiwania nazywane są
. Operacje wyszukiwania nazywane są
często
często
zapytaniami
zapytaniami
. Operacje prowadzące do
. Operacje prowadzące do
modyfikowania danych nazywane są
modyfikowania danych nazywane są
tranksakcjami
tranksakcjami
.
.
Język SQL
Język SQL
Język SQL jest
Język SQL jest
językiem nieproceduralnym
językiem nieproceduralnym
, tzn.
, tzn.
pozwala na określenie warunków, jakie ma spełniać
pozwala na określenie warunków, jakie ma spełniać
wynik bez podawania szczegółów dotyczących
wynik bez podawania szczegółów dotyczących
sposobu realizacji.
sposobu realizacji.
Operacje wyszukiwania powodują utworzenie i
Operacje wyszukiwania powodują utworzenie i
wyprowadzenie tabel wynikowych zwanych
wyprowadzenie tabel wynikowych zwanych
tabelami
tabelami
wyprowadzanymi
wyprowadzanymi
na podstawie
na podstawie
tabel bazowych
tabel bazowych
zawierających surowe dane.
zawierających surowe dane.
Operacje relacyjne:
Operacje relacyjne:
Rzutowanie – wybór kolumn (określa podzbiór kolumn).
Rzutowanie – wybór kolumn (określa podzbiór kolumn).
Wybór – wybór wierszy (określa podzbiór wierszy).
Wybór – wybór wierszy (określa podzbiór wierszy).
Złączanie – utworzenie jednej tabeli wynikowej na
Złączanie – utworzenie jednej tabeli wynikowej na
podstawie kilku tabel bazowych.
podstawie kilku tabel bazowych.
Język SQL
Język SQL
Przykład bazy danych
Przykład bazy danych
Pracownicy firmy znają następujące języki obce:
Pracownicy firmy znają następujące języki obce:
Ania zna angielski, niemiecki i hiszpański,
Ania zna angielski, niemiecki i hiszpański,
Beata zna angielski i rosyjski,
Beata zna angielski i rosyjski,
Krzysztof zna niemiecki i rosyjski.
Krzysztof zna niemiecki i rosyjski.
Informacja o znajomości języków obcych stanowi
Informacja o znajomości języków obcych stanowi
pewną prostą
pewną prostą
bazę danych
bazę danych
. Jej struktura
. Jej struktura
zostanie teraz przedstawiona z wykorzystaniem
zostanie teraz przedstawiona z wykorzystaniem
klasycznych modeli danych:
klasycznych modeli danych:
Hierarchicznego
Hierarchicznego
Sieciowego
Sieciowego
Relacyjnego
Relacyjnego
Model hierarchiczny
Model hierarchiczny
Ania
angielsk
i
niemiec
ki
hiszpańs
ki
Beata
angielsk
i
rosyjski
Krzysztof
niemiec
ki
rosyjski
Model hierarchiczny
Model hierarchiczny
Angielski
Ania
Beata
Niemiecki
Ania
Krzyszto
f
Rosyjski
Beata
Krzyszto
f
Hiszpański
Ania
Model sieciowy
Model sieciowy
angielski
Ania
Beata
Krzysztof
niemieck
i
hiszpański
rosyjski
Model relacyjny
Model relacyjny
Id Osoby
Id Osoby
Imię
Imię
1
1
Ania
Ania
2
2
Beata
Beata
3
3
Krzysztof
Krzysztof
Id Języka
Id Języka
Nazwa
Nazwa
1
1
Angielski
Angielski
2
2
Niemiecki
Niemiecki
3
3
Hiszpański
Hiszpański
4
4
Rosyjski
Rosyjski
Id Osoby
Id Osoby
Id Języka
Id Języka
1
1
1
1
1
1
2
2
1
1
3
3
2
2
1
1
2
2
4
4
3
3
2
2
3
3
4
4
Porównanie modeli
Porównanie modeli
danych
danych
Model hierarchiczny:
Model hierarchiczny:
Bardzo sugestywny, oddaje w sposób naturalny zależność
Bardzo sugestywny, oddaje w sposób naturalny zależność
między danymi.
między danymi.
Może być wykorzystany dla danych o mało rozbudowanej
Może być wykorzystany dla danych o mało rozbudowanej
strukturze (prosta baza danych).
strukturze (prosta baza danych).
Dużo powtórzeń danych.
Dużo powtórzeń danych.
Model sieciowy:
Model sieciowy:
Brak powtórzeń danych.
Brak powtórzeń danych.
Struktura danych może być rozbudowana.
Struktura danych może być rozbudowana.
Mało sugestywny, zagmatwana struktura danych.
Mało sugestywny, zagmatwana struktura danych.
Model relacyjny:
Model relacyjny:
Prosta i sugestywna reprezentacja struktury danych oparta na
Prosta i sugestywna reprezentacja struktury danych oparta na
powiązanych ze sobą tabelach.
powiązanych ze sobą tabelach.
Struktura danych może być rozbudowana.
Struktura danych może być rozbudowana.
Konieczność wprowadzania dodatkowych (sztucznych,
Konieczność wprowadzania dodatkowych (sztucznych,
systemowych) danych (tzw. kluczy), które mogą się powtarzać.
systemowych) danych (tzw. kluczy), które mogą się powtarzać.
Przykłady SBD
Przykłady SBD
Do najpopularniejszych SBD należą:
Do najpopularniejszych SBD należą:
Microsoft Access
Microsoft Access
– najpopularniejszy na świecie RSBD
– najpopularniejszy na świecie RSBD
przeznaczony dla małych i średnich firm. Popularność
przeznaczony dla małych i średnich firm. Popularność
zawdzięcza prostemu interfejsowi graficznemu. Tabele nawet
zawdzięcza prostemu interfejsowi graficznemu. Tabele nawet
kilkanaście tysięcy wierszy.
kilkanaście tysięcy wierszy.
MySQL
MySQL
– bardzo popularny darmowy RSBD przeznaczony dla
– bardzo popularny darmowy RSBD przeznaczony dla
małych, średnich a nawet dużych firm. Tabele nawet wiele
małych, średnich a nawet dużych firm. Tabele nawet wiele
milionów wierszy. Setki tysięcy lub miliony implementacji
milionów wierszy. Setki tysięcy lub miliony implementacji
MySQL na świecie.
MySQL na świecie.
Microsoft SQL Server
Microsoft SQL Server
– popularny relacyjno-obiektowy SBD
– popularny relacyjno-obiektowy SBD
dla dużych i bardzo dużych firm.
dla dużych i bardzo dużych firm.
Oracle
Oracle
– relacyjno-obiektowy SBD dla dużych i bardzo dużych
– relacyjno-obiektowy SBD dla dużych i bardzo dużych
zastosowań (sieć filii danego banku, ubezpieczenia społeczne
zastosowań (sieć filii danego banku, ubezpieczenia społeczne
w skali kraju itp.).
w skali kraju itp.).
Progress
Progress
– oprogramowanie do tworzenia SBD dla dużych i
– oprogramowanie do tworzenia SBD dla dużych i
bardzo dużych zastosowań (w Polsce ubezpieczenia społeczne
bardzo dużych zastosowań (w Polsce ubezpieczenia społeczne
ZUS, System Pomocy Społecznej).
ZUS, System Pomocy Społecznej).
Technologie Informacyjne
Technologie Informacyjne
Koniec części drugiej
Koniec części drugiej