Академический Документы
Профессиональный Документы
Культура Документы
TA JE BAZA PODATA?
Izraz baza podatakakoristi se za Izraz baza podatakakoristi se za opisivanje svaega od obine opisivanje svaega od obine grupe podataka, do sloenog grupe podataka, do sloenog skupa alatki. skupa alatki.
Model podataka
Me utim 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 maine baze Zadatak maine baze podataka je da fiziki podataka je da fiziki manipulie podacima kao manipulie podacima kao to su smetanje na disk i i to su smetanje na disk uitavanje ssnjega na uitavanje njega 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 je najefikasniji DAO je najefikasniji objektni model za rad sa objektni model za rad sa Jetovim bazama podataka u Jetovim bazama podataka u Access-u Access-u
ADO
ADO je jednostavniji ADO je jednostavniji od DAO i idonosi od DAO donosi poboljanje u vidu poboljanje u vidu podrke za rad ss podrke za rad nepovezanim nepovezanim hijerarhijskim hijerarhijskim skupovima podataka skupovima podataka
Alat za korienje izrade obrazaca ii Alat za korienje izrade obrazaca izvetaja su Access ii Visual Studio .NET izvetaja su Access Visual Studio .NET
Relacioni model
Relacioni model se bazira na grupi matematikih principa izvedenih iz teorije skupova i predikatne logike
Pravila relacionog modela definiu: Pravila relacionog modela definiu: 1. oblik u kojem se podaci predstavljaju (struktura), 1. oblik u kojem se podaci predstavljaju (struktura), 2. nain na koji se podaci tite (integritet podataka) 2. nain na koji se podaci tite (integritet podataka) ii 3. operacije koje se mogu izvriti nad podacima (manipulisanje 3. operacije koje se mogu izvriti nad podacima (manipulisanje 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 je sve o emu sistem Entitet je sve o emu sistem treba da skladiti podatke treba da skladiti podatke
Primeri entiteta: Primeri entiteta: 1.Kupci 1.Kupci 2.Prodavci 2.Prodavci 3.Studenti itd.. 3.Studenti itd..
Atributi
Atributi, poblie odre uju entitete.
Odre ivanje atributa koje ete ugraditi u Odre ivanje atributa koje ete ugraditi u svoj model, morate doneti na osnovu svoj model, morate doneti na osnovu znaenja podataka ii naina na koji e se oni znaenja podataka naina na koji e se 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 obra uje to vei broj izuzetaka ali da pri tome ne zbunjuje korisnika
Domen (domain)
Domen predstavlja skup svih Domen predstavlja skup svih prihvatljivih vrednosti koje atribut prihvatljivih vrednosti koje atribut moe imati moe imati
Binarna veza
Binarna veza predstavlja vezu izme u dva entiteta.
Specijalan sluaj binarne veze je entitet koju Specijalan sluaj binarne veze je entitet koju uestvuje u vezi sa samim sobom. To se uestvuje u vezi sa samim sobom. To se esto zove veza tipa sastavnice ii najee se esto zove veza tipa sastavnice najee se koristi za predstavljanje hijerahijskih koristi za predstavljanje hijerahijskih struktura. struktura.
Veze tipa jedan prema jedan su retke, ali mogu biti korisne u nekim okolnostima
studira Student
Studiranje
poha a 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. Poha a: Fakultet Student (Fakultet poha a 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 nadre enim 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, odnosno specijalizacija se u Generalizacija, odnosno specijalizacija se u MOV predstavljaju specijalnom oznakom S MOV predstavljaju specijalnom oznakom S (potie od Subtype) vezom, koja se esto (potie od Subtype) vezom, koja se esto naziva ii ISA naziva ISA
Ekskluzivna specijalizacija
Eksluzivna specijalizacija je da kada Eksluzivna specijalizacija je da kada se jedno pojavljivanje tipa moe se jedno pojavljivanje tipa moe specijalizovati u samo jedan podtip. specijalizovati u samo jedan 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 proizvo a. 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
Proizvo a
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. Prosta ogranienja 1. Prosta ogranienja 2. Sloena vrednosna pravila integriteta 2. Sloena vrednosna pravila 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 tako e i donju granicu kardinalnosti 0. Obe ove veze se transformiu u agregaciju.
Restrict
Operacija se ne izvrava ako Operacija se ne izvrava ako naruava odgovarajui strukturni naruava odgovarajui strukturni integritet. Npr. nedozvoljava se integritet. Npr. nedozvoljava se brisanje nekog pojavljivanja ako brisanje nekog pojavljivanja ako postoji njegov preslikani deo. postoji njegov preslikani deo.
Cascade
Operacija se prenosi na objekat Operacija se prenosi na objekat kodomen da bi se zadovoljio kodomen da bi se zadovoljio strukturni model. strukturni model.
SetNull
Uspostavlja se veza sa nepoznatim objektom Uspostavlja se veza sa nepoznatim objektom objektom (nula objektom) objektom (nula objektom)
SetDefault
Uspostavlja se veza sa default objektom Uspostavlja se veza sa default objektom kodomena, pod pretpostavkom da je default kodomena, pod pretpostavkom da je default pojavljivanje klase kodomena definisano. pojavljivanje klase kodomena definisano.
Kontraindikacije
Grupa
0,M
NazivGrupe
Dejstvo
0,M Pripadnost 1,1
Naziv
Doziranje
HemNaziv
Lek
1,M
1,1
Proizvodi
1,M
Proizvo a
1,M
KomNaziv
Pakuje
0,M
Pakovanje
NeEfekat Bolest oblik koliina sastav
Delete Lek
Insert Grupa Delete Grupa Insert Proizvo a Delete Proizvo a Insert Pakovanje Delete Pakovanje Insert Bolest Delete Bolest Insert Kontraindikacije Delete Kontraindikacije
Preslikavanje Lek -->Grupa Lek -->Proizvo a Lek -->Pakuje Lek -->Bolest Lek -->Kontaindikacije Lek -->Grupa Lek -->Proizvo a Lek -->Pakuje Lek -->Bolest Lek -->Kontaindikacije Grupa -->Lek Grupa -->Lek Proizvo a -->Lek Proizvo a -->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 odre ena kombinacija atributa koja na nedvosmislen nain identifikuje svaku torku.
Taj skup ili kombinacija jednog ili vie atributa zove se kandidat Taj skup ili kombinacija jednog ili vie atributa zove se kandidat za klju (candidate key) za klju (candidate 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 doga a se da relacija ima vie od jednog kandidata za kljueve.
U takvim sluajevima, jedan od kandidata se odre uje kao U takvim sluajevima, jedan od kandidata se odre uje kao primarni klju (primary key), a drugi kandidati se smatraju primarni klju (primary key), a drugi kandidati se smatraju alternativnim kljuevima (alternate keys). alternativnim kljuevima (alternate 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 odre uje 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.