BD 01

background image

BAZY DANYCH

Dr inż. Wikarek Jarosław

Katedra Systemów Sterowania i Zarządzania

E-MAIL: j.wikarek@tu.kielce.pl

1

Baza danych to zbiór danych zapisanych w ściśle
określony sposób w strukturach odpowiadających
założonemu modelowi danych.

background image

Bazy danych



O czym będziemy mówić:



Wprowadzenie do przedmiotu
Normalizacja

2



Normalizacja



Język SQL



PL/SQL

background image

Bazy danych



Baza danych



Zbiór powiązanych danych

3



Abstrakcyjne,

informatyczne

odzwierciedlenie

wybranego

fragmentu rzeczywistości – mikroświata



Logicznie

spójny

zbiór

danych

posiadających

określone

znaczenie

background image

Bazy danych



Baza a świat zewnętrzny



Źródło danych - z niego wyprowadzane są dane (modelowany
fragment świata rzeczywistego),

4

fragment świata rzeczywistego),



Użytkownicy:



Projektanci



Zwykli użytkownicy



Administratorzy





Związki z reprezentowaną rzeczywistością.

background image

Bazy danych



System bazy danych



Baza danych



Dane

5



Schemat



System zarządzania bazą danych (ang. Data Base Management
System, DBMS)



Moduł zarządzania transakcjami



Moduł zarządzania dostępem do danych

background image

Bazy danych

6

background image

Bazy danych



System zarządzania bazą danych



Współdzielenie danych
Informacje przechowywane w bazie danych są zazwyczaj
przeznaczone do wykorzystania przez wielu użytkowników,

7

przeznaczone do wykorzystania przez wielu użytkowników,
często w tym samym czasie.



Integralność danych
Powierzenie faktycznych operacji na danych jednemu, dobrze
sprawdzonemu

programowi

serwera

zmniejsza

ryzyko

naruszenia integralności danych w stosunku do sytuacji, gdy
operacje te wykonywane są za pomocą wielu, tworzonych
niezależnie i często ad hoc narzędzi.

background image

Bazy danych



System zarządzania bazą danych



Bezpieczeństwo danych
Scentralizowanie dostępu do danych umożliwia zastosowanie w
DBMS własnego mechanizmu kontroli i autoryzacji dostępu,

8

DBMS własnego mechanizmu kontroli i autoryzacji dostępu,
bardziej szczegółowego aniżeli umożliwia to sam system
operacyjny w stosunku do dostępu do plików.

Dzięki

wykorzystaniu modelu klient-serwer nie jest konieczne, aby
każdy użytkownik posiadał dostęp do maszyny serwera bazy
danych

poprzez

inne

mechanizmy,

aniżeli

protokół

komunikacyjny danego DBMS.

background image

Bazy danych



System zarządzania bazą danych



Abstrakcja i niezależność danych
Ponieważ końcowy użytkownik bazy danych jest oddzielony
przez DBMS od wewnętrznych mechanizmów działania bazy

9

przez DBMS od wewnętrznych mechanizmów działania bazy
danych, formatu zapisu itp., i ma tylko do czynienia (poprzez
program klienta i ew. protokół komunikacji) jedynie z logiczną
strukturą

danych,

to

ułatwia

to

rozwijanie

aplikacji

korzystających z tych danych w kierunku nowych zastosowań
czy np. wprowadzenie zmian w wewnętrznej organizacji bazy
danych bez konieczności zmian w klientach.

background image

Bazy danych



Model danych



Model danych można rozumieć jako zbiór ogólnych zasad
posługiwania się danymi. Zbiór ten obejmuje trzy główne
części:

10

części:



Definicja danych
Zbiór reguł określających strukturę danych.



Operowanie danymi
Zbiór reguł dotyczących procesu dostępu do danych i ich
modyfikacji.



Integralność danych
Zbiór reguł określających, które stany bazy danych są
poprawne (a więc zarazem jakie operacje prowadzące do
modyfikacji danych są dozwolone).

background image

Bazy danych



Typy modli danych



Proste modele danych.
Dane zorganizowane są w strukturę rekordów zgrupowanych
w plikach.

11

w plikach.



Klasyczne modele danych.
Należą do nich modele hierarchiczne, sieciowe i relacyjne.



Semantyczne modele danych.
Semantyka to inaczej

znaczenie

. Klasyczne modele danych nie

dostarczają

łatwego

sposobu

odczytania

informacji

o

semantyce danych, stąd podejmuje się próby stworzenia
innych

modeli,

uzupełniających

ten

brak.

Przykładem

częściowej realizacji tego programu są obiektowe modele
danych.

background image

Bazy danych



Hierarchiczny model danych



Hierarchiczny model danych jest pewnym rozszerzeniem
modelu prostego, opartego na rekordach składających się z pól
i zgrupowanych w plikach. W schemacie hierarchicznym

12

i zgrupowanych w plikach. W schemacie hierarchicznym
wprowadza się:



Typy rekordów
Typ rekordu to nazwana struktura danych, złożona ze
zbioru nazwanych pól; każde

pole

służy do zapisu

pojedynczego atrybutu obiektu opisywanego przez rekord, i
charakteryzuje się określonym typem danych, np. liczba
całkowita, napis, data, itp.

background image

Bazy danych



Hierarchiczny model danych



Klucz
Na ogół jedno z pól danego typu rekordu wyróżnia się jako
klucz, tj. unikalny identyfikator rekordu wśród rekordów

13

klucz, tj. unikalny identyfikator rekordu wśród rekordów
danego typu



Związki nadrzędny-podrzędny
Relacje nadrzędny-podrzędny tworzą strukturę drzewa, tj.
każdy typ rekordu (z wyjątkiem najwyższego w hierarchii,
tzw. korzenia -- root) związany jest z dokładnie jednym
typem nadrzędnym. Model hierarchiczny operowanie na
danych danych

background image

Bazy danych



Hierarchiczny model danych

14

background image

Bazy danych



Hierarchiczny model danych



Operacje na danych



Wyszukiwanie rekordów określonego typu, podrzędnych
względem

danego

rekordu,

i

spełniających

warunki

15

względem

danego

rekordu,

i

spełniających

warunki

dotyczące zawartości określonych pól



Usuwanie lub dodawanie rekordów i edycja ich pól.

Realizowane są poprzez funkcje lub procedury pisane w
językach

programowania

o

charakterze

zazwyczaj

proceduralnym, np. C.

background image

Bazy danych



Hierarchiczny model danych



Integralność danych
Podstawowe warunki integralności wynikają z samej definicji
struktury danych modelu:

16

struktury danych modelu:



Każdy rekord (z wyjątkiem korzenia) musi być powiązany z
rekordem nadrzędnym właściwego typu; a więc np.
usunięcie rekordu nadrzędnego wiąże się z usunięciem
wszystkich względem niego podrzędnych.



Zawartość każdego pola rekordu musi odpowiadać typowi
danych z definicji danego typu rekordu.

background image

Bazy danych



Sieciowy model danych



Sieciowy model danych w ogólnym zarysie niewiele odbiega od
hierarchicznego.



W miejsce związku nadrzędny-podrzędny pomiędzy rekordami

17



W miejsce związku nadrzędny-podrzędny pomiędzy rekordami
wprowadza się w nim tzw. typ kolekcji (

set

), który jest

złożonym typem danych z polami zawierającymi odniesienia do
innych rekordów określonego typu.



Operowanie danymi ma też charakter proceduralny:



Warunki integralności danych, poza oczywistymi już więzami
dotyczącymi zgodności zawartości pól rekordu z określeniem
typu

rekordu

i

unikalności

pól

kluczowych,

mogą

być

formułowane w terminach wymogu przynależności rekordu do
jakiegoś wystąpienia określonego typu kolekcji.

background image

Bazy danych



Relacyjny model danych



Relacyjny model danych został opracowany przez E. F. Codda
w latach 1970-1980

18

w latach 1970-1980



Od mniej więcej połowy lat 80 stał się podstawą architektury
większości popularnych SZBD.

background image

Bazy danych



Relacyjny model danych



Podstawowe pojęcia



Schemat relacji R
Skończony zbiór nazw atrybutów (dla uproszczenia atrybutów):

19

Skończony zbiór nazw atrybutów (dla uproszczenia atrybutów):

R = {A

1

, A

2

, ..., A

k

}



Dziedziną atrybutu A

i

Zbiór wartości jakie atrybut może przyjąć D

i



Relacja r

o

schemacie

R =

{A

1

A

2

, ... , A

k

}

Dowolny podzbiór iloczynu kartezjańskiego dziedzin atrybutów:

r

D

1

x D

2

... x D

k

background image

Bazy danych



Relacyjny model danych



Najczęściej relacja r jest prezentowana jako tabela, której zbiór
kolumn odpowiada zbiorowi atrybutów tworzącemu schemat, a
każdy wiersz tablicy stanowi tzw. krotkę relacji.

20

każdy wiersz tablicy stanowi tzw. krotkę relacji.



Schematem relacyjnej bazy danych jest zbiór schematów
relacji

Z = {R

1

, R

2

, ...,R

n

„}

tworzony nad określonym zbiorem atrybutów U = {A

1

, A

2

, ..., A

k

}.

background image

Bazy danych



Relacyjny model danych



Stosując do projektowania bazy danych model relacyjny stajemy
często przed koniecznością wyboru między różnymi zbiorami
schematów relacji. Z rozmaitych powodów pewne schematy są

21

schematów relacji. Z rozmaitych powodów pewne schematy są
bardziej odpowiednie niż inne.



Podstawą procesu projektowania struktury logicznej (schematu)
relacyjnych baz danych jest analiza powiązań (zależności) między
atrybutami.

background image

Bazy danych



Relacyjny model danych – integralność danych



Model relacyjny dostarcza dodatkowych, specyficznych dla siebie
postaci reguł integralności:



Integralność encji

22



Integralność encji
Każda tabela musi posiadać klucz główny, a wartości klucza
głównego muszą być w ramach tabeli unikalne i nie równe

NULL

. W szczególności, zapobiega to wystąpieniu w tabeli

powtórzeń wierszy.

background image

Bazy danych



Relacyjny model danych – integralność danych



Integralność referencyjna
Każda wartość klucza obcego jest równa wartości klucza
głównego występującej w tabeli powiązanej, lub ewentualnie

NULL

. Pociąga to za sobą konieczność określenia reguły

23

NULL

. Pociąga to za sobą konieczność określenia reguły

postępowania

w

wypadku

usuwania

wiersza

z

tabeli

powiązanej,



Restricted
Usunięcie wiersza jest zabronione,



Cascades
Powoduje usunięcie z innych tabel wszystkich wierszy



Nullifies
Nieważne wartości kluczy ulegają zastąpieniu przez NULL.

background image

Bazy danych



Relacyjny model danych – integralność danych



W praktyce zazwyczaj jest pożądane stosowanie dalszych
warunków integralności (integralność dodatkowa). Na ogół

24

warunków integralności (integralność dodatkowa). Na ogół
istnieją w DBMS mechanizmy narzucenia takich warunków,
sformułowanych w języku algebry relacyjnej lub zbliżonym.

background image

Bazy danych



Relacyjny model danych – typy operacji



Selekcja
Selekcja

jest

operacją

jednoargumentową,

określoną

przez

warunek dotyczący wartości kolumn danej relacji. Wynikiem jej

25

warunek dotyczący wartości kolumn danej relacji. Wynikiem jej
jest relacja zawierające te wszystkie encje (wiersze) wyjściowej
relacji, których atrybuty spełniają dany warunek.



Rzut
Rzut to operacja jednoargumentowa określona przez podzbiór
zbioru kolumn danej relacji, dająca w wyniku tabelę składającą się
z tychże kolumn wyjściowej relacji.

background image

Bazy danych



Relacyjny model danych – typy operacji



Iloczyn kartezjański.
Argumentami są dwie relacje, wynikiem -- relacja, której wiersze
są zbudowane ze wszystkich par wierszy relacji wyjściowych.

26

są zbudowane ze wszystkich par wierszy relacji wyjściowych.
Operacja o znaczeniu raczej teoretycznym.



Równozłączenie.
Argumentami są dwie relacje, posiadające kolumny o tych samych
dziedzinach np. klucz główny jednej z nich i klucz obcy drugiej.
Wynikiem jest tabela otrzymana z iloczynu kartezjańskiego relacji
wyjściowych poprzez selekcję za pomocą warunku równości tych
,,wspólnych'' atrybutów.

background image

Bazy danych



Relacyjny model danych – typy operacji



Złączenie naturalne.
Powstaje z równozłączenia dwóch tabel poprzez rzutowanie
usuwające powtarzające się kolumny złączenia. Rzeczywiście jest

27

usuwające powtarzające się kolumny złączenia. Rzeczywiście jest
to operacja bardziej ,,naturalna'' aniżeli równozłączenie.

background image

Bazy danych



Relacyjny model danych – typy operacji



Złączenia zewnętrzne.
Złączenia

zewnętrzne

tworzone

podobnie

jak

złączenie

naturalne, lecz z pozostawieniem w tabeli wynikowej także

28

naturalne, lecz z pozostawieniem w tabeli wynikowej także
wierszy, dla których nie zachodzi równość atrybutów złączenia:



Złączenie lewostronne - złączenie naturalne uzupełnia się o
wiersze z pierwszego argumentu nie posiadające odpowiednika
(wierszu o równym atrybucie złączenia) w drugim argumencie;
,,brakujące'' atrybuty przyjmują wartość

NULL

.



Złączenie prawostronne robi się to samo, ale względem
drugiego argumentu.



Złączenie obustronne obejmuje obydwie tabele wyjściowe tą
samą operacją.

background image

Bazy danych



Relacyjny model danych – typy operacji



Suma
Suma jest operatorem działającym na dwóch zgodnych relacjach
(to jest o tych samych kolumnach), produkującym relację której

29

(to jest o tych samych kolumnach), produkującym relację której
wiersze są sumą teoriomnogościową wierszy z relacji wyjściowych.



Przecięcie
Przecięcie znowu wymaga dwóch zgodnych tabel, wynikiem jest
tabela zawierająca wiersze wspólne dla obu argumentów.



Różnica
Różnica jest określona dla dwóch zgodnych relacji i odpowiada
dokładnie różnicy teoriomnogościowej zbiorów wierszy tabel
wyjściowych.


Wyszukiwarka

Podobne podstrony:
BD T 01 SQL
BD T 01 SQL
Ćw nr 1, 01., I BD
Ćw nr 1, 01., I BD
Projekt BD Relacyjne Bazy Danych obligat ET II II 01
BD2 LAB01 J Wikarek, bd 02 01 SQL
bd 02 01, SQL
BD2.LAB01.J.Wikarek bd 02 01, SQL
01 BD, politechnika infa 2 st, Projektowanie Systemów Informatycznych
Linnea Sinclair Wintertide 01 Wintertide v1 1 (BD)
PN Elrod [Vampire Files 01] Bloodlist v1 2 (BD)
William R Forstchen Wing Commander 01 Mercedes Lackey & Ellen Guon Freedom Flight v1 1 (BD)
Stephenie Meyer [Twilight 01] Twilight (BD) (v1 0) (lit)
Thomas E Sniegoski Sleeper 01 Sleeper Code v1 1 (BD)

więcej podobnych podstron