1. Uvod

Prilikom projektovanja baze podataka potrebno je odrediti koji podaci će se čuvati, kakve vrednosti ti podaci mogu imati i koja pravila moraju da poštuju.

Na primer, u školskoj bazi podataka čuvaju se podaci o učenicima, njihovim ocenama, datumima rođenja i odeljenjima. Međutim, nije dozvoljeno da ocena bude 8, da datum rođenja bude neispravan ili da dva učenika imaju isti broj dosijea ako je taj broj određen kao jedinstven.

Da bi se sprečile takve greške, pri projektovanju baze podataka definišu se domeni, tipovi atributa i ograničenja nad podacima.

2. Domen atributa

Domen atributa je skup dozvoljenih vrednosti koje neki atribut može da ima.

Svaki atribut opisuje određeno svojstvo entiteta. Domen određuje koje vrednosti tog svojstva imaju smisla i smeju da se koriste.

Na primer, u bazi podataka škole atribut Ocena predstavlja ocenu učenika. Ako se čuva zaključna ocena, njegove dozvoljene vrednosti su celi brojevi od 1 do 5.

Primeri domena:

Atribut

Domen – dozvoljene vrednosti

Ime

Tekstualne vrednosti

DatumRodjenja

Ispravni datumi

Ocena

Celi brojevi od 1 do 5

BrojCasova

Nenegativni celi brojevi, prema pravilima evidencije

Odeljenje

Oznake odeljenja koja postoje u školi

Domen nije uvek samo skup vrednosti određen tipom podatka. Na primer, atribut Ocena može biti celobrojnog tipa, ali to ne znači da su sve celobrojne vrednosti dozvoljene. Broj 12 jeste ceo broj, ali nije dozvoljena zaključna ocena u srednjoj školi.

Zato je važno razlikovati tip podatka od domena atributa.

  • Tip podatka određuje vrstu vrednosti koja se čuva, na primer ceo broj, tekst ili datum.

  • Domen određuje koje su konkretne vrednosti dozvoljene za dati atribut.

3. Tipovi atributa

Atributi predstavljaju svojstva entiteta. U zavisnosti od načina na koji su organizovani i koliko vrednosti mogu imati, razlikujemo nekoliko tipova atributa.

3.1. Jednostavni i složeni atributi

Jednostavan atribut predstavlja svojstvo koje se u datom modelu ne razlaže na manje smislene delove.

Primeri:

  • Pol

  • Ocena

  • DatumRodjenja

Složeni atribut može se razložiti na više manjih atributa koji predstavljaju njegove delove.

Na primer, atribut Adresa može se sastojati od sledećih delova:

  • Ulica

  • Broj

  • Mesto

  • PostanskiBroj

Umesto da se cela adresa čuva kao jedna tekstualna vrednost, njeni delovi mogu se predstaviti zasebnim atributima.

ADRESA

Ulica
Broj
Mesto
Poštanski broj
Primer razlaganja složenog atributa na jednostavnije delove.

Razlaganje je korisno kada je potrebno pretraživati ili obrađivati pojedinačne delove podatka. Na primer, moguće je pronaći sve učenike iz određenog mesta bez izdvajanja tog podatka iz cele adrese.

3.2. Jednovrednosni i viševrednosni atributi

Jednovrednosni atribut za jednu instancu entiteta ima jednu vrednost.

Primeri:

  • DatumRodjenja učenika;

  • BrojDosijea učenika;

  • Naziv jednog odeljenja.

Viševrednosni atribut za jednu instancu entiteta može imati više vrednosti.

Na primer, jedna osoba može imati dva broja telefona: privatni i poslovni. U tom slučaju, Telefon se može posmatrati kao viševrednosni atribut.

Viševrednosni atribut može se predstaviti posebnim skupom podataka ili posebnom tabelom u relacionoj bazi podataka.

3.3. Izvedeni atributi

Izvedeni atribut je atribut čija se vrednost može izračunati na osnovu drugih sačuvanih podataka.

Primer: starost učenika može se izračunati na osnovu datuma rođenja i trenutnog datuma.

Ako baza podataka već sadrži atribut DatumRodjenja, starost se može izračunavati kada je potrebna, umesto da se trajno čuva kao poseban podatak.

Ovakav pristup sprečava zastarevanje podataka. Kada učenik napuni još jednu godinu, datum rođenja ostaje isti, a izračunata starost se automatski menja u skladu sa trenutnim datumom.

Izvedena vrednost ne mora uvek da se izračunava u trenutku prikaza. U nekim sistemima se čuva radi efikasnosti, ali tada je potrebno voditi računa o njenoj tačnosti i ažuriranju.

4. Ograničenja nad podacima

Ograničenja nad podacima predstavljaju pravila koja određuju koje vrednosti smeju da se unesu i kakvi odnosi između podataka moraju da postoje.

Njihova svrha je da obezbede tačnost, potpunost i međusobnu usklađenost podataka u bazi.

4.1. Ograničenje domena

Vrednost atributa mora pripadati dozvoljenom domenu.

Primer: atribut Ocena može imati vrednosti od 1 do 5.

Uneta vrednost

Da li je dozvoljena?

1

Da

3

Da

5

Da

0

Ne

8

Ne

odličan

Ne, ako se ocena čuva kao broj

Ovo ograničenje sprečava unos vrednosti koje nisu dozvoljene za dati atribut.

4.2. Obaveznost vrednosti

Neki atributi moraju imati unetu vrednost.

Na primer, u evidenciji učenika ime i prezime mogu biti obavezni podaci. Ako su definisani kao obavezni, zapis ne može biti prihvaćen bez tih vrednosti.

U relacionim bazama podataka obaveznost se često ostvaruje ograničenjem NOT NULL.

Treba razlikovati obaveznost od praznog teksta: vrednost može biti tekstualna, ali ne sme biti izostavljena ako je atribut obavezan.

4.3. Jedinstvenost

Ograničenje jedinstvenosti znači da određena vrednost ili kombinacija vrednosti ne sme da se ponavlja u više zapisa, kada je tako definisano pravilima baze.

Na primer, svaki učenik može imati jedinstven broj dosijea.

BrojDosijea

Učenik

101

Ana Petrović

102

Marko Jovanović

103

Jelena Nikolić

Ako bi drugi učenik dobio broj dosijea 101, nastao bi problem jer bi se isti broj odnosio na dva učenika.

Jedinstvenost omogućava pouzdano razlikovanje zapisa.

4.4. Referencijalni integritet

Referencijalni integritet obezbeđuje da veza između podataka bude ispravna.

Na primer, tabela Ucenik može sadržati oznaku odeljenja kojem učenik pripada, dok se podaci o odeljenjima čuvaju u tabeli Odeljenje.

Ako u tabeli Odeljenje postoje oznake II-1, II-2 i II-3, učenik ne može biti povezan sa odeljenjem II-9 ako ono ne postoji u evidenciji.

U relacionoj bazi podataka ovaj odnos se obično ostvaruje pomoću stranog ključa (foreign key).

Referencijalni integritet sprečava da se u bazi pojave veze prema nepostojećim zapisima.

4.5. Poslovna pravila

Pored prethodnih ograničenja, mogu postojati i posebna pravila koja proizlaze iz načina rada organizacije.

Primeri:

  • datum završetka kursa ne može biti pre datuma početka;

  • broj održanih časova ne može biti negativan;

  • učenik može biti raspoređen samo u odeljenje koje postoji u školskoj evidenciji.

Takva pravila zavise od konkretne baze podataka i poslovnog okruženja.

5. Primer – baza podataka škole

Posmatrajmo deo baze podataka koji čuva podatke o učenicima.

Atribut

Primer vrednosti

Pravilo

BrojDosijea

125

Mora biti jedinstven

Ime

Milica

Obavezna vrednost

DatumRodjenja

15. 4. 2010.

Mora biti ispravan datum

Ocena

4

Mora pripadati dozvoljenom domenu

Odeljenje

II-2

Mora odgovarati postojećem odeljenju

U ovom primeru svaki atribut ima određenu ulogu. Domen određuje dozvoljene vrednosti, tip atributa opisuje način predstavljanja svojstva, a ograničenja sprečavaju unos neispravnih ili međusobno neusaglašenih podataka.

Kada se ova pravila pravilno definišu, baza podataka postaje pouzdanija i lakša za održavanje.

6. Rešeni zadaci

Zadatak 1  - Atribut Ocena može imati vrednosti 1, 2, 3, 4 i 5. U bazu je pokušan unos vrednosti 7. Koje pravilo je prekršeno?

Rešenje: Prekršeno je ograničenje domena. Vrednost 7 nije u skupu dozvoljenih vrednosti atributa Ocena.

Zadatak 2 - Atribut Adresa sastoji se od ulice, broja, mesta i poštanskog broja.. Kojoj vrsti atributa pripada?

Rešenje: To je složeni atribut, jer se može razložiti na više manjih atributa.

Zadatak 3 - Jedan učenik ima privatni i poslovni broj telefona. Kojoj vrsti atributa pripada Telefon?

Rešenje: To je viševrednosni atribut, jer jedna osoba može imati više vrednosti tog svojstva.

Zadatak 4 - U tabeli Ucenik dva učenika imaju isti broj dosijea, iako je taj broj određen kao jedinstven. Koje ograničenje je prekršeno?

Rešenje: Prekršeno je ograničenje jedinstvenosti.

Zadatak 5 - Učeniku je dodeljeno odeljenje II-8, ali u tabeli Odeljenje ne postoji zapis za to odeljenje. Koje pravilo je prekršeno?

Rešenje: Prekršen je referencijalni integritet, jer učenik upućuje na nepostojeće odeljenje.

7. Zadaci za samostalni rad

  1. Navedi po jedan primer jednostavnog i složenog atributa.

  2. Objasni razliku između jednovrednosnog i viševrednosnog atributa.

  3. Zašto je starost učenika primer izvedenog atributa?

  4. Navedi tri dozvoljene i dve nedozvoljene vrednosti za atribut BrojCasova, uz pretpostavku da broj časova mora biti ceo broj od 0 do 10.

  5. Objasni zašto broj dosijea učenika treba da bude jedinstven.

  6. U tabeli Ucenik nalazi se oznaka odeljenja III-5, ali takvo odeljenje ne postoji u tabeli Odeljenje. Objasni u čemu je problem.

  7. Za atribut DatumRodjenja navedi njegov tip podatka, primer domena i jedno ograničenje koje bi trebalo primeniti.

 

...

Last modified: Monday, 19 October 2026, 9:37 AM