logo

Relationsmodell i DBMS

E.F. Codd föreslog den relationella modellen för att modellera data i form av relationer eller tabeller. Efter att ha designat den konceptuella modellen av databasen med hjälp av ER-diagram måste vi omvandla den konceptuella modellen till en relationsmodell som kan implementeras med vilken som helst RDBMS språk som Oracle SQL, MySQL, etc. Så vi får se vad Relationsmodellen är.

Relationsmodellen använder en samling tabeller för att representera både data och relationerna mellan dessa data. Varje tabell har flera kolumner och varje kolumn har ett unikt namn. Tabeller är också kända som relationer. Relationsmodellen är ett exempel på en rekordbaserad modell. Postbaserade modeller heter så eftersom databasen är uppbyggd i poster i fast format av flera typer. Varje tabell innehåller poster av en viss typ. Varje posttyp definierar ett fast antal fält eller attribut. Kolumnerna i tabellen motsvarar posttypens attribut. Relationsdatamodellen är den mest använda datamodellen, och en stor majoritet av nuvarande databassystem är baserade på relationsmodellen.



Vad är relationsmodellen?

Relationsmodellen representerar hur data lagras i relationsdatabaser. En relationsdatabas består av en samling tabeller, som var och en tilldelas ett unikt namn. Betrakta en relation STUDENT med attributen ROLL_NO, NAME, ADDRESS, PHONE och AGE som visas i tabellen.

Tabell Student

ROLL_NO NAMN ADRESS TELEFON ÅLDER
1 Bagge DELHI 9455123451 18
2 RAMESH GURGAON 9652431543 18
3 SUJIT ROHTAK 9156253131 tjugo
4 VISST DELHI 18



teckenstorlek latex

Viktiga terminologier

  • Attribut: Attribut är de egenskaper som definierar en enhet. t.ex.; ROLL_NO , NAMN ADRESS
  • Relationsschema: Ett relationsschema definierar strukturen för relationen och representerar namnet på relationen med dess attribut. t.ex.; STUDENT (ROLL_NO, NAME, ADDRESS, PHONE och AGE) är relationsschemat för STUDENT. Om ett schema har mer än en relation kallas det för relationsschema.
  • Tuppel: Varje rad i relationen är känd som en tupel. Ovanstående relation innehåller 4 tuplar, varav en visas som:
1 Bagge DELHI 9455123451 18
  • Relationsinstans: Uppsättningen av tuplar av en relation vid en viss tidpunkt kallas en relationsinstans. Tabell 1 visar relationsinstansen för STUDENT vid en viss tidpunkt. Den kan ändras närhelst det finns en infogning, borttagning eller uppdatering i databasen.
  • Grad: Antalet attribut i relationen kallas graden av relationen. De STUDERANDE relationen definierad ovan har grad 5.
  • Kardinalitet: Antalet tuplar i en relation kallas kardinalitet . De STUDERANDE relationen definierad ovan har kardinalitet 4.
  • Kolumn: Kolumnen representerar uppsättningen värden för ett visst attribut. Kolumnen ROLL_NO utvinns från relationen STUDENT.
ROLL_NO

1

2

3



4

java hej världen
  • NULL-värden: Värdet som inte är känt eller otillgängligt kallas ett NULL-värde. Det representeras av tomt utrymme. t.ex.; TELEFON för STUDENT som har ROLL_NO 4 är NULL.
  • Relationsnyckel: Dessa är i grunden de nycklar som används för att identifiera raderna unikt eller också hjälpa till att identifiera tabeller. Dessa är av följande typer.
    • Primärnyckel
    • Kandidatnyckel
    • Supernyckel
    • Främmande nyckel
    • Alternativ nyckel
    • Kompositnyckel

Begränsningar i relationsmodell

När vi utformar den relationella modellen definierar vi några villkor som måste gälla för data som finns i databasen kallas begränsningar. Dessa begränsningar kontrolleras innan någon operation (infogning, radering och uppdatering) utförs i databasen. Om det finns ett brott mot någon av begränsningarna kommer operationen att misslyckas.

Domänbegränsningar

Dessa är begränsningar på attributnivå. Ett attribut kan bara ta värden som ligger inom domänintervallet. t.ex.; Om en restriktion AGE>0 tillämpas på STUDENT-relationen, kommer insättning av ett negativt värde på AGE att resultera i misslyckande.

Nyckelintegritet

Varje relation i databasen bör ha minst en uppsättning attribut som definierar en tupel unikt. Denna uppsättning attribut kallas nycklar. t.ex.; ROLL_NO i STUDENT är nyckeln. Inga två elever kan ha samma rullnummer. Så en nyckel har två egenskaper:

  • Det ska vara unikt för alla tuplar.
  • Det kan inte ha NULL-värden.

Referensintegritet

När ett attribut i en relation bara kan ta värden från ett annat attribut av samma relation eller någon annan relation, kallas det referensintegritet . Låt oss anta att vi har 2 relationer

kö i java

Tabell Student

ROLL_NO NAMN ADRESS TELEFON ÅLDER GREN-KOD
1 Bagge DELHI 9455123451 18 CS
2 RAMESH GURGAON 9652431543 18 CS
3 SUJIT ROHTAK 9156253131 tjugo ECE
4 VISST DELHI 18 DEN

Bordsgren

GREN-KOD BRANCH_NAME
CS DATAVETENSKAP
DEN INFORMATIONSTEKNOLOGI
ECE ELEKTRONIK OCH KOMMUNIKATIONSTEKNIK
CV CIVILINGENJÖR

BRANCH_CODE av STUDENT kan bara ta de värden som finns i BRANCH_CODE av BRANCH som kallas referensintegritetsbegränsning. Relationen som refererar till en annan relation kallas REFERENSRELATION (STUDENT i detta fall) och relationen som andra relationer refererar till kallas REFERENSRELATION (BRANCH i detta fall).

Anomalier i relationsmodellen

En anomali är en oegentlighet eller något som avviker från det förväntade eller normala tillståndet. När vi utformar databaser identifierar vi tre typer av anomalier: Infoga, Uppdatera och Ta bort.

Insättningsavvikelse i referensrelation

Vi kan inte infoga en rad i REFERENCING RELATION om referensattributets värde inte finns i det refererade attributvärdet. t.ex.; Infogning av en student med BRANCH_CODE 'ME' i STUDENT-relationen kommer att resultera i ett fel eftersom 'ME' inte finns i BRANCH_CODE i BRANCH.

Borttagning/uppdateringsavvikelse i refererad relation:

Vi kan inte ta bort eller uppdatera en rad från REFERENCED RELATION om värdet på REFERENCED ATTRIBUTE används i värdet på REFERENCED ATTRIBUTE. t.ex; om vi försöker ta bort en tupel från BRANCH med BRANCH_CODE 'CS' kommer det att resultera i ett fel eftersom 'CS' refereras av BRANCH_CODE av STUDENT, men om vi försöker ta bort raden från BRANCH med BRANCH_CODE CV, kommer den att raderas eftersom värdet inte har använts genom att referera till relationen. Det kan hanteras på följande sätt:

På Ta bort Cascade

Det kommer att ta bort tuplarna från REFERENCERAD RELATION om värdet som används av REFERENCATRIBUTE raderas från REFERENCERAD RELATION. t.ex.; För, om vi tar bort en rad från BRANCH med BRANCH_CODE 'CS', kommer raderna i STUDENT-relation med BRANCH_CODE CS (ROLL_NO 1 och 2 i detta fall) att tas bort.

På Update Cascade

Det kommer att uppdatera REFERENCATRIBUTE i REFERENCERADE RELATION om attributvärdet som används av REFERENCATRIBUTE uppdateras i REFERENCE RELATION. Om vi ​​t.ex. uppdaterar en rad från BRANCH med BRANCH_CODE 'CS' till 'CSE' kommer raderna i STUDENT-relationen med BRANCH_CODE CS (ROLL_NO 1 och 2 i detta fall) att uppdateras med BRANCH_CODE 'CSE'.

Supernycklar

Varje uppsättning attribut som tillåter oss att identifiera unika rader (tupler) i en given relation kallas supernycklar. Av dessa supernycklar kan vi alltid välja en lämplig delmängd bland dessa som kan användas som en primärnyckel. Sådana nycklar är kända som kandidatnycklar. Om det finns en kombination av två eller flera attribut som används som primärnyckel kallar vi det en sammansatt nyckel.

Codd-regler i relationsmodell

Edgar F Codd föreslog den relationella databasmodellen där han angav regler. Nu är dessa kända som Codds regler. För att en databas ska vara den perfekta måste den följa reglerna.

polymorfism java

För mer, se Codd-regler i relationsmodell .

Fördelar med relationsmodellen

  • Enkel modell: Relationsmodellen är enkel och lätt att använda i jämförelse med andra språk.
  • Flexibel: Relationsmodellen är mer flexibel än någon annan existerande relationsmodell.
  • Säkra: Relationsmodell är säkrare än någon annan relationsmodell.
  • Datanoggrannhet: Data är mer exakt i den relationella datamodellen.
  • Dataintegritet: Datans integritet bibehålls i relationsmodellen.
  • Operationer kan enkelt tillämpas: Det är bättre att utföra operationer i relationsmodellen.

Nackdelar med Relationsmodellen

  • Relationell databasmodell är inte särskilt bra för stora databaser.
  • Ibland blir det svårt att hitta relationen mellan tabeller.
  • På grund av den komplexa strukturen är svarstiden för frågor hög.

Kännetecken för den relationella modellen

  • Data representeras i rader och kolumner som kallas relationer.
  • Data lagras i tabeller med relationer mellan dem som kallas Relationsmodellen.
  • Den relationella modellen stöder operationer som datadefinition, datamanipulation och transaktionshantering.
  • Varje kolumn har ett distinkt namn och de representerar attribut.
  • Varje rad representerar en enda enhet.