Bazy danych i ich wykorzystanie w handlu elektronicznym Bazy danych i ich wykorzystanie w handlu elektronicznym. Hurtownie danych
Literatura I. Rojek-Mikołajczak, Bazy danych – kurs podstawowy dla inżynierów informatyków, skrypt, Wydawnictwo Akademii Bydgoskiej, Bydgoszcz, 2004 C.J. Date, Wprowadzenie do systemów baz danych, WNT, 2000 D. J. Ullman, Podstawowy wykład z systemów baz danych, WNT, 2001 P. Beynon-Davies, Systemy baz danych, WNT, 2001 J. Gnybek, Oracle – łatwiejszy niż przypuszczasz, Helion, 2000 K. Loney, M. Theriault, Oracle8i. Podręcznik administratora baz danych, Helion, 2002 B. Pribyl, S. Feuerstein, Oracle PL/SQL. Wprowadzenie, Helion, 2002 M. Szeliga, ABC języka SQL, Helion, 2002 S. Roman, Access. Baza danych. Projektowanie i programowanie, Helion, 2001 S. Forte, T. Howe, K. Wall, P. Kimmel, R. Mulle, Access 2002. Projektowanie baz da-nych. Księga eksperta, Helion, 2002
Wstęp do teorii baz danych Bazy danych Wstęp do teorii baz danych
Wprowadzenie
Motywacja do rozwoju baz danych Posiadanie dużej ilości danych Trudności w przechowywaniu i udostępnianiu danych Konieczność szybkiego dostępu do informacji Potrzeba: Przechowywanie i przetwarzanie informacji o obiektach występujących w rzeczywistości
Przykład Firma sprzedająca pewne produkty Pracownicy spędzają dużo czasu na wypełnianiu dokumentów w formie papierowej Kierownictwo chce usprawnić działanie firmy Istnieje zapotrzebowanie na informacje analityczne: Które produkty sprzedają się najlepiej? Którzy klienci przynoszą największe zyski? Jaka jest dynamika sprzedaży? Obecnie wykonanie takich analiz jest czasochłonne i żmudne Aktualne wyniki analiz pozwolą podejmować decyzje prowadzące do wzrostu zysków firmy Narzędzie do realizacji zasygnalizowanych potrzeb: System informatyczny zastępujący dotychczasowe prace: baza danych klientów, sprzedaży, magazynu, podsumowania
Co to jest baza danych Struktura do przechowywania informacji Związek informacji z rzeczywistością Określony format umożliwiający szybki dostęp do danych Przykład złej organizacji informacji Kartki ze swobodnym opisem, odręcznym: brak jednolitego formatu utrudnienie dostępu do informacji - różnorodność informacji Przykład Zbiór informacji o książkach w bibliotece: jednolity format kart opisujących książki porządek alfabetyczny wg nazwisk autorów
Wnioski Wprowadzenie określonej struktury (formatu) pozwala na: uporządkowanie informacji szybsze i łatwiejsze operowanie informacją Postulat należy skonstruować strukturę pozwalającą: przechowywać różne dane opracować jednolite reguły przetwarzania takich danych
Definicje bazy danych Baza danych jest to uporządkowany zbiór danych, które: - są ze sobą wzajemnie powiązane, - pamiętane są bez zbędnej redundancji (nadmiarowości), - znajdują się pod wspólną kontrolą, zapewniającą ich niesprzeczność (integralność) oraz bezpieczeństwo. Baza danych odnosi się do pewnego fragmentu rzeczywistości (np. przedsiębiorstwo, biblioteka, wydział) oraz posiada określony krąg użytkowników.
Definicje bazy danych cd. Baza danych składa się z plików (zbiorów, kartotek): Plik (tabela) – zestaw danych odnoszących się do jednej klasy obiektów lub do powiązań między klasami obiektów; plik składa się z rekordów, Rekord – zestaw danych opisujących jeden konkretny obiekt lub konkretne powiązanie między obiektami; rekord składa się z pól, Pole – najmniejsza jednostka danych w bazie danych, posiada wartość i nazwę.
Systemy baz danych Korzyści z zastosowania systemu bazy danych ukrycie fizycznych aspektów przechowywania danych standardowy język manipulacji danymi (SQL) umożliwienie projektowania na poziomie pojęć odpowiadających obiektom występującym w rzeczywistości System bazy danych Implementacja pojęć i związków Interfejs użytkownika SQL
System baz danych System bazy danych składa się z bazy danych i systemu zarządzania bazą danych.
Cechy bazy danych 1. Niezależność aplikacji i danych Cecha ta ma dwa aspekty. Po pierwsze, dane mogą być wprowadzane do baz danych bez konieczności modyfikacji korzystających z nich aplikacji. Po drugie aplikacje mogą być modyfikowane np. w celu ich ulepszenia, niezależnie od stanu bazy danych. 2. Abstrakcyjna reprezentacja danych Przygotowanie aplikacji bazy danych jest realizowana przy użyciu tzw. dedykowanych języków programowania. Twórcę aplikacji nie interesuje kolejność danych w bazie danych, ani też sposób ich reprezentacji i wyszukiwania. Pracuje jedynie w kategoriach „co robić” a nie „jak robić”.
Cechy bazy danych 3. Różnorodność sposobów widzenia danych Te same dane mogą być „widziane” w różny sposób przez różnych użytkowników. Model świata rzeczywistego Zasób systemu informatycznego (baza danych traktowana jest jako nieprzywłaszczalny zasób SI, o którego przydział współzawodniczą procesy współbieżne) Element składowy SI ( w tym przypadku szczególnie interesujące jest ustalenie związku między systemem zarządzania bazą danych a systemem operacyjnym komputera oraz analiza środków sprzętowych i programowych służących do przechowywania danych, ich transmisji i komunikacji z człowiekiem) Uniwersum (dziedzina) interpretacji języka bazy danych ( baza danych traktowana jest jako zbiór wartości wyrażeń języka danych. Dane w bazie danych pojawiają się wtedy, gdy zostaje sformułowane wyrażenie języka danych, gdyż z takim wyrażeniem związany jest określony zbiór operacji na bazie danych: tworzenie danych, ich strukturyzowanie, usuwanie, zmiana lub odczytywanie Zbiór struktur danych (zbiór struktur danych, składających się na schemat bazy danych, jej stan, ścieżki dostępu. Struktury te przetwarzane są przez różne algorytmy: przeszukiwania, sortowania, modyfikowania, synchronizacji, optymalizacji
Cechy bazy danych 4. Fizyczna i logiczna niezależność danych Fizyczna niezależność danych polega na tym, że rozszerzenie systemu komputerowego, na którym pracuje SZBD o nowy sprzęt nie narusza danych w bazach danych. Logiczna niezależność danych ma dwa aspekty. Po pierwsze, wprowadzanie nowych danych do baz danych nie dezaktualizuje starych danych. Po drugie dane, które nie są wzajemnie powiązane tzw. związkami integralnościowymi mogą być usuwane z baz danych niezależnie od siebie.
Modele danych Fundamentalną cechą systemów baz danych jest zapewnienie wyższego poziomu abstrakcji widzenia danych przez użytkowników, przesłaniając szczegóły dotyczące fizycznej organizacji danych. Uzyskuje się to dzięki oferowanym przez bazy danych modelom danych. Przez model danych rozumiemy zbiór koncepcji stosowanych do opisu struktury bazy danych. Struktura ta obejmuje: - typy danych, związki pomiędzy danymi i więzy integralnościowe nałożone na dane, - zbiór operacji służących do definiowania, wyszukiwania i uaktualniania baz danych
Kategorie modeli danych konceptualne modele danych, zwane też modelami koncepcyjnymi lub semantycznymi. Są to modele najbardziej zbliżone poziomem abstrakcji do wymagań projektantów baz danych, stosowane w pierwszych etapach projektów w celu weryfikacji wyróżnionych w mini świecie obiektów i związków między nimi. implementacyjne modele danych, stosowane do transformacji wcześniej przygotowanego modelu konceptualnego do konkretnego modelu danych baz danych, a więc do postaci, która jest zgodna z wymaganiami określonego SZBD. Wśród modeli implementacyjnych wyróżniamy modele: hierarchiczny, sieciowy, relacyjny, obiektowy i dedukcyjny.
Kategorie modeli danych fizyczne modele danych określające sposoby organizacji danych w pamięci zewnętrznej komputera. Modele te można rozpatrywać w sposób bardziej lub mniej szczegółowy. Przy najwyższym stopniu szczegółowości rozważa się poszczególne bity przechowywane w pamięci, ich znaczenie i adres. Natomiast na niższym stopniu szczegółowości operuje się pojęciami takimi jak rekord i plik.
Klasyfikacja systemów baz danych ze względu na: 1. Model danych, który jest głównym kryterium używanym do klasyfikacji systemów baz danych • Model sieciowy 1961 Bachman • Model hierarchiczny 1965 - 1970 • Model relacyjny 1970 Codd • Model obiektowy 1985 • Model dedukcyjny ’90 Na te modele nakładane są nowe możliwości baz danych. Wyróżniamy przestrzenne (spatial) bazy danych, temporalne bazy danych, multimedialne i hipermedialne bazy danych - ’90.
Klasyfikacja systemów baz danych ze względu na:
Klasyfikacja systemów baz danych ze względu na:
Hurtownie danych „Hurtownia danych to zbiór zintegrowanych, nieulotnych, ukierunkowanych baz danych, wykorzystywanych w systemach wspomagania decyzji.” W.H.Inmon
Hurtownia danych – rodzaj bazy danych, która jest zorganizowana i zoptymalizowana pod kątem pewnego wycinka rzeczywistości. Hurtownia danych jest wyższym szczeblem abstrakcji niż zwykła relacyjna baza danych (choć do jej tworzenia używane są także podobne technologie). W skład hurtowni wchodzą zbiory danych zorientowanych tematycznie (np. hurtownia danych klientów). Dane te często pochodzą z wielu źródeł, są one zintegrowane i przeznaczone wyłącznie do odczytu.
Architektura hurtowni danych: W hurtowniach danych możemy wyróżnić nastepujące architektury: - schemat gwiazdy:
Schemat gwiazdy jest najprostszym modelem hurtowni danych Schemat gwiazdy jest najprostszym modelem hurtowni danych. Jego nazwa wzięła się z wyglądu schematu danych, w którym w centralnym miejscu znajduje się tabela faktów otoczona przez tabele wymiarów. Dane w tabeli faktów powinny być znormalizowane do trzeciej postaci normalnej, natomiast tabele wymiarów są zwykle zdenormalizowane przy czym dla każdego z wymiarów może występować tylko jedna zdenormalizowana tabela. Tabela faktów składa się z dwóch typów kolumn: - kolumy zawierające wartości numeryczne o danym fakcie tzw. miary - kolumny z kluczami obcymi do tablic wymiarów
Schemat gwiazdy dla sprzedaży nieruchomości
Schemat płatka śniegu
Z reguły w hurtowni danych jest zdefiniowanych co najmniej kilkanaście wymiaró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ący sposó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
Kategorie to elementy danych które opisują poziomy w wymiarach. Przykładowo, dla wymiaru Lokalizacji, w hurtowni danych zostały ustawione poziomy obszaru, regionu i kraju. W tym przykładzie dla Polski 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 Upust
Przepływ informacji w hurtowni danych:
Schemat połączenia oddziałów firmy
Architektura klient – serwer
Zastosowanie replikacji w medycynie
Bezpieczeństwo baz danych: Mechanizm zabezpieczający bazę danych przed przypadkowym lub celowym zagrożeniem, jak np.: kradzież i defraudacja; utrata poufności (tajności) danych (dane o kluczowym znaczeniu dla instytucji); utrata prywatności (dane osób prywatnych); brak integralności (powstanie niespójnych lub błędnych danych); uniemożliwienie dostępu.
Zabezpieczenia systemowe: Uprawnienia; Perspektywy (użytkownik nie jest świadom istnienia atrybutów i wierszy, które nie znajdują się w perspektywie – bardziej ograniczony dostęp niż do relacji z odpowiednimi prawami); Składowanie (wykonywany okresowo proces tworzenia kopii bazy danych i pliku dziennika na dodatkowych nośnikach pamięci) i odtwarzanie (w razie awarii kopia archiwalna i szczegóły zapisane w dzienniku służą do odtworzenia spójnego, jak najbardziej aktualnego stanu bazy danych ); Integralność (więzy integralności zapobiegają wystąpieniu niepoprawnych danych, które mogłyby spowodować wygenerowanie); Szyfrowanie (symetryczne i niesymetryczne);
Dziękuję za uwagę Czy są jakieś pytania?