Wykład 3: 2007/08
Wyk
Wyk
ł
ł
ad z baz danych
ad z baz danych
Podstawy baz danych
Dr Mariusz Baran
Dr Mariusz Baran
Katedra System
Katedra System
ó
ó
w Informatycznych
w Informatycznych
WZiKS
WZiKS
Dr Mariusz Baran –
Wykład z baz danych –
2007/2008
Podstawowa terminologia baz danych
Podstawowa terminologia baz danych
Model logiczny DBMS
Model logiczny DBMS
Procesor zapytań
Modyfikacje schematu
(metadane)
Zapytania
Aktualizacje
(dane)
Moduł
zarządzania
transakcjami
Moduł
zarządzania
pamięcią
Dane
Metadane
(słownik danych)
(optymalizacja
wykonania zapytań)
(ACID)
(zarządzanie plikami
i buforami)
Przykład:
–
narzędzie zarządzania słownikami
DBMS = Baza danych + J
DBMS = Baza danych + J
ą
ą
dro + Interfejs + Narz
dro + Interfejs + Narz
ę
ę
dzia
dzia
DBMS = serwer bazy danych
DBMS = serwer bazy danych
J
J
ą
ą
dro systemu
dro systemu
umożliwia: zdefiniowanie bazy, utrzymywanie bazy, zachowanie
integralności danych oraz współbieżny dostęp do bazy.
Jądro systemu komunikuje się
z otoczeniem przy pomocy interfejsu.
Językiem tej komunikacji w
przypadku
systemów relacyjnych jest obecnie
najczęściej dialekt języka SQL
(np. PL/SQL -
Oracle, PL/pgSQL
-
PostgreSQL).
Warstwa narzędzi
systemu zarządzania przeznaczona jest głównie dla
projektantów i programistów implementujących konkretną
aplikację
opartą
na
bazie danych (np. designer, developer, forms, reports, itd.).
Jądro systemu zarządzania użyte do obsługi konkretnej bazy danych nazywamy
motorem bazy danych
motorem bazy danych
(ang. DB engine). Dodatkowo w ramach jednej bazy
danych można użyć
wielu mechanizmów składowania (ang. storage engine) np.
MyISAM, innoDB.
Jeden DBMS może:
•
obsługiwać
wiele baz danych (= wiele aplikacji), wielu użytkowników
•
działać
sieciowo lub lokalnie w większości w architekturze klient-serwer
System informacyjny z bazą
danych
składa się
z trzech elementów:
bazy danych, jej motoru oraz aplikacji bazodanowej (stanowiącej przyjazny
interfejs między motorem bazy a
użytkownikami
bazy)
Podstawowa terminologia baz danych
Podstawowa terminologia baz danych
Dr Mariusz Baran –
Wykład z baz danych –
2007/2008
Podstawowa terminologia baz danych
Podstawowa terminologia baz danych
Dost
Dost
ę
ę
pne na rynku realizacje DBMS
pne na rynku realizacje DBMS
ORACLE
— Krajowe Centrum Informacji Kryminalnej KCIK, Komenda Główna Policji
— Główny Urząd Statystyczny: hurtownia danych z Narodowego Spisu
Powszechnego i Powszechnego Spisu Rolnego
DB2 (IBM)
— publiczna telewizja szwedzka Sveriges Television (zawiera m.in.150.000
wideoklipów o objętości 80 TB)
MS SQL Server
— system zarządzania projektami wydawniczymi Wydawca 2001 SQL
(kalkulacje, plany wydawnicze, scenariusze sprzedaży, koszty produkcji,
cash-flow
, zarządzanie prawami autorskimi, itd.).
Sybase
— TUiR
Warta: system wspomagania pracy agentów w zakresie taryfikacji
produktów finansowych (rozwiązanie mobilne, replikacja danych)
MS Access –
zwykle małe aplikacje biurowe, rozwiązanie bezserwerowe, obsługa
pojedynczego użytkownika, oparte o Microsoft Jet
DB engine
Rozwiązania open source (licencja GPL -
General Public License
):
— PostgreSQL
, MySQL, Firebird (lub komercyjny: InterBase)
— SAP DB (
niem.
Systemanalyse und Programmentwicklung)
— mSQL
Dr Mariusz Baran –
Wykład z baz danych –
2007/2008
Dost
Dost
ę
ę
pne na rynku realizacje DBMS
pne na rynku realizacje DBMS
Worldwide
Vendor
Revenue
Estimates
from
RDBMS Software, Based
on Total
Software
Revenue, 2006 (Millions
of
Dollars)
Company
2006
2006 Market Share
(%)
2005
2005 Market Share
(%)
2005-2006 Growth
(%)
Oracle
7,168.0
47.1
6,238.2
46.8
14.9
IBM
3,204.1
21.1
2,945.7
22.1
8.8
Microsoft
2,654.4
17.4
2,073.2
15.6
28.0
Teradata
494.2
3.2
467.6
3.5
5.7
Sybase
486.7
3.2
449.9
3.4
8.2
Other
Vendors
1,206.3
7.9
1,149.0
8.6
5.0
Total
15,213.7
100.0
13,323.5
100.0
14.2
Source: Gartner
Dataquest
(June
2007)
Podstawowa terminologia baz danych
Podstawowa terminologia baz danych
Dr Mariusz Baran –
Wykład z baz danych –
2007/2008
Podstawowa terminologia baz danych
Podstawowa terminologia baz danych
System informacyjny z bazą
danych (SI) = BD + DBMS + Aplikacja
Uczestnicy procesu budowy systemu:
•
analitycy systemowi (+ użytkownicy kluczowi)
•
projektanci
•
programiści baz danych
•
administratorzy baz danych
•
administratorzy aplikacji
•
użytkownicy końcowi
Zastosowanie DBMS pozwala uzyskać:
•
niezależność
między danymi a programami (np. program może używać
różnych
DBMS)
•
ukrywanie szczegółów dotyczących sposobu przechowywania danych w
pamięci fizycznej
•
przechowywanie metadanych
•
dostarczanie wielu widoków (perspektyw) danych dla różnych grup
użytkowników
•
zapewnienie integralności danych (więzy integralności danych)
•
współdzielenie danych i współbieżne transakcje wielu użytkowników
•
wysoka niezawodność
i bezpieczeństwo
Budowa aplikacji bazodanowych
Budowa aplikacji bazodanowych
Dr Mariusz Baran –
Wykład z baz danych –
2007/2008
System powstaje jako opis fragmentu świata, fragment ten określany jest jako
obszar analizy
obszar analizy
np. księgowość, kontroling, magazyny, kasa, itd.
Systemy informacyjne można budować
w sposób:
•
przyrostowy, ewolucyjny –
dla każdego obszaru analizy osobna aplikacja z
bazą
danych, potem próba łączenia wada –
brak globalnej wizji
(redundancja, niespójność)
•
całościowy, zintegrowany –
kompleksowo z góry zaprojektowany system
(strategia informatyzacji organizacji, rola kluczowa: architekt rozwiązania)
Rozwój organizacji wymusza często scenariusz przyrostowy, z koniecznością
integracji heterogenicznych rozwiązań. Dla usprawnienia komunikacji
międzysystemowej powstają
obecnie
platformy integracyjne
platformy integracyjne
–
–
ukierunkowane
ukierunkowane
na redukcj
na redukcj
ę
ę
ilo
ilo
ś
ś
ci interfejs
ci interfejs
ó
ó
w mi
w mi
ę
ę
dzysystemowych (n
dzysystemowych (n
2
2
-
-
> n)
> n).
Projektując rozwiązanie należy uwzględnić:
•
jeden system (model) reprezentacji danych np. model relacyjny
•
współbieżny dostęp do bazy przez wielu użytkowników (blokady, transakcje)
•
ochronę
danych (system praw dostępu)
•
niezależność
(zależność) określonych danych (więzy integralności danych)
Budowa aplikacji bazodanowych
Budowa aplikacji bazodanowych
Podstawowa terminologia baz danych
Podstawowa terminologia baz danych
Dr Mariusz Baran –
Wykład z baz danych –
2007/2008
Operacje na danych z wykorzystaniem DBMS:
•
definiowanie i modyfikacja struktur danych
(DDL)
•
wyszukiwanie danych
•
raportowanie (filtry i kwerendy), formatowanie, sortowanie
•
wprowadzanie, usuwanie, modyfikacja danych (DML)
•
ograniczanie dostępu (DCL)
Ramowe etapy budowy aplikacji:
•
analiza problemu: specyfikacja wymagań
użytkowników (ang. URA –
User
Requirements Analyse
)
•
określenie modelu systemowego (w tym: modelowanie struktury
organizacyjnej, procesów gospodarczych, funkcji i struktur danych w
ramach opisu aspektu behawioralnego i strukturalnego
aplikacji)
•
implementacja oprogramowania
Analiza i projektowanie bazy ~ 80% czasu tworzenia
Implementacja bazy ~ 20% czasu tworzenia
Podstawowa terminologia baz danych
Podstawowa terminologia baz danych
Budowa aplikacji bazodanowych
Budowa aplikacji bazodanowych
Dr Mariusz Baran –
Wykład z baz danych –
2007/2008
Podstawowa terminologia baz danych
Podstawowa terminologia baz danych
Source: Gartner
Research
(May 2005)
Magic
Quadrant
for
Extraction, Transformation
and
Loading, 1H05
11 May 2005
Dane rynkowe: Zagadnienie integracji danych (ETL)
Dane rynkowe: Zagadnienie integracji danych (ETL)
Dr Mariusz Baran –
Wykład z baz danych –
2007/2008
Zagadnienia
Zagadnienia
projektowania
projektowania
oprogramowania
oprogramowania
Dr Mariusz Baran –
Wykład z baz danych –
2007/2008
Zagadnienia projektowania oprogramowania
Zagadnienia projektowania oprogramowania
Etapy budowy aplikacji
Etapy budowy aplikacji:
-
Analiza systemowa (ang. URA –
User Requirements Analyse
,
SRA –
System Requirements Analyse
)
-
Modelowanie (wymiaru: behawioralnego –
aspekt dynamiczny
struktur danych –
aspekt statyczny)
-
Projektowanie (organizacja kodu)
-
Implementacja (kodowanie)
-
Testy (modułowe, międzymodułowe, obciążeniowe)
-
Wdrożenie (szkolenia użytkowników)
-
Uruchomienie produkcyjne
Przebieg powyższych etapów może być
różny w zależności od rodzaju
budowanego systemu:
-
system na zamówienie np.: specjalizowane oprogramowanie
rozkroju blachy
-
system konfigurowalny np.: system klasy ERP (ang. Enterprise Resource
Planning
) wspomagający
zarządzanie przedsiębiorstwem
-
system z półki np.: narzędzia biurowe
Często występują
dedykowane metodyki wdrożeniowe przypisane do produktów
np. ASAP dla SAP (system klasy ERP wdrożony np. UJ).
Dr Mariusz Baran –
Wykład z baz danych –
2007/2008