1
Informatyczne Systemy Zarządzania
Wykład 2. Zarządzanie
Danymi (43 slajdy)
Wykładowca:
Prof. Anatoly Sachenko
2
Spis zagadnień
Podstawa
koncepcji danych
Ewolucja modelowania bazy danych oraz główne
definicje
Pojęciowe poziomy Systemu Baz Danych
Systemy plików
Klasyfikacja modeli danych
Modele graficzno-teoretyczne
Hierarchiczny Model Danych
Sieciowy Model Danych
Relacyjny Model Danych – główne definicje
3
Podstawa koncepcji danych
Dane są istotnym zasobem organizacji, które muszą być zarządzane jak
inne ważne aktywa przedsiębiorstwa.
Większość organizacji nie mogłaby przetrwać lub odnieść sukcesu bez
wysokiej jakości danych na temat ich środowiska wewnętrznego oraz
zewnętrznego.
Managerowie muszą ćwiczyć zarządzanie danymi, które jest czynnością
zarządzającą stosowaną w technologii IS (tak samo jak zarządzanie bazami
danych oraz inne narzędzia pomocne w zarządzaniu oraz organizacji
zasobami danych w celu osiągnięcia potrzeb biznesowych partnerów).
IBM versus Oracles – z tego przykładu można się wiele nauczyć o głównych
wyborach przed jakimi stają firmy w związku z bazami danych oraz
aplikacjami SW.
4
Podstawa koncepcji danych
Hierarchia
poziomów danych została stworzona po
to, aby dane były logicznie ułożone według cech, pól,
rekordów, plików i baz danych (sprawdź przykład na
kolejnym slajdzie).
Cecha (charakter) jest najbardziej podstawowym
elementem danych – litera, cyfra lub inny symbol.
Pole (field) składa się z kombinacji cech. Pole w
danych reprezentuje właściwość (attribute) (cechę
lub jakość) lub całość (entity) (obiekt, osoba,
miejsce lub wydarzenie).
5
Podstawa koncepcji danych (c.d.)
Rekordy
(records) – powiązane ze sobą pola
danych
Zbiór właściwości opisujących całość
Rekordy o zróżnicowanych długościach
(fixed-length records) zawierają różną ilość
pól danych o zróżnicowanej długości
Rekordy o zmiennych długościach (variablelength records) zawierają zmienną liczbę
pól oraz ich długości.
6
Podstawa koncepcji danych (c.d.)
(files) – grupa powiązanych ze sobą rekordów
Klasyfikowane są według:
Główne użytkowanie – plik administracyjny
(payroll file) lub plik ewidencyjny (inventory
file)
Rodzaj danych – dokument (document file) lub
plik graficzny (graphical image file)
Trwałość – plik master (master file) (zawiera
wszystkie trwałe rekordy) vs plik transakcyjny
(transactional file) (zawiera rekordy
wszystkich transakcji występujących w danym
czasie)
Pliki
7
Podstawa koncepcji danych (c.d.)
danych (Database) – zintegrowany
zbiór logicznie połączonych elementów
danych
Łączy rekordy we wspólną grupę
elementów danych, który dostarcza
danych do wielu aplikacji
Dane w zbiorze danych są niezależne od
aplikacji, która je wykorzystuje oraz od
rodzaju urządzenia które je przechowuje
Baza
8
Podstawa koncepcji danych (c.d.)
Logiczne
elementy
danych
9
Ewolucja modelowania bazy danych
oraz główne definicje
1963 – najwcześniejsze zanotowane użycie
terminu Bazy danych jako zgromadzenie danych
Wczesne lata 70. – słowo Database zaczęło być znane
w Europie, i
Pod koniec dekady – zaczęło być używane w
większości Amerykańskich gazet
1968 – wprowadzenie pierwszego DBMS nazwanego
przez IBM „IMS”
1975 – pierwsze użycie języka programowania
danych miało miejsce przez CODASYL (Conference
of Data System Languages) – przemysłowe
konsorcjum IT
1970 - Dr Edgar F. Codd zaprojektował relacyjny
Listopad
10
Ewolucja modelowania bazy danych –
Przeszłość i Teraźniejszość
Wykres pokazuje, że proces ewolucji od późnych
lat 40. XX wieku do końca XX wieku, 50 lat później
11
Ewolucja modelowania bazy danych
oraz główne definicje (c.d.)
Kategorie „Danych” oraz „Modeli danych” są jednymi z najbardziej
podstawowych w Koncepcji bazy danych
Dane (Data) – to zbiór konkretnych cech oraz parametrów, które
definiują obiekt, warunki, sytuacje lub inne czynniki
Dane nie posiadają struktury, stają się informacją jedynie kiedy
użytkownik definiuje je jako konkretną strukturę
Model danych (Data Model) – jest zjawiskiem abstrakcyjnym, które
stosowane jest do konkretnych danych pozwalając użytkownikom
interpretacje go jako Informację
Innymi słowy, informacja ta zawiera nie tylko dane, ale także
korelację między nimi
Technologia bazy danych jest Syntezą Danych oraz Struktur plików
12
Systemy plików
System plików (struktura) został stworzony do przechowywania oraz
organizacji plików oraz danych w komputerze
Znajdują się tam zorganizowane pliki dostępu bezpośredniego lub
pośredniego, pliki tekstowe, indeksy, pliki odwrócone/rzeczywiste oraz
pliki używające technik mieszanych There are organized the files of
direct and sequent access, text files, index files, inverted files, files using
hashing techniques
Termin plik płaski (flat file) jest stosowany w celu podkreślenia różnicy
między Systemem Plików a Bazą Danych
Plik płaski jest uznawany za jedno wymiarowy system przechowywania
informacji reprezentowany jedynie z jednego punktu widzenia
Baza
danych jest rozumiana jako wielo wymiarowy system
zapewniający dostęp do informacji z różnych punktów widzenia
13
Systemy plików (c.d.)
Przykład
tego, jak mógłby wyglądać plik płaski
rozdzielony przecinkami:
'tutorial_id', 'title', 'category'
'1','Access Tutorial',' Software'
'2','Excel Tutorial',' Software'
'3','Database design tutorial',' Software'
'4','Oracle DBA Course ','Software‘
Program odczytujący te płaskie pliki zrozumiałby, że
dane oddzielone są od siebie przecinkami
W celu wybrania kategorii 'Database design tutorial‘
należy odczytywać plik linia po linii aż znajdzie się
'Database design tutorial‘, a następnie odczytać
następne słowo po przecinku
14
Pojęciowe poziomy Systemu Baz Danych
– 3 poziomy według ANSI
Użytko
wnik
Dane w
formacie
aplikacji
Oprogramo
wanie
System
Zarządzania
Bazami
Danych
Dane z punktu
widzenia modelu
baz danych
Baza
Danych
Dane z punktu widzenia
ich ich prawdziwej
(fizycznej) organizacji
15
Pojęciowe poziomy Systemu Baz Danych
(c.d.)
danych (Data concept), jaka pojawia się u
użytkownika baz danych jest definiowana przez
oprogramowanie aplikacji (application software)
Użytkownik
interaktywnie
komunikuje
się
z
oprogramowaniem a także z terminologią, która
używana jest w aplikacjach
Oprogramowanie aplikacji (Application Software) zapewnia
relatywnie łatwe wizualne tuning tools (funkcje
pomagające optymalizować start systemu, jego działanie
oraz blokować spam) zgodnie z potrzebami użytkownika
Uwaga: Oprogramowanie aplikacji nigdy nie zamienia
informacji z bazę danych
System
Zarządzania Bazami Danych (Database
management system, DBMS) zapewnia przekształcanie
informacji w bazę danych na poziomie rzeczywistym
(physical level)
Architektura baz danych (DB architecture) – sprawdź
Koncepcja
16
Pojęciowe poziomy systemu baz danych (c.d.)
Funkcje
DBMS
Przechowywanie
danych, wyszukiwanie informacji
oraz aktualizacje
Dostępny dla użytkownika katalog
Wsparcie transakcji
Usługi kontrolujące konkurencję
Usługi odzyskiwania
Usługi autoryzacji
Wspomaganie komunikacji danych
Usługi integralności
Usługi promujące niezależność danych
17
Klasyfikacja modeli danych
Model
Danych
Model
Infologiczn
y
Model
Logiczny
Model
Fizyczny
18
Klasyfikacja modeli danych Model fizyczny
Według 3 poziomu baz danych, architektura ponad
Fizycznym modelem danych funkcjonuje z
kategoriami związanymi z organizacją pamięci
zewnętrznej i struktur przechowywania które są tam
zastosowane
Stosowane są tu różne metody alokacji danych,
takie jak model fizyczny (physical model) bazujący
na strukturze plików (file structure)
organizacja plików paralelnych i plików z
ograniczonym dostępem, plików indeksowanych
oraz plików odwróconych, plików haszujących
oraz plików asocjacyjnych
Nowoczesny system zarządzania bazami d anych
często stosuje tzw.page data organization
19
Klasyfikacja modeli danych–
Model infologiczny
infologiczny – reprezentuje informatycznologiczny poziom podsumowywania w naturalnej i
komfortowej dla użytkownika formie
Modele te są używane we wczesnych fazach
projektu dla opisu struktury danych. Mogą być
opisywane przez:
Diagramy ER jako model z całościami (entities)
lub stosunkami (relationships) (związek między
całościami), które mają stałe lub różne opisy
struktury danych
Diagramy
Brachman
reprezentują
ukierunkowane wykresy (oriented graph), gdzie
węzły (nodes) odpowiadają grupom (typy
rekordów), a łuki (archces) odpowiadają
hierarchicznym relacjom w grupach
Model
20
Klasyfikacja modeli danych–
Model logiczny
logiczne (Datalogical Models) są skonstruowane na
poziomie logicznym oraz wspierane przez realny system
zarządzania bazami danych (database management system). W
skład ich wchodzą:
Modele dokumentacyjne (Documental models)
zorientowane na format dokumentu stosujący HTML,
HML, HML
Modele opisowe (Descriptive models)
Tezaurus (Thesaurus models)
Modele faktograficzne (Factographic models)
Modele teoretyczno-graficzne (Theoretic-graphical
models)
Modele teoretyczno-zróżnicowane (Theoretic-plural
models)
Modele
21
Modele graficzno-teoretyczne- Model
hierarchiczny
Powstał
w 1968 roku i został nazwany przez IBM
„IMS”
Hierarchiczny
model danych jest przypomina
strukturę drzewa
Tabele
w tym modelu przedstawiają schemat
stosunków dziecko-rodzic (child-parent relationship)
Każda
tabela-dziecko posiada odpowiednio
pojedyncza tabelę-rodzica
Każda tabela-rodzic może mieć większą liczbę
tabel-dzieci
Tabele-dzieci (child tables) są całkowicie zależne od
tabel-rodziców (parent tables)
Tabele-dzieci mogą istnieć jedynie wtedy kiedy
22
Teoretyczne modele grafowe – model
hierarchicznej bazy danych (ciąg dalszy)
Każde zadanie jest częścią projektu, który jest
częścią zarządzającego, który jest częścią działu,
który jest częścią przedsiębiorstwa
23
Teoretyczne modele grafowe – Model
hierarchicznej bazy danych Zalety
To
najprostszy logiczny model bazy danych
Użytkownik ma szybki dostęp do danych bo
istnieją
wyraźne
połączenia
pomiędzy
strukturami tabeli
Spójność
referencyjna jest wbudowana i
wymuszana automatycznie. Zapewnia że :
Rekord w tabeli potomnej musi być połączony z
istniejącym rekordem w tabeli nadrzędnej i
Rekord usunięty z tabeli nadrzędnej spowoduje
usunięcie wszystkich związanych z nią
rekordów w tabeli potomnej
24
Teoretyczne modele grafowe – Model
hierarchicznej bazy danych Wady
Należy
przejść przez całą strukturę aby znaleźć
pewne informacje
na przykład, nie możesz szukać pracownika
nie
znajdując wpierw firmy, działu, kierownika i
wreszcie pracownika (patrz przedostatni slajd)
Problem pojawia się też gdy użytkownik chce zapisać
rekord w tabeli potomnej który jest w danej chwili nie
powiązany z żadnych rekordem w tabeli nadrzędnej
Nie wspiera skomplikowanych relacji i często tam
powstaje problem z redundantnymi danymi
Daje użytkownikowi możliwość dodania danej
rozbieżnej z dotychczasowymi danymi co może
prowadzić do niedokładnych informacji
25
Teoretyczne modele grafowe – Sieciowy
Model Bazy Danych
Powstał
w roku 1975 jako CODASYL Standard
Jego podstawowymi składnikami są: element
danych, zespół danych, rekord i zbiór danych
Jest podstawowym udoskonaleniem modelu
hierarchicznego
Model sieciowy pozwala tabelom potomnym
mieć więcej niż jedną tabelę nadrzędną,
tworząc w ten sposób strukturę tabel podobną
do sieci
Wiele tabel nadrzędnych dla każdego potomka
pozwala na tworzenie relacji wiele-do-wielu a nie
tylko jeden-do-wielu
26
Teoretyczne modele grafowe – Sieciowy
Model Bazy Danych (ciąg dalszy)
Istnieje
relacja
wiele-do-wielu
między
pracownikami as zadaniami
Pracownik może być przypisany do wielu zadań, a
zadanie może być przypisane do wielu pracowników
27
Teoretyczne modele grafowe – Sieciowy
Model Bazy Danych Zalety
Użytkownik
ma dostęp do danych wewnątrz
sieciowej bazy danych poprzez odpowiednie zbiory
danych
Inaczej niż w hierarchicznej bazie danych, w
której musi zacząć od głównej tabeli, użytkownik
ma dostęp do danych z wewnątrz bazy danych,
zaczynając od któregokolwiek wierzchołka i
poruszając się do przodu lub do tyłu po
powiązanych zbiorach
Sieciowa baza danych daje szybki dostęp do danych
Pozwala użytkownikom tworzyć zapytania które
są bardziej skomplikowane niż te stworzone przy
użyciu hierarchicznej bazy danych
28
Teoretyczne modele grafowe – Sieciowy
Model Bazy Danych Wady
Użytkownik
musi dobrze znać strukturę bazy
danych aby poruszać się po strukturze
zbiorów.
Nie jest łatwo zmienić strukturę bazy danych
nie wpływając na aplikacje które wchodzą z
nią w interakcję
Jeśli zmienisz strukturę zbiorów, musisz
także zmienić wszystkie referencje
stworzone wewnątrz aplikacji do tej
struktury
29
Model relacyjny bazy danych – Podstawowe
definicje
Model
relacyjny jest teorio-mnogościowym modelem
zaprojektowanym przez Edgar Codda w 1970
Oparty jest na zestawie matematycznych zasadach
wziętych przede wszystkim z teorii zbiorów i logiki
predykatywnej
Założeniem
Codda by ignorowanie sposobu
połączenia plików danych i organizacja danych w
proste dwuwymiarowe, nieuporządkowane tabele:
Aby stworzyć system zapytań (pytań zadawanych
bazie danych) i skoncentrować się na danych jako
danych, a nie jako fizycznej implementacji modelu
logicznego
Aby zadecydować które części danych będą w
której tabeli, Codd zaproponował „formy
normalne” do normalizacji danych
30
Model relacyjny bazy danych – Podstawowe
definicje (ciąg dalszy)
Model
relacyjny definiuje:
sposób reprezentacji danych (struktura danych)
sposób ochrony danych (integralność danych)
operacje jakie mogą wyć wykonywane na na danych
(modyfikacja danych)
Relacyjny systemy baz danych mają następujące cechy:
Dane
są
reprezentowany
koncepcyjnie
jako
uporządkowanie danych w wiersze i kolumny, nazywane
relacjami
Wszystkie wartości są skalarami
To znaczy na danej pozycji w wierszu/kolumnie jest
jedna i dokładnie jedna wartość
Wszystkie operacje są wykonywane na całej relacji i ich
wynikiem jest cała relacja
31
Model relacyjny bazy danych – Podstawowe definicje i
koncepcje
relacyjnym albo N-krotną relacją R nazywamy
podzbiór iloczynu kartezjańskiego D1×D2× … × Dn
niekoniecznie różnych zbiorów D1 ,D2 … Dn (n≥1)
Początkowe zbiory D1 ,D2 … Dn nazywamy domenami,
więc mamy R ⊆ D1×D2× … × Dn
gdzie D1×D2× … ×Dn jest pełnym kartezjańskim
iloczynem – zbiorem możliwych kombinacji n
elementów
Dla przykładu weźmy trzy domeny:
D1={John, Peter, Andrew, George, Paul}
D2={History, DB, Math}
D3={3,4,5}
Wtedy pełen kartezjański iloczyn będzie zawierał 45
trójek, a relacja w tabeli (następny slajd) modeluje realną
sytuację
Modelem
32
Model relacyjny bazy danych – Podstawowe
definicje (ciąg dalszy)
Elementy Relacji
33
Model relacyjny bazy danych –
Podstawowe definicje i własności
Relacja
ma prostą interpretację graficzną
Może być reprezentowana jako tabela z:
Kolumnami które są wartościami domen
Wierszami ze zbiorami n wartości z
początkowych domen uporządkowanych zgodnie
z nazwą kolumny
Specyficzne właności tabeli:
Tabela nie zawiera powtarzających się wierszy
Kolumny tabeli odpowiadają atrybutom relacji
Każdy atrybut w relacji ma unikalną nazwę
Kolejność wierszy w tabeli jest nieoznaczona
34
Model relacyjny bazy danych – Podstawowe
definicje (ciąg dalszy)
– cała struktura (tabela)
Krotka - każdy wiersz danych
Kardynalność – liczba krotek w relacji
W naszym przypadku relacja ma kardynalność 5
Atrybut - każda kolumna danych
Stopień – liczba atrybutów w relacji
W naszym przypadku relacja ma stopień 3
Domena
– zbiór wartości które atrybut może
przyjmować
Encja – wszystko o czym system musi trzymać
informacje
Wszystkie używane rzeczowniki i czasowniki będą
kandydatami na encje – w biznesie: „Klienci”,
„Pracownicy” … są bez wątpienia encjami
Relacja
35
Model relacyjny bazy danych – Podstawowe
definicje (ciąg dalszy)
główny – atrybut albo zbiór atrybutów, które
w sposób jednoznaczny wskazują konkretną
instancję bądź encję
Każda encja w modelu danych której wartości
wyznaczają jej instancje w sposób jednoznaczny
musi mieć klucz główny
Klucz złożony – klucz główny złożony z więcej niż
jeden atrybutu
Klucz zewnętrzny- atrybut uzupełniający relację
poprzez wskazanie encji nadrzędnej
Każda relacja w modelu musi być wspierana
przez klucz zewnętrzny
Klucz
36
Model relacyjny bazy danych –
Podstawowe definicje (ciąg dalszy)
Dwie encje (tabele) z atrybutem (kolumną) Student ID
w relacji
37
Model relacyjny bazy danych –
Związana terminologia
Terminologia relacyjna używana przez produkty, których ta
prezentacja dotyczy
Formalna terminologia
Koncepcyjna
Fizyczna
Microsoft Access
SQL Server
relacja
tabela
tabela albo zbiór rekordów
(„recordset”)
tabela albo zbiór wyników
(„resultset”)
atrybut
pole
pole
kolumna
krotka
rekord
rekord
wiersz
38
Model relacyjny bazy danych – Zalety
najpopularniejszą metodą organizacji bazy
danych
Wbudowana wielopoziomowa integralność
Integralność danych jest wbudowana w model na
poziomie pól aby zapewnić dokładność danych:
Na poziomie tabel aby zapewnić że rekordy się
nie powtarzają i wykryć brakujące wartości klucza
głównego
Na poziomie relacji aby zapewnić poprawność
relacji pomiędzy tabelami
Na poziomie biznesowym aby zapewnić że dane są
dokładne z punktu widzenia biznesu jako takiego
Jest
39
Model relacyjny bazy danych – Zalety
(ciąg dalszy)
i fizyczna niezależność danych od aplikacji
bazodanowych
Gwarantowana spójność danych i dokładność
Dane spójne i dokładne dzięki wielu poziomom
integralności jakie możesz narzucić bazie danych
Łatwa dostępność danych
Na życzenie użytkownika dane mogą być uzyskane
z konkretnej tabeli a także z dowolnej liczby
powiązanych ze sobą tabel z bazy danych
Logiczna
40
Model relacyjny bazy danych – Wady
sprzętowy i programowy narzut
Może nie pasować do wszystkich modeli
biznesowych
Może umożliwić słabe zaprojektowanie i
implementację
Może spowodować problem „wysp
informacji”
Istotny
41
Literatura
Lecture Notes. Database (e-version). Based on a book by
T.S.
Karpova.
Database:
Models,
Development,
Implementation. (in Russian). S.Pitersburg. Piter. 2002,
304p., (translated and edited by Anatoly Sachenko)
C.J.Date. An Introduction to Database Systems. AddisonWesley, Copyright , 1024 p., 2003
Rebecca M. Riordan. Designing Effective Database Systems .
Addison Wesley Professional. 384 p., 2005
By Michael J. Hernandez. Database Design for Mere
Mortals™: A Hands-On Guide to Relational Database
Design, Second Edition. Addison Wesley. 672 p., 2003
James A. O'Brien. Management Information Systems:
Managing Information Technology in the Business
Enterprise. Sixth Edition. McGraw-Hill/Irwin, 2004, 619 p.
42
Literatura (ciąg dalszy)
Thomas Connolly, Carolyn Begg. Database Systems: A
Practical Approach to Design, Implementation, and
Management. 3rd Edition. Addison Wesley. 1236 p., 2001
Brookshear J.G.: Informatyka w ogólnym zarysie,
Wydawnictwo WNT, Warszawa 2003.
Kisielnicki J., Sroka H.: Systemy informacyjne biznesu.
Informatyka dla zarządzania. Metody projektowania i
wdrażania systemów. A.W. „Placet”, Wwarszawa 1999 r.
Dobson R.: Programowanie Microsoft Access 2000.
Wydawnictwo RM, Warszawa 2000.
Beynon-Davies P.: Systemy baz danych. WNT, Warszawa
2000.
43
Literatura (ciąg dalszy)
Andrzejewski M., Chudzicki M., Nowosielska G.: Materiały
pomocnicze do projektowania aplikacji bazodanowych.
Wydawnictwo Politechniki Śląskiej, Gliwice 2003.
Microsoft Official Curriculum: MS #2072: Administering a
Microsoft SQL Server 2000 Database.
Date C.J.: Wprowadzenie do systemów baz danych. WNT,
Warszawa 2000.
Internet: Strona domowa przedmiotu:
http://www.roz6.polsl.pl/bazydanych.
Internet: Portal wiedzy Katedry Informatyki i
Ekonometrii http://www.roz6.polsl.pl/portalwiedzy.