logo

Relasjonsmodell i DBMS

E.F. Codd foreslo den relasjonsmodellen for å modellere data i form av relasjoner eller tabeller. Etter å ha utformet den konseptuelle modellen til databasen ved hjelp av ER diagram , må vi konvertere den konseptuelle modellen til en relasjonsmodell som kan implementeres ved hjelp av hvilken som helst RDBMS språk som Oracle SQL, MySQL, etc. Så vi får se hva Relasjonsmodellen er.

Relasjonsmodellen bruker en samling tabeller for å representere både data og relasjonene mellom disse dataene. Hver tabell har flere kolonner, og hver kolonne har et unikt navn. Tabeller er også kjent som relasjoner. Relasjonsmodellen er et eksempel på en rekordbasert modell. Postbaserte modeller kalles slik fordi databasen er strukturert i fastformatposter av flere typer. Hver tabell inneholder poster av en bestemt type. Hver posttype definerer et fast antall felt eller attributter. Kolonnene i tabellen tilsvarer attributtene til posttypen. Relasjonsdatamodellen er den mest brukte datamodellen, og et stort flertall av dagens databasesystemer er basert på relasjonsmodellen.



Hva er relasjonsmodellen?

Relasjonsmodellen representerer hvordan data lagres i relasjonsdatabaser. En relasjonsdatabase består av en samling tabeller, som hver er tildelt et unikt navn. Tenk på en relasjon STUDENT med attributtene ROLL_NO, NAME, ADDRESS, PHONE og AGE vist i tabellen.

Bordstudent

ROLL_NO NAVN ADRESSE TELEFON ALDER
1 RAM DELHI 9455123451 18
2 RAMESH GURGAON 9652431543 18
3 SUJIT ROHTAK 9156253131 tjue
4 SURESH DELHI 18



govinda

Viktige terminologier

  • Egenskap: Attributter er egenskapene som definerer en enhet. f.eks.; ROLL_NO , NAVN, ADRESSE
  • Relasjonsskjema: Et relasjonsskjema definerer strukturen til relasjonen og representerer navnet på relasjonen med dens attributter. f.eks.; STUDENT (ROLL_NO, NAME, ADDRESS, PHONE og AGE) er relasjonsskjemaet for STUDENT. Hvis et skjema har mer enn 1 relasjon, kalles det relasjonsskjema.
  • Tuppel: Hver rad i relasjonen er kjent som en tuppel. Relasjonen ovenfor inneholder 4 tupler, hvorav den ene er vist som:
1 RAM DELHI 9455123451 18
  • Relasjonsforekomst: Settet med tupler av en relasjon på et bestemt tidspunkt kalles en relasjonsforekomst. Tabell 1 viser relasjonsforekomsten til STUDENT på et bestemt tidspunkt. Den kan endres når det er en innsetting, sletting eller oppdatering i databasen.
  • Grad: Antall attributter i relasjonen er kjent som graden av relasjonen. De STUDENT relasjonen definert ovenfor har grad 5.
  • Kardinalitet: Antall tupler i en relasjon er kjent som kardinalitet . De STUDENT relasjonen definert ovenfor har kardinalitet 4.
  • Kolonne: Kolonnen representerer settet med verdier for et bestemt attributt. Kolonnen ROLL_NO er hentet fra relasjonen STUDENT.
ROLL_NO

1

2

3



4

hiba bukhari
  • NULL-verdier: Verdien som ikke er kjent eller utilgjengelig kalles en NULL-verdi. Det er representert med tomrom. f.eks.; TELEFONEN til STUDENT som har ROLL_NO 4 er NULL.
  • Relasjonsnøkkel: Dette er i utgangspunktet nøklene som brukes til å identifisere radene unikt eller også hjelpe til med å identifisere tabeller. Disse er av følgende typer.
    • Primærnøkkel
    • Kandidatnøkkel
    • Supernøkkel
    • Utenlandsk nøkkel
    • Alternativ nøkkel
    • Sammensatt nøkkel

Begrensninger i relasjonsmodellen

Mens vi designer den relasjonsmodellen, definerer vi noen betingelser som må gjelde for data som finnes i databasen, kalles begrensninger. Disse begrensningene kontrolleres før noen operasjon (innsetting, sletting og oppdatering) utføres i databasen. Hvis det er et brudd på noen av begrensningene, vil operasjonen mislykkes.

Domenebegrensninger

Dette er begrensninger på attributtnivå. Et attributt kan bare ta verdier som ligger innenfor domeneområdet. f.eks.; Hvis en begrensning AGE>0 brukes på STUDENT-relasjonen, vil innsetting av en negativ verdi av AGE resultere i feil.

Nøkkelintegritet

Hver relasjon i databasen bør ha minst ett sett med attributter som definerer en tuppel unikt. Disse settet med attributter kalles nøkler. f.eks.; ROLL_NO i STUDENT er nøkkelen. Ingen to elever kan ha samme rullenummer. Så en nøkkel har to egenskaper:

  • Den skal være unik for alle tuples.
  • Den kan ikke ha NULL-verdier.

Referanseintegritet

Når ett attributt til en relasjon bare kan ta verdier fra et annet attributt av samme relasjon eller en hvilken som helst annen relasjon, kalles det referanseintegritet . La oss anta at vi har 2 relasjoner

nettverksarkitektur

Bordstudent

ROLL_NO NAVN ADRESSE TELEFON ALDER BRANSJEKODE
1 RAM DELHI 9455123451 18 CS
2 RAMESH GURGAON 9652431543 18 CS
3 SUJIT ROHTAK 9156253131 tjue ECE
4 SURESH DELHI 18 DEN

Tabell gren

BRANSJEKODE BRANCH_NAME
CS DATAVITENSKAP
DEN INFORMASJONSTEKNOLOGI
ECE ELEKTRONIKK OG KOMMUNIKASJONSTEKNIKK
CV SIVIALE TEKNIKK

BRANCH_CODE av STUDENT kan bare ta verdiene som er tilstede i BRANCH_CODE av BRANCH som kalles referanseintegritetsbegrensning. Relasjonen som refererer til en annen relasjon kalles REFERANSERT RELASJON (STUDENT i dette tilfellet) og relasjonen som andre relasjoner refererer til kalles REFERANSERT RELASJON (BRANCH i dette tilfellet).

Anomalier i relasjonsmodellen

An anomali er en uregelmessighet eller noe som avviker fra forventet eller normal tilstand. Når vi designer databaser, identifiserer vi tre typer uregelmessigheter: Sett inn, Oppdater og Slett.

Anomali ved innsetting i referanserelasjon

Vi kan ikke sette inn en rad i REFERENCING RELATION hvis referanseattributts verdi ikke er til stede i den refererte attributtverdien. f.eks.; Innsetting av en student med BRANCH_CODE 'ME' i STUDENT-relasjonen vil resultere i en feil fordi 'ME' ikke er til stede i BRANCH_CODE av BRANCH.

Slettings-/oppdateringsavvik i referert forhold:

Vi kan ikke slette eller oppdatere en rad fra REFERANSERT RELATION hvis verdien av REFERANSERT ATTRIBUTE brukes i verdien for REFERANSERT ATTRIBUTE. f.eks; hvis vi prøver å slette en tuppel fra BRANCH som har BRANCH_CODE 'CS', vil det resultere i en feil fordi 'CS' er referert av BRANCH_CODE til STUDENT, men hvis vi prøver å slette raden fra BRANCH med BRANCH_CODE CV, vil den bli slettet da verdien ikke er brukt ved å referere til relasjonen. Det kan håndteres på følgende måte:

På Slett Cascade

Det vil slette tuplene fra REFERANSERT RELASJON hvis verdien som brukes av REFERANSERT ATRIBUTE slettes fra REFERANSERT RELASJON. f.eks.; For, hvis vi sletter en rad fra BRANCH med BRANCH_CODE ‘CS’, vil radene i STUDENT-relasjon med BRANCH_CODE CS (ROLL_NO 1 og 2 i dette tilfellet) bli slettet.

På Update Cascade

Den vil oppdatere REFERANSERTRIBUTET i REFERANSERT RELASJON hvis attributtverdien som brukes av REFERANSERTRIBUTET er oppdatert i REFERANSERT RELASJON. for eksempel, hvis vi oppdaterer en rad fra BRANCH med BRANCH_CODE ‘CS’ til ‘CSE’, vil radene i STUDENT-relasjon med BRANCH_CODE CS (ROLL_NO 1 og 2 i dette tilfellet) bli oppdatert med BRANCH_CODE ‘CSE’.

Supernøkler

Ethvert sett med attributter som lar oss identifisere unike rader (tupler) i et gitt forhold er kjent som supernøkler. Ut av disse supernøklene kan vi alltid velge et riktig delsett blant disse som kan brukes som primærnøkkel. Slike nøkler er kjent som kandidatnøkler. Hvis det er en kombinasjon av to eller flere attributter som brukes som primærnøkkel, kaller vi det en sammensatt nøkkel.

Codd-regler i relasjonsmodell

Edgar F Codd foreslo relasjonsdatabasemodellen der han uttalte regler. Nå er disse kjent som Codds regler. For at enhver database skal være den perfekte, må den følge reglene.

bash delt streng med skilletegn

For mer, se Codd-regler i relasjonsmodell .

Fordeler med relasjonsmodellen

  • Enkel modell: Relasjonsmodellen er enkel og lett å bruke sammenlignet med andre språk.
  • Fleksibel: Relasjonsmodellen er mer fleksibel enn noen annen relasjonsmodell som finnes.
  • Sikre: Relasjonsmodell er sikrere enn noen annen relasjonsmodell.
  • Datanøyaktighet: Data er mer nøyaktige i den relasjonsdatamodellen.
  • Dataintegritet: Dataenes integritet opprettholdes i relasjonsmodellen.
  • Operasjoner kan enkelt brukes: Det er bedre å utføre operasjoner i relasjonsmodellen.

Ulemper med relasjonsmodellen

  • Relasjonell databasemodell er ikke veldig bra for store databaser.
  • Noen ganger blir det vanskelig å finne sammenhengen mellom tabeller.
  • På grunn av den komplekse strukturen er responstiden for forespørsler høy.

Kjennetegn ved den relasjonelle modellen

  • Data er representert i rader og kolonner kalt relasjoner.
  • Data lagres i tabeller med relasjoner mellom dem kalt Relasjonsmodellen.
  • Den relasjonsmodellen støtter operasjoner som datadefinisjon, datamanipulasjon og transaksjonsadministrasjon.
  • Hver kolonne har et distinkt navn, og de representerer attributter.
  • Hver rad representerer en enkelt enhet.