Projektovanje baze podataka za lanac hotela
1
Ekonomski Fakultet
Kragujevac 2016.
SEMINARSKI RAD
Predmet: Baze podataka
Tema: Projektovanje baze podataka za lanac hotela
Profesor
Student
Prof. dr Vladimir Ranković
Tamara Ristić 2014/378
2
Struktura seminarskog rada:
1. Model objekti-veze.
a. Teorijske osnove
b. Opis problema.
c. Model objekti-veze (Dijagram-objekti veze) za dati problem.
2. Relacioni model
a. Prevođenje MOV u relacioni model.
b. Popis relacija sa atributima i njihovim tipovima.
c. Implementacija relacija u Access-u.
3. SQL upiti – generisati 3 upita u SQL jeziku
4. Oporavak baze podataka
5. Literatura
Zadatak:
Projektovati bazu podataka za lanac hotela. Baza podataka treba da sadrži podatke o
svim hotelima jednog lanca hotela, o zaposlenima u hotelima, o sobama hotela, o
klijentima koji su iznajmljivali sobe hotela, o rezervacijama soba u budućem periodu i
o cenovnicima u kojima je definisana cena za svaki period godine.
Pri tome važe sledeći odnosi:
1. Lanac hotela može da ima više hotela u svom lancu na različitim lokacijama.
2. U svakom hotelu radi više zaposlenih.
3. Svaki hotel ima više soba.
4. Za svaku sobu se definiše cenovnik koji sadrži cene iznajmljivanja za
određeni period godine.
5. Jedan isti cenovnik se može primeniti na različite sobe.
6. Jednu sobu klijent može da iznajmi više puta u različitim vremenskim
periodima.
7. Jedan klijent može da iznajmi različite sobe istog hotela.
8. Za jednu sobu hotela može da postoji više rezervacija i jedna rezervacija se
odnosi na samo jednu sobu hotela.

4
Between konstanta, gde je konstanta iz datog domena
In (lista vrednosti), gde se formira od konstanti iz odgovarajućeg domena
NotNull kada dato polje ne može dobiti “nula vrednost
Složena ograničenja se formiraju kombinacijom primitivnih i složenih ograničenja koji se
povezuju korišćenjem And, Or i Not.
Pored asocijativnih veza koje oslikaju semantiku udruživanja objekata u sistemu, postoje I
specifične veze kojima se izražava hijerarhija i komponovanje objekata. Postoje dve
reprezentativne vrste ovakvih veza generalizacija i specijalizacija. Generalizacija je
apstrakcija u kojoj se skup sličnih tipova predstavlja opštim generičkim tipom odnosno
nadtipom. generičkim tipom ili nadtipom. Slični tipovi objekata su oni koji imaju zajedničke
osobine i ponašanje.Podtip nasleđuje osobine (atribute) nadtipa pri čemu podtipovi imaju
neke svoje posebne osobine. Specijalizacija je obrnuti postupak od generalizacije.
Vrste specijalizacije: Ekskluzivna specijalizacija (GG = 1);Neekskluzivna specijalizacija (GG
> 1) ;Obavezna specijalizacija (DG = 1) ;Neobavezna specijalizacija (DG = 0)
Agregacija je apstrakcija u kojoj se skup objekata i njihovih međusobnih veza tretira kao
novi, jedinstveni, agregirani tip.
Pravilo za primena agregacije i dekompozicije:
Binarne veze kojima je potrebno dodati neke atribute.
Binarna veza u kojoj oba preslikavanja imaju GG = M.
Prevođenje složenijih veza u binarne veze.
Klasifikacija ograničenja se može uraditi na sledeći način: strukturna ograničenja
(ograničenja na preslikavanja) i vrednosna ograničenja (ograničenja na vrednosti
atributa):Vrednosna ograničenja (ograničenja na vrednost atributa) definišu dozvoljene
vrednosti atributa i dozvoljene promene ovih vrednosti. U vrednosna ograničenja spadaju
ograničenja na pojedinačne vrednosti atributa, koja se nazivaju prosta vrednosna ograničenja.
Međutim postoje i složena vrednosna ograničenja koja vezuju vrednosti različitih atributa u
specifičnim pojavljivanjima objekata različitih klasa.Za iskazivanje vrednosnih ograničenja
koriste se formule tzv. objektnog računa
.
Pod objektnim računom se ovde podrazumeva
predikatski račun prvog reda u kome promenljive uzimaju vrednosti iz definisanih klasa
objekata u sistemu.
Činjenica da promenljiva uzima vrednost iz neke klase objekata,
označava se na sledeći način:
x : O, ozna čava da je x pojavljivanje klase nekog objekta O
x’ ozna čava vrednost promenljive pre operacije ažuriranja, dok x ozna čava vrednost
promenljive posle operacije ažuriranja
x : O.P ozna čava da je x (odnosno x’) pojavljivanje klase koja je kodomen
preslikavanja P klase O.
Atomske formule se odnose na atribute pojavljivanja klasa objekata: x.A Θ y.B gde je
x : O1, y : O2, A je atribut klase O1, i B je atribut klase O2.
Operacije u MOV se mogu podeliti na operacije održavanja i na operacije pretraživanja baze
podataka. Operacije održavanja baze podataka svode na operacije dodavanja novog objekta u
klasu, izbacivanja objekta iz klase, izmenu vrednosti nekog atributa, zatim povezivanja,
razvezivanja i prevezivanja dva objekta preko zadatog preslikavanja, odnosno veze.
Ubacivanje (Insert) novog pojavljivanja objekta određene klase objekta.
Izbacivanje (Delete) postoje ćeg pojavljivanja objekta određene klase objekta.
Ažuriranje (Update) Promena vrednosti nekog atributa postojećeg pojavljivanja
objekta neke klase objekta.
Povezivanje (Connect) Povezivanje pojavljivanja objekta O1 klase A sa
pojavljivanjem objekta O2 klase B 5.
Razvezivanje (Disconnect) Razvezivanje pojavljivanja O1 klase A od pojavljivanja
O2 klase B 6.
B. Lazarević, Z. Marjanović, N. Aničić, S. Babarogić, Baze podataka , FON Beograd, Beograd 2008,str.32.
http://www.link-elearning.com/site/kursevi/lekcija/7246,21.9.2016.
5
Prevezivanje (Reconnect) Svodi se na uzastopne operacije razvezivanja i
povezivanja
.
Za potpunu specifikaciju baze podataka nekog IS, pored ograničenja, od interesa je i akcija
koju treba preduzeti kada neka operacija ažuriranja BP naruši definisano ograničenje.
Ovakva specifikacija daje se preko "dinamičkih pravila integriteta". Jedno dinamičko pravilo
integriteta čini trojka
<OPERACIJA, OGRANIČENJE, AKCIJA> preko koje se, za svaku OPERACIJU
odražvanja BP i svako OGRANIČENJE koje ona može da naruši, definiše AKCIJA koju
treba preduzeti ako je ograničenjne narušeno.
Kako smo izvršili podelu ograničenja na ograničenja na domene atributa, složena vrednosna
ograničenjnja i strukturna ograničenja, na isti način možemo podeliti i dinamička pravila
integriteta.
Ograničenja na vrednosti atributa mogu narušiti operacije održavanja insert i update.
Očigledno je da će se, bez obzira na to koja je od ovih operacija narušila ograničenje,
preduzeti ista akcija. Zbog toga u definisanju dinamičkog pravila integriteta ove vrste nije
neophodno navoditi operaciju. Ranije je pokazano da je najpraktičnije ograničenje na atribute
prikazati preko tabele sa kolonama ATRIBUT, DOMEN, OGRANIČENJE. Za iskazivanje
dinamičkog pravila integriteta za atribute dovoljno je ovu tabelu proširiti sa kolonom
AKCIJA.
U najkraćem se može reći da Dinamičko pravilo integriteta čini trojka preko koje se iskazuje
koja se akcija preduzima kada neka operacija naruši definisano ograničenje, Kada se ista
akcija preduzima bez obzira na to koja je operacija narušila ograničenje, dovoljno je definisati
samo ograničenje i akciju.
Strukturna dinamička pravila integriteta:
o
Operacija Connect Ne može se izvršiti za dato pojavljivanje klase i preslikavanje gde
je DG=1,
o
Operacija Disconnect Ne može se izvšiti za prethodno preslikavanje.
o
Operacija Insert Automatski vrši povezivanje (Connect) za sva obavezna
preslikavanja.
Zbog složenosti definisanja strukturnih dinamičkih pravila integriteta MOV se transformiše u
FMOV tako što se sve veze u kojima oba preslikavanja imaju DG=0 ili GG=M transformišu u
agregaciju. z U FMOV-u ne postoje operacije Connect, Disconnect i Reconnect, već samo
Insert i Delete.
o
Restrict – operacija se ne izvršava ukoliko narušava strukturni integritet (St.
ProgramStudent) z
o
Cascade – operacija se prenosi na kodomen da bi se zadovoljio strukturni integritet.
o
SetNull – uspostavlja se veza sa nepoznatim objektom ukoliko je to dozvoljeno.
o
SetDefault – uspostavlja se veza sa default objektom kodomena ukoliko je default
pojavljivanje klase kodomena definisano
http://www.ekfak.kg.ac.rs/sites/default/files/nastava/NoviStudijski/BazePodataka/Predavanja
, 20.9.2016.
B. Lazarević, Z. Marjanović, N. Aničić, S. Babarogić, Baze podataka , FON Beograd, Beograd 2008,str.
http://www.ekfak.kg.ac.rs/sites/default/files/nastava/NoviStudijski/BazePodataka/Predavanja
, 20.9.2016.
Ovaj materijal je namenjen za učenje i pripremu, ne za predaju.
Slični dokumenti