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.

background image

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

5

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.

6

  Č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. 

5

 B. Lazarević, Z. Marjanović, N. Aničić, S. Babarogić, Baze podataka , FON Beograd, Beograd 2008,str.32.

6

 http://www.link-elearning.com/site/kursevi/lekcija/7246,21.9.2016.

5

Prevezivanje   (Reconnect)   Svodi   se   na   uzastopne   operacije   razvezivanja   i 
povezivanja

7

.

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.

8

 

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

9

7

 

http://www.ekfak.kg.ac.rs/sites/default/files/nastava/NoviStudijski/BazePodataka/Predavanja

, 20.9.2016.

8

 

B. Lazarević, Z. Marjanović, N. Aničić, S. Babarogić, Baze podataka , FON Beograd, Beograd 2008,str.

9

http://www.ekfak.kg.ac.rs/sites/default/files/nastava/NoviStudijski/BazePodataka/Predavanja

, 20.9.2016.

9

Želiš da pročitaš svih 16 strana?

Prijavi se i preuzmi ceo dokument.

Ovaj materijal je namenjen za učenje i pripremu, ne za predaju.

Slični dokumenti