Professional Documents
Culture Documents
TA JE BAZA PODATA?
Izraz Izraz baza baza podatakakoristi podatakakoristi se se za za opisivanje opisivanje svaega svaega od od obine obine grupe grupe podataka, podataka, do do sloenog sloenog skupa skupa alatki. alatki.
Model podataka
Meutim za uspeh projekta je vrlo vano da sistem za koji projektujete bazu podataka bude ogranien na tano definisani skup objekata i njihovih odnosa.
BAZA PODATAKA
APLIKACIJA
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
Zadatak Zadatakmaine mainebaze baze podataka je da fiziki podataka je da fiziki manipulie manipuliepodacima podacimakao kao to tosu susmetanje smetanjena nadisk diski i uitavanje uitavanjessnjega njegana na zahtev 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 SERVER
DAO
DAO DAOje jenajefikasniji najefikasniji objektni objektnimodel modelza zarad radsa sa Jetovim Jetovimbazama bazamapodataka podatakau u Access -u Access-u
ADO
ADO ADOje jejednostavniji jednostavniji od odDAO DAOi idonosi donosi pobolj anje u poboljanje uvidu vidu podr ke za rad podrke za radss nepovezanim nepovezanim hijerarhijskim hijerarhijskim skupovima skupovimapodataka podataka
Alat Alat za za korienje korienje izrade izrade obrazaca obrazaca ii izvetaja izvetaja su su Access Access ii Visual Visual Studio Studio .NET .NET
Relacioni model
Relacioni model se bazira na grupi matematikih principa izvedenih iz teorije skupova i predikatne logike
Pravilarelacionog relacionogmodela modeladefiniu: definiu: Pravila 1. oblik obliku ukojem kojemse sepodaci podacipredstavljaju predstavljaju(struktura), (struktura), 1. 2. nain nainna nakoji kojise sepodaci podacitite tite(integritet (integritetpodataka) podataka)ii 2. 3. operacije operacijekoje kojese semogu moguizvriti izvritinad nadpodacima podacima(manipulisanje (manipulisanje 3. podacima) podacima)
Relaciona terminologija
Atributi Zaglavlje
Formalna terminologija Konceptualna Fizika relacija tabela atributi torka polje zapis
Model podataka
Model podataka je najapstraktniji nivo projektovanja baza podataka, to predstavlja konceptualni opis prostora problema.
Entiteti (entity)
Entitet emu sistem Entitet je je sve sve o o emu sistem treba ti podatke treba da da skladi skladiti podatke
Primeri Primeri entiteta: entiteta: 1.Kupci 1.Kupci 2.Prodavci 2.Prodavci 3.Studenti 3.Studenti itd.. itd..
Atributi
Atributi, poblie odreuju entitete.
Odreivanje Odreivanje atributa atributa koje koje ete ete ugraditi ugraditi u u svoj svoj model, model, morate morate doneti doneti na na osnovu osnovu znaenja znaenja podataka podataka ii naina naina na na koji koji e e se se oni oni koristiti koristiti
Drugim reima, treba nai odgovor na koja pitanja vaa baza podataka mora dati odgovor
Druga strategija
Otkrijte izuzetke
Prvo - morate identifikovati sve izuzetke Drugo sistem morate projektovati tako da obrauje to vei broj izuzetaka ali da pri tome ne zbunjuje korisnika
Domen (domain)
Domen Domen predstavlja predstavlja skup skup svih svih prihvatljivih prihvatljivih vrednosti vrednosti koje koje atribut atribut moe moe imati imati
Binarna veza
Binarna veza predstavlja vezu izmeu dva entiteta.
Specijalan Specijalan sluaj sluaj binarne binarne veze veze je je entitet entitet koju koju uestvuje uestvuje u u vezi vezi sa sa samim samim sobom. sobom. To To se se esto esto zove zove veza veza tipa tipa sastavnice sastavnice ii najee najee se se koristi koristi za za predstavljanje predstavljanje hijerahijskih hijerahijskih struktura. struktura.
Veze tipa jedan prema jedan su retke, ali mogu biti korisne u nekim okolnostima
studira Student
Studiranje
pohaa Fakultet
Objekat
Veza
Objekat
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)
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 =<GG
studira Student (0,1)
Studiranje
Objekat
Veza
Objekat
Atribut i domen
Objekti se opisuju preko svojih atributa Atributi uzimaju vrednost iz skupa moguih vrednosti, koji se nazivaju domeni
Ime (1,1) jezici (1,M) datRodjenja (1,1) (1,M) Naziv Adrese (1,1) Adresa (1,1)
Student
(1,1) brIndexa
studiranje
Fakultet
Atributi 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
Atributi i domeni
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).
Jezici
0,M Ime
Zna
Naziv
datRodjenja
Student
brIndexa 1,M
Fakultet
Adrese
Ulica Broj
Slabi objekat
Slabi objekat u modelu ne moe da postoji (egzistencijalno je zavisan) i ne moe da se identifikuje bez veze sa njemu nadreenim objektom
Ogranienja
Jezik za definisanje ogranienja moe da se bazira na konceptu primitivnih i sloenih ogranienja Primitivna ogranienja se konstruiu preko sledeih operatora
konstanta (>,<,,,=,)
Between konstanta, gde su konstante vrednosti iz datog domena In(lista vrednosti), gde se lista formira od konstanti iz odgovarajueg domena. NotNull, kada dato polje ne moe da dobije nula vrednost, odnosno mora uvek da ima vrednost
Sloena ogranienja se formiraju od primitivnih ili drugih sloenih ogranienja vezujui ih logikim operatorima And, Or i Not
Generalizacija 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.
Primer
IMe Prezime Zaposleni vrsta (0,1) JMDG
s
predmet
plata
Profesor
Tehniko osoblje
Odravanje
Oznaavanje generalizacije
Generalizacija, Generalizacija, odnosno odnosno specijalizacija specijalizacija se se u u MOV S MOV predstavljaju predstavljaju specijalnom specijalnom oznakom oznakom S (potie (potie od od Subtype) Subtype) vezom, vezom, koja koja se se esto esto naziva naziva ii ISA ISA
Ekskluzivna specijalizacija
Eksluzivna Eksluzivna specijalizacija specijalizacija je je da da kada kada se se jedno jedno pojavljivanje pojavljivanje tipa tipa moe moe specijalizovati specijalizovati u u samo samo jedan jedan podtip. podtip. GG=1 GG=1
Neekskluzivna specijalizacija
Kada se jedno pojavljivanje tipa moe specijalizovati u pojavljivanju razliitih podtipova GG>1
Obavezna specijalizacija
Obavezna specijalizacija je kada pojavljivanje tipa mora specijalizovati neki podtip (unija podtipova je jednaka nadtipu) DG=1
Neobavezna specijalizacija
Agregacija 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
Specifinost 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.
ime
jmbg
datum
ocena
sifrapred.
Student
Prijava
(1,1) overa
Predmet
naziv
(0,M)
brIndexa Ime
Profesor
Zvanje
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
Grupa
0,M
NazivGrupe
Dejstvo
0,M Pripadnost 1,1
Naziv
Doziranje
HemNaziv
Lek
1,M
1,1
Proizvodi
1,M
Proizvoa
1,M
KomNaziv
Pakuje
0,M
Pakovanje
NeEfekat Bolest oblik koliina sastav
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.
Ogranienja
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.
Operacije
Ubacivanje (Insert) Izbacivanje (Delete) Auriranje (Update)
Dinamiko pravilo integriteta ini trojka <Ogranienje, Operacija, Akcija> preko koga se iskazuje koje se akcija preduzima kada neka operacija narui definisano ogranienje.
Postoje Postoje : : 1. 1.Prosta Prosta ogranienja ogranienja 2. 2.Sloena Sloena vrednosna vrednosna pravila pravila integriteta integriteta
Prosta ogranienja
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
Atribut Domen Ogranienje Akcija
Starost
tinyint
Between 15,65
NazivJ
string
Uobiajeno je da je akcija koja se definie jedinstvena za sva mogua naruavanja posmatranog ogranienja
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.
Restrict
Operacija Operacija se se ne ne izvrava izvrava ako ako naruava naruava odgovarajui odgovarajui strukturni strukturni integritet. integritet. Npr. Npr. nedozvoljava nedozvoljava se se brisanje brisanje nekog nekog pojavljivanja pojavljivanja ako ako postoji postoji njegov njegov preslikani preslikani deo. deo.
Cascade
Operacija Operacija se se prenosi prenosi na na objekat objekat kodomen kodomen da da bi bi se se zadovoljio zadovoljio strukturni strukturni model. model.
SetNull
Uspostavlja Uspostavlja se se veza veza sa sa nepoznatim nepoznatim objektom objektom objektom objektom (nula (nula objektom) objektom)
SetDefault
Uspostavlja Uspostavlja se se veza veza sa sa default default objektom objektom kodomena, kodomena, pod pod pretpostavkom pretpostavkom da da je je default default pojavljivanje pojavljivanje klase klase kodomena kodomena definisano. definisano.
Kontraindikacije
Grupa
0,M
NazivGrupe
Dejstvo
0,M Pripadnost 1,1
Naziv
Doziranje
HemNaziv
Lek
1,M
1,1
Proizvodi
1,M
Proizvoa
1,M
KomNaziv
Pakuje
0,M
Pakovanje
NeEfekat Bolest oblik koliina sastav
Delete Lek
Insert Grupa Delete Grupa Insert Proizvoa Delete Proizvoa Insert Pakovanje Delete Pakovanje Insert Bolest Delete Bolest Insert Kontraindikacije Delete Kontraindikacije
Preslikavanje Lek -->Grupa Lek -->Proizvoa Lek -->Pakuje Lek -->Bolest Lek -->Kontaindikacije Lek -->Grupa Lek -->Proizvoa Lek -->Pakuje Lek -->Bolest Lek -->Kontaindikacije Grupa -->Lek Grupa -->Lek Proizvoa -->Lek Proizvoa -->Lek Pakovanje -->Pakuje Pakovanje -->Pakuje Bolest -->Lek Bolest -->Lek Kontraindikacije -->Lek Kontraindikacije -->Lek
Opcija SetDefault SetDefault Cascade Cascade Cascade Cascade Cascade Cascade -Restrict Cascade Restrict Restrict Restrict -
U IDEF1X definiu se dve vrste klasa Klasa nezavisnih (jakih) objekata Klasa zavisnih (slabih) objekata
Kompletne kategorije
A
B C
Nekompletne kategorije
A
B C
Kljuevi
Po definiciji svaki pripadnik skupa ntorki je jedinstven. Posledino je da u svakoj relaciji mora postojati odreena kombinacija atributa koja na nedvosmislen nain identifikuje svaku torku.
Taj Taj skup skup ili ili kombinacija kombinacija jednog jednog ili ili vie vie atributa atributa zove zove se se kandidat kandidat za candidate )) za klju klju (( candidate key key
Kandidat za klju
Kandidat za klju moe se sastojati od samo jednog atributa (prost klju simple key) Ili od vie njih (sloeni klju composite key)
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 Utakvim takvimsluajevima, sluajevima,jedan jedanod odkandidata kandidatase seodreuje odreujekao kao primarni primary ), primarniklju klju(( primarykey key ),a adrugi drugikandidati kandidatise sesmatraju smatraju alternativnim alternate ). alternativnimkljuevima kljuevima(( alternatekeys keys ).
Primarni 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 mali 4. Treba izbegavati upotrebu inteligentnih kljueva (na primer gde struktura brojeva identifikuje grupisanje, lociranje, klasifikaciju, datume.
Alternativni klju (Akn) predstavlja atribut ili grupu atributa koji jedinstveno identifikuje ntorke. Ali za razliku od primarnog kljua moe imati i NULL vrednost
Inverzni klju
Atributi koji nemaju jednoznanost a slue nam za bre pretraivanje, zovu se inverzni kljuevi sa oznakom IE.
Preneseni 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 FK
ija Migrac
Relaciona notacija
IDEF1X - notacija
Mogua greka
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
Veza se zove identifikujua zato to kljuevi entiteta roditelj predstavljaju deo identiteta entiteta dete.
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:
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
Ako je veza neobavezna (Nulls Allowed ili Optional), tada dete niti je egzistencijalno niti identifikaciono zavisno ali potuje vezu.