background image

 

 

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

 

 

 

 

background image

 

opr. Lech Banachowski, Krzysztof Matejewski

2

Streszczenie wykładu II

Streszczenie wykładu II

W  wykładzie  2  zaprezentowana  jest  podstawowa  metoda  tworzenia 

W  wykładzie  2  zaprezentowana  jest  podstawowa  metoda  tworzenia 

schematu  relacyjnej  bazy  danych.  Jest  ona  dwustopniowa.  W 

schematu  relacyjnej  bazy  danych.  Jest  ona  dwustopniowa.  W 

pierwszej  fazie  projektujemy 

pierwszej  fazie  projektujemy 

model  danych

model  danych

  dla  rozważanej 

  dla  rozważanej 

dziedziny  zastosowań,  nazywany 

dziedziny  zastosowań,  nazywany 

diagramem  związków  encji

diagramem  związków  encji

.  W 

.  W 

drugiej fazie przekształcamy otrzymany model danych w schemat 

drugiej fazie przekształcamy otrzymany model danych w schemat 

bazy  danych.  Specjalne  oprogramowanie  (nazywane 

bazy  danych.  Specjalne  oprogramowanie  (nazywane 

narzędziami 

narzędziami 

CASE

CASE

  -  Computer  Aided  System  Engineering

  -  Computer  Aided  System  Engineering

)   dostarcza  narzędzi 

)   dostarcza  narzędzi 

graficznych  do  projektowania  i  rysowania  diagramów  na  ekranie 

graficznych  do  projektowania  i  rysowania  diagramów  na  ekranie 

komputera.  Co  więcej,  dostarcza  narzędzi  do  automatycznego 

komputera.  Co  więcej,  dostarcza  narzędzi  do  automatycznego 

generowania  schematu  bazy  danych  w  konkretnym  systemie  baz 

generowania  schematu  bazy  danych  w  konkretnym  systemie  baz 

danych, takim jak na przykład Microsoft Access.

danych, takim jak na przykład Microsoft Access.

 

 

W  wykładzie  wprowadzane  pojęcia  ilustrowane  są  za  pomocą  zdjęć 

W  wykładzie  wprowadzane  pojęcia  ilustrowane  są  za  pomocą  zdjęć 

ekranów  pochodzących  z  programu 

ekranów  pochodzących  z  programu 

Microsoft  Visio

Microsoft  Visio

 

 

(wersja 

(wersja 

2000),  który  służy  do  rysowania  różnego  rodzaju  diagramów,  w 

2000),  który  służy  do  rysowania  różnego  rodzaju  diagramów,  w 

tym także diagramów związków encji.

tym także diagramów związków encji.

background image

 

opr. Lech Banachowski, Krzysztof Matejewski

3

Diagram związków encji

Diagram związków encji

Celem procesu projektowania schematu bazy danych jest: 

Celem procesu projektowania schematu bazy danych jest: 

1.

1.

wyspecyfikowanie  wymagań  użytkowników  przyszłej  bazy 

wyspecyfikowanie  wymagań  użytkowników  przyszłej  bazy 

danych oraz dokonanie analizy tych wymagań, 

danych oraz dokonanie analizy tych wymagań, 

2.

2.

utworzenie  schematu  bazy  danych,  spełniającego  wymagania 

utworzenie  schematu  bazy  danych,  spełniającego  wymagania 

użytkowników  i  jednocześnie  gwarantującego  poprawne 

użytkowników  i  jednocześnie  gwarantującego  poprawne 

funkcjonowanie  bazy  danych  w  ramach  całego  systemu 

funkcjonowanie  bazy  danych  w  ramach  całego  systemu 

informacyjnego. 

informacyjnego. 

Na  ogół,  zanim  utworzy  się  bazę  danych,  dokonuje  się  analizy 

Na  ogół,  zanim  utworzy  się  bazę  danych,  dokonuje  się  analizy 

wymagań informacyjnych i przedstawia się je w postaci modelu 

wymagań informacyjnych i przedstawia się je w postaci modelu 

danych  nazywanego 

danych  nazywanego 

diagramem  związków  encji

diagramem  związków  encji

.  W  diagramie 

.  W  diagramie 

tym  abstrahujemy  od  szczegółów  technicznych  związanych  z 

tym  abstrahujemy  od  szczegółów  technicznych  związanych  z 

implementacją danych w konkretnym systemie baz danych.

implementacją danych w konkretnym systemie baz danych.

background image

 

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

Diagram związków encji

 powinien:

 powinien:

w  sposób  jednoznaczny  określać  wymagania  użytkowników, 

w  sposób  jednoznaczny  określać  wymagania  użytkowników, 

umożliwiając  im  sprawdzenie,  czy  analityk  systemu  dobrze 

umożliwiając  im  sprawdzenie,  czy  analityk  systemu  dobrze 

zrozumiał  ich  intencje  i  specyfikę  działania  firmy  (ogólnie  – 

zrozumiał  ich  intencje  i  specyfikę  działania  firmy  (ogólnie  – 

obiektów stanowiących przedmiot modelowanej bazy danych); 

obiektów stanowiących przedmiot modelowanej bazy danych); 

być  istotnie  prostszy  od  schematu  bazy  danych,  ponieważ 

być  istotnie  prostszy  od  schematu  bazy  danych,  ponieważ 

abstrahuje od szczegółów implementacyjnych, które muszą być 

abstrahuje od szczegółów implementacyjnych, które muszą być 

później  opracowane  przez  projektanta  bazy  danych  tak,  aby 

później  opracowane  przez  projektanta  bazy  danych  tak,  aby 

baza  danych  mogła  powstać  i  spełniać  postawione  przed  nią 

baza  danych  mogła  powstać  i  spełniać  postawione  przed  nią 

zadania. 

zadania. 

background image

 

opr. Lech Banachowski, Krzysztof Matejewski

5

Składniki diagramu związków encji 

Składniki diagramu związków encji 

Encja

Encja

Encja

Encja

  (obiekt)  to  coś,  co  istnieje,  co  jest  odróżnialne  od  innych,  o  czym 

  (obiekt)  to  coś,  co  istnieje,  co  jest  odróżnialne  od  innych,  o  czym 

informację  trzeba  znać  lub  przechowywać.  Encje  o  tych  samych 

informację  trzeba  znać  lub  przechowywać.  Encje  o  tych  samych 

własnościach  tworzą  typy  (zbiory)  encji.  Reprezentacją  graficzną  encji 

własnościach  tworzą  typy  (zbiory)  encji.  Reprezentacją  graficzną  encji 

jest ramka (prostokąt).

jest ramka (prostokąt).

 

 

Należy odróżniać 

Należy odróżniać 

typ encji

typ encji

 od jej 

 od jej 

instancji

instancji

 (egzemplarza) np. 

 (egzemplarza) np. 

Osoba

Osoba

 jako 

 jako 

typ

typ

 i jako konkretny 

 i jako konkretny 

obiekt

obiekt

 

 

(instancja, egzemplarz, czyli fizyczna osoba). 

(instancja, egzemplarz, czyli fizyczna osoba). 

background image

 

opr. Lech Banachowski, Krzysztof Matejewski

6

Składniki diagramu związków encji

Składniki diagramu związków encji

Atrybut

Atrybut

Atrybut

Atrybut

 jest to właściwość encji danego typu, opisywana pewną wartością np. 

 jest to właściwość encji danego typu, opisywana pewną wartością np. 

liczbą  całkowitą,  liczbą  rzeczywistą,  napisem,  datą.  Inaczej  mówiąc  – 

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  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ę 

atrybutów  opisuje  encję,  a  zbiór  konkretnych  wartosci  atrybutów  opisuję 

instancję (konkretny egzemplarz) encji.

instancję (konkretny egzemplarz) encji.

Identyfikowany  atrybut  powinien  opisywać  encję,  przy  której  się  go 

Identyfikowany  atrybut  powinien  opisywać  encję,  przy  której  się  go 

umieszcza (a nie związki z innymi encjami!). Na przykład 

umieszcza (a nie związki z innymi encjami!). Na przykład 

Numer miejsca w 

Numer miejsca w 

samolocie

samolocie

 jest atrybutem encji 

 jest atrybutem encji 

Samolot

Samolot

 lub encji 

 lub encji 

Miejsce w samolocie

Miejsce w samolocie

, a nie 

, a nie 

atrybutem encji 

atrybutem encji 

Bilet

Bilet

, choć na nim się także pojawia. 

, choć na nim się także pojawia. 

Pierwsza  postać  normalna

Pierwsza  postać  normalna

  -

  -

  dla  każdego  egzemplarza  encji,  każdy  jej 

  dla  każdego  egzemplarza  encji,  każdy  jej 

atrybut  powinien  przyjmować  pojedynczą,  atomową  (niepodzielną) 

atrybut  powinien  przyjmować  pojedynczą,  atomową  (niepodzielną) 

wartość.  Z  tego  powodu,  atrybut 

wartość.  Z  tego  powodu,  atrybut 

Dzieci  pracownika

Dzieci  pracownika

  nie  jest  dobrym 

  nie  jest  dobrym 

kandydatem na atrybut encji 

kandydatem na atrybut encji 

Pracownik

Pracownik

Należy pomijać atrybuty wyliczane, czyli takie, których wartości dadzą się 

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 

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 

wyliczany  z  daty  urodzenia;  cena  brutto  wynika  z  ceny  netto  i  stawki 

podatku VAT, wartość zakupu z liczby zakupionych przedmiotów i ich cen.

podatku VAT, wartość zakupu z liczby zakupionych przedmiotów i ich cen.

background image

 

opr. Lech Banachowski, Krzysztof Matejewski

7

Składniki diagramu związków encji

Składniki diagramu związków encji

Klucz 

Klucz 

Klucz

Klucz

  (

  (

jednoznaczny  identyfikator

jednoznaczny  identyfikator

)

)

  jest  to  zbiór  (może  być 

  jest  to  zbiór  (może  być 

jednoelementowy) 

atrybutów 

danej 

encji, 

których 

wartości 

jednoelementowy) 

atrybutów 

danej 

encji, 

których 

wartości 

jednoznacznie  identyfikują  każdą  instancję  tej  encji. Jeden  klucz  jest  

jednoznacznie  identyfikują  każdą  instancję  tej  encji. Jeden  klucz  jest  

główny

główny

, pozostałe 

, pozostałe 

alternatywne

alternatywne

. Jedna encja może mieć wiele kluczy. 

. Jedna encja może mieć wiele kluczy. 

Atrybuty klucza głównego wyróżnia się etykietą PK i/lub podkreśleniem. 

Atrybuty klucza głównego wyróżnia się etykietą PK i/lub podkreśleniem. 

Niektóre encje, w celu jednoznacznego ich zidentyfikowania, wymagają 

Niektóre encje, w celu jednoznacznego ich zidentyfikowania, wymagają 

powiązania  z  innymi  encjami,  czego  efektem  jest  umieszczenie  klucza 

powiązania  z  innymi  encjami,  czego  efektem  jest  umieszczenie  klucza 

obcego  wśród  atrybutów  klucza  głównego.  Encje  takie  nazywają  się 

obcego  wśród  atrybutów  klucza  głównego.  Encje  takie  nazywają  się 

słabe

słabe

 

 

albo 

albo 

zależne

zależne

.  Pozostałe

.  Pozostałe

 

 

encje  to  encje

encje  to  encje

 

 

niezależne

niezależne

Analizę 

Analizę 

zaczynamy od zidentyfikowania encji niezależnych.

zaczynamy od zidentyfikowania encji niezależnych.

background image

 

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

Typy  zmiennych

,  czyli 

,  czyli 

dziedziny  atrybutów

dziedziny  atrybutów

,  to  zbiory  wartości,  które 

,  to  zbiory  wartości,  które 

mogą być przyjmowane przez zmienne zapisywane w kolumnach tabel.

mogą być przyjmowane przez zmienne zapisywane w kolumnach tabel.

W MS Visio atrybuty encji określa się w zakładce "Columns". 

W MS Visio atrybuty encji określa się w zakładce "Columns". 

Odróżnia  się  dwie  specyfikacje  typów  danych:  niezależną  od  systemu 

Odróżnia  się  dwie  specyfikacje  typów  danych:  niezależną  od  systemu 

baz  danych  (

baz  danych  (

Portable  Data  Type

Portable  Data  Type

),  oraz  zorientowaną  na  generowanie 

),  oraz  zorientowaną  na  generowanie 

bazy danych do konkretnego systemu baz danych (

bazy danych do konkretnego systemu baz danych (

Physical Data Type

Physical Data Type

).

).

background image

 

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

Więzy spójności

 dla encji w MS Visio określa się zakładce 

 dla encji w MS Visio określa się zakładce 

Check

Check

Definiowane są przez wyrażenia.

Definiowane są przez wyrażenia.

background image

 

opr. Lech Banachowski, Krzysztof Matejewski

10

Indeksy

Indeksy

 

 

Wśród  atrybutów  encji  wyróżniamy  atrybuty  bądź  grupy  atrybutów, 

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 

względem  wartości  których  są  wyszukiwane  egzemplarze  encji.  Dla 

takich  atrybutów  specyfikujemy 

takich  atrybutów  specyfikujemy 

indeksy

indeksy

.  Indeks  na  kluczu  głównym 

.  Indeks  na  kluczu  głównym 

jest  zakładany  automatycznie  i  nie  trzeba  dodatkowo  go 

jest  zakładany  automatycznie  i  nie  trzeba  dodatkowo  go 

specyfikować.  Na  diagramie  atrybuty  posiadające  indeksy  są 

specyfikować.  Na  diagramie  atrybuty  posiadające  indeksy  są 

etykietowane literą 

etykietowane literą 

I

I

 ze wskaźnikiem. W MS Visio indeksy specyfikuje 

 ze wskaźnikiem. W MS Visio indeksy specyfikuje 

się  w  zakładce  "Indexes".  Przykład  pokazany  na  slajdzie  to 

się  w  zakładce  "Indexes".  Przykład  pokazany  na  slajdzie  to 

specyfikacja indeksu do wyszukiwania osób według ich nazwisk.

specyfikacja indeksu do wyszukiwania osób według ich nazwisk.

background image

 

opr. Lech Banachowski, Krzysztof Matejewski

11

Związek

Związek

Związek

Związek

  to  uporządkowana  lista  encji,  poszczególne  encje 

  to  uporządkowana  lista  encji,  poszczególne  encje 

mogą  występować  wielokrotnie.  Każdy  związek  określa 

mogą  występować  wielokrotnie.  Każdy  związek  określa 

pewną  zależność  między  zbiorami  egzemplarzy  (instancji) 

pewną  zależność  między  zbiorami  egzemplarzy  (instancji) 

encji wchodzącymi w skład związku - instancję związku.

encji wchodzącymi w skład związku - instancję związku.

Związek można formalnie zapisać przy użyciu notacji relacyjnej:

Związek można formalnie zapisać przy użyciu notacji relacyjnej:

Z(E1 ,...,En)

Z(E1 ,...,En)

co oznacza:

co oznacza:

 

 

encje E1 ,...,En wchodzą w skład związku Z

encje E1 ,...,En wchodzą w skład związku Z

Można także opisać związek werbalnie, np.:

Można także opisać związek werbalnie, np.:

Pracownik pracuje w dziale

Pracownik pracuje w dziale

 

 

(związek pomiędzy encjami 

(związek pomiędzy encjami 

Dział

Dział

 

 

Pracownik

Pracownik

)

)

Pracownik w projekcie pełni rolę

Pracownik w projekcie pełni rolę

 

 

(związek pomiędzy encjami 

(związek pomiędzy encjami 

Pracownik

Pracownik

 i 

 i 

Projekt

Projekt

)

)

Firma produkuje towar

Firma produkuje towar

 

 

(związek pomiędzy encjami 

(związek pomiędzy encjami 

Firma

Firma

 i 

 i 

Towar

Towar

)

)

background image

 

opr. Lech Banachowski, Krzysztof Matejewski

12

Związek binarny - dwuargumentowy

Związek binarny - dwuargumentowy

Związek  binarny

Związek  binarny

  jest  reprezentowany  graficznie  jako  linia  łącząca 

  jest  reprezentowany  graficznie  jako  linia  łącząca 

dwie ramki (encje). MS Visio automatycznie tworzy w encji 

dwie ramki (encje). MS Visio automatycznie tworzy w encji 

Student

Student

 

 

atrybut 

atrybut 

Nr_Grupy

Nr_Grupy

  (z  etykietą  FK1  -  klucz  obcy  )  -  określający 

  (z  etykietą  FK1  -  klucz  obcy  )  -  określający 

powiązania instancji encji 

powiązania instancji encji 

Student

Student

 z instancjami encji 

 z instancjami encji 

Grupa

Grupa

.

.

Instancja

Instancja

  związku  binarnego  jest  dwuargumentową  relacją  na 

  związku  binarnego  jest  dwuargumentową  relacją  na 

iloczynie  kartezjańskim  zbiorów  instancji  encji.  W  naszym 

iloczynie  kartezjańskim  zbiorów  instancji  encji.  W  naszym 

przykładzie - zbioru studentów, ze zbiorem grup studenckich.

przykładzie - zbioru studentów, ze zbiorem grup studenckich.

background image

 

opr. Lech Banachowski, Krzysztof Matejewski

13

Związek jednoznaczny i jego implementacja

Związek jednoznaczny i jego implementacja

Związek jednoznaczny

Związek jednoznaczny

Gdy  instancja  związku  binarnego  jest  funkcją  częściową  związek 

Gdy  instancja  związku  binarnego  jest  funkcją  częściową  związek 

nazywa się jednoznaczny.

nazywa się jednoznaczny.

Instancja  związku  jednoznacznego  między  encjami 

Instancja  związku  jednoznacznego  między  encjami 

Grupa

Grupa

  i 

  i 

Student

Student

 

 

jest funkcją ze zbioru studentów w zbiór grup studenckich.

jest funkcją ze zbioru studentów w zbiór grup studenckich.

Część  związku  odpowiadająca  dziedzinie  funkcji  jest  nazywana 

Część  związku  odpowiadająca  dziedzinie  funkcji  jest  nazywana 

stroną 

stroną 

wiele

wiele

  związku  (lub 

  związku  (lub 

encją  podrzędną

encją  podrzędną

),  a  część  odpowiadająca 

),  a  część  odpowiadająca 

przeciwdziedzinie funkcji 

przeciwdziedzinie funkcji 

stroną jeden

stroną jeden

 związku (lub 

 związku (lub 

encją nadrzędną

encją nadrzędną

– i jest oznaczana strzałką. 

– i jest oznaczana strzałką. 

Grupa

Grupa

 jest encją po stronie jeden (nadrzędną) a 

 jest encją po stronie jeden (nadrzędną) a 

Student

Student

  encją po 

  encją po 

stronie wiele (podrzędną).

stronie wiele (podrzędną).

Implementacja związku jednoznacznego

Implementacja związku jednoznacznego

Dwie  encje  połączone  związkiem  jednoznacznym  są  implementowane 

Dwie  encje  połączone  związkiem  jednoznacznym  są  implementowane 

odpowiednio przez dwie tabele. W encji po stronie wiele jest dodany 

odpowiednio przez dwie tabele. W encji po stronie wiele jest dodany 

klucz obcy określający powiązanie z instancją encji po stronie jeden.

klucz obcy określający powiązanie z instancją encji po stronie jeden.

W  naszym  przykładzie  do  encji 

W  naszym  przykładzie  do  encji 

Student

Student

  jest  dodany  klucz  obcy 

  jest  dodany  klucz  obcy 

Nr_grupy

Nr_grupy

  etykietowany  przez  FK1,  określający  powiązanie  z 

  etykietowany  przez  FK1,  określający  powiązanie  z 

instancją encji 

instancją encji 

Grupa

Grupa

 - przez wartość klucza  głównego 

 - przez wartość klucza  głównego 

Nr_grupy

Nr_grupy

.

.

background image

 

opr. Lech Banachowski, Krzysztof Matejewski

14

Okienko właściwości związku ("Database 

Okienko właściwości związku ("Database 

properties") 

properties") 

Zakładka "Definition"

Zakładka "Definition"

 

 

W  zakładce 

W  zakładce 

Definition

Definition

  związek  definiowany  jest  jako  powiązanie 

  związek  definiowany  jest  jako  powiązanie 

dwóch  zbiorów  atrybutów:  tworzonego  automatycznie  klucza 

dwóch  zbiorów  atrybutów:  tworzonego  automatycznie  klucza 

obcego  w  encji  po  stronie  "wiele"  i  klucza  głównego  w  encji  po 

obcego  w  encji  po  stronie  "wiele"  i  klucza  głównego  w  encji  po 

stronie "jeden". Pole „Foreign key rrole name” jest miejsscem gdzie 

stronie "jeden". Pole „Foreign key rrole name” jest miejsscem gdzie 

można opisać rolę, jaką w encji podrzędnej pełni klucz obcy (może 

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).

być to przekształcone w etykietę kolumny przyszłej tabeli).

W przykładzie 

W przykładzie 

Student

Student

 jest encją po stronie "wiele", a 

 jest encją po stronie "wiele", a 

Grupa

Grupa

 jest encją 

 jest encją 

po stronie "jeden".

po stronie "jeden".

background image

 

opr. Lech Banachowski, Krzysztof Matejewski

15

Okienko właściwości związku ("Database 

Okienko właściwości związku ("Database 

properties") 

properties") 

Zakładka „Name"

Zakładka „Name"

Zakładka

Zakładka

 

 

Name

Name

 

 

określa sposób odczytywania zawartości związku oraz 

określa sposób odczytywania zawartości związku oraz 

nazwę dla więzów klucza obcego: 

nazwę dla więzów klucza obcego: 

Grupa_Student_FK1

Grupa_Student_FK1

.

.

Pola 

Pola 

Verb phrase

Verb phrase

 i 

 i 

Inverse phrase

Inverse phrase

 pozwalają opisać verbalnie 

 pozwalają opisać verbalnie 

związek, ułatwiając zrozumienie jego roli. Opis może zostać 

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. 

wykonany w ujęciu „od strony wiele do strony jeden” i/lub odwrotnie. 

MS Visio pozwala wyświetlić opisy związków na diagramie.

MS Visio pozwala wyświetlić opisy związków na diagramie.

background image

 

opr. Lech Banachowski, Krzysztof Matejewski

16

Okienko właściwości związku ("Database 

Okienko właściwości związku ("Database 

properties") 

properties") 

Zakładka "Miscelaneous"

Zakładka "Miscelaneous"

Zakładka 

Zakładka 

Miscelaneous

Miscelaneous

 określa podstawowe własności związku:

 określa podstawowe własności związku:

1.

1.

Liczebność

Liczebność

 (

 (

Cardinality

Cardinality

) - ile egzemplarzy encji po stronie wiele 

) - ile egzemplarzy encji po stronie wiele 

może  być  połączone  z  jednym  egzemplarzem  encji  po  stronie 

może  być  połączone  z  jednym  egzemplarzem  encji  po  stronie 

jeden.  Może  to  być  konkretna  liczba  np.  2  albo  określenie  typu 

jeden.  Może  to  być  konkretna  liczba  np.  2  albo  określenie  typu 

"zero lub więcej", "jeden lub więcej", "zero lub jeden".

"zero lub więcej", "jeden lub więcej", "zero lub jeden".

background image

 

opr. Lech Banachowski, Krzysztof Matejewski

17

Okienko właściwości związku ("Database 

Okienko właściwości związku ("Database 

properties") 

properties") 

Zakładka "Miscelaneous"

Zakładka "Miscelaneous"

2.

2.

Typ związku

Typ związku

 (

 (

Relationship type

Relationship type

), który może być:

), który może być:

identyfikujący

identyfikujący

  –  do  identyfikacji  egzemplarza  encji  po  stronie 

  –  do  identyfikacji  egzemplarza  encji  po  stronie 

wiele  jest  potrzebny  odpowiadający  mu    egzemplarz  encji  po 

wiele  jest  potrzebny  odpowiadający  mu    egzemplarz  encji  po 

stronie jeden i wtedy encja po stronie wiele nazywa się encją słabą 

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 

(zależną) - inaczej mówiąc wartość klucza obcego wchodzi w skład 

klucza głównego encji po stronie wiele

klucza głównego encji po stronie wiele

nieidentyfikujący

nieidentyfikujący

  -  wartość  klucza  obcego  nie  wchodzi  w  skład 

  -  wartość  klucza  obcego  nie  wchodzi  w  skład 

klucza głównego encji po stronie wiele.

klucza głównego encji po stronie wiele.

background image

 

opr. Lech Banachowski, Krzysztof Matejewski

18

Okienko właściwości związku ("Database 

Okienko właściwości związku ("Database 

properties")

properties")

Zakładka „Miscelaneous”

Zakładka „Miscelaneous”

3.

3.

Opcję 

Opcję 

Optional

Optional

  –  czy  wartość  klucza  obcego  jest  opcjonalna  tzn. 

  –  czy  wartość  klucza  obcego  jest  opcjonalna  tzn. 

czy dopuszcza wartość NULL. Związek jest opcjonalny gdy wartość 

czy dopuszcza wartość NULL. Związek jest opcjonalny gdy wartość 

klucza  obcego  dopuszcza  wartość  NULL.  Związek  jest  wymagany 

klucza  obcego  dopuszcza  wartość  NULL.  Związek  jest  wymagany 

gdy wartość klucza obcego musi być określona tzn. nie może być 

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 

NULL  (inaczej  mówiąc  dla  każdego  egzemplarza  encji  po  stronie 

wiele  istnieje  odpowiadający  mu  egzemplarz  encji  po  stronie 

wiele  istnieje  odpowiadający  mu  egzemplarz  encji  po  stronie 

jeden).

jeden).

background image

 

opr. Lech Banachowski, Krzysztof Matejewski

19

Okienko właściwości związku ("Database 

Okienko właściwości związku ("Database 

properties") 

properties") 

Zakładka "Ref. Integrity"

Zakładka "Ref. Integrity"

Zakładka 

Zakładka 

Ref.  Integrity

Ref.  Integrity

  określa  akcje  referencyjne,  które  zostaną 

  określa  akcje  referencyjne,  które  zostaną 

podjęte  w  przypadku  naruszenia  więzów  spójności  referencyjnej 

podjęte  w  przypadku  naruszenia  więzów  spójności  referencyjnej 

przez operacje usuwania i aktualizacji wierszy w tabeli nadrzędnej.

przez operacje usuwania i aktualizacji wierszy w tabeli nadrzędnej.

Dostępne są następujące opcje:

Dostępne są następujące opcje:

1.

1.

Odmawiaj  wykonania  akcji  (

Odmawiaj  wykonania  akcji  (

No  action,  Restricted

No  action,  Restricted

)  -  nie  wykonuj 

)  -  nie  wykonuj 

zmiany, jeśli naruszyłaby ona więzy  spójności referencyjnej. System 

zmiany, jeśli naruszyłaby ona więzy  spójności referencyjnej. System 

zarządzania bazą danych „odmówi” wykonania polecenia, informując 

zarządzania bazą danych „odmówi” wykonania polecenia, informując 

o tym użytkownika i/lub zapisując informację o tym w logu.

o tym użytkownika i/lub zapisując informację o tym w logu.

background image

 

opr. Lech Banachowski, Krzysztof Matejewski

20

Okienko właściwości związku ("Database 

Okienko właściwości związku ("Database 

properties") 

properties") 

Zakładka "Ref. Integrity"

Zakładka "Ref. Integrity"

2.

2.

Propaguj zmiany do encji podrzędnej (

Propaguj zmiany do encji podrzędnej (

Cascade

Cascade

) - przy aktualizacji 

) - przy aktualizacji 

instancji  encji  nadrzędnej  uaktualnij  wartość  klucza  obcego  w 

instancji  encji  nadrzędnej  uaktualnij  wartość  klucza  obcego  w 

encji  podrzędnej,  a  przy  usuwaniu,  razem  z  egzemplarzem  encji 

encji  podrzędnej,  a  przy  usuwaniu,  razem  z  egzemplarzem  encji 

nadrzędnej,  usuń  wszystkie  powiązane  przez  wartość  klucza 

nadrzędnej,  usuń  wszystkie  powiązane  przez  wartość  klucza 

obcego  egzemplarze  encji  podrzędnej.  Ta  akcja  jest  w 

obcego  egzemplarze  encji  podrzędnej.  Ta  akcja  jest  w 

szczególności naturalna dla wszystkich związków identyfikujących.

szczególności naturalna dla wszystkich związków identyfikujących.

3.

3.

Wstaw NULL (

Wstaw NULL (

Set Null

Set Null

) - w przypadku aktualizacji lub usuwania instancji 

) - w przypadku aktualizacji lub usuwania instancji 

encji  nadrzędnej,  w  miejsce  wartość  klucza  obcego  w  odpowiadających 

encji  nadrzędnej,  w  miejsce  wartość  klucza  obcego  w  odpowiadających 

jej instancjach encji podrzędnej wstaw NULL.

jej instancjach encji podrzędnej wstaw NULL.

background image

 

opr. Lech Banachowski, Krzysztof Matejewski

21

Okienko właściwości związku ("Database 

Okienko właściwości związku ("Database 

properties") 

properties") 

Zakładka "Ref. Integrity"

Zakładka "Ref. Integrity"

4.

4.

Wyłącz  więzy    spójności  referencyjnej  i  wykonaj  operację  (

Wyłącz  więzy    spójności  referencyjnej  i  wykonaj  operację  (

Do 

Do 

not  enforce

not  enforce

).  System  zarządzania  bazą  danych  przestaje 

).  System  zarządzania  bazą  danych  przestaje 

odpowiadać za spójność danych.

odpowiadać za spójność danych.

Niektóre systemy dopuszczają jeszcze jedną opcję:

Niektóre systemy dopuszczają jeszcze jedną opcję:

5.

5.

Wstaw  wartość  domyślną  (

Wstaw  wartość  domyślną  (

Set  Default

Set  Default

)  -  w  przypadku 

)  -  w  przypadku 

aktualizacji  lub  usuwania  instancji  encji  nadrzędnej,  zamiast 

aktualizacji  lub  usuwania  instancji  encji  nadrzędnej,  zamiast 

wartości  klucza  obcego  w  odpowiadających  jej  instancjach  encji 

wartości  klucza  obcego  w  odpowiadających  jej  instancjach  encji 

podrzędnej wstaw wartość domyślną.

podrzędnej wstaw wartość domyślną.

background image

 

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 

Każdy związek niejednoznaczny (czyli taki związek,  który nie jest 

jednoznaczny) trzeba sprowadzić do związków jednoznacznych.

jednoznaczny) trzeba sprowadzić do związków jednoznacznych.

Dla  związku  o  liczbie  argumentów  większej  niż  dwa 

Dla  związku  o  liczbie  argumentów  większej  niż  dwa 

Z(E1 

Z(E1 

,...,En),

,...,En),

 

 

n>2

n>2

 wprowadzamy nową encję 

 wprowadzamy nową encję 

E0

E0

 i n jednoznacznych 

 i n jednoznacznych 

związków  binarnych 

związków  binarnych 

Zi(E0,Ei)

Zi(E0,Ei)

  łączących  nową  encję  z  encjami 

  łączących  nową  encję  z  encjami 

już istniejącymi. Klucz encji 

już istniejącymi. Klucz encji 

E0

E0

 jest sumą kluczy encji 

 jest sumą kluczy encji 

E1,...,En

E1,...,En

.

.

Dla 

niejednoznacznego 

związku 

binarnego 

Dla 

niejednoznacznego 

związku 

binarnego 

Z(E1,E2)

Z(E1,E2)

 

 

wprowadzamy  nową  encję 

wprowadzamy  nową  encję 

E0

E0

  i  dwa  związki  jednoznaczne 

  i  dwa  związki  jednoznaczne 

Z1(E0,E1) 

Z1(E0,E1) 

oraz

oraz

 Z2(E0,E2)

 Z2(E0,E2)

 łączące nowy zbiór encji ze starymi. 

 łączące nowy zbiór encji ze starymi. 

Klucz encji 

Klucz encji 

E0

E0

 jest sumą kluczy encji 

 jest sumą kluczy encji 

E1

E1

 i 

 i 

E2

E2

.

.

Wprowadzana encja reprezentująca związek nazywa się 

Wprowadzana encja reprezentująca związek nazywa się 

encją 

encją 

asocjacyjną

asocjacyjną

. Jest ona zawsze encją słabą (zależną), bo związki 

. Jest ona zawsze encją słabą (zależną), bo związki 

łączące 

ją 

encjami 

argumentami 

związku 

łączące 

ją 

encjami 

argumentami 

związku 

niejednoznacznego są związkami identyfikującymi.

niejednoznacznego są związkami identyfikującymi.

background image

 

opr. Lech Banachowski, Krzysztof Matejewski

23

Transformacja związku niejednoznacznego - 

Transformacja związku niejednoznacznego - 

przykład

przykład

Powyżej  przedtawiony  jest  przykład  opisanej  transformacji  dla  związku 

Powyżej  przedtawiony  jest  przykład  opisanej  transformacji  dla  związku 

trójargumentowego: wykładowca prowadzi zajęcia dla grupy studenckiej 

trójargumentowego: wykładowca prowadzi zajęcia dla grupy studenckiej 

z  przedmiotu  nauczania.  Stosując  opisaną  metodę  wprowadzimy  nową 

z  przedmiotu  nauczania.  Stosując  opisaną  metodę  wprowadzimy  nową 

encję  asocjacyjną

encję  asocjacyjną

,  której  zadaniem  będzie  opisanie  związku,  jaki 

,  której  zadaniem  będzie  opisanie  związku,  jaki 

zachodzi pomiędzy 

zachodzi pomiędzy 

wykładowcami

wykładowcami

przedmiotami nauczania

przedmiotami nauczania

 i 

 i 

grupami

grupami

background image

 

opr. Lech Banachowski, Krzysztof Matejewski

24

Transformacja związku niejednoznacznego - 

Transformacja związku niejednoznacznego - 

przykład

przykład

Jednoznaczny  identyfikator  nowej  encji  tworzą  trzy  wprowadzone 

Jednoznaczny  identyfikator  nowej  encji  tworzą  trzy  wprowadzone 

związki tj. klucze obce do encji 

związki tj. klucze obce do encji 

Grupa

Grupa

,  

,  

Wykladowca

Wykladowca

 i 

 i 

Przedmiot

Przedmiot

.

.

Istotne  jest  ustawienie  typu  tych  związków  jako    identyfikujących.  To 

Istotne  jest  ustawienie  typu  tych  związków  jako    identyfikujących.  To 

właśnie  spowoduje  umieszczenie  kluczy  obcych  z  encji 

właśnie  spowoduje  umieszczenie  kluczy  obcych  z  encji 

Grupa

Grupa

,   

,   

Wykladowca

Wykladowca

  i 

  i 

Przedmiot

Przedmiot

  w  części  identyfikującej  (czzyli  wśród 

  w  części  identyfikującej  (czzyli  wśród 

atrybutów klucza głównego) encji asocjacyjnej 

atrybutów klucza głównego) encji asocjacyjnej 

Zajęcia

Zajęcia

.

.

W  encji  asocjacyjnej  można  umieszczać  atrybuty  charakteryzujące 

W  encji  asocjacyjnej  można  umieszczać  atrybuty  charakteryzujące 

związek  np.  między  osobami,  projektami  i  rolami  -  atrybut 

związek  np.  między  osobami,  projektami  i  rolami  -  atrybut 

G

G

odz_rozp

odz_rozp

Czas_trwania

Czas_trwania

Sala

Sala

.

.

background image

 

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ą 

Związek rekurencyjny jest to związek zachodzący pomiędzy tą samą 

encją,  np.  „Jedna 

encją,  np.  „Jedna 

Osoba

Osoba

  jest  kierownikiem  drugiej 

  jest  kierownikiem  drugiej 

osoby

osoby

.  W 

.  W 

pokazanym  przykładzie  na  kluczach  obcych  zostały  utworzone 

pokazanym  przykładzie  na  kluczach  obcych  zostały  utworzone 

(przez  projektanta  bazy)  indeksy,  co  jest  często  stosowaną 

(przez  projektanta  bazy)  indeksy,  co  jest  często  stosowaną 

praktyką.

praktyką.

background image

 

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 

Zwiazek jedno-jednoznaczny to związek jednoznaczny, kórego 

instancja jest różnowartościową funkcją częściową . Inaczej 

instancja jest różnowartościową funkcją częściową . Inaczej 

mówiąc, każdej instancji encji po stronie „wiele” odpowiada co 

mówiąc, każdej instancji encji po stronie „wiele” odpowiada co 

najwyżej jedna instancja encji po stronie „jeden” -  na przykład 

najwyżej jedna instancja encji po stronie „jeden” -  na przykład 

związek "Każdy student jest osobą" (Osoba może być studentem, 

związek "Każdy student jest osobą" (Osoba może być studentem, 

ale nie musi nim być). 

ale nie musi nim być). 

background image

 

opr. Lech Banachowski, Krzysztof Matejewski

27

Metody odwzorowania związku jedno-

Metody odwzorowania związku jedno-

jednoznacznego

jednoznacznego

Związek  jedno-jednoznaczny  może  zostać  odwzorowany  w  tabele  bazy 

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 

danych na jeden z trzech sposobów (na przykładzie związku między 

encjami 

encjami 

Osoba

Osoba

 i 

 i 

Student

Student

):

):

1.

1.

(Stosowana przez MS Visio) Używamy dwóch tabel: 

(Stosowana przez MS Visio) Używamy dwóch tabel: 

Student

Student

 i 

 i 

Osoba

Osoba

W tabeli 

W tabeli 

Osoba

Osoba

 zapisujemy atrybuty wspólne dla wszystkich osób. W 

 zapisujemy atrybuty wspólne dla wszystkich osób. W 

tabeli 

tabeli 

Student

Student

 zapisujemy klucz główny z tabeli 

 zapisujemy klucz główny z tabeli 

Osoba

Osoba

 (identyfikujący 

 (identyfikujący 

studenta  jako  osobę)  oraz  atrybuty  charakterystyczne  tylko  dla 

studenta  jako  osobę)  oraz  atrybuty  charakterystyczne  tylko  dla 

studentów. 

studentów. 

 

 

Wadą tego rozwiązania jest konieczność częstego używania złączenia 

Wadą tego rozwiązania jest konieczność częstego używania złączenia 

dwóch tabel, zaletą jest elegancja schematu.

dwóch tabel, zaletą jest elegancja schematu.

2.

2.

Używamy  tylko  jednej  tabeli,  w  której  są  przechowywane  wszystkie 

Używamy  tylko  jednej  tabeli,  w  której  są  przechowywane  wszystkie 

możliwe  atrybuty  dotyczące  osób.  Jeśli  osoba  nie  jest  studentem, 

możliwe  atrybuty  dotyczące  osób.  Jeśli  osoba  nie  jest  studentem, 

wartości  atrybutów  charakterystycznych  tylko  dla  studentów 

wartości  atrybutów  charakterystycznych  tylko  dla  studentów 

pozostają NULL. 

pozostają NULL. 

 

 

Wadą tego rozwiązania jest potencjalnie duża liczba wartości NULL w 

Wadą tego rozwiązania jest potencjalnie duża liczba wartości NULL w 

tabeli.

tabeli.

3.

3.

Używamy  tylko  jednej  tabeli 

Używamy  tylko  jednej  tabeli 

Student

Student

.  W  przypadku,  gdy  zajdzie 

.  W  przypadku,  gdy  zajdzie 

potrzeba  reprezentowania  jeszcze  innego  typu  osób  jak  np. 

potrzeba  reprezentowania  jeszcze  innego  typu  osób  jak  np. 

Pracownik  –  dla  tej  kategorii  osób  definiujemy  osobną  tabelę.    Gdy 

Pracownik  –  dla  tej  kategorii  osób  definiujemy  osobną  tabelę.    Gdy 

jest potrzebna informacja obejmująca wszystkie osoby, trzeba wtedy 

jest potrzebna informacja obejmująca wszystkie osoby, trzeba wtedy 

stosować sumowanie zawartości tabel. 

stosować sumowanie zawartości tabel. 

 

 

Metoda ta jest dobra, gdy podział na kategorie osób jest rozłączny.  Gdy 

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. 

podział nie jest rozłączny, ta sama informacja będzie powtarzana, np. 

informacja o pracownikach będących jednocześnie studentami.

informacja o pracownikach będących jednocześnie studentami.

background image

 

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) 

Po  wybraniu  docelowego  systemu  bazodanowego  (w  naszym  przypadku  MS  Access) 

możemy wygenerować z programu MS Visio tabele w bazie danych:

możemy wygenerować z programu MS Visio tabele w bazie danych:

1.

1.

  Tworzymy pustą bazę danych MS Access. 

  Tworzymy pustą bazę danych MS Access. 

2.

2.

  Z menu Visio wybieramy opcję "Database -> Generate" wywołując kreator 

  Z menu Visio wybieramy opcję "Database -> Generate" wywołując kreator 

generacji.

generacji.

3.

3.

  W pierwszym okienku dialogowym kreatora wybieramy opcję "Generate new 

  W pierwszym okienku dialogowym kreatora wybieramy opcję "Generate new 

database".

database".

4a

4a

. Przy pierwszym użyciu:

. Przy pierwszym użyciu:

Wybieramy opcję: "Create MDB file" i "New" (data source name - DSN).  

Wybieramy opcję: "Create MDB file" i "New" (data source name - DSN).  

W kolejnych okienkach wybieramy opcje "System data source", "Microsoft Access 

W kolejnych okienkach wybieramy opcje "System data source", "Microsoft Access 

driver".  

driver".  

Po utworzeniu DSN podajemy ścieżkę do utworzonej wcześniej bazy danych MS 

Po utworzeniu DSN podajemy ścieżkę do utworzonej wcześniej bazy danych MS 

Access.  

Access.  

4b

4b

. Przy kolejnym użyciu: 

. Przy kolejnym użyciu: 

Wybieramy opcję: "MDB file already exists". 

Wybieramy opcję: "MDB file already exists". 

W kolejnych okienkach wybieramy DSN z listy rozwijanej i ścieżkę do utworzonej 

W kolejnych okienkach wybieramy DSN z listy rozwijanej i ścieżkę do utworzonej 

wcześniej bazy danych Access.

wcześniej bazy danych Access.

UWAGA

UWAGA

:

:

  Opcja  generowania  bazy  danych  z  modelu  wykonanego  w  MS  Visio 

  Opcja  generowania  bazy  danych  z  modelu  wykonanego  w  MS  Visio 

dostępna  jest  w  wersjach  2002  i  2003  tylko  w  wydaniach  „Enterprise”.  W 

dostępna  jest  w  wersjach  2002  i  2003  tylko  w  wydaniach  „Enterprise”.  W 

powszechnie  dostępnych  wydaniach  „Proffesional”  możliwe  jest  tylko  wykonanie 

powszechnie  dostępnych  wydaniach  „Proffesional”  możliwe  jest  tylko  wykonanie 

diagramu związków edncji.

diagramu związków edncji.

background image

 

opr. Lech Banachowski, Krzysztof Matejewski

29

Słownik

Słownik

 

 

encja

encja

  (obiekt)  coś  co  istnieje,  co  jest  odróżnialne  od  innych,  o  czym 

  (obiekt)  coś  co  istnieje,  co  jest  odróżnialne  od  innych,  o  czym 

informację  trzeba  znać  lub  przechowywać.  Encje  o  tych  samych 

informację  trzeba  znać  lub  przechowywać.  Encje  o  tych  samych 

własnościach  tworzą  typy  (zbiory)  encji.  Reprezentacją  graficzną  encji 

własnościach  tworzą  typy  (zbiory)  encji.  Reprezentacją  graficzną  encji 

jest  ramka  (prostokąt).  Encja  może  być  niezależna  lub  zależna  (od 

jest  ramka  (prostokąt).  Encja  może  być  niezależna  lub  zależna  (od 

innych encji przez związek lub związki z nimi).

innych encji przez związek lub związki z nimi).

atrybut

atrybut

  jest  to  właściwość  encji  danego  typu,  reprezentowana  pewną 

  jest  to  właściwość  encji  danego  typu,  reprezentowana  pewną 

wartością np. liczbą całkowitą, liczbą rzeczywistą, napisem.

wartością np. liczbą całkowitą, liczbą rzeczywistą, napisem.

klucz

klucz

  (jednoznaczny  identyfikator)  jest  to  zbiór  (może  być 

  (jednoznaczny  identyfikator)  jest  to  zbiór  (może  być 

jednoelementowy) 

atrybutów 

danej 

encji, 

których 

wartości 

jednoelementowy) 

atrybutów 

danej 

encji, 

których 

wartości 

jednoznacznie  identyfikują  każdą  instancję  tej  encji.  Jeden  klucz  - 

jednoznacznie  identyfikują  każdą  instancję  tej  encji.  Jeden  klucz  - 

główny, pozostałe nazywają się alternatywnymi. 

główny, pozostałe nazywają się alternatywnymi. 

związek

związek

 - uporządkowana lista encji, poszczególne encje mogą 

 - uporządkowana lista encji, poszczególne encje mogą 

występować wielokrotnie. 

występować wielokrotnie. 

instancja

instancja

 

 

zwązku

zwązku

 - relacja określona między zbiorami egzemplarzy 

 - relacja określona między zbiorami egzemplarzy 

encji wchodzącymi w skład związku. Relacja ta zwykle jest zmienna w 

encji wchodzącymi w skład związku. Relacja ta zwykle jest zmienna w 

czasie.

czasie.

związek

związek

 

 

binarny

binarny

 - związek dwuargumentowy (między dwiema 

 - związek dwuargumentowy (między dwiema 

encjami).

encjami).

związek

związek

 

 

jednoznaczny

jednoznaczny

 (jeden-do-wiele) - związek binarny, którego 

 (jeden-do-wiele) - związek binarny, którego 

instancja jest dwuargumentową funkcją częściową.

instancja jest dwuargumentową funkcją częściową.

background image

 

opr. Lech Banachowski, Krzysztof Matejewski

30

Słownik

Słownik

liczebność

liczebność

 

 

związku

związku

 - ile egzemplarzy encji po stronie wiele może 

 - ile egzemplarzy encji po stronie wiele może 

być połączone z jednym egzemplarzem encji po stronie jeden. 

być połączone z jednym egzemplarzem encji po stronie jeden. 

Może to być konkretna liczba np. 2 albo określenie typu "zero lub 

Może to być konkretna liczba np. 2 albo określenie typu "zero lub 

więcej", "jeden lub więcej", "zero lub jeden".

więcej", "jeden lub więcej", "zero lub jeden".

związek

związek

 

 

identyfikujący

identyfikujący

 - klucz obcy wchodzi w skład klucza 

 - klucz obcy wchodzi w skład klucza 

głównego encji po stronie wiele. 

głównego encji po stronie wiele. 

związek

związek

 

 

nieidentyfikujący

nieidentyfikujący

 - klucz obcy nie wchodzi w skład 

 - klucz obcy nie wchodzi w skład 

klucza głównego encji po stronie wiele.

klucza głównego encji po stronie wiele.

związek

związek

 

 

opcjonalny

opcjonalny

  -  wartość  klucza  obcego  jest  opcjonalna, 

  -  wartość  klucza  obcego  jest  opcjonalna, 

tzn. dopuszcza wartość NULL.

tzn. dopuszcza wartość NULL.

związek

związek

 

 

wymagany

wymagany

 - wartość klucza obcego jest wymagana tzn. 

 - wartość klucza obcego jest wymagana tzn. 

nie dopuszcza wartości NULL.

nie dopuszcza wartości NULL.

związek

związek

 

 

rekurencyjny

rekurencyjny

 - związek binarny, który zachodzi między 

 - związek binarny, który zachodzi między 

tą samą encją w dwóch rolach, np. "Jedna osoba jest kierownikiem 

tą samą encją w dwóch rolach, np. "Jedna osoba jest kierownikiem 

drugiej osoby".

drugiej osoby".

związek

związek

 

 

jedno-jednoznaczny

jedno-jednoznaczny

  (jeden-do-jeden)  -  związek 

  (jeden-do-jeden)  -  związek 

jednoznaczny  którego  instancja  jest  różnowartościową  funkcją 

jednoznaczny  którego  instancja  jest  różnowartościową  funkcją 

częściową  np.  związek  "Każdy  student  jest  osobą"  ("Osoba  może 

częściową  np.  związek  "Każdy  student  jest  osobą"  ("Osoba  może 

być studentem, ale nie musi nim być").

być studentem, ale nie musi nim być").

background image

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


Document Outline