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

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

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

 powinien:

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. 

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

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

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

 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.

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 

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

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

, 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

).

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

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

Check

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

background image

 

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

)

background image

 

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.

background image

 

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

.

background image

 

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

background image

 

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.

background image

 

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:

1. 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".

background image

 

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"

2.

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.

background image

 

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”

3.

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

background image

 

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:
1. 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.

background image

 

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"

2.

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.

3.

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.

background image

 

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"

4.

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ę:
5.

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

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 

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.

background image

 

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ładowcamiprzedmiotami nauczania i grupami

background image

 

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

.

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

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

background image

 

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

):

1.

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

2.

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

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.

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

background image

 

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

background image

 

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

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