Bazy Danych cz 2

background image

1

Relacyjna struktura danych

W modelu relacyjnym dane mają logiczną strukturę

relacji

relacja

jest fizycznie realizowana w postaci tabeli

(tabela – posiadająca wiersze i kolumny)

Każda relacja ma

nazwę

Nazwa relacji jest

unikatowa

w skali bazy danych

Nazwa powinna kojarzyć się z rodzajem
opisywanego

obiektu

Nazwa powinna być jak najkrótsza

background image

2

Opis relacji

Relacja jest przedstawiana jako dwuwymiarowa

tabela

Każda relacja zawiera

atrybuty

– kolumny

Nazwy atrybutów są

unikalne

wewnątrz tabeli

Nazwy atrybutów jednoznacznie powinny opisywać

rodzaj przechowywanych informacji

Atrybuty przechowują informacje

atomowe

Jeżeli informacja nie może być przedstawiona w postaci

atomowej należy ja rozbić na informacje atomowe

Atrybuty mogą się pojawiać w dowolnej kolejności

background image

3

Krotki i rekordy

Krotka

– to wiersz relacji

Każda krotka zawiera

jedną

wartość każdego

atrybutu

Krotka jest

stanem

(wystąpieniem) relacji

Wraz z użytkowaniem relacji zmienia się

stan

relacji

Fizyczną realizację krotki nazywamy

rekordem

Dziedzina

Zbiór dopuszczalnych wartości dla jednego lub

większej liczby atrybutów

background image

4

Przykład relacji

background image

5

Dziedziny wybranych atrybutów

Atrybut

Znaczenie

Definicja dziedziny

miasto

Zbiór wszystkich nazw ulic typ znakowy: rozmiar 25

typ znakowy: rozmiar 8

płeć

Płeć człowieka

Nazwa

dziedziny

biuroNr

NumeryBiur

Zbiór wszystkich numerów

biur

typ znakowy: rozmiar 4,

zakres B001-B999

NazwyMiast

kodPocztowy KodyPocztowe

Zbiór wszystkich kodów

pocztowych

TypyPłci

typ znakowy: rozmiar 1,

wartość M lub K

dataUr

DatyUrodzenia

Możliwe wartości dat uro-

dzenia pracowników

typ daty, zakres od

1.01.1920, format

dd.mm.rrrr

background image

6

Klucze relacji

Relacja

nie zawiera powtarzających

się krotek

Aby

zagwarantować

możliwość

jednoznacznej

identyfikacji krotek

klucz główny relacji

Klucz główny jest to

atrybut

lub

zbiór atrybutów

,

które pozwalają jednoznacznie identyfikować krotkę w

relacji

Klucz główny można wybrać na wiele sposobów (klucze

kandydujące)

Spośród możliwych kluczy kandydujących wybieramy
klucz główny o najmniejszej liczbie atrybutów

Pozostałe klucze główne, które nie zostaną wybrane

nazywamy

kluczami alternatywnymi

background image

7

Klucze relacji

Jeżeli ze zbioru

kluczy kandydujących

nie można

wybrać klucza głównego to klucz główny musi być

utworzony w sposób sztuczny

Dodanie nowego atrybutu, np: idOsoba

Typ atrybutu całkowity (bez znaku, ze znakiem)

Właściwość: autonumber (autonumeracja)

Jest to specjalny typ danych gwarantujący
niepowtarzalność każdej krotki

Klucze obce

Atrybut lub zbiór atrybutów z jednej relacji, który
odpowiada kluczowi głównemu innej relacji

background image

8

Integralność relacji

Każdy

atrybut

związany jest z pewną

dziedziną

Atrybut nie może zawierać informacji która nie

należy do dziedziny

Jeżeli w danym momencie wartość atrybutu jest

niekreślona lub nieznana a atrybut wymaga podania

informacji stosujemy wartość

NULL

Nieokreślona wartość logiczna

Niekompletne dane

Sytuacje nieprzewidziane

background image

9

Integralność

Więzy kluczy głównych

W relacji żaden atrybut klucza głównego nie może być

pusty

Więzy referencyjne

Jeżeli w relacji istnieje klucz obcy:

Wartość musi być równa wartości klucza głównego

(kandydującego) z innej relacji

Lub klucz obcy ma wartości puste dla wszystkich krotek

Więzy ogólne

Dodatkowe warunki poprawności danych określone

przez użytkownika lub administratora bazy danych

background image

10

Perspektywy

Perspektywa

Sposób widzenia bazy danych przez użytkowników

Jest relacją wirtualną (nie jest realizowana fizycznie)

Perspektywa jest wyliczana za każdym razem gdy

nastąpi wywołanie perspektywy

Wynik jednej lub wielu operacji relacyjnych

Relacja bazowa

Relacja o ustalonej nazwie

Krotki relacji bazowej są fizycznie obecne w bazie
danych

background image

11

Właściwości perspektywy

Użytkownik może traktować perspektywę jak relację

istniejącą w rzeczywistości

Można wykonywać na niej operacje tak jak na relacji

bazowej

Perspektywy są

dynamiczne

Zmiany w relacjach bazowych wpływające na perspektywę

są natychmiast w niej odzwierciedlane

Zmiany w perspektywie są automatycznie przenoszone do

relacji bazowych

Ograniczenie na modyfikowanie relacji bazowych za

pomocą perspektywy

background image

12

Zadania perspektyw

Ochrona danych przed użytkownikami

Ukrywanie krotek i atrybutów

Dostosowanie dostępu do danych w sposób

dostosowany do potrzeb użytkownika

Uproszczenie operacji na relacja bazowych

Perspektywa jest złączeniem kilku relacji bazowych

Zapewniają logiczną niezależność danych

Dodanie atrybutów do relacji może być niezauważone

przez użytkownika

Dodanie lub podział relacji bazowych może zostać
niezauważone

background image

13

Modyfikowanie danych

Zmiany w relacji bazowej muszą być odzwierciedlone w

perspektywie

Zmiana w perspektywie powinna być odzwierciedlona w relacji

bazowej

Modyfikacja jest możliwa gdy:

Perspektywa jest utworzona prostym zapytaniem (brak złączeń)

na bazie jednej relacji bazowej

Perspektywa zawiera klucz główny relacji

Modyfikacji nie można dokonać gdy:

Perspektywa oparta jest na kilku relacjach bazowych

Perspektywa wykorzystuje operatory grupowania i funkcje

agregujące

background image

14

Selekcja

Operacja

selekcji

działa na jednej relacji i daje w

wyniku relację zawierającą te krotki, które spełniają

podany warunek (predykat)

Podaj wszystkich pracowników, którzy mają pensję

wyższą niż 1500 zł

σ

pensja > 1500

(Personel)

Bardziej skomplikowane predykaty można otrzymać

stosując operatory AND(^), LUB, NOT

σ

(pensja > 1500) ^ (pleć = M)

(Personel)

W wyniku działania operatora selekcji otrzymujemy

relację

background image

15

Rzutowanie

Działa na jednej relacji

Wynikiem działania jest relacja

Zawiera pionowy wycinek relacji bazowej

Wybierane są wartości określonych atrybutów

Duplikaty krotek

Podaj listę zawierającą imię, nazwisko oraz pensje

wszystkich pracowników

Π

imię, nazwisko, pensja

(Personel)

background image

16

Suma zbiorów

Operator sumy działa na dwóch relacjach R i S

Wynikiem działania operatora jest relacja

Zawiera krotki relacji R oraz krotki relacji S

Duplikaty są eliminowane

Relacje R i S muszą mieć zgodne schematy

Taka sama liczba atrybutów

Każda para odpowiadających sobie atrybutów ma tę samą dziedzinę

Jeżeli schematy się różnią można zastosować operator rzutowania

Podaj wszystkie miasta, w których znajduje się biuro lub

nieruchomość

Π

miasto

(Biuro)

U

Π

miasto

(Nieruchomość)

background image

17

Różnica zbiorów

Działa na dwóch relacjach R i S

Wynikiem działania jest relacja

Zawiera wszystkie krotki należące do R ale nie
należące do S

Relacje R i S muszą mieć zgodne schematy

Podaj wszystkie miasta, w których znajdują się biura

firmy, ale nie ma żadnej nieruchomości

Π

miasto

(Biuro)

-

Π

miasto

(Nieruchomość)

background image

18

Przekrój zbiorów

Działa na dwóch relacjach R i S

Wynikiem działania jest relacja

Zawiera wszystkie krotki należące zarówno do R jak i
należące do S

Relacje R i S muszą mieć zgodne schematy

Podaj wszystkie miasta, w których znajdują się biura

firmy i nieruchomości

Π

miasto

(Biuro)

Π

miasto

(Nieruchomość)

background image

19

Iloczyn kartezjański

Iloczyn kartezjański definiuje relację, która zawiera

konkatenację każdej krotki z relacji R z każdą krotką z
relacji S

Jeżeli relacja

R

ma

I

krotek i

N

atrybutów a relacja

S

ma

J

krotek i

M

atrybutów

Relacja wynikowa ma

(I*J)

krotek o

(N+M)

atrybutach

a

b

R

1
2
3

S

R

x

S

1
2
3

a
a
a

b
b
b

1
2
3

background image

20

Złączenie naturalne

Relacja zawierająca krotki iloczynu kartezjańskiego

relacji R i S, spełniających warunek równości co

najmniej jednego atrybutu

Relacje R i S muszą zawierać co najmniej jeden atrybut

mający tę samą dziedzinę

Jedno z wystąpień każdego ze wspólnych atrybutów
jest eliminowane z relacji wynikowej

A

--------

a
b

B

--------

1
2

R

S

D

--------

1
1
3

E

--------

x
y
z

R

▹◃

. = .

R B S D

S

A

--------

a
a

B

--------

1
1

E

--------

x
y

background image

21

Złączenie zewnętrzne

Do relacji wynikowej są włączane również takie krotki

z relacji R, dla których w relacji S nie występują

wartości wspólnych atrybutów

Brakujące wartości atrybutów wypełniane są wartością

NULL

Złączenia lewostronne, prawostronne, pełne złączenie
zewnętrzne

A

--------

a
b

B

--------

1
2

R

S

D

--------

1
1
3

E

--------

x
y
z

R

. = .

R B S D

S

A

--------

a
a
b

B

--------

1
1
2

E

--------

x
y

NULL

background image

22

Półzłączenie

Wynikiem

operacji

półzłączenia

jest

relacja

zawierająca te krotki relacji R, które weszłyby do

złączenia R i S

Złączenie dwóch relacji

Rzutowanie wyniku na atrybuty pierwszego argumentu

A

--------

a
b

B

--------

1
2

R

S

D

--------

1
1
3

E

--------

x
y
z

R

. = .

R B S D

S

A

--------

a

B

--------

1

background image

23

Teta-złączenie

Wynikiem operacji złączenia jest relacja zawierająca

krotki iloczynu kartezjańskiego R i S, spełniające

warunek F

Warunek F jest postaci R.a (<, ≤, >, ≥, =, ≠) S.b

a jest atrybutem relacji R, b jest atrybutem relacji S

A

--------

a
b

B

--------

1
2

R

S

D

--------

1
1
3

E

--------

x
y
z

R

▹◃

. ≥ .

R B S D

S

A

--------

a
a
b
b

B

--------

1
1
2
2

E

--------

x
y
x
y

D

--------

1
1
1
1


Wyszukiwarka

Podobne podstrony:
kwerendy wybierające, SCI, OB-IV, bazy danych cz I
Bazy Danych cz III [tryb zgodności]
Bazy danych - cz zagadnie do egzaminu, Automatyka i Robotyka, Semestr 3, Bazy danych, BD, BD, Ba
Bazy Danych cz II [tryb zgodnos Nieznany (2)
kwerendy podsumowujące, SCI, OB-IV, bazy danych cz I
Bazy Danych cz 3
Bazy Danych cz 5
Bazy Danych cz 6
Bazy Danych cz 4
Bazy Danych cz 1
3 Bazy danych SQL cz 1 wykład
Bazy danych - podstawowe kroki w projektowaniu cz 2 - wyklady, Zajęcia z Baz Danych - MS Access, cz
Bazy danych - podstawowe kroki w projektowaniu cz 2 - wyklady, Zajęcia z Baz Danych - MS Access, cz
M Smyczek i M Kaim Od zera do ECeDeeLa cz 5 Bazy danych
3 Bazy danych SQL cz 2 wykład
3 Bazy danych SQL cz 2 wykład
Bazy Danych Elementy Jezyka SQL cz I
3 Bazy danych SQL cz 2 wykład

więcej podobnych podstron