background image

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

background image

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: 

MetaStudio

 

narzędzie zarządzania słownikami 

background image

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

background image

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

MySQLFirebird (lub komercyjny: InterBase) 

— SAP DB (

niem.

 

Systemanalyse und Programmentwicklung)

— mSQL

Dr Mariusz Baran –

 

Wykład z baz danych –

 

2007/2008

background image

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

background image

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

background image

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

background image

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

background image

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)

Magic

 

Quadrant

 

1Q07 dla systemów BI

Dr Mariusz Baran –

 

Wykład z baz danych –

 

2007/2008

background image

Zagadnienia 

Zagadnienia 

projektowania 

projektowania 

oprogramowania

oprogramowania

Dr Mariusz Baran –

 

Wykład z baz danych –

 

2007/2008

background image

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


Document Outline