Administracja serwerem bazy danych Oracle 11g Zarządzanie strukturą bazy danych Wykład nr 2
1 Bazy danych -...
Transcript of 1 Bazy danych -...
2
2017-03-15 22:36
Computer Aided Software Engineering,Computer-Aided Systems Engineering
Oprogramowanie używane do komputerowego wspomaganiaprojektowania oprogramowania, również ogólna nazwa strukturalnegoprojektowania aplikacji bazodanowych, zbioru rekomendacji i wskazówekdo metod
Metodyka Yourdona – diagramy przepływu danych DFD
Metodyka SSADM – podobna, wykorzystująca inne symbole
Metodyka Martina – diagramy związków encji ERD
Diagram hierarchii funkcji FHD jest dodatkowym diagramemwystępującym we wszystkich podejściach
Diagram stanów STC jest zbliżony do diagramu DFD ale dotyczyprzepływu danych między fragmentami kodu aplikacji
3
2017-03-15 22:36
Podstawowe pojęcia
Metodologia CASE
FHD (Function Hierarchy Diagram) – Diagramu hierarchii funkcji. Służyon do zdefiniowania wszystkich funkcji opisujących system. FHD(DHF)prowadzi do opracowanie szczegółowego modelu potrzeb informacyjnychużytkownika. Celem modelowania funkcji jest również opracowanietakiego modelu, który byłby niezależny od metod realizacji systemu.Korzyścią z jego opracowania jest dokładne poznanie potrzebinformacyjnych użytkownika.
4
2017-03-15 22:36
Podstawowe pojęcia
Metodologia CASE
PIZZA PRZEZ INTERNET
Zamawianie
Odnotowanie zamówienia
Potwierdzenie zamówienia przez
klienta
Przekazanie zamowienia do
partnera
Potwierdzenie zamówienia przez
partnera
Potwierdzenie realizacji
Anulowanie realizacji
Menu
Edycja listy dań (pizz)
Edycja listy składników
Edycja listy dodatków
Przeglądanie menu online
Ewidencja partnerów
(pizzeri)
Dodanie nowega kandydata do współpracy
Dopisanie kandydata do
bazy
Wygenerowanie umowy o
współpracy
Podpisanie cyfrowe umowy o
współpracy
Edycja danych partnera
Rozliczenia
Konwersja zamówienia zreal.
na rozlicznenie
Konwersja rozliczenia
anulowanego na rozliczenie
Zestawienie rozliczeń dla
partnera za okres >>
Konwersja rozliczeń na
faktury
Odnotowanie płatności
związanej z rozliczeniami
Raporty
Zamówienia za okres >>
Zamówienia wg typów pizzy, składników , dodatków >>
Zamówienia wg partnera
Efektywność partnera
Efektywność portalu i
pracowników >>
Ustawienia
Edycja listy użytkowników (pracowników
portalu)
Cennik i prowizje
Domyślne czasy dostaw
Zarządzanie dostępnością zamówień wg odległości od pizzeri
Zarządzanie treściami statycznymi na portalu
Zarządzanie banerami
5
2017-03-15 22:36
Podstawowe pojęcia
Metodologia CASE
DFD (Data Flow Diagram) - Diagramu przepływu danych. Służy on doprzedstawienia obiektów zewnętrznych, procesów elementarnych,składnic danych oraz powiązań pomiędzy tymi elementami. Obiektyzewnętrzne (terminatory, encje zewn., external entities) - reprezentujązewnętrzne w stosunku do analizowanego systemu źródła powstania imiejsca przeznaczenia informacji (te, które dostarczają i odbierają dane).Składnice danych (magazyny, zbiory, data stores) - reprezentują miejscaprzechowywania danych między procesami (dostępne są tylko zprocesów). Procesy (funkcje, proceses) - definiują sposób wykonywaniajednej lub więcej funkcji (program, procedura, algorytm, operacja ręcznaczy zautomatyzowana (całkowicie lub częściowo) - wszystkie czynnościwykonywane na danych). przepływy danych (strumienie, data flows) -przedstawiają obieg danych w systemie; powiązania pomiędzy procesamia innymi elementami DFD.
6
2017-03-15 22:36
Podstawowe pojęcia
Metodologia CASE
Obiekty zewnętrzne (terminatory, encje zewn., externalentities) - reprezentują zewnętrzne w stosunku doanalizowanego systemu źródła powstania i miejscaprzeznaczenia informacji (te, które dostarczają i odbierajądane); KLIENT, DOSTAWCA, BANK i inne.
Składnice danych (magazyny, zbiory, data stores) -reprezentują miejsca przechowywania danych międzyprocesami (dostępne są tylko z procesów). Zaistnienieskładnicy w DFD ma sens wtedy, kiedy przechowywane tamdane służą realizacji co najmniej dwóch procesów. wszelkiegorodzaju KARTOTEKI.
Procesy (funkcje, proceses) - definiują sposób wykonywaniajednej lub więcej funkcji (program, procedura, algorytm,operacja ręczna czy zautomatyzowana (całkowicie lubczęściowo) - wszystkie czynności wykonywane na danych).
Przepływy danych (strumienie, data flows) - przedstawiająobieg danych w systemie; powiązania pomiędzy procesami ainnymi elementami DFD.
8
2017-03-15 22:36
Podstawowe pojęcia
Metodologia CASE
ERD (Entity Relationship Diagram) - Diagram związków encji. Służy ondo przedstawienia dokładnej charakterystyki danychwykorzystywanych przez system i relacji pomiędzy danymi. Obiekty(encje, entities) - osoba, miejsce, zdarzenie, które ma znaczenie dlaprojektowanego systemu, o tym obiekcie są gromadzone iprzechowywane informacje.
Encja - składnik rzeczywistości
Atrybut – cecha opisująca encję, ma za zadanie identyfikować,opisywać, klasyfikować, określać ilość i wyrażać stan encji
Związek – powiązanie między encjami
11
2017-03-15 22:36
Podstawowe pojęcia
UML
Diagramy ERD, DFD i HFD są narzędziami modelowania relacyjnych baz
danych i programów tworzonych w językach strukturalnych. W
nowoczesnych systemach tworzonych w Java, C++, C# oraz
technologiach ORM (Object Relational Mapping) takich jak Hibernate, do
obiektowego projektowaniu systemów służy język UML (Unified Modeling
Language) definiujący własne typy diagramów takie jak:
• diagramy klas – modelowanie statycznej struktury systemu;
• diagramy rozmieszczenia – modelowanie przestrzennego
rozmieszczenia składników systemu;
• diagramy komponentów – modelowanie fizycznych elementów
wchodzących w skład systemu i powiazań między nimi;
• diagramy interakcji – modelowanie zależności w przesyłaniu
komunikatów pomiędzy obiektami w systemie;
• diagramy aktywności – modelowanie czynności i zakresu
odpowiedzialności elementów i użytkowników systemu;
• diagramy sekwencji – modelowanie sposobu i kolejności
współdziałania procesów w systemie;
• diagram użycia – modelowanie funkcjonalności system
12
2017-03-15 22:36
Podstawowe pojęcia
Bazy danych
Baza danych to zbiór danych o określonej strukturze. zapisany na
zewnętrznym (trwałym) nośniku pamięci komputera. Zgodnie z tą definicją
bazami danych są również systemy plików na dyskach komputera, jednak
nowoczesne bazy danych są powiązane z wyspecjalizowanymi programami
zarządzającymi określanymi często jako SZBD (system zarządzania bazą
danych) takimi jak:
• ORACLE,
• MS SQL.
• POSTGRESQL,
• MYSQL,
• FIREBIRD,
• SAP DB,
• DB2,
• MS ACCESS.
• (i inne)
13
2017-03-15 22:36
Podstawowe pojęcia
Bazy danych
Programy tego typu powinny:
- Zapewniać odpowiednią organizację danych na poziomie fizycznym (w
pamięci komputera);
- Dbać o zachowanie integralności danych oraz umożliwiać definiowanie
reguł integralności;
- Dbać o poufność danych i umożliwiać dostęp do nich tylko autoryzowanym
użytkownikom;
- Zapewniać możliwość pracy współbieżnej wielu użytkownikom
równocześnie i unikać tzn. zderzeń poprzez zaawansowane mechanizmy
takie jak transakcje, blokowanie pesymistyczne czy blokowanie
optymistyczne;
- Zapewniać niezawodność danych i eliminować w miarę możliwości błędy
związane z zapisem / odczytem danych z nośników pamięci poprzez
mechanizm tzn. mirroringu oraz możliwość tworzenia kopii zapasowych;
- Definiować język dostępu do danych. W przypadku zdecydowanej
większości baz danych tym językiem jest strukturalny język zapytań SQL –
Structural Query Language
14
2017-03-15 22:36
Podstawowe pojęcia
Bazy danych
Można wyróżnić cztery najważniejsze modele baz danych (choć należy
nadmienić, iż praktycznie wszystkie programy typu SZBD funkcjonują w
modelu relacyjnym):
Model hierarchiczny
Baza danych w tym modelu reprezentuję strukturę drzewiastą z jednym
wydzielonym obiektem głównym i powiązaniami jednokierunkowymi z pozostałymi
obiektami. Zgodnie z nazwą w tym modelu zakłada się, iż pomiędzy modelowanymi
obiektami opisującymi fragmenty rzeczywistości zawsze zachodzi związek typu
„obiekt nadrzędny – obiekt podrzędny” Szybko okazało się, iż to założenie zbyt
mocno ogranicza proces modelowania i aktualnie ten model jest tylko modelem
historycznym.
Model sieciowy
Model sieciowy usuwał ograniczenia modelu hierarchicznego umożliwiając
definiowanie dowolnych powiązań pomiędzy modelowanymi obiektami. Został
zastąpiony przez model relacyjny, gdyż ten ostatni okazał się bardziej efektywny i
łatwiejszy do implementacji.
15
2017-03-15 22:36
Podstawowe pojęcia
Bazy danych
Model obiektowy
Model, w którym do opisu danych wykorzystywane są pojęcia z zakresu
programowania obiektowego takie jak dziedziczenie, enkapsulacja,
polimorfizm itp. Model ten powstał mniej więcej na początku lat
osiemdziesiątych i nie doczekał się żadnych istotnych realizacji praktycznych.
Zamiast tego w ostatnich kilku standardem latach stało się podejście
mieszane, mapujące relacyjne bazy danych na obiekty języka Java czy C#,
wykorzystujące technologie typu ORM/ORB (Object – Relational Mapping/
Object – Relational Broker) takie jak Hibernate czy Java Persistence API
Model relacyjny
Model ten jest rozszerzeniem matematycznego pojęcia relacji (czyli podzbioru
iloczynu Kartezjańskiego). Został on opracowany przez E. F. Codda, i mniej
więcej od lat osiemdziesiątych poprzedniego stulecia zdecydowana większość
SZBD jest oparta właśnie o ten model. Relacja jest pewnym uogólnieniem
pojęcia tabeli, przy czym w przeciwieństwie do tabel znanych z MS Excel czy
MS Word tabela ta jest zapisywana bezpośrednio w pamięci trwałej komputera
a ponadto musi spełniać warunki:…
16
2017-03-15 22:36
Podstawowe pojęcia
Bazy danych
… relacja w modelu relacyjnym baz danych musi spełniać warunki:
• Tabela musi mieć określoną jednoznaczną nazwę;
• Każda kolumna tabeli (pole, atrybut) musi posiadać jednoznaczną nazwę;
• Każda kolumna tabeli musi zawierać dane określonego typu (np. tekst,
liczbę, wartość logiczną, datę, format waluty, itp.);
• Nie jest istotna kolejność kolumn;
• Nie jest (nie powinna być) istotna kolejność wierszy (rekordów);
• Dane w poszczególnych polach (na przecięciu kolumn i wierszy) na są
niepodzielne (atomowe);
• Każda tabela powinna mieć zdefiniowany klucz główny (pole/a niepuste,
niepowtarzalne, jednoznacznie identyfikujące rekord).
Poprawnie zaprojektowane relacyjne bazy danych powinny spełniać postulaty
tzw. III postaci normalnej, co zazwyczaj jest osiągane poprzez proces
normalizacji bazy.
17
2017-03-15 22:36
Podstawowe pojęcia
Normalizacja
Model logiczny – Encja, krotka, atrybut
Model fizyczny – Tabela, rekord, pole
Bazy danych składają się z dużej ilości tabel połączonych ze sobą ispełniających warunki trzeciej postaci normalnej
Pierwsza postać normalna – Dane w poszczególnych polach sąniepodzielne (np. nie powinno być pola Imię_i_nazwisko tylko dwaosobne pola) oraz nie występuje wielowymiarowość (np. w tabelifaktura pola pozycja1, pozycja2, pozycja3 itp). Jedynym wyjątkiem odreguły w niektórych sytuacjach jest umieszczenie w tabeli dwóch pólopisujących podobne dane (imię, drugie_imię). Unikaniewielowymiarowości jest związane z rozdzieleniem tabel. W przykładziez fakturą powinno się zaprojektować dwie osobne tabele: faktura ipozycje faktury połączone sprzężone ze sobą. Każda tabela ma w Ipostaci normalnej zdefiniowany klucz główny (pole/a niepuste,niepowtarzalne, jednoznacznie identyfikujące rekord)
18
2017-03-15 22:36
Podstawowe pojęcia
Normalizacja
Druga postać normalna – Żaden podzbiór klucza głównegoskładającego się z wielu pól nie może sam stanowić klucza (+ pierwszapostać normalna). Najprostszym sposobem spełnienia tego postulatujest zdefiniowanie wszędzie kluczy składających się z jednego pola.
Trzecia postać normalna – Brak zależności przechodnich pomiędzypolami tabeli innymi niż klucz (+ druga postać normalna). Zależnościprzechodnie powodują powtarzanie się danych (redundancję) oraz sązagrożeniem dla integralności bazy, bo to samo pole w jednymrekordzie może mieć inną wartość a w drugim omyłkowo wpisanąinną. Sposobem uniknięcia zależności przechodnich jest rozdzielenietabel i utworzenie nowej tabeli z polami zależnymi przechodnio.
19
2017-03-15 22:36
Podstawowe pojęcia
Normalizacja
Aby postulaty trzeciej postaci normalnej były spełnione należy wwiększości przypadków rozdzielić projektowaną tabele na szereg tabelpołączonych. Możliwe jest to dzięki mechanizmowi sprzężeń błędnienazywanych czasami relacjami. Sprzężenie to para pól w dwóch tabelach zktórych jedno pełni rolę klucza głównego w pierwszej tabeli. Pole wdrugiej tabeli nosi nazwę klucza obcego.
Przykładowo, jeśli tworzymy bazę danych dotyczącą kolekcji płyt CD, topoprawnie zaprojektowana baza powinna rozdzielać informacje o samejpłycie od informacji o utworach.
Tabela Płyty mogłaby mieć następujące pola
20
2017-03-15 22:36
Podstawowe pojęcia
Normalizacja
Id_płyty Wykonawca Tytuł Gatunek ....
1 U2 Joshua Tree Rock
2 U2 Achtung Baby Rock
3 Paktofonika Kinematografia Hip-Hop
4 Akcent Pszczólka Maja Disco-polo
5 Taco Hemingway Umowa o dzieło Hip-Hop
... ... ... ...
Id_Utworu Id_Płyty Tytuł Czas_odtw ....
1 1 With or without you
2 1 I still haven’t found
3 2 One
4 3 Ja to ja
5 3 Jestem bogiem
6 3 Masz albo myślisz o nich
7 4 Ostatni Klaps
8 4 Prze twe oczy zielone
9 5 Sześć zer
10 5 Następna stacja
Natomiast tabela Utworymoże zawierać:
21
2017-03-15 22:36
Podstawowe pojęcia
Normalizacja
Tabele te są sprzężone polem Id_płyty, które w tabeli Płyty jest kluczemgłównym a w tabeli Utwory kluczem obcym. Zwróćmy uwagę, że o ilewartości klucza głównego są unikalne, to wartości odpowiadającego mu wtabeli Utwory klucza obcego mogą się powtarzać.
Interpretacja sprzężenia tabel w tym wypadku jest dość prosta. UtwórOne pochodzi z płyty o id=2 czyli z płyty U2 Achtung Baby, utwór JestemBogiem z płyty o id=3 czyli z płyty Paktofoniki 44 3:44 a utwór NastępnaStacja z płyty Umowa o dzieło Taco Hemingway itd.
22
2017-03-15 22:36
Podstawowe pojęcia
Narzędzia RAD
Rapid Application Development – narzędzia informatyczne integrującenarzędzia CASE z procesem tworzenia oprogramowania, przyśpieszającetworzenie software’u poprzez zastosowanie technik programowaniagraficznego, zdarzeniowego i komponentowego. Np.:
Sun NetBeans,
IBM Eclipse,
Borland JBuilder
KDevelop: biblioteka Qt
Microsoft Visual Studio .NET (2003, 2005, 2008):
Borland Delphi
C++/C#Builder 2006, Turbo Delphi/C++/C#)
CodeGear RAD Studio 2007
Oracle Designer
Magic
25
2017-03-15 22:36
Podstawowe pojęcia
Narzędzia RAD
Narzędzia typu RAD coraz częściej wykorzystująpodejście obiektowe i UML (Universal ModelingLanguage) jako język opisu projektu oraz XML(eXtended Mark-up Language) jako język w którymprojekt jest przechowywany*
*(diagramy ERD i DFD reprezentują podejście strukturalne)
26
2017-03-15 22:36
Podstawowe pojęcia
Hurtownia danych
Hurtownia danych (ang. data warehouse) rodzaj bazy danych, która jestzorganizowana i zoptymalizowana pod kątem pewnego wycinkarzeczywistości. Hurtownia danych jest wyższym szczeblem abstrakcji niżzwykła relacyjna baza danych (choć do jej tworzenia używane są takżepodobne technologie). W skład hurtowni wchodzą zbiory danychzorientowanych tematycznie (np. hurtownia danych klientów). Dane teczęsto pochodzą z wielu źródeł, są one zintegrowane i przeznaczonewyłącznie do odczytu.
W modelach hurtowni danych mogą występować architektury:
Schemat gwiazdy
Schemat płatka śniegu
Schemat konstelacji
Na podstawie: http://etl-tools.info/pl/bi/architektura_hurtowni_danych.htm
27
2017-03-15 22:36
Podstawowe pojęcia
Hurtownia danych
Architektura gwiazdy jest najprostszym modelem projektu bazy danych whurtowni danych. Główną cechą schematu gwiazdy jest centralna tabela,nazywana tabelą faktów, z którą połączone są tabele wymiarów. Modeltaki umożliwia przeglądanie poszczególnych kategorii, sumaryzację, ifiltrowanie danych. W modelu gwiazdy tabela faktów w hurtowni danychjest w trzeciej postaci normalnej, podczas gdy tabele wymiarówreprezentują drugą postać normalną.
Tabela faktów zwykle zawiera rekordy gotowe do eksploracji, Rekordy wtabeli faktów mogą być postrzegane jako wydarzenia, co jestspowodowane naturą hurtowni danych. Prawie wszystkie informacje wtypowej tabeli faktów są reprezentowane również w jednej lub wielu tabeliwymiarów. Klucz główny każdej z tabeli wymiarów jest związany z tabeląfaktów i jest to składowa złożonego klucza głównego tabeli faktów. Wschemacie gwiazdy występuje tylko jedna zdenormalizowana tabela dlakażdego z wymiarów.
28
2017-03-15 22:36
Podstawowe pojęcia
Hurtownia danych
Architektura płatka śniegu jest bardziej złożoną wersją schematu gwiazdy.Główną różnicą między nimi stanowi fakt, że w schemacie płatka śniegutabele wymiarów są znormalizowane, czyli są zaprojektowane zgodnie zmodelem relacyjnej bazy danych. Schemat płatka śniegu jest używanyprzede wszystkim wtedy, gdy tabela wymiarów osiąga duże rozmiary i wschemacie gwiazdy jest ciężko przedstawić kompleksowość takiejstruktury danych.
29
2017-03-15 22:36
Podstawowe pojęcia
Hurtownia danych
Dla każdego schematu gwiazdy lub schematu płatka śniegu możnazbudować architekturę konstelacji faktów. Ta architektura jest bardziejzłożona od schematu gwiazdy i płatka śniegu, ponieważ może zawieraćwiele tabeli faktów. Dzięki temu tabele wymiarów mogą być dzielone iwykorzystywane przez kilka tabeli faktów równocześnie. Rozwiązanie tojest bardzo elastyczne i daje wiele możliwości, jednak odbywa się tokosztem trudności w utrzymaniu. Główną wadą tego rozwiązania jestwysoki stopień skomplikowania, ponieważ podczas analiz należy rozważyćwiele różnych możliwości agregacji.
30
2017-03-15 22:36
Podstawowe pojęcia
Data Mining
Data mining (zgłębianie danych). Data mining jako proces analityczny,przeznaczony jest do eksploracji dużych zbiorów danych (zazwyczajodnoszących się do zjawisk gospodarczych lub rynkowych), wposzukiwaniu reguł i systematycznych zależności pomiędzyzmiennymi, a następnie do oceny wyników poprzez zastosowaniewykrytych prawidłowości do nowych podzbiorów danych. Ostatecznymcelem data mining jest przewidywanie.
wizualizacje na wykresach metody statystyczne
Analiza dyskryminacyjna Analiza skupień Drzewa klasyfikacyjne (Breiman 1984, Gatnar 2001)
sieci neuronowe metody uczenia maszynowego metody ewolucyjne Web mining
31
2017-03-15 22:36
Podstawowe pojęcia
OLAP
Kostka wielowymiarowa (Multidimensional OLAP Cube)
Wielowymiarowa kostka OLAP (cube) jest podstawową strukturądanych w każdym systemie OLAP działającym w środowisku Hurtowni
Danych.Cube składa się z Miar (Measures), Wymiarów (Dimensions) iPoziomów (Levels) i jest zoptymalizowany pod kątem szybkiego ibezpiecznego dostępu do danych wielowymiarowych.Miary to wskaźniki numeryczne (ile?), natomiast wymiaryreprezentują dane opisowe (kto? co? kiedy? gdzie?). Wymiary sąpogrupowane za pomocą poziomów, które odzwierciedlają hierarchięfunkcjonującą w organizacji i pozwalają użytkownikom końcowymzwiększać lub zmniejszać poziom szczegółowości analizowanego
wymiaru.
32
2017-03-15 22:36
Podstawowe pojęcia
OLAP
Z reguły w hurtowni danych jest zdefiniowanych co najmniej kilkanaściewymiarów, a najczęściej spotykanym i wymiarami są:
Czas
Klient
Produkt
Lokalizacja
Biuro Sprzedaży
Hierarchia każdego z wymiarów ustawiona jest za pomocą Poziomów.Przykładowo, hierarchia poziomów może być ułożona w następującysposób::
wymiar Czas: Rok -> Kwartał -> Miesiąc -> Tydzień -> Dzień
Klient: Grupa klientów -> Nazwa klienta
Produkt: Linia Produktu -> Grupa Produktu -> Produkt
Lokalizacja: Obszar -> Region -> Kraj
33
2017-03-15 22:36
Podstawowe pojęcia
OLAP
Kategorie to elementy danych które opisują poziomy w wymiarach.Przykładowo, dla wymiaru Lokalizacji, w hurtowni danych zostałyustawione poziomy obszaru, regionu i kraju. W tym przykładzie dlaPolski kategoriami będą:
Obszar - Europa
Region - Europa Środkowa
Kraj - Polska
Typowe, najczęściej występujące Miary w hurtowniach danych to:
Przychód netto
Przychód brutto
Waga
Ilość
Koszt
34
2017-03-15 22:36
Podstawowe pojęcia
OLAP
Kategorie to elementy danych które opisują poziomy w wymiarach.Przykładowo, dla wymiaru Lokalizacji, w hurtowni danych zostałyustawione poziomy obszaru, regionu i kraju. W tym przykładzie dlaPolski kategoriami będą:
Obszar - Europa
Region - Europa Środkowa
Kraj - Polska
Typowe, najczęściej występujące Miary w hurtowniach danych to:
Przychód netto
Przychód brutto
Waga
Ilość
Koszt