logo

Relationel model i DBMS

E.F. Codd foreslog den relationelle model til at modellere data i form af relationer eller tabeller. Efter at have designet den konceptuelle model af databasen ved hjælp af ER diagram , skal vi konvertere den konceptuelle model til en relationel model, som kan implementeres ved hjælp af enhver RDBMS sprog som Oracle SQL, MySQL osv. Så vi vil se, hvad den relationelle model er.

Den relationelle model bruger en samling af tabeller til at repræsentere både data og relationerne mellem disse data. Hver tabel har flere kolonner, og hver kolonne har et unikt navn. Tabeller er også kendt som relationer. Den relationelle model er et eksempel på en rekordbaseret model. Record-baserede modeller hedder sådan, fordi databasen er struktureret i faste formater af flere typer. Hver tabel indeholder poster af en bestemt type. Hver posttype definerer et fast antal felter eller attributter. Tabellens kolonner svarer til attributterne for posttypen. Relationsdatamodellen er den mest anvendte datamodel, og langt de fleste nuværende databasesystemer er baseret på relationsmodellen.



Hvad er den relationelle model?

Den relationelle model repræsenterer, hvordan data lagres i relationelle databaser. En relationsdatabase består af en samling af tabeller, som hver er tildelt et unikt navn. Overvej en relation STUDENT med attributterne ROLL_NO, NAME, ADDRESS, PHONE og AGE vist i tabellen.

Bordelev

ROLL_NO NAVN ADRESSE TELEFON ALDER
1 vædder DELHI 9455123451 18
2 RAMESH GURGAON 9652431543 18
3 SUJIT ROHTAK 9156253131 tyve
4 SURESH DELHI 18



shweta tiwari

Vigtige terminologier

  • Attribut: Attributter er de egenskaber, der definerer en enhed. f.eks.; ROLL_NO , NAVN, ADRESSE
  • Relationsskema: Et relationsskema definerer strukturen af ​​relationen og repræsenterer navnet på relationen med dens attributter. f.eks.; STUDENT (ROLL_NO, NAME, ADDRESS, PHONE og AGE) er relationsskemaet for STUDENT. Hvis et skema har mere end 1 relation, kaldes det Relationsskema.
  • Tuple: Hver række i relationen er kendt som en tupel. Ovenstående relation indeholder 4 tupler, hvoraf den ene er vist som:
1 vædder DELHI 9455123451 18
  • Relationsforekomst: Sættet af tupler af en relation på et bestemt tidspunkt kaldes en relationsforekomst. Tabel 1 viser relationsinstansen for STUDENT på et bestemt tidspunkt. Det kan ændres, når der er en indsættelse, sletning eller opdatering i databasen.
  • Grad: Antallet af attributter i relationen er kendt som graden af ​​relationen. Det STUDERENDE relation defineret ovenfor har grad 5.
  • Kardinalitet: Antallet af tuples i en relation er kendt som kardinalitet . Det STUDERENDE relation defineret ovenfor har kardinalitet 4.
  • Kolonne: Kolonnen repræsenterer værdisættet for en bestemt attribut. Kolonnen ROLL_NO er udtrukket af relationen STUDENT.
ROLL_NO

1

2

3



4

hiba bukhari
  • NULL-værdier: Den værdi, som ikke er kendt eller utilgængelig, kaldes en NULL-værdi. Det er repræsenteret ved et tomt rum. f.eks.; TELEFON til STUDENT med ROLL_NO 4 er NULL.
  • Relationsnøgle: Disse er dybest set de nøgler, der bruges til at identificere rækkerne unikt eller også hjælpe med at identificere tabeller. Disse er af følgende typer.
    • Primærnøgle
    • Kandidatnøgle
    • Super nøgle
    • Fremmed nøgle
    • Alternativ nøgle
    • Sammensat nøgle

Begrænsninger i relationel model

Mens vi designer den relationelle model, definerer vi nogle betingelser, der skal gælde for data, der findes i databasen, kaldes begrænsninger. Disse begrænsninger kontrolleres, før der udføres nogen handling (indsættelse, sletning og opdatering) i databasen. Hvis der er en overtrædelse af nogen af ​​begrænsningerne, vil operationen mislykkes.

Domænebegrænsninger

Disse er begrænsninger på attributniveau. En attribut kan kun tage værdier, der ligger inden for domæneområdet. f.eks.; Hvis en begrænsning AGE>0 anvendes på STUDENT-relationen, vil indsættelse af en negativ værdi af AGE resultere i fejl.

Nøgleintegritet

Hver relation i databasen skal have mindst ét ​​sæt attributter, der definerer en tuple unikt. Disse sæt attributter kaldes nøgler. f.eks.; ROLL_NO i STUDENT er nøglen. Ikke to elever kan have det samme rullenummer. Så en nøgle har to egenskaber:

  • Det skal være unikt for alle tupler.
  • Det kan ikke have NULL-værdier.

Referenceintegritet

Når en attribut i en relation kun kan tage værdier fra en anden attribut i samme relation eller en hvilken som helst anden relation, kaldes det referentiel integritet . Lad os antage, at vi har 2 relationer

netværksarkitektur

Bordelev

ROLL_NO NAVN ADRESSE TELEFON ALDER BRANCH_CODE
1 vædder DELHI 9455123451 18 CS
2 RAMESH GURGAON 9652431543 18 CS
3 SUJIT ROHTAK 9156253131 tyve ECE
4 SURESH DELHI 18 DET

Bordgren

BRANCH_CODE AFDELINGSNAVN
CS COMPUTER VIDENSKAB
DET INFORMATIONSTEKNOLOGI
ECE ELEKTRONIK OG KOMMUNIKATIONSTEK
CV CIVILINGENIØR

BRANCH_CODE af STUDENT kan kun tage de værdier, der er til stede i BRANCH_CODE af BRANCH, som kaldes referentiel integritetsbegrænsning. Den relation, der refererer til en anden relation, kaldes REFERENCERELATION (STUDENT i dette tilfælde), og den relation, som andre relationer refererer til, kaldes REFERENCERET RELATION (i dette tilfælde BRANCH).

Anomalier i den relationelle model

An anomali er en uregelmæssighed eller noget, der afviger fra den forventede eller normale tilstand. Når vi designer databaser, identificerer vi tre typer af anomalier: Indsæt, Opdater og Slet.

Indsættelsesanomali i referencerelation

Vi kan ikke indsætte en række i REFERENCING RELATION, hvis referenceattributtens værdi ikke er til stede i den refererede attributværdi. f.eks.; Indsættelse af en elev med BRANCH_CODE 'ME' i STUDENT-relationen vil resultere i en fejl, fordi 'ME' ikke er til stede i BRANCH_CODE af BRANCH.

Sletnings-/opdateringsanomali i refereret relation:

Vi kan ikke slette eller opdatere en række fra REFERENCED RELATION, hvis værdien af ​​REFERENCED ATTRIBUTE bruges i værdien af ​​REFERENCED ATTRIBUTE. f.eks; hvis vi forsøger at slette en tuple fra BRANCH med BRANCH_CODE 'CS', vil det resultere i en fejl, fordi 'CS' er refereret af BRANCH_CODE af STUDENT, men hvis vi forsøger at slette rækken fra BRANCH med BRANCH_CODE CV, vil den blive slettet da værdien ikke er blevet brugt ved at referere til relationen. Det kan håndteres på følgende måde:

På Slet Cascade

Det vil slette tuplerne fra REFERENCERET RELATION, hvis den værdi, der bruges af REFERENCERENDE ATRIBUTE, slettes fra REFERENCERET RELATION. f.eks.; For hvis vi sletter en række fra BRANCH med BRANCH_CODE 'CS', vil rækkerne i STUDENT-relation med BRANCH_CODE CS (ROLL_NO 1 og 2 i dette tilfælde) blive slettet.

På Update Cascade

Det vil opdatere REFERENCING ATTRIBUTE i REFERENCING RELATION, hvis attributværdien, der bruges af REFERENCING ATTRIBUTE, opdateres i REFERENCERET RELATION. f.eks., hvis vi opdaterer en række fra BRANCH med BRANCH_CODE 'CS' til 'CSE', vil rækkerne i STUDENT-relation med BRANCH_CODE CS (ROLL_NO 1 og 2 i dette tilfælde) blive opdateret med BRANCH_CODE 'CSE'.

Super nøgler

Ethvert sæt attributter, der giver os mulighed for at identificere unikke rækker (tupler) i et givet forhold, er kendt som supernøgler. Ud af disse supernøgler kan vi altid vælge et passende undersæt blandt disse, der kan bruges som en primær nøgle. Sådanne nøgler er kendt som kandidatnøgler. Hvis der er en kombination af to eller flere attributter, der bruges som den primære nøgle, kalder vi det en sammensat nøgle.

Codd-regler i relationel model

Edgar F Codd foreslog den relationelle databasemodel, hvor han angav regler. Nu er disse kendt som Codds regler. For at enhver database skal være den perfekte, skal den følge reglerne.

bash delt streng med skilletegn

For mere, se Codd-regler i relationel model .

Fordele ved den relationelle model

  • Simpel model: Relationsmodellen er enkel og nem at bruge i sammenligning med andre sprog.
  • Fleksibel: Relationel model er mere fleksibel end nogen anden tilstedeværende relationel model.
  • Sikker: Relationel model er mere sikker end nogen anden relationel model.
  • Datanøjagtighed: Data er mere nøjagtige i den relationelle datamodel.
  • Dataintegritet: Dataens integritet opretholdes i den relationelle model.
  • Operationer kan nemt anvendes: Det er bedre at udføre operationer i den relationelle model.

Ulemper ved den relationelle model

  • Relationel databasemodel er ikke særlig god til store databaser.
  • Nogle gange bliver det svært at finde sammenhængen mellem tabeller.
  • På grund af den komplekse struktur er responstiden for forespørgsler høj.

Karakteristika for den relationelle model

  • Data er repræsenteret i rækker og kolonner kaldet relationer.
  • Data er lagret i tabeller, der har relationer mellem dem, kaldet den relationelle model.
  • Den relationelle model understøtter operationer som datadefinition, datamanipulation og transaktionsstyring.
  • Hver kolonne har et særskilt navn, og de repræsenterer attributter.
  • Hver række repræsenterer en enkelt enhed.