Upload
vuxuyen
View
231
Download
2
Embed Size (px)
Citation preview
Baze podataka:: Auditorne vježbe 2 © 2012 Carić, Buntić
BAZE PODATAKA Auditorne vježbe 2
Prof. dr. sc. Tonči Carić Mario Buntić, mag. ing. traff.
Juraj Fosin, dipl. ing.
Baze podataka:: Auditorne vježbe 2 © 2012 Carić, Buntić
Sadržaj današnjeg predavanja
• Osnovni pojmovi – entitet, n-torka, atribut
• Odnosi među entitetima • Izrada ER modela
– ER dijagram, dijagram Entiteta
Baze podataka:: Auditorne vježbe 2 © 2012 Carić, Buntić
Realni svijet – baza podataka
• Prilikom modeliranja entiteta i veza (engl. Entity ‐ Relationship Modelling) objekati iz realnog svijeta se gledaju kroz tri različita pojma – Entiteti
• objekti, događaji koji nas zanimaju • imaju naglašena zajednička svojstva
– Atributi • svojstva entiteta • opisuju pojedini entitet
– Veze • odnosi među entitetima • Mogu biti 1:1, 1:N, M:N, involvuirane, ternarne i podskup veze
Baze podataka:: Auditorne vježbe 2 © 2012 Carić, Buntić
Jednostavne veze 1 : 1 - primjer
• Primjer – Veza između entiteta STUDENT i KORISNIČKO IME – Svaki STUDENT može imati samo jedno KORISNIČKO IME, dok
KORISNIČKO IME može pripadati samo jednom STUDENTU
Baze podataka:: Auditorne vježbe 2 © 2012 Carić, Buntić
Jednostavne veze 1 : N - primjer
• Primjer – Veza između entiteta DRŽAVA i GRAD – Svaka DRŽAVA može imati više gradova dok svaki GRAD pripada samo
jednoj državi
Baze podataka:: Auditorne vježbe 2 © 2012 Carić, Buntić
Jednostavne veze M : N - primjer
• Primjer – Veza između entiteta STUDENT i PREDMET – Svaki STUDENT može biti upisan na više PREDMETA, dok svaki predmet
može slušati više studenata
Baze podataka:: Auditorne vježbe 2 © 2012 Carić, Buntić
Složene veze Involuirana veza
• Primjer – Veza entiteta Zaposlenik sa samim sobom – Involuiranom vezom obično se modelira nekakva hijerarhija u ovom
slučaju zapisujemo tko je kome nadređeni
Baze podataka:: Auditorne vježbe 2 © 2012 Carić, Buntić
Složene veze Podtip veza
• Primjer – Veza između entiteta OSOBA, STUDENT i PROFESOR – STUDENT i PROFESOR imaju sve atribute koje ima i OSOBA, ali i neke
svoje dodatne. – Student ima JMBAG dok profesor ima titulu
Baze podataka:: Auditorne vježbe 2 © 2012 Carić, Buntić
Složene veze Ternarna veza
• Primjer – Veza između entiteta PODUZEĆE, PROIZVOD i DRŽAVA – Želim zapisati koje poduzeće u koju državu izvozi koji proizvod
Baze podataka:: Auditorne vježbe 2 © 2012 Carić, Buntić
ER model
• Kod modeliranja entiteta i veza (ER modeliranja) ne postoji formalan način kako pretvoriti korisničke zahtjeve u ER model
• Sa iskustvom će biti puno lakše čak se može kod većine jednostavnijih stvari preskočiti izrada ER modela i odmah kreirati baza podataka
• Znači: vježbanje, vježbanje, …! • Savjet:
1. pokušati prepoznati entitete u korisničkim zahtjevima (obično imenice)
2. pronaći odnose među entitetima (obično glagoli) 3. sve popisati na običan papir i redundantne stvari prekrižiti
Baze podataka:: Auditorne vježbe 2 © 2012 Carić, Buntić
ER model Alat
• yEd - Graph Editor je proizvod kompanije yWorks koja je specijalizirana za razvoj profesionalnih rješenja koja omogućavaju vizualizaciju dijagrama i mreža.
• Dio koji se koristi u dizajniranju baza podataka je ER modeliranje (desni izbornik entity-relationship dio)
• Alat je mali, lak za korištenje i besplatan te je zbog tih razloga odabran za korištenje iako ne pruža automatsku transformaciju u relacijski model.
• Link za preuzeti posljednu verziju ovog programa je: – http://www.yworks.com/en/downloads.html#yEd
Baze podataka:: Auditorne vježbe 2 © 2012 Carić, Buntić
ER model
• Pojednostavljeni korisnički zahtjevi: – Videoteka JednostavniFilm doo bi htjela unaprijediti svoje poslovanje.
Do sada su klijenti sa sobom imali kartica na kojima su pisali podaci o njima i to ime, prezime, datum rođenja, adresa i broj telefona. Na poleđini kartice su se pisali posudbe i to datum posude i datum vraćanja filma. Film je bio opisan nekom šifrom i nazivom. Htjeli bi ubuduće osim naziva filma i pamtiti njegov žanr, te njegovog redatelja.
• Analiza zahtjeva: – Entiteti i atributi su:
• Klijent (Ime, Prezime, DatumRođenja, Adresa, BrojTelefona) • Film (Šifra, NazivFilma, NazivRedatelja) • Žanr (NazivŽanra) • Posudba (DatumPosudbe, DatumVraćanja, Film, Klijent)
– Veze: • Klijent posuđuje Film => posudba • Film pripada žanru
Korisnički zahtjevi - primjer
Nije entitet iako ima atribute
Baze podataka:: Auditorne vježbe 2 © 2012 Carić, Buntić
ER model
• Entiteti i atributi su: – Klijent (Ime, Prezime, DatumRođenja, Adresa, BrojTelefona) – Film (Šifra, NazivFilma, NazivRedatelja) – Žanr (NazivŽanra)
Dijagram entiteta
Baze podataka:: Auditorne vježbe 2 © 2012 Carić, Buntić
ER model
• Veze su: – Klijent posuđuje Film
• M:N jer klijent može posuditi više filmova, dok jedan film može posuditi više različitih klijenata
– Film pripada žanru • 1 : N jer jednom žanru može pripadati više filmova dok jedan film pripada
samo jednom žanru
ER dijagram
Baze podataka:: Auditorne vježbe 2 © 2012 Carić, Buntić
ER model
• Malo kompliciraniji korisnički zahtjevi: – Fakultet FPZ želi unaprijediti upravljanje rasporedima studenata i
nastavnika. Svaki nastavnik je opisan imenom, prezimenom, titulom, datumom rođenja, emailom, brojem telefona. Za nastavnike je potrebno pamtiti koje predmete predaju. Podaci o predmetu su ECTS bodovi, naziv predmeta, broj sati predavanja, auditornih i laboratorijskih vježbi. Za svakog studenta je potrebno znati njegovo ime, prezime, JMBAG, email, i predmete koje je upisao. Studenti su podjeljeni u grupe te svaki student može biti u samo jednoj grupi dok grupa može sadržavati više studenata. Svaka dvorana na kojoj se održava nastava opisana je šifrom dvorane (D1, D2), lokacijom (broj zgrade), brojem mjesta za sjedenje i brojem mjesta opremljenih računalom. Predavanja se održavaju u dvoranama. Za predavanje je potrebno pamtiti vrijeme održavanja (početak i kraj), predmet, grupe koje slušaju to predavanje.
Korisnički zahtjevi – primjer 2
Baze podataka:: Auditorne vježbe 2 © 2012 Carić, Buntić
ER model
• Entiteti i atributi su: – Nastavnik (Ime, Prezime, Titula, DatumRođenja, Email, BrojTelefona) – Predmet (NazivPredmet, ECTS, BrojSatiPredavanja, BrojSatiVježbi,
BrojSatiAuditornih) – Student (Ime, Prezime, JMBAG, Email) – Grupa (NazivGrupe) – Dvorana (Šifra, Zgrada, Adresa, BrojMjestaZaSjedenje,
BrojMjestaSaRačunalom) – Predavanje (PočetakPredavanja, KrajPredavanja)
• Veze su: – Nastavnik predaje Predmet – Student pripada Grupi – Predavanje se održava u Dvorani – Predavanje se održava za Grupe
Analiza – primjer 2