If you can't read please download the document
Author
hoangmien
View
232
Download
2
Embed Size (px)
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