background image

 

Wykład BD - KK

1

Składowe schematu bazy danych

• obiekty
• powiązania między nimi z uwzględnieniem ich 

rodzaju

• atrybuty – cechy obiektów

• Ze względu na ujmowane cechy model ten 

nosi nazwę modelu OAR czyli OBIEKT-
ATRYBUT-RELACJA

background image

 

Wykład BD - KK

2

Etapy budowy schematu bazy danych

1. Zidentyfikować procesy w organizacji 

jednocześnie ustalając potrzebne 
funkcjonalności

2. Zidentyfikować wszystkie obiekty 

uczestniczące w tych procesach

3. Zidentyfikować rodzaje powiązań 

pomiędzy obiektami

4. Zdefiniować słowniki
5. Zidentyfikować zmienne swobodne

background image

 

Wykład BD - KK

3

Etapy budowy schematu bazy danych - Procesy

1. Zidentyfikować procesy w organizacji 

jednocześnie ustalając potrzebne 
funkcjonalności

• Określić cel realizacji poszczególnych 

procesów

• Określić jakich informacji potrzebujemy aby 

wykonać proces

• Określić elementy uczestniczące w procesie

• Określić działania potrzebne do wykonania 

procesu

• Określić efekty końcowe i stan systemu przed 

i po wykonaniu procesu

background image

 

Wykład BD - KK

4

Etapy budowy schematu bazy danych - obiekty

2. Zidentyfikować wszystkie obiekty 

uczestniczące w tych procesach

• Wyróżnić obiekty rzeczywiste (np. 

osoba) i abstrakcyjne (np. zajęcia) i 
nazwać je

• Określić atrybuty (cechy) obiektów, 

które będą potrzebne

• Podać typy tych atrybutów, wielkości 

wartości (ile znaków jest potrzebnych)

• Podać ograniczenia dla tych wartości

background image

 

Wykład BD - KK

5

Etapy budowy schematu bazy danych - Relacje

3. Zidentyfikować rodzaje powiązań 

pomiędzy obiektami

• Łączyć kolejne obiekty określając typ 

powiązania

• Nie może pozostać żaden obiekt nie 

podłączony do pozostałych

background image

 

Wykład BD - KK

6

Etapy budowy schematu bazy danych - Słowniki

4. Zdefiniować słowniki

• Słownik to zbiór wartości cech wybranego 

atrybutu

• Np. wartości atrybutu kolor to {zielony, 

niebieski, biały ,...}

• Słownik powinien składać się ze stosunkowo 

niewielkiej liczby elementów (kilkaset, kilka 
tysięcy) – znacząco mniejszej niż liczba 
wystąpień obiektu.

• Jedna wartość ze słownika powinna 

wykorzystywana przez wiele obiektów (np. 
10000 pojazdów może być tej samej marki 
lub tego samego koloru, 5000 tytułów z tego 
samego wydawnictwa)

background image

 

Wykład BD - KK

7

Etapy budowy schematu bazy danych – zmienne 

swobodne

5. Zidentyfikować zmienne swobodne

• Zmienne swobodne nie należą do 

żadnego konkretnego obiektu ale 
wpływają na działanie całego systemu 
np. aktualna data, nazwa firmy, telefon, 
NIP, REGON firmy, stawka 
roboczogodziny, katalog aplikacji itp.

• Zmienne swobodne można umieścić w 

osobnej tablicy, która nie musi być z 
niczym połączona

background image

 

Wykład BD - KK

8

Określić możliwe pytania do 

nieistniejącej bazy przykład 

BIBLIOTEKA

• Jakie są tytuły książek w bibliotece?
• Jacy są autorzy książek?
• Jakie są wydawnictwa?
• Jakie książki wydało dane 

wydawnictwo?

• Jakie są dziedziny książek?
• Jakie są dane osobowe czytelników?
• itp.

background image

 

Wykład BD - KK

9

Określić funkcje bazy – 

pobieranie informacji

• wyświetla dane osobowe czytelników,
• wyświetla dane o wydawnictwie,
• wyświetla jakie są książki z danej 

dziedziny,

• wyświetla jakie książki napisał autor,
• wyświetla wypożyczenia czytelnika,
• itp.

background image

 

Wykład BD - KK

10

Dalsze funkcje bazy - 

modyfikacja

• umożliwia modyfikację, dodawanie, 

usuwanie danych o obiektach:

• czytelniku,
• autorze,
• wydawnictwie,
• dziedzinie,
• itp.

background image

 

Wykład BD - KK

11

Dalsze funkcje bazy - 

zestawienia

• umożliwia tworzenie zestawień, 

podsumowań statystycznych, np.

• ile książek wypożyczył w danym 

okresie czytelnik,

• czy w bibliotece jest wystarczająca 

ilość egzemplarzy danej książki,

• które książki są najczęściej 

wypożyczane,

• itp.

background image

 

Wykład BD - KK

12

Co to jest Encja

• obiekt, coś istniejącego, odróżnialnego od 

innych – o czym informacje chcemy znać 
i przechowywać,

• zbiór odróżnialnych danych,
• np. AUTOR – dane osobowe autorów,
• KSIĄŻKA – dane o książce,
• WYDAWNICTWO – dane o wydawnictwie
• OSOBA

background image

 

Wykład BD - KK

13

Encje mają atrybuty

• Encje są opisywane przez atrybuty,
• AUTOR: imię, nazwisko,adres,itp.
• POJAZD: nr rejestracyjny, typ, marka, kolor, ...
• STUDENT: nr indeksu, kobieta, data_urodzenia, 

kierunek, ...

Atrybuty poszczególnych encji dobieramy według 

potrzeb konkretnej bazy danych (np. BD czytelników 
nie zawiera numeru buta osoby, ani jej wzrostu, a BD 
dla potrzeb medycznych – zawiera)

Każda encja musi posiadać klucz – atrybut 

identyfikujący wystąpienia encji (nr, PESEL, 
NIP)

background image

 

Wykład BD - KK

14

Atrybuty encji c.d.

• atrybut powinien opisywać encję, do której należy,
• Atrybut ma swoją nazwę (np. imię, cena, 

nazwa_towaru itp.)

• atrybut ma swoją wartość,(np. imię – 

Adam, 

nazwisko – 

Mickiewicz)

• Atrybuty mają swoje typy (znakowe, liczbowe, 

logiczne, datowe itp.)

• Atrybuty mają swoje dziedziny wartości (np. 

cena_towaru >=0, pojemność_silnika  
[500,10000])

background image

 

Wykład BD - KK

15

Atrybuty złożone i proste c.d.

• atrybuty w BD powinny przyjmować wartości atomowe 

tzn. wartości proste, nierozkładalne na sensowne 
wartości prostsze

• np. adres – [ul. Miła 50/4 Katowice] jest wartością 

złożoną – należy go rozłożyć na wartości proste

– Ulica
– Nr_domu
– Nr_lokalu
– miasto

• Po co? Łatwiejsze wyszukiwanie, możliwość 

porządkowania, unikanie bałaganu i różnego sposobu 
zapisu

background image

 

Wykład BD - KK

16

Związki encji

Encje wchodzą w związki między sobą

• Wydawnictwo

 wydaje 

książki

,

• Osoba 

wypożycza 

egzemplarz książki

,

• Klient 

składa 

zamówienia

• Osoba 

jest

 autorem książki

,

• Osoba 

jest

 właścicielem pojazdu

,

• Student

 należy do 

grupy

,

• Grupa

 jest przypisana do 

kierunku

 

• itp.,itd

background image

 

Wykład BD - KK

17

Składowe schematu bazy danych- reprezentacja 

graficzna

• obiekty - prostokąty

• powiązania  - romby

• atrybuty – elipsy
• (często pomijane ze względu 

na czytelność schematu)

background image

 

Wykład BD - KK

18

Przykładowy schemat bazy danych

obiekt1

obiekt 2

obiekt 3

obiekt 4

obiekt 5

obiekt 6

atr 1

atr 2

atr 4

atr 3

background image

 

Wykład BD - KK

19

Trzy typy powiązań

obiekt1

obiekt 2

1

n

obiekt1

obiekt 2

m

n

obiekt1

obiekt 2

1

1

jeden do jeden – bardzo 
rzadkie

jeden do wielu – bardzo 
częste

wiele do wielu – jeszcze 
częstsze niż 1:n

background image

 

Wykład BD - KK

20

Związki encji

• autor pisze 

wiele

 książek

• książka jest napisana przez 

wielu

 

autorów

• wydawnictwo wydaje 

wiele

 książek

• książka jest wydana przez 

jedno

 

wydawnictwo

• książka ma 

wiele

 egzemplarzy

• egzemplarz jest 

jednej

 książki

background image

 

Wykład BD - KK

21

Związki encji a związki między 

tabelami

• Związek 1:n oznacza że jednemu wierszowi z 

pierwszej tabeli odpowiada 1 lub więcej wierszy z 
drugiej tabeli, a jednemu wierszowi z drugiej 
tabeli odpowiada 0 lub 1 rekord z pierwszej tabeli.

• Związek m:n oznacza że jednemu wierszowi z 

pierwszej tabeli odpowiada 1 lub więcej wierszy z 
drugiej tabeli, a jednemu wierszowi z drugiej 
tabeli odpowiada 1 lub więcej rekordów z 
pierwszej tabeli. 

• Może tak się zdarzyć, że wierszowi z jednej tabeli 

nie odpowiada ani jeden wiersz z innej tabeli

background image

 

Wykład BD - KK

22

Powiązania a tabele w bazie danych

obiekt1

obiekt 2

1

n

obiekt1

obiekt 2

m

n

obiekt1

obiekt 2

1

1

JEDNA TABELA

DWIE TABELE 

TRZY TABELE 

background image

 

Wykład BD - KK

23

Przykład związku 1:n

Jeden klient może 
złożyć wiele zamówień 
ale jedno zamówienie 
może być złożone 
przez tylko jednego 
klienta

obiekt1

obiekt 2

1

n

DWIE TABELE 

background image

 

Wykład BD - KK

24

Przykład 2 związku 1:n

Jeden pracownik może 
obsługiwać wiele 
zamówień ale za jedno 
zamówienie jest 
odpowiedzialny tylko 
jeden pracownik

obiekt1

obiekt 2

1

n

DWIE TABELE 

background image

 

Wykład BD - KK

25

Przykład 3 związku 1:n

Jeden produkt należy 
tylko do jednej 
kategorii ale jedna 
kategoria może 
obejmować wiele 
produktów

obiekt1

obiekt 2

1

n

DWIE TABELE 

background image

 

Wykład BD - KK

26

Przykład związku m:n

Każdy klient może być 
obsługiwany przez 
wielu pracowników a 
każdy pracownik może 
obsługiwać wielu 
klientów

Związek następuje 
poprzez tabelę 
zamówienia

obiekt1

obiekt 2

m

n

TRZY TABELE 

background image

 

Wykład BD - KK

27

Przykład 2 związku m:n

Na każdym 
zamówieniu może 
znajdować się wiele 
produktów, a każdy 
produkt może 
występować na wielu 
zamówieniach.

Związek następuje 
poprzez tabelę Opisy 
zamówień

obiekt1

obiekt 2

m

n

TRZY TABELE 

WNIOSEK: 
Związek m:n składa się z dwóch związków 1:n ze wspólną tabelą

background image

 

Wykład BD - KK

28

BD jest zbiorem tabel połączonych 

relacjami

Klienci są związani z produktami

 

Klienci  zamówienia  Opisy zamówień  produkty

Pracownicy są związani z kategoriami

Pracownicy  zamówienia  Opisy zamówień  produkty  Kategorie

background image

 

Wykład BD - KK

29

BD jest zbiorem tabel połączonych 

relacjami

Tabele łączą się w relacje za pomocą kluczy np. 
ID klienta w tabeli Klienci jest kluczem głównym a w 
tabeli Zamówienia tzw. kluczem obcym
Podobnie w innych tabelach

background image

 

Wykład BD - KK

30

Tabele samoistne i zależne

Tabele mogą istnieć samodzielnie np. Klienci, Pracownicy, 
Dostawcy, Kategorie
lub są zależne od istnienia innych tabel np. Produkty zależą od 
Kategorii, Zamówienia od Pracowników i Klientów itd. 
Tabele samoistne mają tylko klucze główne, tabele zależne własny 
klucz główny i co najmniej jeden klucz obcy

background image

 

Wykład BD - KK

31

Kolejność tworzenia tabel

Tabele zaczynamy tworzyć od tabel samoistnych w dowolnej 
kolejności 
mogą istnieć samodzielnie np. Klienci, Pracownicy, Dostawcy, 
Kategorie
lub są zależne od istnienia innych tabel np. Produkty zależą od 
Kategorii, Zamówienia od Pracowników i Klientów itd. 
Tabele samoistne mają tylko klucze główne, tabele zależne własny 
klucz główny i co najmniej jeden klucz obcy

1

1

1

1

1

2

2

3

background image

 

Wykład BD - KK

32

Projektowanie schematu Bazy Danych

Po co projektujemy schematy BD
• Uczynić zadość wymogom dobrej BD
• najlepiej spełnić wymagania użytkownika
• dla celów dokumentacji
• dla celów bieżącej eksploatacji

background image

 

Wykład BD - KK

33

Projektowanie schematu Bazy Danych

Wymogi dobrego schematu BD
• brak redundancji
• przejrzystość
• czytelność
• odzwierciedlenie wszystkich obiektów
• odzwierciedlenie wszystkich powiązań
• wskazanie charakteru tych powiązań
• pokazanie typów pól 

background image

 

Wykład BD - KK

34

Projektowanie schematu Bazy Danych

Jak spełnić wymagania użytkownika
• uwzględnić wszystkie potrzebne mu informacje
• zapewnić jednoznaczność danych (redundancja)
• nie ograniczać możliwości bazy
• nie nakładać niepotrzebnych ograniczeń na 

obiekty i relacje

• umożliwić zadawanie jak największej liczby 

zapytań

• zapewnić przyzwoitą wydajność
• nie domagać się zbyt drogiego środowiska 

(oprogramowanie i sprzęt)

background image

 

Wykład BD - KK

35

Projektowanie schematu Bazy Danych

Po co dokumentujemy
• programiści, projektanci, administratorzy, 

użytkownicy zmieniają się a bazy trwają

• bazy się rozwijają
• bazy się łączą między sobą
• do bazy przyłączane są nowe aplikacje
• na podstawie BD buduje się systemy analiz

background image

 

Wykład BD - KK

36

Projektowanie schematu Bazy Danych

Bieżąca eksploatacja
• archiwizowanie i odtwarzanie z 

archiwów

• porządkowanie danych
• wykorzystanie rzadziej używanych 

funkcji

• przyłączanie nowych użytkowników
• upgradowanie

background image

 

Wykład BD - KK

37

Podsumowanie

• Od procesów do obiektów które w 

nich uczestniczą

• Od obiektów do atrybutów, które 

opisują obiekty (w tym kluczy)

• Od obiektów do ich związków
• Od obiektów do tabel
• Od związków do relacji
• Od tabel i relacji do bazy danych


Document Outline