W3-bazy i hurtownie danych

Содержание

Слайд 2

Zakres zajęć Pojęcie bazy danych. Modele danych: pojęcie modelu danych, generacje

Zakres zajęć

Pojęcie bazy danych.
Modele danych:
pojęcie modelu danych,
generacje modeli danych.
Relacyjny model danych:
pojęcie

relacji,
encje,
związki encji.
Projektowanie baz danych.
Hurtownie danych.
Слайд 3

Baza danych System zarządzania BD

Baza danych
System zarządzania BD

Слайд 4

Baza danych i jej własności „Baza danych jest modelem pewnego aspektu

Baza danych i jej własności

„Baza danych jest modelem pewnego aspektu rzeczywistości

danej organizacji. Rzeczywistość tę nazywamy obszarem analizy (OA). (...) Baza danych jest magazynem danych z nałożoną na niego wewnętrzną strukturą. Ogólnym celem takiego magazynu jest przechowywanie danych związanych z pewnym zbiorem zadań organizacyjnych.*”

*Beynon-Davies P., Systemy baz danych, WNT, Warszawa 2000

Własności bazy danych:
współdzielenie danych – dane są dostępne dla więcej niż jednego użytkownika
integracja danych – bez zbędnych i powtarzających się niepotrzebnie danych
integralność danych – właściwe odzwierciedlenie obszaru analizy przez model
bezpieczeństwo danych – ograniczenia dostępu do danych
abstrakcja danych – odwzorowywanie istotnych szczegółów obszaru analizy
niezależność danych – oddzielenie danych od procesów, które ich używają

Слайд 5

System zarządzania bazami danych System zarządzania bazami danych (SZBD, ang. DBMS)

System zarządzania bazami danych

System zarządzania bazami danych (SZBD, ang. DBMS) jest

zbiorem narzędzi stanowiących warstwę pośredniczącą pomiędzy bazą danych a użytkownikiem i umożliwiających dostęp do danych oraz zarządzanie bazami danych.

Podstawowe funkcje SZBD:
zarządzanie plikami,
przeszukiwanie danych,
zarządzanie bazą danych.

SZBD

BD1

BD2

BDn

.
.
.

Слайд 6

Administrowanie danymi, a administrowanie bazą danych Administrowanie danymi jest funkcją działającą

Administrowanie danymi, a administrowanie bazą danych

Administrowanie danymi jest funkcją działającą na

koncepcyjnym poziomie danych organizacji. Administrator danych (AD) zajmuje się przede wszystkim planowaniem i dokumentowaniem zasobów danych.

Administrowanie bazą danych jest funkcją działającą na poziomie implementacyjnym bazy danych. Administrator bazy danych (ABD) odpowiedzialny jest za techniczną implementację bazy danych, zarządzanie nią i sprawowanie kontroli nad zasadami jej użycia.

Organizacja

Baza danych

Analiza
wymagań

Modelowanie
koncepcyjne

Modelowanie
logiczne

Modelowanie
fizyczne

AD

ABD

Слайд 7

Funkcje administratora bazy danych Podstawowe funkcje Administratora bazy danych: projektowanie fizyczne

Funkcje administratora bazy danych

Podstawowe funkcje Administratora bazy danych:
projektowanie fizyczne i implementacja

bazy danych,
kontrola dostępu do danych,
monitorowanie użycia danych,
archiwizowanie danych,
tworzenie kopii zapasowych i odtwarzanie danych,
szkolenie użytkowników bazy danych.

SQL

Create Table1

Create Table2

Create Table3

ABD

Grant/Revoke

Replikacja

Слайд 8

Pojęcie modelu danych Generacje modeli danych

Pojęcie modelu danych
Generacje modeli danych

Слайд 9

Modele danych Model danych w kontekście architektury danych to „... zbiór

Modele danych

Model danych w kontekście architektury danych to „... zbiór zasad

dotyczących struktur danych, ich używania oraz określania warunków wspomagających utrzymywanie zgodności danych z rzeczywistością.*”

*Banachowski L., Bazy danych. Tworzenie aplikacji, Akademicka Oficyna Wydawnicza PLJ, Warszawa 1998

Modele danych obejmują trzy główne kategorie reguł:
definicje danych – zbiór reguł określających logiczną strukturę danych
zasady operowania danymi – reguły dotyczące procesu dostępu do danych i ich modyfikacji;
zasady integralności danych – reguły określające jakie operacje na danych są dopuszczalne aby dane pozostały nadal poprawne.

Слайд 10

Modele danych *Banachowski L., Bazy danych. Tworzenie aplikacji, Akademicka Oficyna Wydawnicza

Modele danych

*Banachowski L., Bazy danych. Tworzenie aplikacji, Akademicka Oficyna Wydawnicza PLJ,

Warszawa 1998

Generacje architektonicznych modeli danych:
modele proste, w których obiekty reprezentowane są za pomocą struktury rekordów zgrupowanych w strukturach plików (jeden plik stanowi zbiór rekordów);
modele klasyczne, w których następuje nadbudowanie odpowiedniej struktury nad zbiorami rekordów, do modeli klasycznych należą model hierarchiczny, model sieciowy oraz model relacyjny;
modele semantyczne, w których wykorzystywane są narzędzia umożliwiające określenie znaczenia danych w schemacie bazy danych, do tej generacji zaliczany jest niekiedy obiektowy model danych.

Слайд 11

Hierarchiczny model danych Hierarchiczny model danych wykorzystuje dwie podstawowe struktury danych:

Hierarchiczny model danych

Hierarchiczny model danych wykorzystuje dwie podstawowe struktury danych: typy

rekordów oraz hierarchiczne związki jeden-do-wiele (typu rodzic/dziecko). Model ten ma znaczenie historyczne.

A co z prowadzeniem przedmiotów?!

Слайд 12

Sieciowy model danych Sieciowy model danych wykorzystuje również dwie podstawowe struktury

Sieciowy model danych

Sieciowy model danych wykorzystuje również dwie podstawowe struktury danych:

typy rekordów oraz typy kolekcji, stanowiące związki jeden-do-wiele. Istotne jest, że jeden typ rekordu podrzędnego może być podporządkowany kilku typom rekordów nadrzędnych. Model ten stanowi rozwinięcie modelu hierarchicznego.
Слайд 13

Relacyjny model danych

Relacyjny model danych

Слайд 14

Relacyjny model danych Relacyjny model danych wykorzystuje tylko jedną strukturę danych

Relacyjny model danych

Relacyjny model danych wykorzystuje tylko jedną strukturę danych –

relację. Relacja jest dwuwymiarową tabelą spełniającą następujące zasady:
każda relacja ma jednoznaczną nazwę;
każda kolumna w relacji ma jednoznaczną nazwę w ramach relacji;
wszystkie wartości w kolumnie muszą być tego samego typu;
porządek kolumn w relacji jest nieistotny;
każdy wiersz relacji musi być różny (powtarzanie wierszy jest niedozwolone);
porządek wierszy nie jest istotny;
każde pole leżące na przecięciu kolumny/wiersza w relacji powinno zawierać wartość atomową.

Twórcą założeń relacyjnego modelu danych jest dr E. F. Codd (z wykształcenia matematyk), który opublikował je w roku 1970.

Слайд 15

Relacyjny model danych c.d. Każda relacja posiada nagłówek, określający jej atrybuty.

Relacyjny model danych c.d.

Każda relacja posiada nagłówek, określający jej atrybuty.
Nazwa relacji

wraz ze zbiorem jej atrybutów określana jest mianem schematu relacji, przedstawianego w sposób następujący:
NazwaRelacji(atrybut-1, atrybut-2,...,atrybut-n).
Kolejne wiersze relacji, poza wierszem nagłówkowym nazywane są krotkami.
Dla każdej relacji musi być określony jednoznaczny identyfikator określany mianem klucz główny.

Atrybuty

Klucz główny

Krotki

Nagłówek

Слайд 16

Pojęcie ENCJI Encja to pewien wyodrębniony logicznie i jednoznacznie określony byt

Pojęcie ENCJI

Encja to pewien wyodrębniony logicznie i jednoznacznie określony byt (obiekt),

rozpoznawalny w badanej rzeczywistości i pełniący w niej określoną rolę. Encja może być zarówno obiektem fizycznym (takim jak np. samochód, drzewo, książka itp.) jak również zdarzeniem (np. sprzedaż samochodu, zasadzenie drzewa, zakup książki itp.). Każda encja jest jednoznacznie identyfikowana na podstawie swojej nazwy. Przyjęło się, że nazwy encji są rzeczownikami w liczbie pojedynczej. Graficznie każda encja jest reprezentowana przez prostokąt.

Badana rzeczywistość: organizacja zajęć dydaktycznych

Kierunek

Przedmiot

Wykładowca

Student

Grupa

Sala

Слайд 17

Atrybuty ENCJI Atrybuty encji to cechy (własności) charakteryzujące daną encję w

Atrybuty ENCJI

Atrybuty encji to cechy (własności) charakteryzujące daną encję w badanej

rzeczywistości, którym przypisywane są określone wartości. Wartości poszczególnych atrybutów pozwalają odróżniać encje od siebie.

Encje posiadające te same własności tworzą typy (zbiory) encji. W praktyce, dla uproszczenia przyjęto używać określenia encja zarówno w odniesieniu do typu encji, jak również do określonego wystąpienia encji (określonej instancji encji).

Typ Encji:
Studenci

Instancja encji:
Nazwisko: Kowalski
Imię: Jan
Rok_Studiów: I
Nr_indeksu: R-10/03

Instancja encji:
Nazwisko: Nowak
Imię: Anna
Rok_Studiów: IV
Nr_indeksu: R-24/99

Слайд 18

Związki ENCJI Związki określają powiązania pomiędzy poszczególnymi encjami. W najprostszych modelach

Związki ENCJI

Związki określają powiązania pomiędzy poszczególnymi encjami. W najprostszych modelach uwzględniane

są związki występujące pomiędzy dwoma encjami. Pomiędzy dwoma różnymi encjami może zachodzić wiele związków, ale pomiędzy dwoma tymi samymi encjami może zachodzić tylko jeden związek.

Każdy związek posiada swoją nazwę. Przyjęło się, że nazwy związków są czasownikami. Graficznie związek jest zwykle reprezentowany przez romb połączony liniami z encjami, pomiędzy którymi zachodzi wraz z oznaczeniem jego liczebności (a) lub też przez samą linię zakończoną symbolami określającymi jego liczebność (b). W niektórych notacjach nazwy związków się pomija.

a)

b)

Слайд 19

Liczebność związku ENCJI Liczebność (stopień) związku encji określa liczbę instancji biorących

Liczebność związku ENCJI

Liczebność (stopień) związku encji określa liczbę instancji biorących udział

w danym związku. Rozróżnia się związki:

jednojednoznaczne (jeden-do-jeden, 1:1) – każdej instancji pierwszej encji odpowiada dokładnie jedna instancja drugiej encji i odwrotnie;
jednoznaczne (jeden-do-wiele, 1:M) – każdej instancji pierwszej encji odpowiada M instancji drugiej encji, ale każdej instancji drugiej encji odpowiada tylko jedna instancja pierwszej encji;
wieloznaczne (wiele-do-wiele, M:N) – każdej instancji pierwszej encji odpowiada M instancji drugiej encji, a każdej instancji drugiej encji odpowiada N instancji pierwszej encji.

Student

Dyplom

Слайд 20

Projektowanie baz danych

Projektowanie baz danych

Слайд 21

Diagram związków ENCJI (ERD) Diagram związków encji (ERD) jest graficznym przedstawieniem

Diagram związków ENCJI (ERD)

Diagram związków encji (ERD) jest graficznym przedstawieniem encji

występujących w modelu wraz ze związkami między nimi. Stanowi podstawowe narzędzie koncepcyjnego etapu projektowania bazy danych.

Kierunek

Przedmiot

Wykładowca

Student

Grupa

Sala

Слайд 22

Diagram związków ENCJI (ERD)

Diagram związków ENCJI (ERD)

Слайд 23

Diagram związków ENCJI (ERD)

Diagram związków ENCJI (ERD)

Слайд 24

Diagram związków ENCJI (ERD)

Diagram związków ENCJI (ERD)

Слайд 25

Diagram przepływu danych (DFD) Diagram przepływu danych (ang. Data Flow Diagram

Diagram przepływu danych (DFD)

Diagram przepływu danych (ang. Data Flow Diagram -

DFD) jest graficzną prezentacją przepływu danych w obrębie obszaru analizy. Uwzględnia:
Funkcje — (procesy) realizujące określone cele; jeśli funkcji nie można rozbić na podfunkcje, wówczas nosi ona nazwę elementarnej.
Magazyny danych — trwałe lub tymczasowe składnice danych, które są argumentami dla funkcji.
Terminatory — obiekty, które nie są częścią systemu, ale stanowią odbiorców bądź źródła danych lub argumentów funkcji.
Przepływy — elementy pokazujące kierunek przesyłu danych (np. bajtów, znaków, pakietów..).
Слайд 26

DFD – poziomy szczegółowości DFD obrazuje za pomocą przepływów kierunek przesyłania

DFD – poziomy szczegółowości

DFD obrazuje za pomocą przepływów kierunek przesyłania danych

pomiędzy funkcjami, magazynami i obiektami zewnętrznymi. DFD są zwykle prezentowane na różnych stopniach szczegółowości. Rozróżnia się:
diagramy kontekstowe, które pokazują granice systemu, źródła i odbiorców danych oraz główne wejścia i wyjścia systemu;
diagramy systemowe (inaczej zerowe), które przedstawiają główne funkcje systemu;
diagramy szczegółowe (procesów elementarnych), które pokazują szczegółowe realizacje funkcji systemowych
Слайд 27

DFD – przykład diagramu kontekstowego

DFD – przykład diagramu kontekstowego

Слайд 28

DFD – przykład diagramu systemowego

DFD – przykład diagramu systemowego

Слайд 29

DFD – inny przykład zapisu

DFD – inny przykład zapisu

Слайд 30

Normalizacja Normalizacja jest procesem pozwalającym metodą dekompozycji odwracalnej wyeliminować anomalia, pojawiające

Normalizacja

Normalizacja jest procesem pozwalającym metodą dekompozycji odwracalnej wyeliminować anomalia, pojawiające się

w trakcie korzystania z pliku danych. Do anomalii tych należą:
uboczny efekt usunięcia (np. usunięcie studenta nr 15),
uboczny efekt modyfikacji (np. zmiana wykładowcy),
uboczny efekt wstawienia (np. dopisanie nowego studenta).
Слайд 31

Etapy normalizacji Normalizacja przeprowadzana jest etapowo. Zwykle doprowadzenie tabel do trzeciej

Etapy normalizacji

Normalizacja przeprowadzana jest etapowo. Zwykle doprowadzenie tabel do trzeciej postaci

normalnej jest wystarczające i kończy proces normalizacji. W niektórych wypadkach konieczne jest przeprowadzenie dalszych etapów.

Etapy przeprowadzania normalizacji:
przygotowanie zbioru danych w postaci tabeli;
przekształcenie nieznormalizowanej tabeli do pierwszej postaci normalnej (1NF);
przekształcenie tabeli w pierwszej postaci normalnej do drugiej postaci normalnej (2NF);
przekształcenie tabeli w drugiej postaci normalnej do trzeciej postaci normalnej (3NF);
przekształcenie tabeli do postaci normalnej Boyce’a-Codda (BCNF);
przekształcenie tabeli do czwartej i piątej postaci normalnej (4NF oraz 5NF).

Слайд 32

Pierwsza postać normalna (1NF) Relacja jest w pierwszej postaci normalnej (1NF)

Pierwsza postać normalna (1NF)

Relacja jest w pierwszej postaci normalnej (1NF) wtedy

i tylko wtedy, gdy każdy atrybut niekluczowy jest funkcyjnie zależny od klucza głównego.*

*Beynon-Davies P., Systemy baz danych, WNT, Warszawa 2000

Слайд 33

Druga postać normalna (2NF) *Beynon-Davies P., Systemy baz danych, WNT, Warszawa

Druga postać normalna (2NF)

*Beynon-Davies P., Systemy baz danych, WNT, Warszawa 2000

Relacja

jest w drugiej postaci normalnej (2NF) wtedy i tylko wtedy, gdy jest w 1NF i każdy atrybut niekluczowy jest w pełni funkcyjnie zależny od klucza głównego.*
Слайд 34

Trzecia postać normalna (3NF) *Beynon-Davies P., Systemy baz danych, WNT, Warszawa

Trzecia postać normalna (3NF)

*Beynon-Davies P., Systemy baz danych, WNT, Warszawa 2000

Relacja

jest w trzeciej postaci normalnej (3NF) wtedy i tylko wtedy, gdy jest w 2NF i każdy niekluczowy atrybut jest bezpośrednio zależny (a nie przechodnio zależny) od klucza głównego.*
Слайд 35

Słownik danych Słownik danych jest narzędziem pozwalającym na zapisywanie metadanych (danych

Słownik danych

Słownik danych jest narzędziem pozwalającym na zapisywanie metadanych (danych na

temat danych) przedsiębiorstwa. Termin metadane odnosi się zarówno do zasobów danych, jak również wymagań dotyczących danych. W słowniku danych każda encja wraz ze swoimi atrybutami zostaje szczegółowo opisana (z uwzględnieniem typów i zakresów danych oraz kluczy). Słownik danych powinien zawierać również opisy poszczególnych związków wraz z ich charakterystyką.
Слайд 36

Wybór środowiska implementacji Implementacja bazy danych obejmuje realizację projektu z zastosowaniem

Wybór środowiska implementacji

Implementacja bazy danych obejmuje realizację projektu z zastosowaniem określonej

strategii i przy użyciu wybranego środowiska implementacji (systemu zarządzania bazami danych). Dokonując wyboru środowiska implementacji należy kierować się kilkoma aspektami, determinującymi jego użycie:
ogólnym przeznaczeniem projektowanej bazy danych;
postacią danych;
sposobami ich użycia i prezentacji;
zakresem dostępu do danych (przewidywaną ilością użytkowników oraz zakresem ich uprawnień);
wymaganiami bezpieczeństwa i możliwościami oferowanymi w tym zakresie przez system.
Istotnym etapem kończącym procedurę implementacji jest testowanie bazy danych, pozwalające na wyeliminowanie błędów.
Слайд 37

Obiektowy model danych Koncepcja obiektowego modelu danych sprowadza się do rozszerzenia

Obiektowy model danych

Koncepcja obiektowego modelu danych sprowadza się do rozszerzenia modelu

relacyjnego o cechy obiektowe. W modelu tym mogą występować relacje zagnieżdżone, opisujące atrybuty złożone. Podstawowymi składnikami modelu obiektowego są:
obiekty, stanowiące pakiety danych (przechowywanych w atrybutach obiektu) i metod (umożliwiających operowanie danymi);
klasy obiektów, stanowiące zgrupowanie podobnych obiektów, pozwalające na określanie wspólnych dla grupy obiektów atrybutów, metod i związków.

Z pojęciem klas związane jest pojęcie dziedziczenia, polegające na przejmowaniu przez podklasy atrybutów i metod z klasy nadrzędnej.

Klasa: Pracownik
Atrybuty:
Nazwisko (Char),
Staż (Int)
Stawka (Int)

Klasa: Kierownik
Atrybuty:
Dodatek (Int)

Klasa
nadrzędna

Podklasa

Слайд 38

Rozproszone bazy danych Rozproszone bazy danych opierają swoją strukturę w dużej

Rozproszone bazy danych

Rozproszone bazy danych opierają swoją strukturę w dużej mierze

na relacyjnym modelu danych. Są to systemy, w których występuje fragmentacja danych i rozmieszczenie ich w różnych geograficznie miejscach organizacji.

Proces aplikacji

SZBD

BD1

BD2

Слайд 39

Rozproszone bazy danych c.d. Do podstawowych typów rozproszonych baz danych należą:

Rozproszone bazy danych c.d.

Do podstawowych typów rozproszonych baz danych należą:
systemy klient-serwer,

w których baza danych jest przechowywana na jednym serwerze i może być udostępniana wielu klientom;
systemy jednorodne, w których dane rozłożone są na wielu serwerach, opartych na tym samym SZBD;
systemy niejednorodne, w których konfiguracje sprzętowe i oprogramowania serwerów mogą być różne;
systemy federacyjne, składające się z pewnej liczby niezależnych baz danych, które w razie potrzeby mogą wykonywać wspólne zadania.

Przeglądarka
WWW

Serwer
WWW

Interpreter
PHP

Serwer
MySQL

Przykład systemu klient-serwer

1

2

3

4

5

Слайд 40

Do przemyślenia w domu Programowanie komputerów: program, programowanie, język programowania rozwój

Do przemyślenia w domu

Programowanie komputerów:
program, programowanie, język programowania
rozwój i generacje języków

programowania
klasyfikacja języków programowania
środowiska programistyczne
Podstawy algorytmizacji:
pojęcie algorytmu,
rodzaje algorytmów,
schematy blokowe.