SYSTEMY BAZ I HURTOWNI DANYCH

60
1 SYSTEMY BAZ I HURTOWNI DANYCH Wstęp

description

SYSTEMY BAZ I HURTOWNI DANYCH. Wstęp. Pojęcia:. informacja; dane; baza danych; ręczne przetwarzanie danych; system informacyjny; system informatyczny. - PowerPoint PPT Presentation

Transcript of SYSTEMY BAZ I HURTOWNI DANYCH

Page 1: SYSTEMY BAZ I HURTOWNI DANYCH

1

SYSTEMY BAZ I HURTOWNI

DANYCH

Wstęp

Page 2: SYSTEMY BAZ I HURTOWNI DANYCH

2

Literatura:

1. „Podstawowy wykład z systemów baz danych” – J.Ullman, J.Widom, WNT, 2001

2. „Systemy baz danych :praktyczne metody projektowania, implementacji i zarządzania” T.1 i 2 – T.Connolly, C.Begg, RM, Warszawa, 2004

3. „Wprowadzenie do systemów baz danych” – C.Date, WNT, 2000

4. „Implementacja systemów baz danych” – H.Garcia-Molina, J.Ullman, J.Widom, WNT, 2003

5. „SQL: omówienie standardu języka” – C.Date, H.Darwen, WNT, 2000

6. „Projektowanie hurtowni danych : zarządzanie kontaktami z klientami (CRM)” – C.Todman

Page 3: SYSTEMY BAZ I HURTOWNI DANYCH

3

Osiągnięcia w dziedzinie baz danych przyczyniły się do rozwoju systemów komunikacyjnych, zagadnień transportowych i logistycznych, zarządzania finansami, systemów wnioskowania na podstawie danych, dostępu do informacji naukowej oraz wielu innych zastosowań cywilnych i wojskowych.

• informacja;

• dane;

• baza danych;

• ręczne przetwarzanie danych;

• system informacyjny;

• system informatyczny.

Pojęcia:

Page 4: SYSTEMY BAZ I HURTOWNI DANYCH

4

Bazy danych:

Sklepy internetowe

Linie lotnicze,kolejowe

Szpitale

Szkoły, uczelnie

BankiBiura podróży...

Page 5: SYSTEMY BAZ I HURTOWNI DANYCH

5

Uczelnie:

Page 6: SYSTEMY BAZ I HURTOWNI DANYCH

6

USOS:

Page 7: SYSTEMY BAZ I HURTOWNI DANYCH

7

Biblioteki:

Page 8: SYSTEMY BAZ I HURTOWNI DANYCH

8

Kardiochirurgiczna Baza Danych Medycznych:

Page 9: SYSTEMY BAZ I HURTOWNI DANYCH

9

System zarządzania bazą danych - SZBD (lub DBMS-Database Management System) – system oprogramowania, który pozwala użytkownikom definiować, tworzyć i utrzymywać bazę danych oraz kontrolować do niej dostęp.

Definicje:

Baza danych - uporządkowany zbiór danych

(def. krótka)

Inna definicja bazy danych - abstrakcyjny, informatyczny model wybranego fragmentu rzeczywistości.

Page 10: SYSTEMY BAZ I HURTOWNI DANYCH

10

Systemy baz danych

Były pierwszą próbą skomputeryzowania ręcznego przetwarzania kartotek danych (koniec lat 60-tych).

Mogą dobrze służyć dopóki liczba przechowywanych danych jest niewielka lub, gdy chcemy jedynie przechowywać dane i je odszukiwać.

Tradycyjne systemy oparte na przetwarzaniu plików:

Page 11: SYSTEMY BAZ I HURTOWNI DANYCH

11

Np. w biurze obrotu nieruchomościami

Jak długo trwałoby znalezienie informacji na pytania:

• Podaj wszystkie domy na sprzedaż z trzema sypialniami, ogrodem i garażem.

• Podaj wszystkie mieszkania do wynajęcia w odległości 5 km od centrum.

• Jaki jest średni czynsz za mieszkanie dwupokojowe?

• Ile wynosi sumaryczne, roczne wynagrodzenie pracowników?

• Jaki jest stosunek obrotu z zeszłego miesiąca do planowanego obrotu w bieżącym miesiącu?

• Jaki może być miesięczny obrót w nadchodzącym roku finansowym?

Page 12: SYSTEMY BAZ I HURTOWNI DANYCH

12

Przykłady plików dla biura nieruchomości:

nr ulica miasto kod typ pokoje czynsz właścicielA14 Handlowa 16 Augustów 16-300 dom 6 650 CO46L94 Akacjowa 6 Łomża 18-400 mieszkanie 4 400 CO87B4 Leśna 6 Białystok 15-900 mieszkanie 3 350 CO40B36 Mała 2 Białystok 15-900 mieszkanie 3 375 CO93B21 Dobra 18 Białystok 15-900 dom 5 600 CO87B16 Nowa 5 Białystok 15-900 mieszkanie 4 450 CO93

Nieruchomość:

Właściciel:właściciel imię nazwisko adres telefon

CO46 Jan Kowalski 16-300 Augustów, Fabryczna 2 0-87-555 4444CO87 Karol Frankowski 15-900 Białystok, Agrestowa 6 0-85-222 6666CO40 Tatiana Marcinkowski 15-900 Białystok, Wodna 63 0-85-111 5555CO93 Tomasz Szymański 15-900 Białystok, Parkowa 12 0-85-333 4444

klient imię nazwisko adres telefon preferencje maks czynszCR76 Janusz Kalinowski 18-400 Łomża 0-86-444 5555 mieszkanie 425CO56 Alicja Stefańska 15-900 Białystok  0-85-333 2222 mieszkanie 350CR74 Michał Rafalski Tykocin, 0-86-123 4567  dom 750CR62 Maria Tomaszewska 16-300 Augustów, Trawiasta 5 0-87-111 6666  mieszkanie 600

Klient:

Dział sprzedaży:

Page 13: SYSTEMY BAZ I HURTOWNI DANYCH

13

Przykłady plików dla biura nieruchomości cd:

Wynajęcie:

Nieruchomość:nr ulica miasto kod czynszA14 Handlowa 16 Augustów 16-300 650L94 Akacjowa 6 Łomża 18-400 400B21 Dobra 18 Białystok 15-900 600

klient imię nazwisko adres telefonCR76 Janusz Kalinowski 18-400 Łomża 0-86-444 5555CR74 Michał Rafalski Tykocin, 0-86-123 4567CR62 Maria Tomaszewska 16-300 Augustów, Trawiasta 5 0-87-111 6666

Klient:

Dział umów:

nr umowy

nr nieru-chomości klient czynsz forma

płatności kaucja zapłacona od do okres

1024 A14 CR62 650 karta Visa 1300 T 01.06.200 31.05.200 121075 L94 CR76 400 gotówka 800 N 01.08.200 31.01.200 61012 B21 CR74 600 czek 1200 T 01.07.200 30.06.200 12

Page 14: SYSTEMY BAZ I HURTOWNI DANYCH

14

Przetwarzanie plików:

W p ro w a d z a n ied a n y c h

i g e n e ro w a n iera p o rtó w

P ro c e d u ryo b s łu g i p lik ó w

F o rm a ty p lik ó w

D z ia ł S p rz e d a ż y P l ik i D z ia łu S p rz e d a ż yA p l ik a c je D z ia łu S p rz e d a ż y

D z ia ł U m ó w P l ik i D z ia łu U m ó wA p l ik a c je D z ia łu U m ó w

W p ro w a d z a n ied a n y c h

i g e n e ro w a n iera p o rtó w

P ro c e d u ryo b s łu g i p lik ó w

F o rm a ty p lik ó w

Page 15: SYSTEMY BAZ I HURTOWNI DANYCH

15

Ograniczenia systemów opartych na przetwarzaniu plików:

1. Rozproszenie i odseparowanie danych;

2. Powielanie danych;

3. Zależność danych od programu;

4. Niekompatybilne formaty plików;

5. Ograniczone spektrum możliwych pytań i aplikacji.

Page 16: SYSTEMY BAZ I HURTOWNI DANYCH

16

Pomijano lub ograniczano funkcje:

1. Ochrona danych i kontrola ich integralności;

2. Odtwarzanie danych po awarii sprzętu czy oprogramowania;

3. Organizacja wielodostępu, czyli możliwości jednoczesnej obsługi przez system wielu pracowników działu.

Page 17: SYSTEMY BAZ I HURTOWNI DANYCH

17

Systemy oparte na bazach danych:

Baza danych: dostępny dla wielu użytkowników zbiór powiązanych logicznie danych wraz z definicją ich struktury, zaprojektowany dla zaspokojenia potrzeb przetwarzania danych przez instytucję.

Pojęcia związane z bazą danych:

Encja – to wyróżniony obiekt (osoba, miejsce, rzecz, pojęcie czy zdarzenie) w strukturze instytucji, który powinien być odzwierciedlony w bazie danych;

Atrybut – to własność opisująca pewien aspekt obiektu, który zamierzamy opisać;

Związek – to powiązanie pomiędzy dwiema encjami.

(lepsza definicja)

Page 18: SYSTEMY BAZ I HURTOWNI DANYCH

18

Przykład diagramu związków encji:

W ła ś c ic ie l

W ła ś c ic ie lN r

W y n a ję c ie

W y n a ję c ie N r

N ie ru c h o m o ś ć

N ie ru c h o m o ś ćN r

K lie n t

K lie n tN r

P e r s o n e l

P e r s o n e lN r

B iu ro

B iu ro N r

M a

O fe ru je

P o s ia d aW y n a ję ty p rz ez

N a d z o ru je

O g ląd a

W y n a jm u je

Page 19: SYSTEMY BAZ I HURTOWNI DANYCH

19

Przykład diagramu związków (Access):

Page 20: SYSTEMY BAZ I HURTOWNI DANYCH

20

Przykład diagramu związków (phpMyAdmin):

Page 21: SYSTEMY BAZ I HURTOWNI DANYCH

21

Przykład diagramu związków (MySQLWorkbench.exe):

Page 22: SYSTEMY BAZ I HURTOWNI DANYCH

22

System zarządzania bazą danych:

SZBD – system oprogramowania, który pozwala użytkownikom definiować, tworzyć i utrzymywać bazę danych oraz kontrolować do niej dostęp.

Przetwarzanie w bazie danych:

W p ro w a d z a n ied a n y c h i ra p o rty

D z ia ł S p rz e d a ż y A p l ik a c je D z ia łu S p rz ed a ży

S Z B D

D z ia ł U m ó w

B a z a d a n y c h

A p l ik a c je D z ia łu U m ó w

In fo rm a cje o n ieru ch o m o śc ia ch , k lien ta ch , u m o w a ch+ d e fin ic je p l ik ó w

W p ro w a d z a n ied a n y c h i ra p o rty

Page 23: SYSTEMY BAZ I HURTOWNI DANYCH

23

Elementy środowiska SZBD:

Zalety SZBD:• kontrola redundancji;• spójność danych;• wspólny dostęp do danych• poprawa integralności i

bezpieczeństwa danych.

Wady:• złożoność;• możliwy spadek efektywności;• większy zasięg awarii.

S p rz ę t P ro c e d u ry L u d z ie

M o s t

D a n e

O p ro g ra m o -w a n ie

System baz danych: SBD = BD + SZBD

Page 24: SYSTEMY BAZ I HURTOWNI DANYCH

24

Środowisko bazy danych

1971 – pierwsza propozycja standardowej terminologii i ogólnej architektury systemu baz danych przedstawiona przez specjalną grupę do zadań związanych z bazami danych (potrzeba stosowania dwuwarstwowej architektury systemu baz danych: warstwy systemowej i warstw użytkowników).

1975 – komitet planowania standardów SPARC amerykańskiego instytutu standardów ANSI przedstawił konieczność stosowania trójwarstwowej architektury.

Wyodrębnione trzy poziomy abstrakcji, tzn trzy różne poziomy (warstwy) opisu danych przechowywanych w bazie stanowią trójwarstwową architekturę bazy, składającą się z warstw:

zewnętrznej, konceptualnej i wewnętrznej.

ANSI (ang. American National Standards Institute)

SPARC (Standards Planning And Requirements Committee)

http://www.ansi.org/

Page 25: SYSTEMY BAZ I HURTOWNI DANYCH

25

Architektura trójwarstwowa ANSI-SPARC

Użytkownik 1 Użytkownik 2 Użytkownik n

Warstwa zewnętrzna

Warstwa konceptualna

Warstwa wewnętrzna

Fizyczna organizacja danych

Baza danych

Schemat wewnętrzny

Schemat konceptualny

Perspektywa 1 Perspektywa 2 Perspektywa n...

Page 26: SYSTEMY BAZ I HURTOWNI DANYCH

26

• każdy z użytkowników powinien mieć dostęp do tych samych danych, ale sposób ich widzenia powinien być dostosowany do indywidualnych wymagań, zaś zmiana sposobu widzenia nie powinna wpływać na innych użytkowników;

• użytkownicy nie powinni mieć bezpośrednio do czynienia ze szczegółami fizycznego sposobu pamiętania bazy danych, czyli kontakt użytkownika z bazą danych powinien być niezależny od sposobu przechowywania danych;

Głównym zadaniem trójwarstwowej architektury jest oddzielenie fizycznej reprezentacji bazy danych od różnych sposobów widzenia danych w bazie przez użytkowników, ponieważ:

Page 27: SYSTEMY BAZ I HURTOWNI DANYCH

27

• administrator bazy danych powinien mieć możliwość zmiany struktur służących do przechowywania danych i te zmiany powinny być też niezauważalne dla użytkowników;

• wewnętrzna struktura bazy danych powinna być odporna na zmiany fizycznych parametrów używanego nośnika pamięci, np. przy przejściu na nowe rodzaje nośników;

• administrator powinien mieć możliwość zmiany konceptualnej struktury bazy danych w sposób niezauważalny dla innych użytkowników.

Page 28: SYSTEMY BAZ I HURTOWNI DANYCH

28

Warstwa zewnętrzna – opisuje jak użytkownicy widzą bazę danych i w jaki sposób uzyskują do niej dostęp. W tej warstwie zawarte są wszystkie istotne dla jej użytkowników informacje o bazie danych.

Warstwa konceptualna – to zebrany, zbiorowy sposób widzenia bazy danych. Warstwa ta opisuje, jakie dane są przechowywane w bazie i jakie są ich wzajemne związki. Zawiera, zatem logiczną strukturę całej bazy danych.

Page 29: SYSTEMY BAZ I HURTOWNI DANYCH

29

Warstwa konceptualna przedstawia więc:

• wszystkie encje, ich atrybuty i występujące pomiędzy nimi związki;

• reguły spójności danych;

• informacje semantyczne o danych;

• informacje dotyczące bezpieczeństwa i integralności danych.

Warstwa wewnętrzna – to fizyczna reprezentacja bazy danych w komputerze. Opisuje sposób przechowywania danych w bazie.

Page 30: SYSTEMY BAZ I HURTOWNI DANYCH

30

Różnice pomiędzy warstwami

PracownikNr Imię Nazwisko Wiek Pensja PracownikNr Nazwisko BiuroNr

DataUrWarstwakonceptualna

Warstwawewnętrzna

create PERSONEL { int pracownikNr int biuroNr; char imię [15]; date dataUr; float pensja;};

PracownikNr Imię Nazwisko Pensja BiuroNr

Całkowity opis bazy danych nazywany jest schematem bazy danych. Używane są trzy różne typy schematów odpowiadające poziomom abstrakcji trójwarstwowej architektury.

Page 31: SYSTEMY BAZ I HURTOWNI DANYCH

31

Niezależność danych

Logiczna niezależność danych – oznacza odporność schematów zewnętrznych na zmiany dokonywane w schemacie konceptualnym. 

Fizyczna niezależność danych – oznacza odporność schematu konceptualnego na zmiany dokonywane w schemacie wewnętrznym.

Page 32: SYSTEMY BAZ I HURTOWNI DANYCH

32

Schematwewnętrzny

Schemat konceptualny

Schematzewnętrzny

Schematzewnętrzny

Schematzewnętrzny

Fizyczna

niezależność danych

Odwzorowanie

konceptualno-wewnętrzne

Logiczna

niezależność danych

Odwzorowanie

zewnętrzno-konceptualne

Page 33: SYSTEMY BAZ I HURTOWNI DANYCH

33

Języki baz danych

Język definicji danych (JDD) – to język, który pozwala administratorowi lub użytkownikowi opisywać i nazywać encje, atrybuty i relacje wymagane przez aplikacje, a także więzy (warunki) integralności i bezpieczeństwa – czyli definiowanie struktury danych zawartych w bazie.

Język manipulowania danymi (JMD) – język, który dostarcza zestawu operacji przeznaczonych do manipulowania danymi przechowywanymi w bazie, czyli:

• dopisywanie nowych danych do bazy;

• modyfikowanie danych przechowywanych w bazie;

• usuwanie danych z bazy;

• (wyszukiwanie danych zawartych w bazie).

Page 34: SYSTEMY BAZ I HURTOWNI DANYCH

34

Język sterowania danych (Data Control Language - DCL), który umożliwia sterowanie transakcjami tj. akceptacja lub wycofanie.

Język zapytań (Query Language), który umożliwia pobieranie informacji z bazy za pośrednictwem określonych zapytań, warunków.

W praktyce te cztery języki są ze sobą zintegrowane (w obrębie aplikacji, systemu).

Page 35: SYSTEMY BAZ I HURTOWNI DANYCH

35

Tak zwane języki czwartej generacji obejmują:

• języki prezentacji danych;

• języki specjalizowane;

• generatory programów wykonujących definiowanie, wstawianie, modyfikowanie i wyszukiwanie danych w bazie;

• generatory aplikacji.

Page 36: SYSTEMY BAZ I HURTOWNI DANYCH

36

Modele danych

Model danych – zbiór ogólnych zasad posługiwania się danymi, który obejmuje trzy główne części:

• Definicja danych: zbiór reguł określających strukturę danych, wcześniej określane jako logiczna struktura bazy 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).

Page 37: SYSTEMY BAZ I HURTOWNI DANYCH

37

Rozróżnia się trzy główne typy (lub generacje) modeli danych:

1. Proste modele danych. Dane zorganizowane są w strukturę rekordów zgrupowanych w plikach. Głównymi dostępnymi operacjami są operacje na rekordach (ewentualnie na ich poszczególnych polach);

2. Klasyczne modele danych. Należą do nich modele hierarchiczne, sieciowe i relacyjne. Modele relacyjne stanowią najbardziej popularną obecnie podstawę architektur systemów baz danych.

3. 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 (np. model związków encji, model obiektowy).

Page 38: SYSTEMY BAZ I HURTOWNI DANYCH

38

Model relacyjny zarządzania bazą danych

Relacyjny system zarządzania bazą danych jest drugą generacją SZBD (systemy pierwszej generacji – sieciowe i hierarhiczne) i jest oparte na relacyjnym modelu danych zdefiniowanym przez dr E. F. Codda (1970).

W związku z tym, że pojęcie relacji jest matematyczną konstrukcją, relacja jest tabelą, dla której jest spełniony następujący zbiór zasad:

1. Każda relacja w bazie danych ma jednoznaczną nazwę. Według Codda dwuwymiarowa tabela jest matematycznym zbiorem, a matematyczne zbiory muszą być nazywane jednoznacznie;

Page 39: SYSTEMY BAZ I HURTOWNI DANYCH

39

2. Każda kolumna w relacji ma jednoznaczną nazwę w ramach jednej relacji. Każda kolumna relacji jest również zbiorem i dlatego powinna być jednoznacznie nazwana.

3. Wszystkie wartości w kolumnie muszą być tego samego typu. Wynika to z p. 2.

4. Porządek kolumn w relacji nie jest istotny. Schemat relacji - lista nazw jej kolumn - jest również matematycznym zbiorem. Elementy zbioru nie są uporządkowane.

Page 40: SYSTEMY BAZ I HURTOWNI DANYCH

40

5. Każdy wiersz w relacji musi być różny. Innymi słowy, powtórzenia wierszy nie są dozwolone w relacji.

6. Porządek wierszy nie jest istotny. Skoro zawartość relacji jest zbiorem. to nie powinno być określonego porządku wierszy relacji.

7. Każde pole leżące na przecięciu kolumny i wiersza w relacji powinno zawierać wartość atomową. To znaczy, zbiór wartości nie jest dozwolony na jednym polu relacji.

Page 41: SYSTEMY BAZ I HURTOWNI DANYCH

41

12 reguł Dr Codd’a dotyczących przedstawiania relacji jako tabeli:

0. Aby można było uznać dany system za system zarządzania relacyjnych baz danych, musi on wykorzystywać (wyłącznie) relacyjne mechanizmy do zarządzania bazą danych;

1. Reguła informacyjna: - wymaganie, aby wszystkie informacje zawarte w bazie danych były przedstawiane w jeden i tylko jeden sposób, mianowicie za pomocą wartości umieszczanych w kolumnach w obrębie wierszy tabel;

Page 42: SYSTEMY BAZ I HURTOWNI DANYCH

42

2. Reguła gwarantowanego dostępu: - powtórna instrukcja zasadniczego wymagania dotyczącego kluczy podstawowych (każda poszczególna wartość skalarna w bazie danych musi mieć zapewnioną możliwość logicznego adresowania, wykorzystując nazwę zawierającej ją tabeli, nazwę zawierającej ją kolumny oraz wartość klucza podstawowego zawierającego ją wiersza);

3. Uporządkowana obsługa wartości NULL: wymaga się, aby SZBD obsługiwał reprezentację brakujących informacji oraz informacji nieadekwatnych, to znaczy uporządkowanych, odmiennych od wszystkich wartości prawidłowych oraz niezależnych od typu danych;

Page 43: SYSTEMY BAZ I HURTOWNI DANYCH

43

4. Aktywny katalog dostępny na bieżąco, oparty na modelu relacyjnym: - aby system obsługiwał wbudowany katalog relacyjny z bieżącym dostępem dla uprawnionych użytkowników używających ich zwykłego języka zapytań.

5. Reguła dotycząca podjęzyka obsługi danych o pełnych możliwościach: - system musi obsługiwać przynajmniej jeden język relacyjny;

6. Reguła aktualizacji perspektyw: wszystkie perspektywy, które teoretycznie dają się aktualizować, muszą być aktualizowane przez system;

Page 44: SYSTEMY BAZ I HURTOWNI DANYCH

44

7. Polecenia wstawiania, aktualizacji oraz usuwania w języku wysokiego poziomu: wymaga się, aby system obsługiwał operatory INSERT, UPDATE oraz DELETE dotyczące całych zbiorów;

8. Fizyczna niezależność danych;

9. Logiczna niezależność danych;

10. Niezależność integralnościowa: - ograniczenia integralnościowe muszą być specyfikowane pojedynczo z programu aplikacyjnego i przechowywane w katalogu;

Page 45: SYSTEMY BAZ I HURTOWNI DANYCH

45

11. Niezależność dystrybucyjna: istniejące aplikacje powinny działać bez zakłóceń, kiedy następuje wprowadzenie rozproszonej Wersji SZBD oraz kiedy istniejące dane rozproszone są ponownie dystrybuowane w obrębie systemu;

12. Reguła nieprowadzenia "działalności wywrotowej": jeśli system jest wyposażony w interfejs niskiego poziomu (operacje na pojedynczych rekordach), nie może być użyty do np. omijania zabezpieczeń relacyjnych lub ograniczeń integralnościowych.

Page 46: SYSTEMY BAZ I HURTOWNI DANYCH

46

Cechy modelu relacyjnego:

• Daleko posunięta niezależność danych;

• Solidne podstawy pozwalające rozwiązywać problemy semantyki, spójności i redundancji danych;

• Umożliwienia rozwoju języków przetwarzania danych opartych na przetwarzaniu zbiorów.

Dwa punkty widzenia relacyjnych BD (RBD):

• matematyczne - relacje,

• tabele

Page 47: SYSTEMY BAZ I HURTOWNI DANYCH

47

System R - pierwszy prototypowy projekt relacyjny SZBD (1976 IBM San Jose Research Laboratory w Kaliforni)

Przyczynił się do powstania wielu prac badawczych i rozwoju innych projektów prototypowych, a w szczególności przyczynił się do:

• rozwoju języka zapytań SQL (Structured Query Language), który stał się językiem formalnie uznawanym przez międzynarodową organizację standardów ISO i faktycznym standardem języka dla relacyjnych SZBD;

• stworzenia na przełomie lat 70-tych i 80-tych systemów komercyjnych, których obecnie istnieje około kilkuset.

Page 48: SYSTEMY BAZ I HURTOWNI DANYCH

48

Terminologia

Relacja – to tabela posiadająca kolumny i wiersze.

Relacyjny SZBD określa jedynie, że baza jest dla użytkownika zbiorem tabel (odnosi się to tylko do logicznej struktury bazy danych – konceptualnego i zewnętrznego poziomu architektury ANSI-SPARC).

Atrybut (pole)– to kolumna relacji opatrzona nazwą.

Atrybuty mogą pojawiać się w relacji w dowolnej kolejności i nie ma to wpływu na znaczenie relacji.

Dziedzina – to zbiór dopuszczalnych wartości dla jednego lub większej liczby atrybutów.

Page 49: SYSTEMY BAZ I HURTOWNI DANYCH

49

Dziedziny niektórych atrybutów relacji Biuro i Personel:

Atrybut Nazwa dziedziny

Znaczenie Definicja dziedziny

biuroNr numery biurzbiór możliwych numerów biur

typ znakowy: rozmiar 4, zakres B001-B999

ulica nazwy uliczbiór wszystkich występujących nazw ulic

typ znakowy: rozmiar 25

miasto nazwy miastzbiór wszystkich występujących nazw miast

typ znakowy: rozmiar 15

kod pocztowy

kody pocztowe

zbiór wszystkich kodów pocztowych

typ znakowy: rozmiar 6

Płeć typy płci płeć człowiekatyp znakowy: rozmiar 1, wartość M lub K

dataUrdaty urodzenia

możliwe wartości dat urodzenia pracowników

typ daty: zakres od 01.01.1920, format rrrr.mm.dd

pensja pensjemożliwe wysokości pensji pracowników

typ walutowy: 7 cyfr, zakres 600,00 – 4000,00

Page 50: SYSTEMY BAZ I HURTOWNI DANYCH

50

Krotka – to wiersz relacji (rekord)

  

Stopień (krotność) relacji – to liczba atrybutów relacji

  

Moc relacji – to liczba krotek, które znajdują się w relacji.

  

Relacyjna baza danych – to zbiór znormalizowanych relacji o różnych nazwach.

Page 51: SYSTEMY BAZ I HURTOWNI DANYCH

51

Stan relacji Biuro i Personel:

biuroNr ulica miasto kod pocztowyB005 Handlowa 16 Łomża 18-400B007 Akacjowa 6 Augustów 16-300B003 Leśna 6 Grajewo 19-200B004 Mała 2 Białystok 15-900B002 Dobra 18 Łomża 18-400

pracownikNr imię nazwisko stanowisko płeć dataUr pensja biuroNrSl21 Jan Wiśniewski dyrektor M 01.10.1945 3000 B005SG37 Anna Biały asystent K 10.11.1960 1200 B003SG14 Daniel Frankowski kierownik M 24.03.1958 1800 B003SA9 Maria Hojny asystent K 19.02.1970 900 B007SG5 Sabina Bober dyrektor K 03.06.1940 2400 B003SL41 Julia Lisicka asystent K 13.07.1965 900 B005

Biuro

Personel

Relacj

a

Moc

Relacj

a

Atrybuty

Stopień

Klucz główny Klucz obcy

Page 52: SYSTEMY BAZ I HURTOWNI DANYCH

52

Relacje matematyczne

Mamy dwa zbiory D1 i D2, gdzie: D1 = {2,4} i D2 = {1,3,5}

Iloczyn kartezjański D1 x D2 = {(2,1),(2,3),(2,5),(4,1),(4,3),(4,5)}

Dowolny podzbiór takiego iloczynu kartezjańskiego jest relacją, np.:

R = {(2,1),(4,1)}

Którą możemy zapisać jako:

Inna relacja, w której pierwszy element jest zawsze dwa razy większy niż drugi:

czyli S={(2,1)}

1yorazDy,Dxy,xR 21

y2xorazDy,Dxy,xS 21

Page 53: SYSTEMY BAZ I HURTOWNI DANYCH

53

Rozszerzając pojęcie relacji na trzy zbiory:

D1={1,3}, D2={2,4}, D3={5,6}

Mamy iloczyn kartezjański:

Dowolny podzbiór tych uporządkowanych trójek jest relacją.

Niech D1 x D2 x ...x Dn będą n zbiorami. Ich iloczyn kartezjański:

Dowolny zbiór n-krotek z tego iloczynu kartezjańskiego jest relacją n zbiorów.

nn2211n,21n21 Dd...,,Dd,Ddd...,d,dDx...xDxD

D1xD2xD3={(1,2,5),(1,2,6),(1,4,5),(1,4,6),(3,2,5),(3,2,6),(3,4,5),(3,4,6)}

Page 54: SYSTEMY BAZ I HURTOWNI DANYCH

54

Własności relacji:

Baza danych jest zbiorem relacji, o następujących własnościach:

• każda relacja w bazie danych jest jednoznacznie określona przez swoją nazwę;

• każda kolumna w relacji (atrybut) ma jednoznaczną nazwę (w ramach tej relacji);

• kolumny relacji tworzą zbiór nieuporządkowany;

• wszystkie wartości w danej kolumnie muszą być tego samego typu (pochodzić z tej samej dziedziny);

• każdy wiersz (krotka) jest inny – nie ma duplikatów krotek;

Page 55: SYSTEMY BAZ I HURTOWNI DANYCH

55

• teoretycznie, kolejność wierszy nie ma znaczenia (w praktyce może mieć wpływ na efektywność wyszukiwania odpowiednich grup kotek);

• każde pole (przecięcie wiersza z kolumną) zawiera wartość atomową z dziedziny określonej przez kolumnę. Brakowi wartości odpowiada wartość specjalnej NULL, zgodna z każdym typem kolumny (chyba, że została jawnie wykluczona przez definicję typu kolumny).

• każda relacja zawiera klucz główny -- kolumnę (lub kolumny), której wartości jednoznacznie identyfikują wiersz (a więc w szczególności nie powtarzają się). Wartością klucza głównego nie może być NULL.

Wartość pusta (NULL) – reprezentuje wartość atrybutu, która w danej chwili nie jest znana lub nie może zostać ustalona.

Page 56: SYSTEMY BAZ I HURTOWNI DANYCH

56

Klucze relacji:

Klucz główny - to jedna lub więcej kolumn tabeli, w których wartości jednoznacznie identyfikują każdy wiersz w tabeli.

Każda relacja musi mieć klucz główny. Dzięki temu możemy zapewnić, aby wiersze nie powtarzały się w relacji.

Klucz kandydujący to kolumna lub zbiór kolumn, które mogą występować jako jednoznaczny identyfikator wierszy w tabeli. W każdej relacji może istnieć wiele kluczy kandydujących.

Klucz główny jest wybierany ze zbioru kluczy kandydujących.

Klucz obcy - jest kolumną lub grupą kolumn tabeli, która czerpie swoje wartości z tej samej dziedziny co klucz główny tabeli powiązanej z nią w bazie danych.

Page 57: SYSTEMY BAZ I HURTOWNI DANYCH

57

Więzy integralności:

1. wymagana obecność danych (NOT NULL);

2. więzy dziedzin atrybutów (dopuszczalny zbiór wartości atrybutu, dopuszczalny zakres długości i format atrybutu);

3. 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;

4. integralność referencyjna: każda wartość klucza obcego może być albo równa jakiejś wartości klucza głównego występującej w tabeli powiązanej, lub (ewentualnie) NULL;

5. więzy ogólne (dodatkowe warunki poprawności danych określone przez użytkowników lub administratorów bazy danych).

Page 58: SYSTEMY BAZ I HURTOWNI DANYCH

58

Integralność referencyjna pociąga za sobą konieczność określenia reguły postępowania w wypadku usuwania wiersza z tabeli powiązanej, co mogłoby unieważnić niektóre wartości kluczy obcych w tabelach do niej się odnoszących:

1. Ograniczone usuwanie (Restricted). Podejście ostrożne – nie dopuszcza do usuwania rekordu nadrzędnego, jeśli istnieją rekordy podrzędne.

2. Kaskadowe usuwanie (Cascades). Podejście ufne – przy usuwaniu rekordu nadrzędnego usuwa także rekordy podrzędne.

3. Izolowane usuwanie (Isolated). Podejście wyważone – usuwa jedynie rekord nadrzędny, nieważne wartości kluczy obcych ulegają zastąpieniu przez NULL.

Page 59: SYSTEMY BAZ I HURTOWNI DANYCH

59

Powiązania kluczy obcych:

Page 60: SYSTEMY BAZ I HURTOWNI DANYCH

60

Schemat relacyjnej bazy danych:

Relacyjna baza danych składa się z pewnej liczby znormalizowanych relacji, np.:

Biuro (biuroNr, ulica, miasto, kod pocztowy)

Personel (pracownikNr, imię, nazwisko, stanowisko, płeć, dataUr, pensja, biuroNr)

Nieruchomość (nieruchomośćNr, ulica, miasto, kod pocztowy, typ, pokoje, czynsz, właścicielNr, pracownikNr, biuroNr)

Klient (klientNr, imię, nazwisko, adres, telefon, preferencje, maksCzynsz)

Właściciel (właścicielNr, imię, nazwisko, adres, telefon)

Wizyta (klientNr, nieruchomośćNr, dataWizyty, uwagi)

Rejestracja (klientNr, biuroNr, pracownikNr, dataRejestracji)

Wynajęcie (umowaNr, nieruchomośćNr, klientNr, czynsz, formaPłatności, kaucja, zapłacona, od, do, okres)