18
1 Normalizacija baza podataka Sadržaj Normalizacija baze podataka ......................................................................................................................... 2 Funkcionalna zavisnost ......................................................................................................................................................................3 Anomalije ...........................................................................................................................................................................................5 Tehnike normalizacije ........................................................................................................................................................................6 Forme normalizacije...........................................................................................................................................................................7 Prva normalna forma ..........................................................................................................................................................................7 Problem sa nestandardnim atributima ...........................................................................................................................................8 Druga normalna forma .......................................................................................................................................................................9 Treća normalna forma ......................................................................................................................................................................10 Praktičan primjer normalizacije .......................................................................................................................................................11 Svođenje modela na prvu normalnu formu .................................................................................................................................11 Svodjenje modela na drugu normalnu formu ..............................................................................................................................12 Svođenje modela na treću normalnu formu ................................................................................................................................13 Primjer i analiza anomalija ...............................................................................................................................................................14 1NF i anomalije ..........................................................................................................................................................................14 2NF „ ..........................................................................................................................................................................................14 3NF… .........................................................................................................................................................................................15 Dalje normalizovanje .......................................................................................................................................................................15 Razlozi zbog kojih se može odustati od normalizacije................................................................................................................16 Dodatak: Procedure i algoritmi ........................................................................................................................................................17 GENERAL PROCEDURE FOR ACHIEVING A NORMALIZED SET OF RELATIONS ......................................................17 Algoritam 2NF normalizacije .....................................................................................................................................................18 Algoritam 3NF normalizacije .....................................................................................................................................................18

Normalizacija baza podataka - Sveznadar · 2014. 12. 30. · Anomalija promjene (ažuriranja) javlja se u slučaju kada promjenu podataka o jednom objektu treba izvršiti na više

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

  • 1

    Normalizacija baza podataka

    Sadržaj Normalizacija baze podataka ......................................................................................................................... 2

    Funkcionalna zavisnost ...................................................................................................................................................................... 3

    Anomalije ........................................................................................................................................................................................... 5

    Tehnike normalizacije ........................................................................................................................................................................ 6

    Forme normalizacije ........................................................................................................................................................................... 7

    Prva normalna forma .......................................................................................................................................................................... 7

    Problem sa nestandardnim atributima ........................................................................................................................................... 8

    Druga normalna forma ....................................................................................................................................................................... 9

    Treća normalna forma ...................................................................................................................................................................... 10

    Praktičan primjer normalizacije ....................................................................................................................................................... 11

    Svođenje modela na prvu normalnu formu ................................................................................................................................. 11

    Svodjenje modela na drugu normalnu formu .............................................................................................................................. 12

    Svođenje modela na treću normalnu formu ................................................................................................................................ 13

    Primjer i analiza anomalija ............................................................................................................................................................... 14

    1NF i anomalije .......................................................................................................................................................................... 14

    2NF „ .......................................................................................................................................................................................... 14

    3NF… ......................................................................................................................................................................................... 15

    Dalje normalizovanje ....................................................................................................................................................................... 15

    Razlozi zbog kojih se može odustati od normalizacije ................................................................................................................ 16

    Dodatak: Procedure i algoritmi ........................................................................................................................................................ 17

    GENERAL PROCEDURE FOR ACHIEVING A NORMALIZED SET OF RELATIONS ...................................................... 17

    Algoritam 2NF normalizacije ..................................................................................................................................................... 18

    Algoritam 3NF normalizacije ..................................................................................................................................................... 18

  • 2

    Normalizacijabazepodataka Normalizacija baze podataka je proces efikasnog organizovanja podataka u bazi podataka. Normalizacija je tehnika dizajna baze podataka kojom se na osnovu izvjesnih kriterijuma određuje sadržaj tabela (tj.koje kolone treba da obuhvataju tabele i njihova struktura ključa). Normalizacija baze podataka je postupak kojim se iz danog modela bez podataka nastoji otkloniti potreba za višestrukim ponavljanjem istih podataka (redudansa podataka). Naime, osim što (nekorisno) troši prostor, višestruko zapisivanje istog podatka otežava (i/ili onemogućava) mijenjanje sadržaja baze podataka. Osnovna ideja je da se eliminiše nepotrebno dupliranje ne-ključnih podataka u tabelama te da se tako smanji veličina prostora koju baza zauzima na disku i da su podaci logično uskladišteni. Cilj normalizacije možemo izraziti riječima: Baza podataka treba biti oblikovana tako da se svaki podatak upisuje samo jednom (ili: samo na jednom mjestu). Dva osnovna cilja procesa normalizacije su:

    1. Eliminisanje redudantnih podataka (skladištenje istih podataka na više mjesta u bazi podataka) 2. Osiguravanje da su zavisnosti podataka logične (u jednoj tabeli se nalaze samo povezani podaci)

    Odnosno, osnovni cilj relacionog modela podataka je da odgovarajuća baza podataka koja: 1. ne sadrži redundansu, 2. se može jednostavno koristiti i mjenjati.

    Pod redundansom podrazumjevamo višestruko memorisanje iste informacije u bazi podataka. Potpuno eliminisanje redundanse podataka u bazi podataka je skoro nemoguće ostvariti. Realni cilj pri projektovanju baze podataka je kontrolisana redundansa podataka. Bitna osobina koja se očekuje od normalizacije je reverzibilnost tj. da ne smije doći do gubitka informacija sadržanih u polaznoj relaciji. Polazeći od skupa normalizovanih relacija, mora biti moguća rekonstrukcija polazne nenormalizovane relacije. Jedan od ključnih ciljeva relacione baze podataka je da se spriječi nepotrebno dupliranje podataka. U stvari, ovo je jedan od glavnih razloga zašto se koriste relacione baze podataka, a ne fajlovi, koji podatke skladište u jednoj tabeli. Ponekad se klasa ili objekat dizajnira korektno (zavisi koji model podataka se koristi), a u relacionoj šemi se tek uoči problem. Normalne forme daju formalne kriterije prema kojima se utvrđuje da li model podataka ispunjava prethodne zahtjeve. Normalizacija je proces provjere uslova normalnih formi i po potrebi svođenje šeme relacije na oblik koji zadovoljava isti. Normalizacija je proces primjene skupa pravila na postojeći dizajn baze, uglavnom da bi se postigla minimalna redudansa podataka. Uobičajeno se normalizacija predstavljaju kao proces od tri koraka, koji se vezuje za normalne forme, koje se mogu obaviti u skoro algoritamskom poretku. U praksi, češće se pravila postepeno primjenjuju, dok se šema svake relacije ne razvije na način na koji se dobija iz dijagrama E-R modela ili nekog drugog modela (npr. UML). Konačna struktura tabela treba da bude ista bez obzira koji se metod (ili kombinacija metoda) primenjuje. Teorija normalizacije nije ništa drugo nego formalizacija nekih intuitivno prihvatljivih principa o "zdravom" oblikovanju šeme. Ukoliko već na početku dobro uočimo sve potrebne entitete, atribute i veze, tada nam nikakva daljnja normalizacija neće biti potrebna. No ako je polazna relaciona šema bila loše oblikovana, tada će postupak normalizacije ispraviti te greške.

  • Funkcion Loša funkcneke atributKoncept fupodataka. Ako je datmeđusobno X, postoji sa Funkcionalnpredstaviti izražava kao Na primjer{CategoryNCategoiyNaImajte u viatributa Des Dijagrami fU praktičnirazumljivo u svakoj tor Prema tomfunkcionalnAko {X} nijće obaveznoAtribut možNije moguđatributa koji

    Trivijalna fTrivijalna fu Potpuna fuAtribut je pfunkcionaln

    nalnazav

    cionalna zavte, ali ne i zaunkcionalne

    ta torka T i isključivi. Samo jedna le

    nu zavisnokao na sli

    o X→Y, što

    r, u relaciji Name}, imaćame funkcionidu da funkcscription ne o

    funkcionalneim aplikacijsamo po sebrci; ako su te

    e, ako imamno zavisni odije kandidat zo sadržati izvže biti funkciđe odrediti nii čine isti.

    funkcionalnfunkcionalna

    unkcionalna potpuno funno zavistan n

    visnost

    visnost se dea cijelu relaci zavisnosti

    dva skupa Skup Y je funegalna vrijed

    ost između ci. U tekstuse čita kao „

    prikazanoj će istu vrijenalno određujcionalna zavomogućava n

    e zavisnosti ojama, funkcibi: svaka relae vrijednosti p

    mo torku {Xd {X}; to proza ključ i funvjesnu redunionalno zavisivo normaliz

    na zavisnost zavisnost je

    zavisnost nkcionalno zni od jednog p

    ešava kada piju. Ovakvi a

    (functional

    njenih atribnkcionalno z

    dnost u skupu

    skupova u se funkci

    „X funkciona

    na predhodednost i atruje atrribut Dvisnost ne vnam da utvrd

    obično su jasnionalna zavi

    acija će uvijepoznate, mog

    X, Y}, gdje izlazi iz defi

    nkcionalna zandantnost i bistan ili u odnacije DB mo

    funkcionaln

    avistan od spodskupa set

    3

    postoji atribuatributi se naz

    dependency

    buta, {X1.. .zavisan od sku Y.

    atributa mionalna zavalno određuje

    dnoj slici, svributa {DescDescription. važi uvijek dimo i odgov

    ni sami po seisnost je zg

    ek imati odregu se odredit

    je {X} kaninicije kandidavisnost nijeiće potrebno nosu na drugodela bez raz

    na zavisnost a

    seta atributata X.

    ut ili skup atzivaju podkljy) izuzetno

    .Xn } i {Y1kupa X ako,

    možete visnost e Y“.

    vaka torka kcription}. Z

    i u suprotnvarajuću vrije

    ebi. godan oblik eđeni skup atti i vrijednos

    ndidat za kldata za ključ

    e trivijalna (tjnormalizova

    gi atribut ili uzumevanja m

    atributa prem

    X ako je f

    tributa koji pjučevi (subkje kotistan

    1... Yn} (ti za svaku leg

    koja sadrži bog toga m

    nom smjeru:ednost atribu

    da se izraztributa čije susti atributa ko

    ljuč, onda a. j. {Y} nije panje. u odnosu na k

    međusobnih fu

    ma supersetu

    funkcionalno

    predstavljajukey) relacije.

    za rad sa

    skupovi ne galnu vrijedn

    istu vrijednmožemo reć

    : poznavanjeuta CategoiyN

    zi nešto štou vrijednostioje nisu jedin

    atributi {Y}

    podskup od {

    kombinaciju funkcionalnih

    sebe.

    o zavistan od

    nadključ za

    strukturama

    moraju bitinost u skupu

    nost atributai da atribut

    e vrijednostiName.

    o je priličnoi jedinstvenenstvene.

    moraju biti

    X}), relacija

    atributa. h zavisnosti

    d X ali nije

    a

    a

    i u

    a t

    i

    o e

    i

    a

    e

  • TranzitivnaTranzitivna

    VišeznačnaVišeznačna višeznačna slučaj tuple- Vezna zaviEntitet T jeatributa enti Za zadatu rvrijednost ojednakom vAnalogna d Kao primjeIZVESTAJ (BR_SOB E_Pretpostavimfunkcionaln

    Za zadatu rvrijedi: B jeSvaki atribu Na primjer druge stranključu, buduZa BR_SOBIME_NASTAParcijalne ipoželjno uk

    a zavisnost zavisnost je

    a zavisnost zavisnost j

    zavisnost za-generisane z

    isnost e vezno zaviteta T.

    relaciju R, aod A jednoznvrijednošću Adefinicija prim

    er, razmotri BR INDEKS

    _NAST AVNI mo da svaknih zavisnost

    relaciju R, ae funkcionalnut relacije je

    OCJENA je ne, NASLOV_ući da su zavBE_NASTAV

    TAVNIKA, koi tranzitivne

    kloniti.

    e indirektna z

    je potpuna ahjteva da odzavisnosti. O

    vistan ako se

    atribut B odnačno određuA, tada te n-tomijenjuje se

    imo sljedećuSA, BR ISPITA KA, OCJENA

    ki ispit ima jti:

    atribut B od no zavisan o funkcionalno

    potpuno fun_ISPITA, IMvisni samo o VNIKA se koji je opet zave zavisnosti

    zavisnost gdj

    veza dva sređeni tuplov

    Ova vrsta zav

    e može rekr

    d R je funkcuje vrijednosorke moraju i za slučaj ka

    u (loše oblikoA, NASLOV_

    A ) . jednog nasta

    R je potpunA, no B nijeo zavisan o k

    nkcionalno zME_NASTAVN

    BR_ISPITA,aže da je trvisan o BR_Imogu uzrok

    4

    je A→C sam

    eta atributa vi butu prisuvisnosti igra

    reirati veziva

    cionalno zavst od B. Dakimati jednak

    ad su A i B sl

    ovanu) relaci_ISPITA, IME

    avnika, a sv

    no funkcionae funkcionalnključu, no ta

    zavisna o priVNIKA i BR_, a ne i o BR_ranzitivno zISPITA. kovati probl

    mo zato što A

    u relaciji. utni u relacijiulogu kod če

    anjem više t

    visan o atribkle ako u istoku vrijednostloženi atribu

    iju: E_NASTAVNI

    vaki nastavn

    alno zavisanno zavisan nizavisnost ne

    imarnom klju_SOBE_ NAS_INDEKSA.zavisan o B

    leme kod m

    A→B i B→C.

    Za razliku i te je višeznaetvrte norma

    tabela od ko

    butu A od Ro vrijeme pot B. uti (dakle sku

    IKA,

    nik jednu so

    n o (složenomi o jednom pre mora biti po

    uču (BR_ INSTAVNIKA

    BR_ISPITA, b

    manipulisanja

    .

    od potpuneačna zavisno

    alne forme.

    ojih svaka im

    R (oznaka: Aostoje u R dv

    upovi atributa

    obu. Navodim

    m) atributu ravom podskotpuna.

    NDEKSA, BRsu parcijaln

    budući da j

    a s podacim

    e zavisnosti,ost specijalni

    ma podskup

    A → B) akovije n-torke s

    a).

    mo neke od

    A od R akokupu od A.

    R_ISPITA). Sno zavisni o

    e zavisan o

    ma, pa ih je

    , i

    p

    o s

    d

    o

    S o

    o

    e

  • 5

    Anomalije

    Jednostavno korišćenje i mijenjanje podataka podrazumjeva prije svega sprečavanje anomalija održavanja podataka. Pod anomalijama održavanja podataka podrazumjevamo:

    1. anomaliju dodavanja, 2. anomaliju brisanja, 3. anomaliju promjene.

    Anomalija dodavanja (unošenja) javlja se u onim slučajevima kada su informacije o svojstvima jednog objekta memorisane u bazi podataka kao dio opisa nekog drugog objekta. Na primjer, u okviru opisa nastavnika memorisane su informacije o predmetu koji predaje ili katedre na kojoj radi. Informacije o predmetu, odnosno katedri, nije moguće unijeti u bazu podataka sve dok ne postoji bar jedan nastavnik koji taj predmet predaje, odnosno, dok ne postoji najmanje jedan nastavnik koji na toj katedri radi. Anomalija brisanja je inverzija anomalije dodavanja. Neka su u okviru opisa svojstava nastavnika memorisane informacije o predmetu koji predaje. Svakim brisanjem opisa nastavnika briše se i jedna kopija podataka o predmetu koji predaje. Kada se obrišu podaci o posljednjem nastavniku koji predaje neki predmet, biće obrisana i poslednja kopija podataka o predmetu. S obzirom na to da pri brisanju podataka o nastavniku ne mislimo na druge posljedice, na ovaj način moguće je uništiti podatke o predmetu, koji su potrebni i važni. Anomalija promjene (ažuriranja) javlja se u slučaju kada promjenu podataka o jednom objektu treba izvršiti na više od jedne kopije podataka. Razmotrimo ponovo prethodni primjer gdje su podaci o predmetu i katedri memorisani u okviru opisa nastavnika. U bazi podataka u jednom trenutku postoji toliko opisa katedre koliko nastavnika radi na toj katedri. Ako treba promjeniti podatke o opisu katedre (na primjer, naziv katedre), tada tu promjenu treba izvršiti na onoliko mjesta koliko nastavnika radi na toj katedri. Ako se promjena ne izvrši na svim kopijama nastaje situacija u kojoj o istom svojstvu jednog objekta imamo više različitih tvrdnji od kojih bar jedna nije istinita. Ovakvo stanje smatramo nekonzistentnom bazom podataka.

  • 6

    Tehnikenormalizacije Postoje sledeće dve tehnike normalizacije:

    1. Horizontalna normalizacija. 2. Vertikalna normalizacija,

    Horizontalnom normalizacijom relacija se rastavlja na podskupove n-torki – fragmente relacije koji zadovoljavaju određene uslove. Horizontalna normlizacija zasniva se na operacijama selekcije i unije. Sama tehnika se koristi kod distribuiranih baza podataka. Kod distribuiranih baza podataka relacija ne mora u potpunosti biti memorisana na jednoj lokaciji. Fragmenti relacije memorišu se na pojedinim lokacijama, što bi se moglo koristiti za samu normalizaciju. Vertikalna normalizacija je postupak kojim se proizvoljna nenormalizovana šema relacije transformiše u skup manjih i normalizovanih šema relacija. Vertikalna normalizacija zasniva se na operacijama projekcije i prirodnog spajanja.

    1. Pomoću operacije projekcije relaciju vertikalno razbijamo na dve ili više manjih relacija. Pri tome, dolazi do cjepanja svake pojedine n-torke u relaciji.

    2. Operaciju prirodnog spajanja koristimo da bi dokazali reverzibilnost, tj. da bi rekonstruisali polaznu, nenormalizovanu relaciju.

    Postoje sljedeće dvije varijante vertikalne normalizacije:

    1. normalizacija sintezom, 2. normalizacija dekompozicijom,

    Normalizacija sintezom polazi od skupa obilježja i od skupa zavisnosti zadatih na tom skupu obilježja. Postupak se ne izvodi u koracima već se direktno formiraju relacione šeme koje ispunjavaju uslove zahtjevane normalne forme. Normalizacija dekompozicijom započinje od proizvolje nenormalizoovane relacione šeme i izvodi se u koracima. Svakim korakom normalizacije relaciona šema prevodi se u višu normalnu formu, tako da se polazni skup obilježja deli u dva skupa i od svakog formira posebna relaciona šema. Svaki korak normalizacije mora biti reverzibilan. Vertikalna normalizacija dekompozicijom je najćešće korištana tehnika normalizacije, pa ćemo i mi analizirati samo ove tehnike. O normalizaciji se obično govori u obliku formi, a ovdje ćemo opisati samo prve tri forme mada se koriste i ostale, složenije forme (četvrta, peta, Boyce-Codd forma).

  • Formeno Kratke i upr1.normalnaili više atribne smiju bit2.normalna3.normalna Osnovna pr

    1. svak2. svak3. za s

    kojo4. mor

    bilo Sa aspekta dprimarnom Druga praviza tabele i k Standardne automatski j Prvanor Prva normaključa za svPrva norma

    1. Elim2. Kre

    jedi To je istovratribut torpojedinačne Relacija je Za svođenjeAli šta je tačU relaciji slici, atribuočigledno vrijednosti što znači daprvoj norma Pojam skalveličine kojkoordinatno Prva normaključa za sv

    ormalizac

    roštene defina forma–svi buta. Svako pti sastavljeni a forma–svi a forma–svi

    ravila normalko polje tabeka tabela mosvaku jedinstoj koloni podra postojati mo koje drugo

    dizajna baze ključu zavisila kojih se t

    kolone, kao i

    normalne fje u drugoj i

    rmalnafor

    alna forma ovaku tabelu. alna forma (1minisanje dueiranje poseinstvenom ko

    remeno i najjrke mori sae vrijednosti,

    u prvoj nore relacije na čno prosta vr

    prikazanoj ut Items (stav

    sadrži v(tj. nije pro

    a relacija nijalnoj formi.

    lar se ovdje je možemo ioj osi, takoi k

    alna forma vaku tabelu.

    cije

    nicije prve trientiteti mor

    polje u tabeliod više atribatributi koji atributi koji

    liziranih tabeele trebalo biora imati primtvenu vrijedndataka, a ta smogućnost ppolje.

    podataka to e samo od čitreba pridržav upotreba pu

    forme su ad prvoj norma

    rma

    odnosi se na

    NF) postavluplih kolona iebne tabele olonom (prim

    jednostavnijiadržati sam, ne grupe ili

    rmalnoj form1NF, treba rrijednost?

    na vke) više ost), je u

    (kod BP) kizraziti samokod baza ska

    odnosi se na

    i normalne foaju imati jedi mora sadržabuta) nisu dio kljunisu dio klju

    ela: i predstavljatmarni ključ knost primarnse vrijednost romjene bilo

    znači da poditavog primavati u dizajn

    unih riječi u s

    ditivne, dakalnoj formi.

    a grupisanje

    lja dva osnoviz iste tabeleza istu gr

    marni ključ)

    i i najteži konmo prostu (

    kompozitne

    mi ako su skazložiti svak

    koristi kao so jednim podalarni podata

    a grupisanje

    7

    forme bi glasdinstveni idenavati samo je

    uča moraju uuča ne smiju

    ti jedinstven koji se sastojnog ključa m

    mora odnoso kojeg polja

    datke treba oarnog ključa.nu baze podasamoj bazi p

    kle ako je n

    sličnih poda

    vna pravila ze rupu poveza

    ncept model(atomsku) ve objekte.

    kalarni svi dku ne-atomsk

    U ovoj

    inonim za pdatkom i meak bi trebao i

    sličnih pod

    ile: ntifikator (klednu vrijedn

    u potpunosti u biti međuso

    tip informaci od jednog iora postojatiiti na subjek

    a (osim polja

    organizovati

    ataka su dobrodataka.

    neki model

    ataka u odvo

    za organizova

    anih podata

    lovanja podavrijednost. T

    domeni u kojku vrijednost

    j relaciji Item

    prost podataeđusobno se imati samo je

    dataka u odvo

    ljuč) koji se mnost (atributi

    zavisiti o njeobno zavisni

    cije ili više polja i jedna i samt tabele u primarnom

    tako da sve k

    ra, konzistent

    sveden na

    ojene tabele

    anu bazu pod

    aka i identi

    ataka. PrincipTo znači da

    jima su defi.

    ms nije skalar

    k. Slično mamogu uspor

    ednu odredn

    ojene tabele

    može sastojamoraju biti j

    emu

    u tabeli mo jedna vrije

    m ključu) be

    kolone koje

    ntna, logička,

    treću norm

    i definisanj

    dataka:

    ifikovanje s

    p se lako razua u tabeli t

    inisani njeni

    ran

    atmatici gdjređivati sam

    nicu.

    i definisanj

    ati od jednogjednostavni–

    ednost u bilo

    z utjecaja na

    ne pripadaju

    puna imena

    malnu formu,

    e primarnog

    svakog reda

    umije: svakitreba unositi

    i atributi.

    je su skalarimo po jednoj

    e primarnog

    g –

    o

    a

    u

    a

    ,

    g

    a

    i i

    i j

    g

  • NInnkuku

    Problems Međutim, togotovo samNpr. datumičuvati kao tDo odgovorAko vaš sisUkoliko sistatribute. Nasamo dan i mU specifičnživot ako dadatuma plusMeđutim, anaročito važJoš jedna oindikatori (Mnoge komnalik na REmalo vjerovsvom modeDugoročno RedniBrojPu datoj godina performatributa moprenosi puteJoš jedna konvenciongrupiše u jeU konvencinije. Ne saneefikasno. Nažalost, tomogućnost Kad morateverzije unes Postoji još jprvoj norma

    Na slici je prnvoice (faktekom trenuupcima nećeupe više od tPitam se dograničenjeloša, a u ovoJoš jedan pse ponavljslici. Greočigledna, asistemi naosnovu sličn

    anestanda

    o nije uvijekma nameće).

    i su nezgodntri odvojena ara možete dostem najčešćtem češće ob

    a primjer, momesec. ali neom slučaju datumske atris vreme. atributi tipa ži kada u poloblast u koj(flags).

    mpanije dodeEF0010398, švatno da će lu podataka je znatno l

    Predmeta, Mjini svodi se n

    manse, naročiože biti potreem mreže), avrsta neska

    nalnim okružednu riječ i dionalnim okr

    amo što se t

    o je vrsta oizbora po tom

    e da radite ssete u skup z

    jedna vrsta nalnoj formi, arikazana je rtura). Nekoutku odluče biti dozvoljtri različita a

    da li je prethe koje je namom slučaju i rimjer grupea prikazanj

    eški nije a mnogi usp

    apravljeni sunih modela.

    ardnimatri

    k tako očigl

    na oblast. Onatributa ili ka

    oći jeino na oće koristi svebrađuje kompožda vam je e i godina. Tdatuma, buduibute kao tip

    DateTime mlju zanemarujoj ljudi ima

    eljuju šifre pšto bi moglokompanija ppokušate da

    lakše da dijejesec, Godinna jednostavaito u klijentebno da se sa ne na servealarnog atribženjima za pa se zatim teruženjima zaime narušav

    ograničenja km pitanju, ne nasljeđenom

    zapisa.

    neskalarnih va to su gruperelacija

    o je u čio da jeno da

    artikla. hodno razgo

    metnuo sistembesmislena.

    e koja e na tako

    pješni u na

    butima

    edno i jedno

    ni se sastoje oao kombinac

    osnovu semane tri komponponente datudan nebitanakvi slučajevući da progra podataka D

    mogu biti uzrujete komponaju problema

    predmeta ili o značiti da jeprihvatiti da pojedinačno

    elove referenna). S takviman upit nad jt/server okrusvaki zapis pru baze podabuta s kojimprogramiranjee vrijednosti ua programira

    va prva norm

    koje je čestemojte kodim strukturom

    vrijednosti oe koje se pon

    Ovaj mode

    ovarao o tomm, a ne sam n

    8

    ostavno kao

    od tri kompociju? ntike prostornente datumuma pojedinan, a zanimamvi nisu baš čeamiranje datu

    DateTime (da

    zrok problemnentu vremena s neskalam

    referentne oe u pitanju pmijenja svoj

    o manipulišetntne oznake

    m rješenjem, ednim atribuuženjima, gpojedinačno ataka. m ljudi ime, uobičajenučitavaju i isanje, to je pmalna forma

    to nametnutoirati više od m podataka,

    o kojima trebnavljaju.

    el podataka o

    me s direktonačin poslov

    Ov

    u predhodn

    onente: dana,

    ra problema ma zajedna dačno, bolje je

    m samo mjeseesti, ali postoumske aritbu

    atum/vreme)

    ma kada se pna.

    mim (složeni

    oznake koje prvi predmet ja pravila nate dijelovima čuvate kaoodređivanje

    utom i ne zahdje za izdvaispituje na

    maju problemna praksa je spituju pomopotpuno priha, već je to

    o iz istorijskjednog poduvijek može

    ba voditi raču

    ograničava b

    orom prodajvanja. Vješta

    vo je grupa k

    nom primjeru

    , mjeseca i g

    koji razmatraatum treba de da ih čuvatec i godina. oje. uter nije jednkoji kombin

    porede pojed

    m) vrijdnost

    su izračunatzapočet mar

    a vaš zahtjeva referentne oo zasebne atr

    narednog brhtjeva dodataajanje vrijedlokalnom kl

    ma jeste jedda se više v

    oću operatoravatljivo. U rizuzetno nez

    kih razloga. atka u jedanete da raspak

    una kada isp

    broj artikala

    e? To je goačka sistemsk

    koja se ponav

    u (gdje se n

    godine. Da li

    ate. da bude skalte u bazi podIli, možda s

    nostavno, olanuje sve tri

    dinačne kom

    tima jesu šif

    te vrijednostrta 1998. godv, bila bi lošoznake. tribute: (Vrstroja predmetan rad. To zndnosti iz srelijentskom ra

    dnobitni invrijednosti loa nad bitovimrelacionim ozgrapno i -

    Ako imaten atribut. kujete podat

    pitujete da li

    a koje kupac

    otovo sigurnka ograničen

    vlja

    normalizacija

    bi ih trebalo

    larni atribut.datci zasebneu vam važni

    akšaćete sebikomponente

    mponente. To

    fre (codes) i

    ti. npr. neštodine. Iako ješa ideja da u

    taReference,ta otvorenognačajno utičeedine nekogačunarima (i

    ndikator. Uogičkog tipa

    ma. okruženjima,uglavnom -

    bilo kakvu

    tke i da obje

    je relacija u

    može da kup

    no vještačkonja veoma su

    a

    o

    . e i

    i e

    o

    i

    o e u

    , g e g i

    U a

    , -

    u

    e

    u

    pi

    o u

  • Međutim, toZamislite kakom trenutk Šema relacijatributa u sprikazati u o Drugano Relacija je od primarnoSmještanje zavisni samOsnovni zah

    1. Ukl2. Kre

    Dakle, 2NFu nove tabe Na primjer, ProductNamSupplierNamdobavljača)SupplierPho(telefonski bsamo od atra ne od cijelključa.

    Već smo naproblemi od

    U primjeru podatak o aprimarnog k

    o je zapravo ako bi izgledku prvog trom

    ije je u 1NF,svakoj n-torobliku pod-ta

    ormalnaf

    u Drugoj noog ključa (nepodataka u d

    mo od dijela khtjevi 2NF sulanjanje podseiranje veza i

    F ima za cilj sle i kreiraju v

    ključ na slicme (naziv artme (naziv )}, ali polje oneNumber broj dobavljaributa —Suplog kombino

    apomenuli ddržavanja usk

    na slici, postartiklima kojeključa ne mo

    ista strukturadao upit kojimesečja.

    ako se možerki relacije pablela

    forma

    ormalnoj formeključni atribdrugu normaključa. u skupova podizmeđu novih

    smanjenje koveze između

    ci tikla),

    ača) zavisi lierName,

    ovanog

    da je posljediklađenosti po

    taje moguće e vam on dob

    ože da se izos

    a kao ona nai treba da utv

    e prikazati upojedinačni

    mi (2NF) akbuti su atribualnu formu sa

    dataka koji seh tabela i tab

    oličine redudu ovih tabela.

    ica toga reduodataka.

    da podatke obavlja. To nestavi.

    9

    a predhodnojvrdi kor. arti

    u obliku potp(jednostavni)

    ko je u 1NF iuti koji nisu kastoji se od p

    e nalaze u višbela sa kojim

    dantnih poda.

    Svi aundantnost,

    o određenome bi bilo mog

    slici i uzrokikli premašili

    une dvodimei) podaci ili

    i svi njeni nekandidati za premještanja

    še redova i nma su spojene

    ataka, tako št

    atributi relaca posljedica

    Ovo p Logičnormda dvi SuprelaciAko relaciredunmehana dr

    m dobavljačuguće u prvoj

    k je istih probi plan za više

    enzionalne tase vrijednos

    eključni atribključ, niti diou druge tabe

    njihovo smešte korišćenjem

    to se oni “izv

    ije treba da redundantno

    predstavlja b

    čki gledano,malnu formu,va različita eppliers (dobaijom.

    entitete ijama, time ćndantnost, anizam za skugi način ne

    unesete prijrelaciji zato

    blema. e od 10 proc

    abele i ako suosti atributa

    buti funkciono kandidata ele onih poda

    štanje u posebm spoljnih klj

    vlače” iz tabe

    budu zavisniosti mogu b

    bolji model.

    , da biste d, pokušajte dentiteta Prodavljači) preds

    predstavite ćete ne samoveć ćete

    kladištenje poe biste mogli

    e nego što upo što nijedna

    cenata u bilo

    u vrijednostine mogu se

    nalno zaviseza ključ) ataka koji su

    bne tabele. ljučeva

    ele, stavljaju

    i od cijelog kiti neprijatni

    dobili druguda izbjegneteucts (artikli)stavite istom

    odvojenimo eliminisati

    dobiti iodataka kojeda unesete.

    pišete ijedankomponenta

    o

    i e

    e

    u

    u

    ključai

    u e )

    m

    m i i e

    n a

  • Trećano Relacija je nijednog klključa). Osnovni zah

    1. Tab2. Uk

    Praktično p Treća normključa. Drutreba premje

    Ova relacija Dvije relacij

    Jedina stvapoštanski bzanemarljivpotrebna do I ovde je iskako ćete reNemoguće jzasebnu rela

    • Ent• Pod• Sigu

    Poštanski btabela poštaodređivanje

    ormalnafo

    u trećoj norljuča međus

    htjevi 3NF bela je u 1NF

    klonjene su kpostavlja se p

    malna forma sgim riječimaestiti u nove

    a nije striktn

    ije prikazane

    arna prednosbroj pri unošva prednost, odatna operac

    sti princip kaealizovati treje navesti praciju u sljedetitet je važan daci se često urni ste da će

    rojevi se mijanskih brojeve poštanskih b

    orma

    rmalnoj formsobno nezav

    F i 2NF kolone koje npitanje: Da li

    sastoji se od a, treba zadrtabele i form

    no u trećoj no

    e na slici ispo

    t koju pružašenju novih ali vjerovatncija spajanja

    ao i pri donoeću normalnuravila koja bećim slučajevdio modela,mijenjaju, ile vam to pru

    jenjaju, ali nva ne bi bila brojeva (u S

    mi ako je u dvisni, (ako sv

    nisu potpuno i postoje kolo

    uklanjanja sržati samo pmirati primar

    ormalnoj form

    od su tehničk

    a ovo rješenzapisa, što

    no postoje borelacija kad

    ošenju svih du formu možbi uvijek važvima: ili

    li užiti određene

    ne često, a u praktična u AD).

    10

    drugoj normvi njeni nekl

    zavisne od pone koje ne z

    svih podatakodatke koji

    rni ključ za n

    rmi

    ki su ispravni

    nje jeste mokorisniku št

    olji načini dagod se refer

    drugih odlukete odrediti sžila, ali post

    e tehničke pr

    većini sistemvećini aplik

    malnoj formi ljučni atribu

    primarnog klzavise u potp

    ka u tabelamasu zavisni o

    njih.

    ije

    ogućnost da tedi nekolika se objezberencira određ

    ka tokom posamo na osnooje određene

    rednosti pri r

    ma nisu samiacija iz stvar

    i ako su svti netranzitiv

    ljuča. punosti od pr

    a koji ne zavod primarnog

    Ono

    se automatso pritisaka ndi takva funkđena adresa.

    stupka modeovu semantike smjernice.

    realizovanju

    i po sebi važrnog života z

    vi atributi kvno zavise o

    rimarnog klju

    vise jedino og ključa, a o

    Ova relacija ormalnoj for

    ski potraži ona tastere. T

    nkcionalnost,

    elovanja podke modela. Trebalo bi

    modela.

    žni. Osim togzbog različit

    koji nisu diod primarnog

    uča?

    d primarnogone koji nisu

    je u trećojrmi

    odgovarajućiTo nije tako

    u kojoj nije

    dataka: kad i

    da napravite

    ga, odvojenaih pravila za

    o g

    g u

    j

    i o e

    i

    e

    a a

  • 11

    Praktičanprimjernormalizacije Daćemo primjer kako da od neuređene (nenormalizovane) baze dobijemo model u 3NF formi. Krenućemo od jednostavne strukture; imamo spisak članova foruma koji imaju nekakvo znanje o raznim materijama. Neki članovi znaju o muzici, neki o hardware-u dok se neki bolje snalaze sa linux-om; naravno, postoje i oni koji vrlo dobro poznaju i hardware i muziku. Primjer jednostavne tabele bi izgledao ovako:

    TABELA:KOMPLET Id korisnik Zivi Znanje 1 Pera Perić Srbija Audio 2 Mika Mikić Srbija Video 3 Žika Žikić Srbija Audio, Video, Hardware,, Windows 4 Mali Perica Srbija Audio, Video, Baze, Hardware, Windows, Linux, Programiranje 5 Mali Žika BiH Programiranje, Hardware

    Ovo je tipičan primjer loše dizajnirane baze sa samo jednom tabelom u kojoj se nalaze svi podaci. Ako želimo da saznamo koji korisnik zna “video” moramo proći kroz sve korsnike, provjeriti sadržaj polja “znanje” i pregledati prilično nepregledno polje “znanje” te otkriti da li dotični korisnik zna “video” ili ne. Mane ovakve organizacije su očigledne (brzina, preglednost…) te je ovo vrlo nepraktičan način za čuvanje informacija. SvođenjemodelanaprvunormalnuformuRazdvajanje repetitivnih podataka u zasebne tabele našu strukturu dovodi u prvu normalnu formu. Iz našeg primjera (gdje je sve bilo nagurano u istu tabelu), dobijamo 2 odvojene tabele:

    TABELA: KORISNIK Id Korisnik Zivi 1 Pera Perić Srbija 2 Mika Mikić Srbija 3 Žika Žikić Srbija 4 Mali Perica Srbija 5 Mali Žika BiH

    TABELA: ZNANJE

    Znaje_ID korisnik_ID Znanje_IME 1. 1 Audio 2. 2 Video 3. 3 Audio 4. 3 Video 5. 3 Hardware 6. 3 Windows 7. 4 Audio 8. 4 Video 9. 4 Baze 10. 4 Hardware 11. 4 Windows 12. 4 Linux 13. 4 Programiranje 14. 5 Hardware 15. 5 Programiranje

  • Svodjenje Ako pogledprimjetićemdefiniše slognekim slučarelaciji sa kšto se odražAko na primzvukom”) mDalje, pretpu tom slučbrisanju). Da bi ste zaDa bi “razvključa koji d

    ZNANJ1. 2. 3. 4. 5. 6. 7.

    modelana

    damo tabelu mo da nam se

    g tabele, u taajevima mož

    korisnikom i žava na prostmjer želite dmorate to impostavite da “čaju, potpuno

    aobišli ove anili” našu bazdefinišu tabe

    TABELJE_ID

    drugunorm

    “ZNANJE” e podaci dupabeli KORISže da ima sbezrazložno

    tor potreban da promjenitme promjenit“mali perica”o će nestati

    nomalije, potzu u drugu noelu “ZNANJE

    LA: ZNANJEZNANJE_Audio Video Hardware Windows Baze Linux Programira

    malnuform

    iz prethodnpliciraju. Za NIK slog demisla, ali u

    o se multiplicza čuvanje iste ime jednoti na više m” ode sa foru

    referenca d

    trebna vam jormalnu formE”. Rezultat

    E _IME

    anje

    12

    mu

    og primjera razliku od ta

    efinišu KORInašem sluč

    cira u tabeli, stih, otežavaog “znanje”

    mjesta, umjesuma; u tom slda je znanje

    e druga normu, potrebnoće biti dve ta

    Z

    gdje smo svabele “KORISNIK_ID i Zčaju, gdje im

    možemo zaki usporava o(na primjer

    sto samo nalučaju treba oe “Linux” p

    rmalna formo je da razdvoabele:

    TABEZNANJE_ID

    1 2 1 2 3 4 1 2 3 4 5 6 7 3 7

    veli model nISNIK” gdjeZNANJE_ID

    me “znanja” ključiti da naoperacije sa b

    želite da “Aa jednom (anobrisati sve sostojalo na

    ma. ojimo atribut

    LA: KORISN KO

    1 2 3 3 3 3 4 4 4 4 4 4 4 5 5

    na prvu norme atribut KOD atributi zajrealno nije am se podacbazom. Audio” postanomalija prslogove vezaforumu (an

    te koji zavise

    NIK_ZNANJORISNIK_ID

    malnu formu,ORISNIK_ID

    edno. Ovo uni u kakvoj

    ci “dupliraju

    ane “Rad sai promjeni).ane za njega;nomalija pri

    e od oba

    JE

    , D u j u

    a . ; i

  • Svođenjem Ako pogledispunjava i ključa). Da uzmemo na“BIH” (anomoramo prozahjteva da

    DRZAVA1 2

    modelanat

    damo malo bprvu i drugubi postigli t

    a primjer da omalija pri bomjeniti na vpodatak o “Z

    TABELA: A_ID

    trećunorm

    bolje tabelu u normalnu fotreću normal“mali zikica

    brisanju) ili više od jednoZIVI” prebac

    DRZAVA DRZAVA_IMSrbija BiH

    malnuformu

    “KORISNIKformu, atribulnu formu, taa” napusti foako “Srbija”

    og mjesta (ancimo u zaseb

    ME

    13

    u

    K” iz primjeut “ZIVI” nijeaj podatak m

    orum, te se s” ponovo prnomalija priban entitet.

    KORISN1 2 3 4 5

    ra za drugu e direktno za

    mora da se oslogovi koji nromjeni ime i promjeni).

    TABNIK_ID K

    pemizikmama

    normalnu foavistan od IDodvoji u zasenjega definišu “Uža SrbiRazlaganje n

    BELA: KORIORISNIK_IM

    era peric ika mikic kica zikic ali perica ali zikica

    ormu, videćeD-a korisnikaebnu tabelu. šu obrišu, neija sa okolinna treću norm

    ISNIK ME DRZ

    1 1 1 1 2

    emo da iakoa (primarnogZašto? Ako

    estaće trag onom”, to imemalnu formu

    AVA_ID

    o g o o e u

  • Primjeri Analiza annajjednostavprincipa koj 1NFianomNeka na poč

    INSERT anUPDATE aDELETE an 2NF 1NF nije u 2ali i{PredmNastavnik funkcionaln

    Rješeni proProblemi u INSERT – NUPDATE –mora se uraDELETE – U 2NF prva

    ianalizaa

    nomalija i fovnije usvajaji se trebaju p

    maliječetku imamo

    nomalije Neanomalije Prnomalije Ak

    2NF Postojmet} →{Nasta

    i Odjel u ne zavisnosti

    oblemi sa 2N1NF Ne može se d

    – Izmjena podaditi u dva za

    Ako se izbri

    a dva problem

    1NF

    anomalija

    formalna pria praksom. Ppoštovati da

    o nenormaliz

    e može se dorilikom promko izbrišemo

    i FZ{Predmavnik, Odjelparcijalnoj :

    NF

    dodati predmdataka nastav

    apisa (reda). iše P3, briše

    ma su otklonj

    a

    mjena relacPrimjer i kobi mogli diz

    zovanu bazu

    dati predmetmjene podatao P3, brišemo

    et, Lekcija} } zavisnosti o

    met bez Lekcvnika za pred

    se iN2.

    njena, ali ne i

    14

    cionoh računomentari kojzajnirati bazu

    koje jednost

    t bez lekcijeaka predmetao i N2.

    →{Nastavni

    od primarno

    cije. dmet P1,

    i treći

    na je kompi slijede su

    u podataka.

    tavno „atomi

    a P1, moraju

    ik, Odjel}

    og ključa.sv

    Preostali prINSERT anNe može se nijedan predUPDATE anDa bi promiizmijeniti 2 DELETE anAko se obri

    leksan probdovoljno il

    ziramo“ i sv

    se izmjeniti

    ođenje na 2

    roblemi u 2Nomalije dodati nasta

    dmet. nomalije ijenili odjel nreda.

    nomalije še P3 briše s

    blem koji selustrativani z

    vedemo na 1N

    dva reda tab

    2NF preko

    NF

    avnik koji ne

    nastavniku N

    sei N2

    e najbolje iza shvatanje

    NF.

    bele.

    objašnjenja

    predaje

    N1 moraju se

    i e

    a

  • 3NF

    Problemi u INSERT anUPDATE aDELETE anU 3NF svi o

    DaljenorPrve tri normslučajeva onViše norma Četvrta norm Peta normal

    pojednostPrvu normatributa Prva normalnpostavlja najoEliminisanje dKreiranje posključ) Druga norsu svi neRelacija je u Dfunkcionalno Treća norne sadržifunkcionaili je A Uklonjene su Postoji i poboRelacija i kandidarelacije Norme 4NF i5NF.

    2NF nomalije- Ne anomalije Dnomalije Akovi problemi

    rmalizovamalne formene su dovoljn

    alne forme su

    malna forma

    lna forma uk

    tavljeno: malna for jednostru

    na forma (1NF)osnovnija pravduplih kolona sebne tabele za

    rmalna formprimarni aDrugoj normalzavise od prim

    rmalna formi tranzitilnu zavisnprimarni akolone koje n

    oljšana 3NFa sje u Boyceat za ključkoje su u

    i 5NF su prven

    može se dodDa bi promije

    ko se obriše i su riješeni(z

    anjee bile su opisne. u bazirane na

    a uklanje više

    klanja zavisn

    rma (1NF):uka i nedj

    F) vila za organizo

    iz iste tabele a istu grupu p

    ma: Relaciatributi plnoj formi (2Nmarnog ključa ma: Relaciivne zavisnost X → Aatribut. isu potpuno zae zove i Boycee-Codd-ovoč. Očito r3NF, no n

    nstveno od teor

    dati nastavnikenili odjel nasP3 briše sei

    za ovu relacij

    sane u Coddo

    a drugoj vrsti

    e-vrjednosne

    osti udruživa

    : Relacijeljiva.

    ovanu bazu pod

    ovezanih poda

    ija je u dpotpuno funNF) ako je u 1N

    (neključni atribija je u tsnosti. PrA u R, tak

    avisne od prime-Coddova nooj normalnorelacija knisu u BCNFrijskog značaja

    15

    k koji ne prestavniku N1 N2.

    iju – ali 3NF

    ovoj prvobitn

    i zavisnosti.

    e zavisnosti.

    anja.

    a zadovol

    dataka:

    ataka i identifi

    drugoj nornkcionalno

    NF i svi njeni nbuti su atributitrećoj norreciznije,kvu da A n

    marnog ključa.ormalna forma oj formi (koja je u F. a, jer je teško

    edaje nijedanmoraju se iz

    i dalje može

    noj formulac

    ljava 1NF

    fikovanje svako

    rmalnoj foro zavisni oneključni atribui koji nisu kandrmalnoj for, relacijanije u X,

    (BCNF). (BCNF) akoBCNF takođ

    u praksi naći r

    n predmet. zmijeniti 2 re

    e imati anom

    ciji relacione

    ako je

    og reda jedins

    rmi (2NF) o primarno

    uti didati za ključ,rmi (3NF) a R je u vrijedi: X

    o je svaka đe i u 2NF

    relacije koje je

    eda.

    malije!)

    e teorije. U v

    vrijednos

    nstvenom kolon

    ako je u om ključu.

    , niti dio kandiako je u 3NF ako

    X sadrži k

    njena detF i 3NF. N

    esu u BCNF, a

    elikoj većini

    st svakog

    nom (primarni

    1NF i ako

    idata za ključ)2NF i akoza svaku

    ključ za R

    terminantaNo postoje

    a nisu u 4NF i

    i

    g

    i

    o

    o u R

    a e

    i

  • 16

    Razlozizbogkojihsemožeodustatiodnormalizacije Za većinu praktičnih primjera dovoljno je relacije normalizovati do 3NF. Ponekad je potrebno neku relaciju i dalje normalizovati do BCNF ili 4NF. Peta normalna forma, koja se takođe navodi u literaturi, nije od praktičnog značaja. Postoje razlozi zbog kojih ponekad možemo odustati od pune normalizacije. Pogledajmo dva takva razloga. 1.Složeni atribut . Dešava se da nekoliko atributa u relaciji čine cjelinu koja se u aplikacijama nikad ne rastavlja na sastavne djelove. Na primjer, posmatrajmo relaciju KUPAC ( PREZIME IME, POŠTANSKI_BROJ, GRAD, ULICA ) . Strogo govoreći, GRAD je funkcionalno zavisan o POŠTANSKI_BROJ, pa relacija nije u 3NF. No mi znamo da POŠTANSKI BROJ, GRAD i ULICA čine cjelinu koja se zove adresa. Budući da se podaci iz adrese koriste i ažuriraju "u paketu", ne može doći do prije pominjanih anomalija. Nije preporučljivo razbijati ovu relaciju na dvije. 2.Efikasno čitanje podataka . Normalizacijom se velike relacije razbijaju na mnogo manjih. Kod čitanja je često potrebno podatke iz malih relacija ponovo sastaviti u veće n-torke. Uspostavljanje veza medu podacima u manjim relacijama traje znatno duže nego čitanje podataka koji su već povezani i upisani u jednu veliku relaciju. Projektant baze podataka treba da procjeni kada treba provesti normalizaciju do kraja a kada ne. Za tu procjenu je važno razumjevanje značenja podataka i načina kako će se oni koristiti.

  • 17

    Dodatak:Procedureialgoritmi

    GENERALPROCEDUREFORACHIEVINGANORMALIZEDSETOFRELATIONS 1.Identify the attributes of the database. 2. Group related attributes into relations. 3. Identify the candidate keys for each relation. 4. Select the most useful primary key from among the set of candidate keys. 5. Identify and remove all repeating groups. The result is a relation in 1NF. 6. If any of the resulting relations have identical primary keys, then combine them into a single relation. 7. Identify all functional dependencies between the attributes of a relation and its primary key. 8.Decompose the relations to a form where each nonkey attribute is dependent on all the attributes of the key. Do this by taking projections of the 1NF relation that eliminate any non full functional dependencies. The result is a set of relations in 2NF. 9. If any of the resulting relations have identical primary keys, then combine them into a single relation. 10. Identify any transitive dependencies in the relations decomposed to this point.

    1. Examine relations for dependencies among nonkey attributes. 2.Examine relations for dependencies among key within the primary key.

    11. Remove transitive dependencies by decomposition. Do this by taking projections of the 2NF relations produced by steps 8 and 9 that eliminate any transitive functional dependencies. The result is a set of relations in 3NF. 12. If any of the resulting relations have identical primary keys, then combine them into a single relation if and only if no transitive dependencies result from the combination. 13. Remove any remaining functional dependencies from the 3NF set of relations. Do this by taking projections of the 3NF relations produced by steps 8 and 9 that eliminate any remaining functional dependencies where the determinant is not a candidate key. The result is a set of relations in BCNF. 14. Remove any multivalued dependencies that are not also functional dependencies. Do this by taking projections of the BCNF relations produced by step 13. The result is a set of relations in 4NF. 15. The likelihood that any join dependencies not implied by the candidate keys remain by this point is virtually nil. If you can identify any such relations, then take projections of them to eliminate the non-implied join dependencies. The result is a set of relations in 5NF. 16. Particularly for temporal data, but sometimes to eliminate nulls as well, take projections to 6NF. 17. End of procedure.

  • Algoritam

    Algoritam

    2NFnorma

    3NFnorma

    alizacije

    alizacije

    18