DISTRIBUIRANA OBRADA I RELACIONE BAZE PODATAKA …download.tutoriali.org/Tutorials/Baze_podataka/distribuirana... · Baza podataka-sadrži fizički oblik šeme i podataka-Sistem koji

Embed Size (px)

Citation preview

  • DISTRIBUIRANA OBRADA I RELACIONE BAZE PODATAKA

    mr Duan Markovisoba 237 ponedeljak od 12-14h

  • TA JE BAZA PODATA?

    Izraz baza podatakakoristi se za opisivanje svaega od obine grupe podataka, do sloenog skupa alatki.

    Izraz baza podatakakoristi se za opisivanje svaega od obine grupe podataka, do sloenog skupa alatki.

  • TERMINOLOGIJA RELACIONIH BAZA TERMINOLOGIJA RELACIONIH BAZA PODATAKPODATAK

    Prostor problema neki dobro definisan deo stvarnog sveta-

    Model podataka

    ema baze

    podataka -opisuje model-

    Aplikacija

    -se sastoji iz obrazaca-

    Maina baze podataka

    nije sastavni deo baze podataka-

    Baza podataka

    -sadri fiziki oblik eme i podataka-

    Sistem koji radi s bazom podataka

  • PROSTOR PROBLEMA (problem space)

    Po svojoj prirodi je zbrkan i sloPo svojoj prirodi je zbrkan i sloen.en.

    Meutim za uspeh projekta je vrlo vano da sistem za koji projektujete bazu podataka bude ogranien na tano definisani skup objekata i njihovih odnosa.

  • MODEL PODATAKAMODEL PODATAKA(data model)(data model)

    Model podataka obuhvata opis veza ili odnosa izmeu pojedinih entiteta kao i ogranienja.

    Model podataka nita ne govori o fizikoj strukturi sistema

  • EMA BAZE PODATAKA(database shema)

    To je preslikavanje pojmovnog modela u fiziki oblik, koji se moe realizovati.

  • BAZA PODATAKABAZA PODATAKA

    Sadri fizike tabele u kojima se uvaju podaci, upiti i uskladitene procedure.

  • MAMAINA BAZE PODATAKAINA BAZE PODATAKA(database engine)(database engine)

    Prepoznaje tabele, okidae i slinih elemenata.

    Na ovom nivou ne morate da se bavite fizikim oblikom baze podataka

  • APLIKACIJAAPLIKACIJA

    Sastoji se od obrazaca i izvetaja sa kojima radi korisnik

    Ovde spada i posredniki sloj ili IIS ija je namena da povezuje eonu i pozadinsku

    komponentu sistema

  • ALATKE ZA RAD SA BAZAMA

    Zadatak maine baze podataka je da fiziki manipulie podacima kao to su smetanje na disk i uitavanje s njega na zahtev

    Zadatak maine baze podataka je da fiziki manipulie podacima kao to su smetanje na disk i uitavanje s njega na zahtev

  • MICROSOFT JET

    Microsoft Jet je stona maina baze podataka, namenjena sistemima koji se po veliini mogu svrstati u opseg od malih do srednjih

  • SQL SERVERSQL SERVER

    SQL Server koristi klijent/server arhitekturu i namenjen je od srednjih do ogromnih sistema.

  • Objektni modeli za pristupanje Objektni modeli za pristupanje podacimapodacima

    Microsoft (zasad) stavlja na raspolaganje tri objektna modela za pristupanje podacima.

    Data Access Objects (DAO), koji postoji u dve varijante (DAO/Jet i DAO/ODBC Direct)

    Microsoft ActiveX Data Objects (ADO) ADO.NET

    Data Access Objects (DAO), koji postoji u dve varijante (DAO/Jet i DAO/ODBC Direct)

    Microsoft ActiveX Data Objects (ADO) ADO.NET

  • DAODAO

    DAO je najefikasniji objektni model za rad sa Jetovim bazama podataka u Access-u

    DAO je najefikasniji DAO je najefikasniji objektni model za rad sa objektni model za rad sa Jetovim bazama podataka u Jetovim bazama podataka u AccessAccess--uu

  • ADOADO

    ADO je jednostavniji od DAO i donosi poboljanje u vidu podrke za rad s nepovezanim hijerarhijskim skupovima podataka

    ADO je jednostavniji ADO je jednostavniji od DAO i donosi od DAO i donosi poboljpoboljanje u vidu anje u vidu podrpodrke za rad s ke za rad s nepovezanim nepovezanim hijerarhijskim hijerarhijskim skupovima podatakaskupovima podataka

  • OkruOkruenje za definisanje podatakaenje za definisanje podataka

    Ovo okruenje je Access i SQL Server Enterprise Manager i slue nam kao nain za opisivanje struktuiranje podataka

    Ovo okruenje je Access i SQL Server Enterprise Manager i slue nam kao nain za opisivanje struktuiranje podataka

  • Razvoj Razvoj eone komponente aplikacijeeone komponente aplikacije

    Alat za korienje izrade obrazaca i izvetaja su Access i Visual Studio .NETAlat za korienje izrade obrazaca i izvetaja su Access i Visual Studio .NET

  • Relacioni model

    Relacioni model se bazira na grupi matematikih principa izvedenih iz teorije skupova i predikatne logike

    Pravila relacionog modela definiu:1. oblik u kojem se podaci predstavljaju (struktura), 2. nain na koji se podaci tite (integritet podataka) i 3. operacije koje se mogu izvriti nad podacima (manipulisanje

    podacima)

    Pravila relacionog modela definiPravila relacionog modela definiu:u:1.1. oblik u kojem se podaci predstavljaju (struktura), oblik u kojem se podaci predstavljaju (struktura), 2.2. nanain na koji se podaci in na koji se podaci tite (integritet podataka) i tite (integritet podataka) i 3.3. operacije koje se mogu izvroperacije koje se mogu izvriti nad podacima (manipulisanje iti nad podacima (manipulisanje

    podacima)podacima)

  • Odlike relacionog sistemaOdlike relacionog sistema

    Svi podaci se konceptualno predstavljaju organizovani u redove i kolone; skup tako organizovanih podataka zove se relacija(relation)

    Sve vrednosti su skalarne. To znai da se na svakom mestu koje je odreeno datim redom i kolonom, nalazi jedna i samo jedna vrednost

    Sve operacije obavljaju se nad celom relacijom, a rezultat je takoe cela relacija. Taj koncept je poznat kao celovitost (closure).

  • Relaciona terminologijaRelaciona terminologijaAtributi

    Zaglavlje

    Formalna terminologija

    Konceptualna Fizika MS Access SQL Server

    relacija tabela tabela ili skup

    zapisa

    tabela ili skup

    zapisa

    atributi polje polje kolona

    torka zapis zapis red

  • Model podatakaModel podataka

    Model podataka je najapstraktniji nivo projektovanja baza podataka, to predstavlja konceptualni opis prostora problema.

    Modeli podataka sastoje se od elemenata:1. entiteta2. atributa3. domena i veze

  • Entiteti (entity)Entiteti (entity)

    Entitet je sve o emu sistem treba da skladiti podatke

    Entitet je sve o Entitet je sve o emu sistem emu sistem treba da skladitreba da skladiti podatketi podatke

    Primeri entiteta:1.Kupci2.Prodavci3.Studenti itd..

    Primeri entiteta:1.Kupci2.Prodavci3.Studenti itd..

  • AtributiAtributi

    Atributi, pobliAtributi, poblie odreuju entitetee odreuju entitete..

    Odreivanje atributa koje ete ugraditi u svoj model, morate doneti na osnovu znaenja podataka i naina na koji e se oni koristiti

    Odreivanje atributa koje ete ugraditi u svoj model, morate doneti na osnovu znaenja podataka i naina na koji e se oni koristiti

  • Prva strategija odreivanje atributaPrva strategija odreivanje atributa

    Krenite od rezultata i nemojte praviti sloeniju strukturu nego to je zaista potrebno.

    Krenite od rezultata i nemojte praviti Krenite od rezultata i nemojte praviti slosloeniju strukturu nego eniju strukturu nego to je zaista to je zaista potrebno.potrebno.

    Drugim reima, treba nai odgovor na koja pitanja vaa baza podataka mora dati odgovor

  • Druga strategija

    Otkrijte izuzetkeOtkrijte izuzetke

    Prvo Prvo -- morate identifikovati sve izuzetkemorate identifikovati sve izuzetkeDrugo Drugo sistem morate projektovati tako da sistem morate projektovati tako da

    obrauje obrauje to veto vei broj izuzetaka ali da pri i broj izuzetaka ali da pri tome ne zbunjuje korisnikatome ne zbunjuje korisnika

    Imajte u vidu da morate napraviti kompromis izmeu Imajte u vidu da morate napraviti kompromis izmeu fleksibilnosti i slofleksibilnosti i sloenostienosti

  • Domen Domen (domain)(domain)

    Domen predstavlja skup svih prihvatljivih vrednosti koje atribut moe imati

    Domen predstavlja skup svih prihvatljivih vrednosti koje atribut moe imati

  • Veze/odnosi izmVeze/odnosi izmeu entiteta eu entiteta (relationship)(relationship)

    Pod vezom ili odnosom izmeu entiteta podrazumeva se njihova asocijacija

    Entiteti izmeu kojih postoji veza ili odnos zovu se uesnici veze (participants)

    Broj uesnika odreuje stepen veze

  • Binarna vezaBinarna veza

    Binarna veza predstavlja vezu izmeu dva entiteta.

    Specijalan sluaj binarne veze je entitet koju uestvuje u vezi sa samim sobom. To se esto zove veza tipa sastavnice i najee se koristi za predstavljanje hijerahijskih struktura.

    Specijalan sluaj binarne veze je entitet koju uestvuje u vezi sa samim sobom. To se esto zove veza tipa sastavnice i najee se koristi za predstavljanje hijerahijskih struktura.

  • Vrsta veza izmeu entiteta

    Jedan prema jedan Jedan prema vie Vie prema vie

  • Veza tipa jedan prema jedanVeza tipa jedan prema jedan

    Veze tipa jedan prema jedan su retke, ali mogu biti korisne u nekim okolnostima

  • Veza tipa jedan prema viVeza tipa jedan prema viee

    Veze tipa jedan prema vie su verovatno najuobiajenija vrsta.

  • Veza tipa viVeza tipa vie prema vie prema viee

    Veze tipa vie prema vie nisu neoubiajene i mogu se nai brojni primeri

  • Struktura modela objekti-veze MOV

    U okviru MOV sistema, vri se opisivanje objekata i njihovih veza

    ta su objekti?

    Objekat u modelu predstavlja bilo neki fiziki objekat ili koncept realnog sistema (konkretan proizvod , konkretnog radnika, vremenski trenutak ili period, smer studija i slino)

    Student Studiranje Fakultet

    studira pohaa

    Objekat ObjekatVeza

    Veze u modelu opisuju nain povezivanja (uzajamna dejstva) objekata

  • U MOV-u se direktno predstavljaju samo binarne veze, veze izmeu dva objekata

    Struktura modela objekti-veze MOV

    Svaki tip binarne veze tipova objekata E1 i E2 definie dva tipa preslikavanja E1--->E2 i inverzno preslikavanje, E2-->E1

    U prethodnom primeru:1. Studira: Student Fakultet (Student studira fakultet)2. Pohaa: Fakultet Student (Fakultet pohaa studenti)

  • Konvencije za koncept veza

    Nazivi veza se uvek zadaju Nazivi preslikavanja se obavezno zadaju u

    rekurzivnim vezama (binarna veza nad jednom klasom)

    Nazivi preslikavanja u ostalim vezama su opcioni i zadaju se samo kada je neophodno istai ulogu objekata u vezi, odnosno kada se uloga oba objekta u vezi ne moe dedukovati iz naziva veza.

    Nazivi veza se uvek zadaju Nazivi preslikavanja se obavezno zadaju u

    rekurzivnim vezama (binarna veza nad jednom klasom)

    Nazivi preslikavanja u ostalim vezama su opcioni i zadaju se samo kada je neophodno istai ulogu objekata u vezi, odnosno kada se uloga oba objekta u vezi ne moe dedukovati iz naziva veza.

  • Kardinalnost veza

    Kardinalnost veza E1 E2 definie se parom (DG, GG)

    DG donja granica, daje najmanji mogui

    GG gornja granica, daje najvei mogui broj pojavljivanja objekta E2 DG =

  • Atribut i domenAtribut i domen

    Objekti se opisuju preko svojih atributa

    Atributi uzimaju vrednost iz skupa moguih vrednosti, koji se nazivaju domeni

    Student

    Ime

    brIndexa

    datRodjenja

    jezici Adrese

    Fakultet

    Naziv

    Adresa

    studiranje

    (1,1)

    (1,1)

    (1,1)

    (1,1)

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

  • Atributi i domeniAtributi i domeni

    Jednoznani atributi objekta su atributi sa kardinalnou DG=1 i GG=1 nazivaju se indetifikatori objekta

    Vieznani atributi su atributi sa GG=M

  • Ako domen vieznanog atributa ima unapred zadat, semantiki skup vrednosti, tada se on modelira kao objekat.

    Ako domen vieznanog atributa nema unapred zadat semantiki znaajan skup vrednosti, tada se predstavlja preko novog koncepta (identifikaciono zavisnog slabog objekta).

    Atributi i domeniAtributi i domeni

  • Student

    Ime

    brIndexa

    datRodjenja

    Naziv

    Ulica

    Fakultet

    Naziv

    Adresa

    studiranje

    1,M

    1,M

    Adrese

    Broj

    Jezici

    Zna

    ZnaJezik

    0,M

    studira pohaa

    (0,1) (0,M)

  • Slabi objekatSlabi objekat

    Slabi objekat u modelu ne moSlabi objekat u modelu ne moe da e da postoji (egzistencijalno je zavisan) i postoji (egzistencijalno je zavisan) i ne mone moe da se identifikuje bez veze e da se identifikuje bez veze sa njemu nadreenim objektomsa njemu nadreenim objektom

  • OgraniOgranienjaenja

    konstanta (>,

  • Generalizacija i specijalizacijaGeneralizacija i specijalizacija

    Generalizacija je apstrakcija u kojoj se skup slinih tipova objekata tretira kao generiki tip (nadtip). Slini tipovi su tipovi koji imaju neka zajednika svojstva ili veze.

    Specijalizacija je inverzni postupak u kome se za neki tip objekata, definiu njegovi podtipovi, koji imaju neka njima specifina svojstva.

  • PrimerPrimer

    Zaposleni

    Profesor Tehniko osoblje Odravanje

    s

    JMDGPrezime

    predmet plata

    IMe

    vrsta (0,1)

  • OznaOznaavanje generalizacijeavanje generalizacije

    Generalizacija, odnosno specijalizacija se u MOV predstavljaju specijalnom oznakom S(potie od Subtype) vezom, koja se esto naziva i ISA

    Generalizacija, odnosno specijalizacija se u MOV predstavljaju specijalnom oznakom S(potie od Subtype) vezom, koja se esto naziva i ISA

  • Ekskluzivna specijalizacijaEkskluzivna specijalizacija

    Eksluzivna specijalizacija je da kada se jedno pojavljivanje tipa moe specijalizovati u samo jedan podtip. GG=1

    Eksluzivna specijalizacija je da kada se jedno pojavljivanje tipa moe specijalizovati u samo jedan podtip. GG=1

  • Neekskluzivna specijalizacijaNeekskluzivna specijalizacija

    Kada se jedno pojavljivanje tipa moe specijalizovati u pojavljivanju razliitih podtipova GG>1

  • Obavezna specijalizacijaObavezna specijalizacija

    Obavezna specijalizacija je kada pojavljivanje tipa mora specijalizovati neki podtip (unija podtipova je jednaka nadtipu) DG=1

  • Neobavezna specijalizacijaNeobavezna specijalizacija

    Neobavezna specijalizacija je kada je DG=0

  • Agregacija i dekompozicijaAgregacija i dekompozicija

    Agregacija je apstrakcija u kojoj se skup povezanih objekata tretira kao jedinstveni objekat na viem nivou apstrakcije. Zbog toga to istovremeno predstavlja i jedinstveni objekat i vezu objekata koje ga ine agregacija se esto zove i meovit tip objekata-veza

    Dekompozicija je inverzna agregaciji

  • SpecifiSpecifinost agregacijenost agregacije

    Agregacija je egzistencialno zavisna od svojih komponenti

    Agregirani objekat se razlikuje od ostalih objekata u sistemu po tome to nema svoj sopstveni identifikator, ve ga identifikuju objekti koje on agregira.

  • PrijavaStudent Predmet

    Profesor

    overa

    brIndexa

    imejmbg datum

    ocena sifrapred.

    naziv

    Ime Zvanje

    (1,1)

    (0,M)

  • Primer

    Potrebno je voditi evidenciju o svim lekovima sa sledeim osnovnim atributima. Komercijalni naziv, Hemijski naziv, Doziranje, Dejstvo, Neeljeni efekti. Svaki lek se koristi za leenje najmanje jedne vrste bolesti. S druge strane, za svaki lek potrebno je dati kontraindikacije kojih moe biti vie. Svaki lek pripada samo jednoj primarnoj grupi lekova (antibiotici, analgetici, antipiretici). Lek proizvodi jedan i samo jedan proizvoa. Lek se pakuje u vie oblika (tableta, sirup, injekcijaprasak. Za svaku vrstu pakovanja leka potrebno je voditi evidenciju o koliini i sastavu.

  • Kontraindikacije

    Lek

    KomNaziv

    HemNaziv

    Doziranje

    Dejstvo

    NeEfekat Bolest

    1,M

    0,M

    ProizvoaProizvodi1,1 1,M

    Pakovanje

    Pakuje

    oblik

    koliinasastav

    1,M

    1,1

    Grupa NazivGrupe

    Pripadnost

    0,M

    0,M

    Naziv

  • Primer za vebu

    Nacrtati dijagram objekti-veze za video klub. Potrebno je obezbediti pretraivanje po nazivu filma, anru, reiseru, glumcima, scenaristi i muzici. Voditi evidenciju o lanu video kluba (osnovni atributi: JMBG, Ime, Prezime, Status). Video klub poseduje vie kaseta (kopija) istog filma. Potrebno je obezbediti praenje istorijata izdavanja i vraanja svake kasete. Jedan lan kluba moe dnevno zaduiti vie kaseta.

  • OgraniOgranienjaenja

    MOV najveu panju posveuje strukturi modela, ogranienja, operacije i na dinamika pravila integriteta (ali samo ovla)

    Ogranienja se klasifikuju na sledee klase:

    Strukturna ogranienja To su jeziki iskazi koji su bitni samo u onim delovima u kojima je mogue da operacije auriranja baze narue strukturu modela

    Vrednosna ogranienja, definiu dozvoljene vrednosti atributa i dozvoljene promene ovih vrednosti.

  • OperacijeOperacije

    Ubacivanje (Insert) Izbacivanje (Delete) Auriranje (Update)

  • DinamiDinamika pravila integritetaka pravila integriteta

    Dinamiko pravilo integriteta ini trojka preko koga se iskazuje koje se akcija preduzima kada neka operacija narui definisano ogranienje.

    Postoje :1.Prosta ogranienja2.Sloena vrednosna pravila integriteta

    Postoje :1.Prosta ogranienja2.Sloena vrednosna pravila integriteta

  • Prosta ograniProsta ogranienjaenja

    Prostim ogranienjima nazivamo ogranienjima na pojedinanim vrednostima atributa koji mogu da se narue prilikom operacija ubacivanja i auriranja. Zato se formira tabela ATRIBUT, DOMEN, OGRANIENJE, AKCIJA

    Poruka:Jezik ne postoji

    In (Ruski, Engleski, Nemaki, panski)

    stringNazivJ

    Poruka: Starost van opsega

    Between 15,65tinyintStarost

    AkcijaOgranienjeDomenAtribut

  • SloSloena vrednosna pravila ena vrednosna pravila integritetaintegriteta

    Uobiajeno je da je akcija koja se definie jedinstvena za sva mogua naruavanja posmatranog ogranienja

  • Strukturna dinamiStrukturna dinamika pravila ka pravila integriteta i fiziintegriteta i fiziki MOVki MOV

    Strukturna dinamika pravila integriteta, nad MOV strukturom su veoma sloena. Zato je potrebno da se MOV transformie u FMOV (fiziki model objekat veze).

    U FMOV-u ne postoje veze u kojima oba preslikavanja imaju gornju granicu kardinalnosti M a takoe i donju granicu kardinalnosti 0. Obe ove veze se transformiu u agregaciju.

  • Strukturna dinamiStrukturna dinamika pravila ka pravila integriteta i fiziintegriteta i fiziki MOVki MOV

    U strukturnim dinamikim pravilima integriteta, definiu se akcije koje se preduzimaju prilikom naruavanja kardinalnosti preslikavanja i to preko sledeih kljunih rei:

    Restrict Cascade SetNull SetDefault

    RestrictRestrict CascadeCascade SetNullSetNull SetDefaultSetDefault

  • RestrictRestrict

    Operacija se ne izvrava ako naruava odgovarajui strukturni integritet. Npr. nedozvoljava se brisanje nekog pojavljivanja ako postoji njegov preslikani deo.

    Operacija se ne izvrava ako naruava odgovarajui strukturni integritet. Npr. nedozvoljava se brisanje nekog pojavljivanja ako postoji njegov preslikani deo.

  • CascadeCascade

    Operacija se prenosi na objekat kodomen da bi se zadovoljio strukturni model.

    Operacija se prenosi na objekat kodomen da bi se zadovoljio strukturni model.

  • SetNullSetNull

    Uspostavlja se veza sa nepoznatim objektomobjektom (nula objektom)Uspostavlja se veza sa nepoznatim objektomobjektom (nula objektom)

  • SetDefaultSetDefault

    Uspostavlja se veza sa default objektom kodomena, pod pretpostavkom da je defaultpojavljivanje klase kodomena definisano.

    Uspostavlja se veza sa default objektom kodomena, pod pretpostavkom da je defaultpojavljivanje klase kodomena definisano.

  • Kontraindikacije

    Lek

    KomNaziv

    HemNaziv

    Doziranje

    Dejstvo

    NeEfekat Bolest

    1,M

    0,M

    ProizvoaProizvodi1,1 1,M

    Pakovanje

    Pakuje

    oblik

    koliinasastav

    1,M

    1,1

    Grupa NazivGrupe

    Pripadnost

    0,M

    0,M

    Naziv

  • Operacije Preslikavanje Opcija

    Lek -->Grupa SetDefault

    Lek -->Proizvoa SetDefault

    Lek -->Pakuje Cascade

    Lek -->Bolest Cascade

    Insert Lek

    Lek -->Kontaindikacije Cascade

    Lek -->Grupa -

    Lek -->Proizvoa -

    Lek -->Pakuje Cascade

    Lek -->Bolest Cascade

    Delete Lek

    Lek -->Kontaindikacije Cascade

    Insert Grupa Grupa -->Lek --

    Delete Grupa Grupa -->Lek Restrict

    Insert Proizvoa Proizvoa -->Lek -

    Delete Proizvoa Proizvoa -->Lek Cascade

    Insert Pakovanje Pakovanje -->Pakuje -

    Delete Pakovanje Pakovanje -->Pakuje Restrict

    Insert Bolest Bolest -->Lek Restrict

    Delete Bolest Bolest -->Lek -

    Insert Kontraindikacije Kontraindikacije -->Lek Restrict

    Delete Kontraindikacije Kontraindikacije -->Lek -

  • IDEF1X standard za modelovanje IDEF1X standard za modelovanje podatakapodataka

    U IDEF1X definiu se dve vrste klasa

    Klasa nezavisnih (jakih) objekata Klasa zavisnih (slabih) objekata

  • Klasa nezavisnih (jakih) objekataKlasa nezavisnih (jakih) objekata

    To su objekti koji se mogu identifikovati i mogu da postoje bez veze sa drugim objektima u sistemu i nisu ni slabi, ni agregacija ni podtip.

    Deo za atribute primarnog kljua

    Deo za ostale atribute

    Klasa nezavisnih (jakih) objekataKlasa nezavisnih (jakih) objekata

  • Klasa zavisnih (slabih) objekataKlasa zavisnih (slabih) objekata

    To su objekti koji se ne mogu identifikovati niti postojati u modelu bez veze sa njima nadreenim objektima. Klasa zavisnih objekata u IDEF1X verziji odgovaraju klase slabih objekata, agregacije i podtipovi u verziji MOV

    Atributi primarnog kljua

    Ostali atributi

    Klasa zavisnih (slabih) objekataKlasa zavisnih (slabih) objekata

  • Kategorije klase objektaKategorije klase objekta

    Jedna kategorija neke klase objekata predstavlja podskup pojavljivanja njoj nadreene generike klase i nasleuje sve atribute i veze svoje generike klase. On je ekvivalenat pojmu generalizacije, odnosno generalizacije, odnosno specijalizacijespecijalizacije.

    Kompletna kategorija Nekompletna kategorija

  • Kompletne kategorijeKompletne kategorije

    A

    BC

    Odgovara ranije definisanom pojmu obavezne specijalizacije

  • Nekompletne kategorijeNekompletne kategorije

    A

    BC

    Odgovara ranije definisanom pojmu neobavezne specijalizacije

  • KljuKljuevievi

    Po definiciji svaki pripadnik skupa ntorki je jedinstven.

    PoslediPosledino je da u svakoj relaciji mora postojati no je da u svakoj relaciji mora postojati odreena kombinacija atributa koja na odreena kombinacija atributa koja na nedvosmislen nanedvosmislen nain identifikuje svaku torku.in identifikuje svaku torku.

    Taj skup ili kombinacija jednog ili vie atributa zove se kandidat za klju (candidate key)

    Taj skup ili kombinacija jednog ili vie atributa zove se kandidat za klju (candidate key)

  • Kandidat za kljuKandidat za klju

    Kandidat za klju moe se sastojati od samo jednog atributa (prost klju simple key)

    Ili od vie njih (sloeni klju composite key)

  • Uslove koje mora da ispuni kandidat Uslove koje mora da ispuni kandidat za kljuza klju

    Osim jedinstvenosti koje mora klju da obezbedi, neophodno je da klju ne moe da se razbije na prostije delove; pa iz toga sledi da skup atributa relacije ne mora obavezno biti kandidat za klju

  • Kada je jedini mogui kandidat suvie nezgrapan na primer, zato to zahteva previe atributa ili je preveliki moete dodati polje s vetakim kljuevima iji je tip podataka takav da sistem automatski generie vrednosti kljua.

    Polja tog tipa, u Microsoftovom Jetu zove se AutoNumber, a u SQL Serveru Identity

  • Ponekad mada ne esto dogaa se da relacija ima vie od jednog kandidata za kljueve.

    U takvim sluajevima, jedan od kandidata se odreuje kao primarni klju (primary key), a drugi kandidati se smatraju alternativnim kljuevima (alternate keys).

    U takvim sluajevima, jedan od kandidata se odreuje kao primarni klju (primary key), a drugi kandidati se smatraju alternativnim kljuevima (alternate keys).

  • Primarni kljuPrimarni klju

    Osnovne osobine primarnog kljua

    1. Mora da jedinstveno identifikuje svaku ntorku.2. Ni jedan deo primarnog kljua ne moe biti NULL ili prazan

    (empty) ili nedostajui (missing)3. Klju treba biti razumno mali4. Treba izbegavati upotrebu inteligentnih kljueva (na

    primer gde struktura brojeva identifikuje grupisanje, lociranje, klasifikaciju, datume.

  • Alternativni i inverzni kljuAlternativni i inverzni kljuevievi

    Kandidati za kljuev koji nisu izabrani za primarne kljueve mogu se definisati kao alternativni klju (Akn)

    Alternativni klju (Akn) predstavlja atribut ili grupu atributa koji jedinstveno identifikuje ntorke. Ali za razliku od primarnog kljua moe imati i NULLvrednost

  • Inverzni kljuInverzni klju

    Atributi koji nemaju jednoznanost a slue nam za bre pretraivanje, zovu se inverzni kljuevi sa oznakom IE.

  • Preneseni kljuPreneseni klju

    Preneseni klju je kolekcija atributa koji u posmatranom entitetu nisu klju, ali su zato klju u nekom drugom entitetu.

    Preneseni klju (Foreign Key) jeste atribut koji povezuje entitet dete sa entitetom roditelj i odreuje se oznakom FKFK

  • Migracija

    Relaciona notacija IDEF1X - notacija

  • MoguMogua grea grekaka

  • Osobina prenesenog kljuOsobina prenesenog kljuaa

    Preneseni kljuevi mogu imati i drugo ime, to se definie kao uloga atributa u entitetu. Ime uloge (Rolename) predstavlja novo ime za prenesene kljune atribute koji definiu ulogu koju tu atributi igraju u tom entitetu. Ime uloge definie novi atribut, ije ime treba da opie poslovno pravilo.

  • Veze

    Veza u IDEF1X metodologiji se prikazuje kao linija koja povezuje dva entiteta, sa takom na jednom kraju i glagolskom frazom napisanom du te linije

    Entitet od koga je uspostavljena veza zove se roditelj (parent), a entitet ka kome je uspostavljena veza zove dete (child)

  • Tipovi veza

    Identifikujua veza Neidentifikujua veza Veza kategorije Neodreujua veza

  • IdentifikujuIdentifikujua vezaa veza

    Veza se zove identifikujua zato to kljuevi entiteta roditelj predstavljaju deo identiteta entiteta dete.

    Entitet dete ima sloeni klju

  • Neidentifikujua veza

    Ako se svaka ntorka dete moe jedinstveno identifikovati, bez znanja veze sa primerkom entiteta roditelj, onda se takva veza definie kao neidentifikujua

    Neidentifikujua ili slaba veza zavisi od naina definisanja kljueva od roditelj ka detetu na dva naina:

    1. kao obavezna neidentifikujua veza2. kao neobavezna neidentifikujua veza

  • ObaveznaObavezna neidentifikujuneidentifikujuaa vezaveza

    Obavezujua veza (No Nulls ili Mandatory) iz perspektive roditelj, onda je dete egzistencijalno zavisno od roditelj. No Nulls ili Mandatory znai da je obavezan unos prenesenog kljua entiteta roditelj u entitet dete

  • NeobaveznaNeobavezna neidentifikujuneidentifikujuaa vezaveza

    Ako je veza neobavezna (Nulls Allowed ili Optional), tada deteniti je egzistencijalno niti identifikaciono zavisno ali potuje vezu.

    Imena

    id: int

    ime: varchar(20)prezime: varchar(20)pol: varchar(10)

    deca

    id_1: int

    ime: varchar(20)id: int