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.

  • ๐Ÿ—ƒ๏ธ Osnovna ideja: Podaci se pohranjuju kao relacije, a svaki red je skup koji opisuje jedan entitet ili odnos iz stvarnog svijeta.
  • ๐Ÿท๏ธ Kljuฤni uvjeti: Atribut, n-torka, stupanj, kardinalnost, domena i kljuฤ relacije zajedno opisuju oblik tablice.
  • ๐Ÿ›ก๏ธ Tri ograniฤenja: Ograniฤenja integriteta domene, kljuฤa i referencijalnog integriteta odrลพavaju svaku relaciju valjanom.
  • ๐Ÿ”‘ Tablice poveznica kljuฤeva: Primarni kljuฤ jedinstveno identificira red, a strani kljuฤ referencira kljuฤ u drugoj relaciji.
  • ๐Ÿ”„ ฤŒetiri Operaticije: Umetanje, aลพuriranje, brisanje i odabir djeluju na relacije bez krลกenja definiranih ograniฤenja.
  • โœ… Pravila dizajna: Jedna vrijednost po ฤ‡eliji, jedinstveni nazivi stupaca, bez dupliciranih redaka i vrijednosti izvuฤene iz jedne domene.
  • ๐Ÿ“ˆ Zaลกto pobjeฤ‘uje: Jednostavnost, strukturna neovisnost, jezik upita visoke razine i neovisnost podataka.

Relacijski podatkovni model u DBMS-u

ล 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

  1. Atribut: Svaki stupac u tablici. Atributi su svojstva koja definiraju relaciju, npr. Student_Rollno, IME itd.
  2. 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.
  3. Tuple: To nije niลกta drugo nego jedan redak tablice koji sadrลพi jedan zapis.
  4. Shema odnosa: Shema relacije predstavlja ime relacije sa svojim atributima.
  5. Stupanj: Ukupan broj atributa u relaciji naziva se stupanj relacije.
  6. Kardinalnost: Ukupan broj redaka prisutnih u tablici.
  7. Stupac: Stupac predstavlja skup vrijednosti za odreฤ‘eni atribut.
  8. Primjer relacije: Instanca relacije je konaฤan skup tupleova u RDBMS sustavu. Instance relacije nikada nemaju duplicirane tupleove.
  9. Kljuฤ relacije: Svaki red ima jedan, dva ili viลกe atributa, ลกto se naziva kljuฤ relacije.
  10. Domena atributa: Svaki atribut ima neku unaprijed definiranu vrijednost i opseg, ลกto je poznato kao domena atributa.

Koncepti relacijskih modela ilustrirani na tablici

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:

  1. Ograniฤenja domene
  2. Kljuฤna ograniฤenja
  3. 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 Google 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:

Referentni integritet izmeฤ‘u Kupca i Billodnosi

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.

Operacija umetanja koja dodaje novi tuple u relaciju

Nadopune OperaANJE

U donjoj tablici relacija moลพete vidjeti da je CustomerName 'Apple' aลพuriran iz Neaktivnog u Aktivno.

Operacija aลพuriranja koja mijenja vrijednost statusa u tupleu

Izbrisati OperaANJE

Da biste odredili brisanje, uvjet na atribute relacije odabire torku koja se briลกe.

Operacija brisanja kojom se uklanja n-torka iz relacije

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

Odaberite operaciju odabirom odreฤ‘ene korte

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.

Pitanja i odgovori

Stupanj je broj atributa ili stupaca u relaciji. Kardinalnost je broj n-torki ili redaka. Stupanj opisuje ลกirinu tablice, a kardinalnost njezinu visinu.

Relacija je matematiฤki skup, a skup ne sadrลพi duplicirane ฤlanove. Primarni kljuฤ to osigurava, tako da je svaka n-torka jedinstveno identificirana i nijedna dva retka nisu identiฤna.

Modeli umjetne inteligencije ฤesto se treniraju na znaฤajkama preuzetim iz relacijskih tablica putem SQL spajanja i agregacija. Umjetna inteligencija takoฤ‘er moลพe prevesti jednostavno englesko pitanje u SQL, tako da netehniฤki korisnici izravno ispituju relacije.

Da. S obzirom na uzorke podataka ili zahtjeve, umjetna inteligencija moลพe predloลพiti tablice, primarne i strane kljuฤeve te normalni oblik. Izlaz joลก uvijek treba pregledati jer normalizacija ovisi o poslovnim pravilima koja umjetna inteligencija moลพda ne poznaje.

U praksi se koriste naizmjeniฤno. Formalno, relacija je skup n-torki bez redoslijeda i bez duplikata, dok je tablica njezina fiziฤka slika koja moลพe prikazivati โ€‹โ€‹retke u pohranjenom redoslijedu.

Saลพmite ovu objavu uz: