opr. Lech Banachowski, Krzysztof Matejews
opr. Lech Banachowski, Krzysztof Matejews
ki
ki
1
1
Relacyjne Bazy Danych
Relacyjne Bazy Danych
Wykład II
Wykład II
Projektowanie baz danych
Projektowanie baz danych
diagramy związków encji
diagramy związków encji
opr. Lech Banachowski, Krzysztof Matejewski
2
Streszczenie wykładu II
Streszczenie wykładu II
W wykładzie 2 zaprezentowana jest podstawowa metoda tworzenia schematu
relacyjnej bazy danych. Jest ona dwustopniowa. W pierwszej fazie
projektujemy
model danych
dla rozważanej dziedziny zastosowań,
nazywany
diagramem związków encji
. W drugiej fazie przekształcamy
otrzymany model danych w schemat bazy danych. Specjalne
oprogramowanie (nazywane narzędziami
CASE - Computer Aided System
Engineering
) dostarcza narzędzi graficznych do projektowania i rysowania
diagramów na ekranie komputera. Co więcej, dostarcza narzędzi do
automatycznego generowania schematu bazy danych w konkretnym
systemie baz danych, takim jak na przykład Microsoft Access.
W wykładzie wprowadzane pojęcia ilustrowane są za pomocą zdjęć ekranów
pochodzących z programu
Microsoft Visio
(wersja 2000), który służy do
rysowania różnego rodzaju diagramów, w tym także diagramów związków
encji.
opr. Lech Banachowski, Krzysztof Matejewski
3
Diagram związków encji
Diagram związków encji
Celem procesu projektowania schematu bazy danych jest:
1.
Wyspecyfikowanie wymagań użytkowników przyszłej bazy danych oraz
dokonanie analizy tych wymagań,
2.
Utworzenie schematu bazy danych, spełniającego wymagania
użytkowników i jednocześnie gwarantującego poprawne funkcjonowanie
bazy danych w ramach całego systemu informacyjnego.
Na ogół, zanim utworzy się bazę danych, dokonuje się analizy wymagań
informacyjnych i przedstawia się je w postaci modelu danych
nazywanego
diagramem związków encji.
W diagramie tym abstrahujemy
od szczegółów technicznych związanych z implementacją danych w
konkretnym systemie baz danych.
opr. Lech Banachowski, Krzysztof Matejewski
4
Diagram związków encji
Diagram związków encji
pośredni model projektowy
pośredni model projektowy
Diagram związków encji
powinien:
•
w
sposób
jednoznaczny
określać
wymagania
użytkowników,
umożliwiając im sprawdzenie, czy analityk systemu dobrze zrozumiał ich
intencje i specyfikę działania firmy (ogólnie – obiektów stanowiących
przedmiot modelowanej bazy danych);
•
być istotnie prostszy od schematu bazy danych, ponieważ abstrahuje od
szczegółów implementacyjnych, które muszą być później opracowane
przez projektanta bazy danych tak, aby baza danych mogła powstać i
spełniać postawione przed nią zadania.
opr. Lech Banachowski, Krzysztof Matejewski
5
Składniki diagramu związków encji
Składniki diagramu związków encji
Encja
Encja
Encja
(obiekt) to coś, co istnieje, co jest odróżnialne od innych, o czym
informację trzeba znać lub przechowywać. Encje o tych samych
własnościach tworzą typy (zbiory) encji. Reprezentacją graficzną encji jest
ramka (prostokąt).
Należy odróżniać
typ encji
od jej
instancji
(egzemplarza) np.
Osoba
jako
typ
i jako konkretny
obiekt
(instancja, egzemplarz, czyli fizyczna osoba).
opr. Lech Banachowski, Krzysztof Matejewski
6
Składniki diagramu związków encji
Składniki diagramu związków encji
Atrybut
Atrybut
Atrybut
jest to właściwość encji danego typu, opisywana pewną wartością np.
liczbą całkowitą, liczbą rzeczywistą, napisem, datą. Inaczej mówiąc –
atrybut to cecha (właściwość) obiektu, którego modelem jest encja. Zbiór
atrybutów opisuje encję, a zbiór konkretnych wartosci atrybutów opisuję
instancję (konkretny egzemplarz) encji.
• Identyfikowany atrybut powinien opisywać encję, przy której się go
umieszcza (a nie związki z innymi encjami!). Na przykład
Numer
miejsca
w
samolocie
jest atrybutem encji
Samolot
lub encji
Miejsce
w
samolocie
, a nie atrybutem encji
Bilet
, choć na nim się także pojawia.
• Pierwsza
postać
normalna
- dla każdego egzemplarza encji, każdy jej
atrybut powinien przyjmować pojedynczą, atomową (niepodzielną)
wartość. Z tego powodu, atrybut
Dzieci
pracownika
nie jest dobrym
kandydatem na atrybut encji
Pracownik
.
• Należy pomijać atrybuty wyliczane, czyli takie, których wartości dadzą się
wyliczyć z innych, już istniejących w bazie wartości. Np. wiek osoby jest
wyliczany z daty urodzenia; cena brutto wynika z ceny netto i stawki
podatku VAT, wartość zakupu z liczby zakupionych przedmiotów i ich cen.
opr. Lech Banachowski, Krzysztof Matejewski
7
Składniki diagramu związków encji
Składniki diagramu związków encji
Klucz
Klucz
Klucz
(jednoznaczny
identyfikator)
jest
to
zbiór
(może
być
jednoelementowy) atrybutów danej encji, których wartości jednoznacznie
identyfikują każdą instancję tej encji. Jeden klucz jest
główny
, pozostałe
alternatywne
. Jedna encja może mieć wiele kluczy.
• Atrybuty klucza głównego wyróżnia się etykietą PK i/lub podkreśleniem.
• Niektóre encje, w celu jednoznacznego ich zidentyfikowania, wymagają
powiązania z innymi encjami, czego efektem jest umieszczenie klucza
obcego wśród atrybutów klucza głównego. Encje takie nazywają się
słabe
albo
zależne
. Pozostałe encje to encje
niezależne
. Analizę zaczynamy od
zidentyfikowania encji niezależnych.
opr. Lech Banachowski, Krzysztof Matejewski
8
Składniki diagramu związków encji
Składniki diagramu związków encji
Typy danych
Typy danych
Typy zmiennych
, czyli
dziedziny
atrybutów
, to zbiory wartości, które mogą
być przyjmowane przez zmienne zapisywane w kolumnach tabel.
• W MS Visio atrybuty encji określa się w zakładce "Columns".
• Odróżnia się dwie specyfikacje typów danych: niezależną od systemu baz
danych (
Portable
Data Type
), oraz zorientowaną na generowanie bazy
danych do konkretnego systemu baz danych (
Physical
Data
Type
).
opr. Lech Banachowski, Krzysztof Matejewski
9
Składniki diagramu związków encji
Składniki diagramu związków encji
Więzy spójności
Więzy spójności
Więzy spójności
dla encji w MS Visio określa się zakładce
Check
.
Definiowane są przez wyrażenia.
opr. Lech Banachowski, Krzysztof Matejewski
10
Indeksy
Indeksy
Wśród atrybutów encji wyróżniamy atrybuty bądź grupy atrybutów, względem
wartości których są wyszukiwane egzemplarze encji. Dla takich atrybutów
specyfikujemy
indeksy
. Indeks na kluczu głównym jest zakładany
automatycznie i nie trzeba dodatkowo go specyfikować. Na diagramie
atrybuty posiadające indeksy są etykietowane literą
I
ze wskaźnikiem. W
MS Visio indeksy specyfikuje się w zakładce "Indexes". Przykład pokazany
na slajdzie to specyfikacja indeksu do wyszukiwania osób według ich
nazwisk.
opr. Lech Banachowski, Krzysztof Matejewski
11
Związek
Związek
Związek
to uporządkowana lista encji, poszczególne encje mogą występować
wielokrotnie. Każdy związek określa pewną zależność między zbiorami
egzemplarzy (instancji) encji wchodzącymi w skład związku - instancję
związku.
Związek można formalnie zapisać przy użyciu notacji relacyjnej:
Z(E1 ,...,En)
co oznacza:
encje E1 ,...,En wchodzą w skład związku Z
Można także opisać związek werbalnie, np.:
• Pracownik pracuje w dziale
(związek pomiędzy encjami
Dział
i
Pracownik
)
• Pracownik
w projekcie pełni rolę
(związek pomiędzy encjami
Pracownik
i
Projekt
)
• Firma
produkuje
towar
(związek pomiędzy encjami
Firma
i
Towar
)
opr. Lech Banachowski, Krzysztof Matejewski
12
Związek binarny - dwuargumentowy
Związek binarny - dwuargumentowy
Związek binarny jest reprezentowany graficznie jako linia łącząca dwie ramki
(encje). MS Visio automatycznie tworzy w encji
Student
atrybut
Nr_Grupy
(z
etykietą FK1 - klucz obcy ) - określający powiązania instancji encji
Student
z instancjami encji
Grupa
.
Instancja związku binarnego jest dwuargumentową relacją na iloczynie
kartezjańskim zbiorów instancji encji. W naszym przykładzie - zbioru
studentów, ze zbiorem grup studenckich.
opr. Lech Banachowski, Krzysztof Matejewski
13
Związek jednoznaczny i jego implementacja
Związek jednoznaczny i jego implementacja
Związek jednoznaczny
Gdy instancja związku binarnego jest funkcją częściową związek nazywa się
jednoznaczny.
• Instancja związku jednoznacznego między encjami
Grupa
i
Student
jest
funkcją ze zbioru studentów w zbiór grup studenckich.
Część związku odpowiadająca dziedzinie funkcji jest nazywana
stroną
wiele
związku (lub
encją
podrzędną
), a część odpowiadająca przeciwdziedzinie
funkcji
stroną
jeden
związku (lub
encją
nadrzędną
) – i jest oznaczana
strzałką.
• Grupa
jest encją po stronie jeden (nadrzędną) a
Student
encją po stronie
wiele (podrzędną).
Implementacja związku jednoznacznego
Dwie encje połączone związkiem jednoznacznym są implementowane
odpowiednio przez dwie tabele. W encji po stronie wiele jest dodany klucz
obcy określający powiązanie z instancją encji po stronie jeden.
• W naszym przykładzie do encji
Student
jest dodany klucz obcy
Nr_grupy
etykietowany przez FK1, określający powiązanie z instancją encji
Grupa
-
przez wartość klucza głównego
Nr_grupy
.
opr. Lech Banachowski, Krzysztof Matejewski
14
Okienko właściwości związku ("Database properties")
Okienko właściwości związku ("Database properties")
Zakładka "Definition"
Zakładka "Definition"
W zakładce
Definition
związek definiowany jest jako powiązanie dwóch
zbiorów atrybutów: tworzonego automatycznie klucza obcego w encji po
stronie "wiele" i klucza głównego w encji po stronie "jeden". Pole „Foreign
key rrole name” jest miejscem gdzie można opisać rolę, jaką w encji
podrzędnej pełni klucz obcy (może być to przekształcone w etykietę
kolumny przyszłej tabeli).
W przykładzie
Student
jest encją po stronie "wiele", a
Grupa
jest encją po
stronie "jeden".
opr. Lech Banachowski, Krzysztof Matejewski
15
Okienko właściwości związku ("Database properties")
Okienko właściwości związku ("Database properties")
Zakładka „Name"
Zakładka „Name"
Zakładka
Name
określa sposób odczytywania zawartości związku oraz nazwę
dla więzów klucza obcego:
Grupa_Student_FK1
.
Pola Verb phrase i Inverse phrase pozwalają opisać verbalnie związek,
ułatwiając zrozumienie jego roli. Opis może zostać wykonany w ujęciu „od
strony wiele do strony jeden” i/lub odwrotnie. MS Visio pozwala wyświetlić
opisy związków na diagramie.
opr. Lech Banachowski, Krzysztof Matejewski
16
Okienko właściwości związku ("Database properties")
Okienko właściwości związku ("Database properties")
Zakładka "Miscelaneous"
Zakładka "Miscelaneous"
Zakładka
Miscelaneous
określa podstawowe własności związku:
Liczebność
(
Cardinality
) - ile egzemplarzy encji po stronie wiele może
być połączone z jednym egzemplarzem encji po stronie jeden. Może to być
konkretna liczba np. 2 albo określenie typu "zero lub więcej", "jeden lub
więcej", "zero lub jeden".
opr. Lech Banachowski, Krzysztof Matejewski
17
Okienko właściwości związku ("Database properties")
Okienko właściwości związku ("Database properties")
Zakładka "Miscelaneous"
Zakładka "Miscelaneous"
Typ związku
(
Relationship type
), który może być:
•
identyfikujący
– do identyfikacji egzemplarza encji po stronie wiele jest
potrzebny odpowiadający mu egzemplarz encji po stronie jeden i wtedy
encja po stronie wiele nazywa się encją słabą (zależną) - inaczej mówiąc
wartość klucza obcego wchodzi w skład klucza głównego encji po stronie
wiele
•
nieidentyfikujący
- wartość klucza obcego nie wchodzi w skład klucza
głównego encji po stronie wiele.
opr. Lech Banachowski, Krzysztof Matejewski
18
Okienko właściwości związku ("Database properties")
Okienko właściwości związku ("Database properties")
Zakładka „Miscelaneous”
Zakładka „Miscelaneous”
Opcję
Optional
– czy wartość klucza obcego jest opcjonalna tzn. czy
dopuszcza wartość NULL. Związek jest opcjonalny gdy wartość klucza
obcego dopuszcza wartość NULL. Związek jest wymagany gdy wartość
klucza obcego musi być określona tzn. nie może być NULL (inaczej
mówiąc dla każdego egzemplarza encji po stronie wiele istnieje
odpowiadający mu egzemplarz encji po stronie jeden).
opr. Lech Banachowski, Krzysztof Matejewski
19
Okienko właściwości związku ("Database properties")
Okienko właściwości związku ("Database properties")
Zakładka "Ref. Integrity"
Zakładka "Ref. Integrity"
Zakładka
Ref. Integrity
określa akcje referencyjne, które zostaną podjęte w
przypadku naruszenia więzów spójności referencyjnej przez operacje
usuwania i aktualizacji wierszy w tabeli nadrzędnej.
Dostępne są następujące opcje:
Odmawiaj wykonania akcji (
No action, Restricted
) - nie wykonuj zmiany,
jeśli naruszyłaby ona więzy spójności referencyjnej. System zarządzania
bazą danych „odmówi” wykonania polecenia, informując o tym
użytkownika i/lub zapisując informację o tym w logu.
opr. Lech Banachowski, Krzysztof Matejewski
20
Okienko właściwości związku ("Database properties")
Okienko właściwości związku ("Database properties")
Zakładka "Ref. Integrity"
Zakładka "Ref. Integrity"
Propaguj zmiany do encji podrzędnej (
Cascade
) - przy aktualizacji
instancji encji nadrzędnej uaktualnij wartość klucza obcego w encji
podrzędnej, a przy usuwaniu, razem z egzemplarzem encji nadrzędnej,
usuń wszystkie powiązane przez wartość klucza obcego egzemplarze
encji podrzędnej. Ta akcja jest w szczególności naturalna dla wszystkich
związków identyfikujących.
Wstaw NULL (
Set
Null
) - w przypadku aktualizacji lub usuwania instancji
encji nadrzędnej, w miejsce wartość klucza obcego w odpowiadających
jej instancjach encji podrzędnej wstaw NULL.
opr. Lech Banachowski, Krzysztof Matejewski
21
Okienko właściwości związku ("Database properties")
Okienko właściwości związku ("Database properties")
Zakładka "Ref. Integrity"
Zakładka "Ref. Integrity"
Wyłącz więzy spójności referencyjnej i wykonaj operację (
Do not enforce
).
System zarządzania bazą danych przestaje odpowiadać za spójność danych.
Niektóre systemy dopuszczają jeszcze jedną opcję:
Wstaw wartość domyślną (
Set Default
) - w przypadku aktualizacji lub usuwania
instancji encji nadrzędnej, zamiast wartości klucza obcego w odpowiadających jej
instancjach encji podrzędnej wstaw wartość domyślną.
opr. Lech Banachowski, Krzysztof Matejewski
22
Transformacja związku niejednoznacznego
Transformacja związku niejednoznacznego
Każdy związek niejednoznaczny (czyli taki związek, który nie jest
jednoznaczny) trzeba sprowadzić do związków jednoznacznych.
• Dla związku o liczbie argumentów większej niż dwa
Z(E1 ,...,En), n>2
wprowadzamy nową encję
E0
i n jednoznacznych związków binarnych
Zi(E0,Ei)
łączących nową encję z encjami już istniejącymi. Klucz encji
E0
jest sumą kluczy encji
E1,...,En.
• Dla niejednoznacznego związku binarnego
Z(E1,E2)
wprowadzamy nową
encję
E0
i dwa związki jednoznaczne
Z1(E0,E1)
oraz
Z2(E0,E2)
łączące
nowy zbiór encji ze starymi. Klucz encji
E0
jest sumą kluczy encji
E1
i
E2
.
• Wprowadzana encja reprezentująca związek nazywa się
encją
asocjacyjną
. Jest ona zawsze encją słabą (zależną), bo związki łączące ją z
encjami - argumentami związku niejednoznacznego są związkami
identyfikującymi.
opr. Lech Banachowski, Krzysztof Matejewski
23
Transformacja związku niejednoznacznego - przykład
Transformacja związku niejednoznacznego - przykład
Powyżej przedtawiony jest przykład opisanej transformacji dla związku
trójargumentowego: wykładowca prowadzi zajęcia dla grupy studenckiej z
przedmiotu nauczania. Stosując opisaną metodę wprowadzimy nową
encję
asocjacyjną
, której zadaniem będzie opisanie związku, jaki zachodzi
pomiędzy
wykładowcami, przedmiotami nauczania i grupami
.
opr. Lech Banachowski, Krzysztof Matejewski
24
Transformacja związku niejednoznacznego - przykład
Transformacja związku niejednoznacznego - przykład
Jednoznaczny identyfikator nowej encji tworzą trzy wprowadzone związki tj.
klucze obce do encji
Grupa, Wykladowca i Przedmiot
.
Istotne jest ustawienie typu tych związków jako identyfikujących. To właśnie
spowoduje umieszczenie kluczy obcych z encji
Grupa, Wykladowca
i
Przedmiot
w części identyfikującej (czzyli wśród atrybutów klucza
głównego) encji asocjacyjnej
Zajęcia
.
W encji asocjacyjnej można umieszczać atrybuty charakteryzujące związek np.
między osobami, projektami i rolami - atrybut
Godz_rozp
,
Czas_trwania
,
Sala
.
opr. Lech Banachowski, Krzysztof Matejewski
25
Związek rekurencyjny
Związek rekurencyjny
Związek rekurencyjny jest to związek zachodzący pomiędzy tą samą encją, np.
„Jedna
Osoba
jest kierownikiem drugiej
osoby
”. W pokazanym przykładzie
na kluczach obcych zostały utworzone (przez projektanta bazy) indeksy, co
jest często stosowaną praktyką.
opr. Lech Banachowski, Krzysztof Matejewski
26
Związek jedno-jednoznaczny, jeden-do-jeden
Związek jedno-jednoznaczny, jeden-do-jeden
Zwiazek jedno-jednoznaczny to związek jednoznaczny, kórego instancja jest
różnowartościową funkcją częściową . Inaczej mówiąc, każdej instancji encji
po stronie „wiele” odpowiada co najwyżej jedna instancja encji po stronie
„jeden” - na przykład związek "Każdy student jest osobą" (Osoba może być
studentem, ale nie musi nim być).
opr. Lech Banachowski, Krzysztof Matejewski
27
Metody odwzorowania związku jedno-jednoznacznego
Metody odwzorowania związku jedno-jednoznacznego
Związek jedno-jednoznaczny może zostać odwzorowany w tabele bazy danych
na jeden z trzech sposobów (na przykładzie związku między encjami
Osoba
i
Student
):
(Stosowana przez MS Visio) Używamy dwóch tabel:
Student
i
Osoba
. W
tabeli
Osoba
zapisujemy atrybuty wspólne dla wszystkich osób. W tabeli
Student
zapisujemy klucz główny z tabeli
Osoba
(identyfikujący studenta
jako osobę) oraz atrybuty charakterystyczne tylko dla studentów.
Wadą tego rozwiązania jest konieczność częstego używania złączenia dwóch
tabel, zaletą jest elegancja schematu.
1.
Używamy tylko jednej tabeli, w której są przechowywane wszystkie
możliwe atrybuty dotyczące osób. Jeśli osoba nie jest studentem,
wartości atrybutów charakterystycznych tylko dla studentów pozostają
NULL.
Wadą tego rozwiązania jest potencjalnie duża liczba wartości NULL w tabeli.
Używamy tylko jednej tabeli
Student
. W przypadku, gdy zajdzie potrzeba
reprezentowania jeszcze innego typu osób jak np. Pracownik – dla tej
kategorii osób definiujemy osobną tabelę. Gdy jest potrzebna
informacja obejmująca wszystkie osoby, trzeba wtedy stosować
sumowanie zawartości tabel.
Metoda ta jest dobra, gdy podział na kategorie osób jest rozłączny. Gdy
podział nie jest rozłączny, ta sama informacja będzie powtarzana, np.
informacja o pracownikach będących jednocześnie studentami.
opr. Lech Banachowski, Krzysztof Matejewski
28
Generowanie bazy danych z modelu
Generowanie bazy danych z modelu
Po wybraniu docelowego systemu bazodanowego (w naszym przypadku MS
Access) możemy wygenerować z programu MS Visio tabele w bazie
danych:
1.
Tworzymy pustą bazę danych MS Access.
2.
Z menu Visio wybieramy opcję "Database -> Generate" wywołując kreator
generacji.
3.
W pierwszym okienku dialogowym kreatora wybieramy opcję "Generate
new database".
4a
. Przy pierwszym użyciu:
Wybieramy opcję: "Create MDB file" i "New" (data source name - DSN).
W kolejnych okienkach wybieramy opcje "System data source", "Microsoft
Access driver".
Po utworzeniu DSN podajemy ścieżkę do utworzonej wcześniej bazy danych
MS Access.
4b
. Przy kolejnym użyciu:
Wybieramy opcję: "MDB file already exists".
W kolejnych okienkach wybieramy DSN z listy rozwijanej i ścieżkę do
utworzonej wcześniej bazy danych Access.
UWAGA
: Opcja generowania bazy danych z modelu wykonanego w MS Visio
dostępna jest w wersjach 2002 i 2003 tylko w wydaniach „Enterprise”. W
powszechnie dostępnych wydaniach „Proffesional” możliwe jest tylko
wykonanie diagramu związków edncji.
opr. Lech Banachowski, Krzysztof Matejewski
29
Słownik
Słownik
• encja
(obiekt) coś co istnieje, co jest odróżnialne od innych, o czym
informację trzeba znać lub przechowywać. Encje o tych samych
własnościach tworzą typy (zbiory) encji. Reprezentacją graficzną encji jest
ramka (prostokąt). Encja może być niezależna lub zależna (od innych encji
przez związek lub związki z nimi).
• atrybut
jest to właściwość encji danego typu, reprezentowana pewną
wartością np. liczbą całkowitą, liczbą rzeczywistą, napisem.
• klucz
(jednoznaczny
identyfikator)
jest
to
zbiór
(może
być
jednoelementowy) atrybutów danej encji, których wartości jednoznacznie
identyfikują każdą instancję tej encji. Jeden klucz - główny, pozostałe
nazywają się alternatywnymi.
• związek
- uporządkowana lista encji, poszczególne encje mogą
występować wielokrotnie.
• instancja
zwązku
- relacja określona między zbiorami egzemplarzy encji
wchodzącymi w skład związku. Relacja ta zwykle jest zmienna w czasie.
• związek
binarny
- związek dwuargumentowy (między dwiema encjami).
• związek
jednoznaczny
(jeden-do-wiele) - związek binarny, którego
instancja jest dwuargumentową funkcją częściową.
opr. Lech Banachowski, Krzysztof Matejewski
30
Słownik
Słownik
• liczebność
związku
- ile egzemplarzy encji po stronie wiele może być
połączone z jednym egzemplarzem encji po stronie jeden. Może to być
konkretna liczba np. 2 albo określenie typu "zero lub więcej", "jeden lub
więcej", "zero lub jeden".
• związek
identyfikujący
- klucz obcy wchodzi w skład klucza głównego
encji po stronie wiele.
• związek
nieidentyfikujący
- klucz obcy nie wchodzi w skład klucza
głównego encji po stronie wiele.
• związek
opcjonalny
- wartość klucza obcego jest opcjonalna, tzn.
dopuszcza wartość NULL.
• związek
wymagany
- wartość klucza obcego jest wymagana tzn. nie
dopuszcza wartości NULL.
• związek
rekurencyjny
- związek binarny, który zachodzi między tą samą
encją w dwóch rolach, np. "Jedna osoba jest kierownikiem drugiej osoby".
• związek
jedno-jednoznaczny
(jeden-do-jeden) - związek jednoznaczny
którego instancja jest różnowartościową funkcją częściową np. związek
"Każdy student jest osobą" ("Osoba może być studentem, ale nie musi nim
być").
opr. Lech Banachowski, Krzysztof Matejews
opr. Lech Banachowski, Krzysztof Matejews
ki
ki
31
31
Koniec wykładu II
Koniec wykładu II
Do zobaczenia na wykładzie III
Do zobaczenia na wykładzie III