Relacijski model podataka u DBMS-u: Concepts & Primjer
โก Pametni saลพetak
Relacijski model predstavlja bazu podataka kao skup relacija, gdje je svaka relacija tablica redaka i stupaca. Definira kljuฤne koncepte, ograniฤenja integriteta i operacije aลพuriranja koje odrลพavaju relacijske podatke konzistentnima i jednostavnima za upite.

ล to je relacijski model?
Relacijski model (RM) predstavlja bazu podataka kao skup relacija. Relacija nije niลกta drugo nego tablica vrijednosti. Svaki redak u tablici predstavlja zbirku povezanih podataka. Ovi redovi u tablici oznaฤavaju entitet ili odnos iz stvarnog svijeta.
Naziv tablice i nazivi stupaca pomaลพu u tumaฤenju znaฤenja vrijednosti u svakom retku. Podaci su predstavljeni kao skup relacija. U relacijskom modelu podaci se pohranjuju kao tablice. Meฤutim, fiziฤka pohrana podataka neovisna je o naฤinu na koji su podaci logiฤki organizirani.
Model je predloลพio EF Codd 1970. godine i ostaje temelj gotovo svake glavne baze podataka koja se danas koristi. Neki popularni relacijski sustavi za upravljanje bazama podataka su:
- DB2 i Informix dinamiฤki posluลพitelj โ IBM
- Oracle i RDB โ Oracle
- SQL Server i Access โ Microsoft
Relacijski model Concepts u DBMS-u
- Atribut: Svaki stupac u tablici. Atributi su svojstva koja definiraju relaciju, npr. Student_Rollno, IME itd.
- tablice: U relacijskom modelu, relacije se spremaju u formatu tablice. Pohranjuje se zajedno sa svojim entitetima. Tablica ima dva svojstva, retke i stupce. Redci predstavljaju zapise, a stupci atribute.
- Tuple: To nije niลกta drugo nego jedan redak tablice koji sadrลพi jedan zapis.
- Shema odnosa: Shema relacije predstavlja ime relacije sa svojim atributima.
- Stupanj: Ukupan broj atributa u relaciji naziva se stupanj relacije.
- Kardinalnost: Ukupan broj redaka prisutnih u tablici.
- Stupac: Stupac predstavlja skup vrijednosti za odreฤeni atribut.
- Primjer relacije: Instanca relacije je konaฤan skup tupleova u RDBMS sustavu. Instance relacije nikada nemaju duplicirane tupleove.
- Kljuฤ relacije: Svaki red ima jedan, dva ili viลกe atributa, ลกto se naziva kljuฤ relacije.
- Domena atributa: Svaki atribut ima neku unaprijed definiranu vrijednost i opseg, ลกto je poznato kao domena atributa.
S obzirom na vokabular, sljedeฤa briga je zadrลพatiping podaci u tim relacijama valjani, ลกto je zadatak ograniฤenja integriteta.
Relacijski Integrity ograniฤenja
Ograniฤenja relacijskog integriteta u DBMS-u odnose se na uvjete koji moraju biti prisutni za valjanu relaciju. Ta relacijska ograniฤenja izvedena su iz pravila u mini-svijetu koji baza podataka predstavlja.
Postoji mnogo vrsta ograniฤenja integriteta. Ograniฤenja na sustavu upravljanja relacijskom bazom podataka uglavnom se dijele u tri glavne kategorije:
- Ograniฤenja domene
- Kljuฤna ograniฤenja
- Referentni Integrity ograniฤenja
Ograniฤenja domene
Ograniฤenja domene mogu se prekrลกiti ako se vrijednost atributa ne pojavljuje u odgovarajuฤoj domeni ili ako nije odgovarajuฤeg tipa podataka.
Ograniฤenja domene odreฤuju da unutar svake n-torke vrijednost svakog atributa mora biti atomska i izvuฤena iz ispravne domene. Domene su odreฤene kao tipovi podataka, koji ukljuฤuju standardne tipove kao ลกto su cijeli brojevi, realni brojevi, znakovi, logiฤke vrijednosti i nizovi promjenjive duljine.
Primjer:
CREATE DOMAIN CustomerName CHECK (value NOT NULL)
Prikazani primjer pokazuje stvaranje ograniฤenja domene tako da CustomerName nije NULL.
Kljuฤna ograniฤenja
Atribut koji moลพe jedinstveno identificirati torku u relaciji naziva se kljuฤ tablice. Vrijednost atributa za razliฤite torke u relaciji mora biti jedinstvena.
Primjer:
U danoj tablici, CustomerID je kljuฤni atribut tablice Customer. Najvjerojatnije ฤe imati jedan kljuฤ za jednog kupca; CustomerID = 1 je samo za CustomerName โGooglePotpuni opis razliฤitih vrsta kljuฤeva nalazi se u vodiฤu za DBMS kljuฤevi.
| ID kupca | Ime kupca | Status |
|---|---|---|
| 1 | Aktivan | |
| 2 | Amazon | Aktivan |
| 3 | jabuka | neaktivan |
Referentni Integrity ograniฤenja
Ograniฤenja referencijalnog integriteta u DBMS-u temelje se na konceptu stranih kljuฤeva. Strani kljuฤ je vaลพan atribut relacije na koji se treba pozivati โโu drugim relacijama. Ograniฤenje referencijalnog integriteta javlja se kada se relacija poziva na kljuฤni atribut razliฤite ili iste relacije. Taj kljuฤni element mora postojati u referenciranoj tablici.
Primjer:
U gornjem primjeru imamo dva odnosa, Kupac i Billing..
Ntorka za CustomerID = 1 se u relaciji referencira dva puta. Billing. Dakle, znamo ImeKupca โGoogle"ima iznos naplate od 300 USD."
Operacije u relacijskom modelu
Na relacijskom modelu baze podataka izvode se ฤetiri osnovne operacije aลพuriranja: umetanje, aลพuriranje, brisanje i odabir.
- Naredba Insert se koristi za umetanje podataka u relaciju.
- Delete se koristi za brisanje torki iz tablice.
- Modify vam omoguฤuje promjenu vrijednosti nekih atributa u postojeฤim torkama.
- Odaberite vam omoguฤuje odabir odreฤenog raspona podataka.
Kad god se primijeni jedna od ovih operacija, ograniฤenja integriteta navedena na shemi relacijske baze podataka nikada ne smiju biti prekrลกena.
umetak OperaANJE
Operacija umetanja daje vrijednosti atributa za novu nabornu skupinu koja se treba umetnuti u relaciju.
Nadopune OperaANJE
U donjoj tablici relacija moลพete vidjeti da je CustomerName 'Apple' aลพuriran iz Neaktivnog u Aktivno.
Izbrisati OperaANJE
Da biste odredili brisanje, uvjet na atribute relacije odabire torku koja se briลกe.
U gornjem primjeru, CustomerName โAppleโ je izbrisan iz tablice.
Operacija brisanja mogla bi naruลกiti referencijalni integritet ako se na izbrisani tuple referenciraju strani kljuฤevi iz drugih tuplea u istom baza podataka.
odabrati OperaANJE
U gornjem primjeru, NazivKupca "Amazon"Odabrano je.
Relacijski model u odnosu na hijerarhijski i mreลพni model
Relacijski model zamijenio je dva ranija pristupa, a kontrast objaลกnjava zaลกto je postao dominantan. Tablica u nastavku usporeฤuje ta tri pristupa.
| Aspekt | Relacijski model | Hijerarhijski model | Model mreลพe |
|---|---|---|---|
| Struktura | Tablice (relacije) | Drvo, od roditelja do djeteta | Grafikon, mnogo prema mnogo |
| Pristup podacima | Deklarativno, po vrijednosti | Navigacijski, po putanji | Navigacijski, pomoฤu pokazivaฤa |
| Odnosi | Strani kljuฤevi | Veze roditelj-dijete | Skupovi i pokazivaฤi |
| Jezik upita | SQL | Proceduralni kod | Proceduralni kod |
| Fleksibilnost | visok | Nizak | Srednji |
Buduฤi da relacijski model adresira podatke prema vrijednosti, a ne prema fiziฤkim vezama, jezik visoke razine poput SQL moลพe izraziti upit bez znanja kako su podaci pohranjeni.
Najbolje prakse za stvaranje relacijskog modela
- Podaci moraju biti predstavljeni kao skup relacija.
- Svaki odnos treba biti jasno prikazan u tablici.
- Redci trebaju sadrลพavati podatke o instancama entiteta.
- Kolumne moraju sadrลพavati podatke o atributima entiteta.
- ฤelije tablice trebaju sadrลพavati jednu vrijednost.
- Svakom stupcu treba dati jedinstveno ime.
- Niti dva reda ne mogu biti identiฤna.
- Vrijednosti atributa trebaju biti iz iste domene.
Prednosti modela relacijske baze podataka
- Jednostavnost: Relacijski model podataka u DBMS-u je jednostavniji od hijerarhijskih i mreลพnih modela.
- Strukturna neovisnost: Relacijska baza podataka bavi se samo podacima, a ne strukturom, ลกto moลพe poboljลกati performanse modela.
- Jednostavan za koriลกtenje: Relacijski model je jednostavan za koriลกtenje, jer su tablice koje se sastoje od redaka i stupaca prirodne i jednostavne za razumijevanje.
- Moguฤnost upita: Omoguฤuje jeziku upita visoke razine poput SQL-a da izbjegne sloลพenu navigaciju bazom podataka.
- Neovisnost podataka: Struktura relacijske baze podataka moลพe se mijenjati bez potrebe za promjenom bilo koje aplikacije.
- Prilagodljivo: S obzirom na broj zapisa ili redaka i broj polja, baza podataka moลพe se proลกiriti kako bi se poboljลกala njezina upotrebljivost.
Nedostaci relacijskog modela
- Malo relacijskih baza podataka ima ograniฤenja duljine polja koja se ne mogu prekoraฤiti.
- Relacijske baze podataka ponekad mogu postati sloลพene kako koliฤina podataka raste, a odnosi izmeฤu dijelova podataka postaju kompliciraniji.
- Sloลพeni relacijski sustavi baza podataka mogu dovesti do izoliranih baza podataka gdje se informacije ne mogu dijeliti izmeฤu sustava.






