38 Model relacyjny bazy danych

advertisement
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.
Download