Docstoc

PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL

Document Sample
PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL Powered By Docstoc
					PRETVORBA MODELA
  ENTITETI-VEZE U
 RELACIJSKI MODEL


   K.Stražanac, N.Starčević,K.Flanjak
      M.Kolarić, S.Čuljak, M.Tončević
    MODEL ENTITETI-VEZE
     ER(Entity Relationship)
Realan svijet (ili njegov dio) može se
prikazati pomoću dva primitvna
koncepta:ENTITET I VEZA

ENTITET je bilo koji objekat koji se može
jednoznačno identificirati

VEZA povezuje dva ili više entiteta
   NAMJENA ER MODELA
Formiranje konceptualnog (logičkog)
modela podataka

Sredstvo komunikacije između korisnika i
analitičara i projektanta softwarea
  PRIKAZ ER SHEME POMOĆU
         DIJAGRAMA

Običaj je da se ER-shema nacrta kao dijagram
u kojem su:
tipovi entiteta prikazani kao pravokutne kućice
veze kao romboidi
krakovi veza imaju oznaku "1" ili "N" zavisno o
vrsti veze prema nekom entitetu
     RELACIJSKI MODEL
Relacijski model je teorijski zasnovao E.F.
Codd krajem 60-tih godina.
U relacijskom modelu baza podataka se
sastoji od skupa pravokutnih tablica ili
RELACIJA
Svaka relacija ima ime po kojem se
razlikuje od ostalih relacija u bazi
podataka
                ATRIBUTI
Svaki stupac relacije sadrži vrijednost jednog
atributa entiteta ili veze koji prikazuju relacijom
(tablicom)
Atribut ima svoje ime kojim se razlikuje od ostalih
atributa
Vrijednost jednog atributa su podaci iste vrste ili
tipa
Skup vrijednosti jednog atributa zovemo
domenom atributa
Vrijednost atributa treba biti jednostruka i
jednostavna- ne smije se moći rastaviti na dijelove
Broj atributa je stupanj relacije
             N-TORKE
Jedan redak relacije predstavlja primjerak
entitea ili bilježi vezu između dva ili više
primjeraka entiteta
Primjerak zovemo n-torka
U jednoj relaciji ne mogu biti dvije jednake
n-torke
Broj n-torki je kardinalnost relacije
Relacija ne propisuje redoslije svojih n-
torki ili atributa. Permutacijom stupaca ili
redaka dobiva se drugi zapis, ali ista
relacija
                  KLJUČ
Ključ K relacije R je podskup atributa od R,
koji ima slijedeća svojstva:
Vrijednosti atributa iz K jednoznačno određuju
n-torku u R
Ako izbacimo iz K bilo koji atribut, tada se
narušava 1. svojstvo
Moguće je da postoji više skupova atributa koji
zadovoljavaju navedena svojstva, pa se tada
jedan od njih proglašava primarnim ključem,
a skup atributa koji čine primarni ključ zovu se
primarni atributi.
                RELACIJSKI MODEL
                       vs.
               MODEL ENTITETI-VEZE
  RELACIJSKI MODEL             MODEL ENTITETI-VEZE
relacija (shema relacije)      tip entiteta
                   n-torka     pojava entiteta
                    atribut    tip atributa
                vrijednost     vrijednost atributa
                  domena       tip vrijednosti atributa
          izvedeni atribut     izvedeni tip atributa
                        ----   slabi tip entiteta
                        ----   podređeni/nadređeni tip entiteta
                        ----   tip slabe veze
                    pogled     pogled (podmodel)
             ključ relacije    ključ tipa entiteta
             ključ relacije    ključ tipa veze
RELACIJSKI MODEL          MODEL ENTITETI-VEZE

        primarni ključ    primarni ključ
        nul-vrijednost    nul-vrijednost
    kandidat za ključ     kandidat za ključ
               relacija   asocijativni tip entiteta
               relacija   tip veze M:M
         vanjski ključ    tip veze 1:M ili 1:1
      stupanj relacije    broj tipova atributa tipa entiteta
     osnovna relacija     tip entiteta
    izvedena relacija     pogled
poluizvedena relacija     pogled
                   ----   kardinalnost veze
                   ----   kardinalnost atributa
         kardinalnost     br. pojava entiteta za tip entiteta
 POSTUPAK PRETVORBE MODELA
ENTITETI-VEZE U RELACIJSKI MODEL
 Tijekom pretvorbe više koncepata modela entiteti-veze
 pretvara se u jedan koncept relacijskog modela jer u
 relacijskom modelu ne postoje neki koncepti modela
 entiteti-veze.
 U relacijskom modelu se ograničenja (npr. ograničenje
 kardinalnosti veze) ne iskazuju formalno, u shemi
 baze podataka. Ako se ovo znanje želi izričito iskazati,
 nužno je to napraviti tekstom (npr. “Na jednom
 projektu radi više projektanata, a jedan projektant radi
 na nula, jednom ili više projekata”).
  PRAVILA ZA PERTVORBU ER
     MODELA U R MODEL
PRAVILO 1.
Vrijednost atributa pojave entiteta u modelu entiteti-
veze (npr.”123”) pretvara se u vrijednost atributa
n-torke u relacijskom modelu. To se odnosi i na
nul-vrijednost.

PRAVILO 2.
Tip vrijednosti atributa u modelu entiteti-veze
 (npr.CIJENA, što sadrži skup cijena svih proizvoda
 poduzeća) postaje domena klasičnog relacijskog
 modela.
PRAVILO 3.
Tip atributa u modelu entiteti-veze (npr. PREZIME
ZAPOSLENIKA) postaje atribut relacijskog modela.

PRAVILO 4.
Pojava entiteta u modelu entiteti-veze odgovara
konceptu n-torke klasičnog relacijskog modela i
pretvara se u njega. Pojava entiteta je agregacija
vrijednosti atributa, a n-torka je također agregacija
atributa.

PRAVILO 5.
Kandidat za ključ entiteta u modelu entiteti-veze
(npr. MATIČNI BROJ ZAPOSLENIKA I JMBG)
postaje kandidat za ključ n-torke relacijskog
modela.
PRAVILO 6.
Svaki tip entiteta iz modela entiteti-veze postaje relacija
relacijskog modela i to tako da tipovi atributa postaju atributi
sheme relacije, a primarni ključ tipa entiteta postaje primarni
ključ sheme relacije.

Tip entiteta ne mora se pretvoriti u shemu relacije ako je
povezan samo s jednim tipom entiteta i to tipom veze
(1,1):(1,1)

Npr.
 Tip entiteta ZAPOSLENIK, čiji su tipovi atributa MATIČNI
BROJ (ključ entiteta), PREZIME, IME, STAROST, postaje
shema relacije:
ZAPOSLENIK (MATIČNI BROJ, PREZIME, IME, STAROST)
PRAVILO 7.
Izvedeni tip atributa u modelu entiteti-veze (npr.
PROSJEČNA CIJENA PROIZVODA) odgovara
konceptu izvedenog atributa u relacijskom modelu.


PRAVILO 8.
 U modelu entiteti-veze nije dozvoljen višeznačni tip
atributa tj. tip atributa koji pridružuje više vrijednosti
jednoj pojavi entiteta.
 Pojavljivanje više vrijednosti istog atributa za jednu
pojavu entiteta rezultira novim tipom entiteta, što je
analogno normalizaciji u prvu normalnu formu
relacijskog modela.
A) ENTITET S VIŠESTRUKIM ATRIBUTOM


          ZAPOSLENIK

       (1,1)    (1,M)    (1,M)
       (1,1)

#Zaposlenika
                 (1,1)
     Prezime_i_ime       (1,M)
                     Radno_mjesto
  B) IZDVAJANJE VIŠESTRUKOG ATRIBUTA U NOVI ENTITET
                  (SPUŠTANJE KLJUČA)

                                RADNO MJESTO
            ZAPOSLENIK
                                ZAPOSLENIKA
    (1,1)        (1,M)                   (1,1)
    (1,1)
                                         (1,1)
#Zaposlenika
                 (1,1)
                            #Zaposlenika, Radno_mjesto
            Prezime_i_ime




Tip entiteta ZAPOSLENIK ima atribut radno mjesto. Ako
jedan ZAPOSLENIK može raditi na više radnih mjesta, to
rezultira novim tipom entiteta RADNO MJESTO
ZAPOSLENIKA, sa složenim ključem, čiji je dio
#ZAPOSLENIKA (spuštanje ključa).
PRAVILO 9.

Tip veze M:M (pri tome donje granice nisu
značajne) u modelu entiteti-veze postaje
shema relacije klasičnog relacijskog modela.
Ključ ove sheme relacije je složen od ključeva
oba tipa entiteta koji sudjeluju u vezi.
     PRETVORBA VEZE TIPA M:M
                   A) DIJAGRAM ENTITETI-VEZE

                           POZNAJE
  ZAPOSLENIK                              STRANI JEZIK
 (1,1)     (1,M)                           (1,1)    (1,1)
 (1,1)                                     (1,1)
#Zaposlenika                      #Stranog_jezika

           (1,1)                                    (1,1)
         Prezime_i_ime                 Naziv_stranog_jezika
B) SHEME RELACIJA KLASIČNOG RELACIJSKOG MODELA


  ZAPOSLENIK (#ZAPOSLENIKA, PREZIME_I_IME)
  POZNAJE (#ZAPOSLENIKA, #STRANOG_JEZIKA)
  STRANI_JEZIK (#STRANOG_JEZIKA, NAZIV_STRANOG_JEZIKA)



  PRAVILO 10.
    Tip veze s kardinalnostima (1,1):(0,M), odnosno tip veze
  u kojemu je kardinalnost s jedne strane potpuna (1:1), ne
  pretvara se u shemu relacije.
     U tipu entiteta, čija je svaka pojava vezana s jednom
  pojavom drugog tipa entiteta, ključ tog entiteta postaje
  atribut i vanjski ključ.
     Veza na dijagramu entiteti-veze nema atribute.
 Pretvorba veze tipa (1,1):(0,M)
                       A) DIJAGRAM ENTITETI-VEZE
                            OSIGURAVA
            PARTNER                           BROD
                          JE OSIGURAN OD
    (1,1)     (1,M)                        (1,1) (1,1)
     (1,1)                                 (1,1)
 #Partnera                              #Broda
               (1,1)                               (1,1)
        Naziv_partnera                     Naziv_broda



B) SHEMA RELACIJE KLASIČNOG RELACIJSKOG MODELA

 PARTNER (#PARTNERA, NAZIV_PARTNERA)
 BROD (#BRODA, NAZIV_BRODA, #PARTNERA)
PRAVILO 11.
Svaki tip veze (0,1):M promatra se kao tip (0,M):M.
Na taj način se izbjegavaju problemi postojanja
nul-vrijednosti u relaciji.

Npr.
  Ako na popisu brodova iz prethodnog primjera ima brodova
koji ne učestvuju niti u jednom osiguranju broda, tada se
model entiteti-veze pretvara u shemu relacije na slijedeći
način:
 PRAVILO 12.
  Ako dva tipa entiteta povezuje tip veze
 (1,1):(1,1), u shemu relacije pretvara se samo
 jedan tip entiteta (proizvoljno odabran), a toj
 se shemi dodaju i atributi drugog tipa entiteta.
 To znači da za ključ sheme relacije možemo
 odabrati bilo koji od ključeva ta dva tipa
 entiteta.

PRAVILO 13.
 Tip veze (0,1):(1,1), odnosno tip veze koja je s jedne
 strane potpuna, a s druge djelomična, ne pretvara se u
 relaciju, kao tip veze s kardinalnošću (1,1):(0,M).
PRAVILO 14.
 Svaki tip veze koja je s obje strane parcijalna, odnosno
(0,1):(0,1), pretvara se u sheme relacije slično tipu veze s
kardinalnošću (0,M):(0,M):
     - Formiraju se tri sheme relacija (po jedna za svaki tip
entiteta i jedna za tip veze).
     - Kandidati za ključ sheme relacija, nastale od tipa veze,
su ključevi tipova entiteta. Jedan od njih postaje ključ sheme
relacije. Ključ nije složen od dva ključa kao kod tipa veze
(0,M):(0,M).
PRAVILO 15.
 Svaki se asocijativni (mješoviti) tip entiteta
pretvara u relaciju.
- Atributi asocijativnog tipa entiteta postaju
atributi sheme relacija.
- Ključ sheme složen je od ključeva tipova
entiteta koji su sudjelovali u nastanku
asocijativnog tipa. Nakon toga se
pretvaranje odvija po prethodnim pravilima.
      Pretvorba asocijativnog tipa entiteta
                           A) DIJAGRAM ENTITETI-VEZE

      ZAPOSLENIK                     POZNAVANJE           STRANI JEZIK

     (1,1)     (1,M)               (1,1)      (1,M)      (1,1)    (1,1)

     (1,1)                         (1,1)                 (1,1)
#Zaposlenika
                       #Zaposlenika,#Stranog_jezika   #Stranog_jezika
               (1,1)                          (1,1)               (1,1)
      Prezime_i_ime               Datum_polaganja       Naziv_stranog_jezika


     B) SHEMA RELACIJA KLASIČNOG RELACIJSKOG MODELA

ZAPOSLENIK (#ZAPOSLENIKA, PREZIME_I_IME)
POZNAVANJE (#ZAPOSLENIKA, #STRANOG JEZIKA, DATUM_POLAGANJA)
STRANI_JEZIK (#STRANOG_JEZIKA, NAZIV_STRANOG_JEZIKA)
  PRAVILO 16.
  Ako tip veze povezuje više od dva tipa
  entiteta (n-arna veza) tada se taj tip veze
  nadomjesti asocijativnim tipom entiteta,
  povezuje binarnim vezama i pretvara po
  prethodnim pravilima.
  PRAVILO 17.
  Specijalni se tipovi veze (identifikacijska, egzistencijalna
i sl.) ne pretvaraju.

  PRAVILO 18.
   Tip slabog entiteta pretvara se u relaciju i opisuje
shemom. Atributi tipa slabog entiteta postaju atributi
sheme relacija. Ključ sheme relacije je složen i od ključa
jakog tipa entiteta i od ključa slabog tipa entiteta.Ovaj
ključ jednoznačno identificira n-torke relacije u okviru
relacijskog modela.
     Pretvorba slabog tipa entiteta
               A) DIJAGRAM ENTITETI-VEZE

       ZAPOSLENIK                         DIJETE
       (1;1)      (1,M)                (1,1)       (1,M)
       (1,1)                           (1,1)
   #Zaposlenika           #Zaposlenika, #Djeteta
               (1,1)                               (1,1)
           Prezime_i_ime               Prezime_i_ime_djeteta


 B) SHEME RELACIJA KLASIČNOG RELACIJSKOG MODELA

ZAPOSLENIK (#ZAPOSLENIKA,PREZIME_I_IME)
DIJETE (#ZAPOSLENIKA, #DJETETA, PREZIME_I_IME_DJETETA)
  PRAVILO 19.
 Klasifikacijska struktura entiteta (specijalizacijska
 hijerarhija, tj. neekskluzivna i ekskluzivna
 specijalizacija) pretvara se u relacijski model na
 slijedeći način:
    - Svaki tip entiteta postaje relacija i opisuje se shemom
    - Ključ svake sheme relacije jednak je ključu entiteta na vrhu
 specijalizacije
    - Atributi tipova entiteta postaju atributi sheme relacija
    - Ako se radi o ekskluzivnoj specijalizaciji, tada svaka shema,
 nastala od tipova entiteta na nižim razinama specijalizacije, dobiva
 atribut nazvan PODTIP, čija vrijednost ukazuje na jednu relaciju s
 više razine specijalizacije (tj. niže razine klasifikacijske hijerarhije)
    - Ako se radi o neekskluzivnoj specijalizaciji (svaka pojava
nadređenog tipa može istovremeno biti više pojava podtipova), ne
uvodi se atribut PODTIP, nego se pretraživanje obavlja u relacijama
podtipova, u kojima se nalazi ključ nadtipa
                              Primjer:
  Ako automobil može biti ili putnički ili teretni tada shema relacijskog
  modela glasi:
AUTOMOBIL (#AUTOMOBILA, NAZIV, GODINA_PROIZVODNJE,
  SNAGA, PODTIP)
PUTNIČKI_AUTOMOBIL (#AUTOMOBILA, BROJ_SJEDALA)
TERETNI_AUTOMOBIL (#AUTOMOBILA, NOSIVOST)



  Ako brod može biti i putnički i teretni istovremeno tada shema
relacijskog modela glasi:
BROD (#BRODA, NAZIV, GODINA_PROIZVODNJE, DUŽINA, ŠIRINA)
PUTNIČKI_BROD (#BRODA, BROJ_PUTNIKA, BROJ_AUTOMOBILA)
TERETNI_BROD (#BRODA, NOSIVOST)
      PRAVILO 20.
      Rekurzivna (refleksna) veza se u relacije pretvara
      kao i ostali tipovi veza, ovisno o kardinalnosti.

                  A) DIJAGRAM ENTITETI-VEZE


            DIO


             SASTOJI SE OD
              JE U SASTAVU


    B) SHEME RELACIJA KASIČNOG RELACIJSKOG MODELA
DIO (#DIJELA, NAZIV_DIJELA, JEDINICA_MJERE, JEDINIČNA_CIJENA)
SASTAV (#NADREĐENOG_DIJELA, #PODREĐENOG_DIJELA)
     KRITIKA MODELA ENTITETI-VEZE
               (Codd, 1990.)
         - Model entiteti-veze opisuje samo strukturne
aspekte podataka, a ne definira ograničenja ni operatore
pa nije formalni jer se, strogo gledajući,u prave formalne
modele mogu ubrojiti samo modeli koji imaju komponentu
opisa strukture podataka, komponentu očuvanja
integriteta i skup operatora.
        - Razlika između entiteta i veza nije precizno
određena pa netko može za istu situaciju odabrati
entitet, a netko vezu.
       - Kada bi se razlika između entiteta i veza
precizno definirala, to bi samo uvelo kompleksnost u
model, a ne bi pridonijelo bogatstvu modela.
   -- Kritika tvrdi da je relacijski model
jednostavniji jer koristi samo koncept relacije,
dok su modelu entiteti-veze potrebna dva-
entiteti i veze.


      -- Model entiteti-veze ima bolja
spoznajna i opisna svojstva zahvaljujući
grafičkom prikazu modela podataka na
dijagramima entiteti-veze.
POPIS KORIŠTENE LITERATURE:

Tkalac, Slavko, Relacijski model podataka,
Društvo za razvoj informacijske pismenosti
(DRIP), Zagreb, 1993.
Varga, Mladen, Baze podataka : konceptualno,
logičko i fizičko modeliranje podataka, DRIP,
Zagreb, 1994.
Maleković, Mirko, Baze podataka II: skripta,
Fakultet organizacije i informatike,Varaždin,1999
Internet: hr.wikipedia.org/wiki/Model_baze_podataka,
         www.foi.hr,   www.fer.hr

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:126
posted:4/20/2012
language:Croatian
pages:34