Relasjonsdatamodell i DBMS: Concepts & Eksempel

โšก Smart oppsummering

Relasjonsmodellen representerer en database som en samling av relasjoner, der hver relasjon er en tabell med rader og kolonner. Den definerer kjernekonsepter, integritetsbegrensninger og oppdateringsoperasjoner som holder relasjonsdata konsistente og enkle รฅ spรธrre.

  • ๐Ÿ—ƒ๏ธ Kjerneide: Data lagres som relasjoner, og hver rad er en tuple som beskriver รฉn virkelig enhet eller relasjon.
  • ๐Ÿท๏ธ Nรธkkelord: Attributt, tuppel, grad, kardinalitet, domene og relasjonsnรธkkel beskriver sammen formen pรฅ en tabell.
  • ๐Ÿ›ก๏ธ Tre begrensninger: Begrensninger for domene-, nรธkkel- og referanseintegritet holder alle relasjoner gyldige.
  • ๐Ÿ”‘ Nรธkkelkoblingstabeller: En primรฆrnรธkkel identifiserer en rad unikt, og en fremmednรธkkel refererer til en nรธkkel i en annen relasjon.
  • ๐Ÿ”„ Fire Operatjoner: Sett inn, oppdater, slett og velg handling pรฅ relasjoner uten รฅ bryte de definerte begrensningene.
  • โœ… Designregler: ร‰n verdi per celle, unike kolonnenavn, ingen dupliserte rader og verdier hentet fra ett domene.
  • ๐Ÿ“ˆ Hvorfor den vinner: Enkelhet, strukturell uavhengighet, et spรธrresprรฅk pรฅ hรธyt nivรฅ og datauavhengighet.

Relasjonsdatamodell i DBMS

Hva er den relasjonelle modellen?

Relasjonsmodell (RM) representerer databasen som en samling av relasjoner. En relasjon er ikke annet enn en verditabell. Hver rad i tabellen representerer en samling av relaterte dataverdier. Disse radene i tabellen angir en reell enhet eller relasjon.

Tabellnavnet og kolonnenavnene hjelper til med รฅ tolke betydningen av verdiene i hver rad. Dataene er representert som et sett med relasjoner. I relasjonsmodellen lagres data som tabeller. Den fysiske lagringen av dataene er imidlertid uavhengig av hvordan dataene er logisk organisert.

Modellen ble foreslรฅtt av EF Codd i 1970 og er fortsatt grunnlaget for nesten alle vanlige databaser som er i bruk i dag. Noen populรฆre relasjonsdatabasehรฅndteringssystemer er:

  • DB2 og Informix Dynamic Server โ€“ IBM
  • Oracle og RDB โ€“ Oracle
  • SQL Server og tilgang โ€“ Microsoft

Relasjonsmodell Concepts i DBMS

  1. Egenskap: Hver kolonne i en tabell. Attributter er egenskapene som definerer en relasjon, f.eks. Student_Rollnr, NAVN osv.
  2. bord: I relasjonsmodellen lagres relasjoner i tabellformat. De lagres sammen med enhetene. En tabell har to egenskaper, rader og kolonner. Rader representerer poster og kolonner representerer attributter.
  3. Tuppel: Det er ikke annet enn en enkelt rad i en tabell, som inneholder รฉn enkelt post.
  4. Relasjonsskjema: Et relasjonsskjema representerer navnet pรฅ relasjonen med dens attributter.
  5. Grad: Det totale antallet attributter i relasjonen kalles relasjonens grad.
  6. Kardinalitet: Det totale antallet rader som finnes i tabellen.
  7. Kolonne: Kolonnen representerer settet med verdier for et spesifikt attributt.
  8. Relasjonsinstans: En relasjonsinstans er et endelig sett med tupler i RDBMS-systemet. Relasjonsinstanser har aldri dupliserte tupler.
  9. Relasjonsnรธkkel: Hver rad har ett, to eller flere attributter, som kalles relasjonsnรธkkelen.
  10. Attributtdomene: Hvert attributt har en forhรฅndsdefinert verdi og omfang, som er kjent som attributtdomenet.

Relasjonsmodellkonsepter illustrert pรฅ en tabell

Med vokabularet pรฅ plass, er neste bekymring รฅ holdeping dataene i disse relasjonene er gyldige, som er jobben med integritetsbegrensninger.

Relasjonelt Integrity begrensninger

Relasjonsintegritetsbegrensninger i DBMS refererer til betingelser som mรฅ vรฆre til stede for en gyldig relasjon. Disse relasjonsbegrensningene er avledet fra reglene i miniverdenen som databasen representerer.

Det finnes mange typer integritetsbegrensninger. Begrensninger pรฅ relasjonsdatabaseadministrasjonssystemet er stort sett delt inn i tre hovedkategorier:

  1. Domenebegrensninger
  2. Nรธkkelbegrensninger
  3. Referensielt Integrity begrensninger

Domenebegrensninger

Domenebegrensninger kan brytes hvis en attributtverdi ikke vises i det tilsvarende domenet, eller hvis den ikke er av riktig datatype.

Domenebegrensninger spesifiserer at innenfor hver tuple mรฅ verdien til hvert attributt vรฆre atomisk og hentet fra riktig domene. Domener er spesifisert som datatyper, som inkluderer standardtyper som heltall, reelle tall, tegn, boolske verdier og strenger med variabel lengde.

Eksempel:

CREATE DOMAIN CustomerName
CHECK (value NOT NULL)

Eksemplet som vises demonstrerer hvordan man oppretter en domenebegrensning slik at CustomerName ikke er NULL.

Nรธkkelbegrensninger

Et attributt som unikt kan identifisere en tuppel i en relasjon kalles nรธkkelen til tabellen. Verdien av attributtet for forskjellige tupler i relasjonen mรฅ vรฆre unik.

Eksempel:

I den gitte tabellen er KundeID et nรธkkelattributt i Kundetabellen. Det er mest sannsynlig at den har รฉn enkelt nรธkkel for รฉn kunde; KundeID = 1 er bare for Kundenavnet.GoogleEn fullstendig behandling av de ulike nรธkkeltypene er dekket i veiledningen til DBMS-nรธkler.

Kunde ID Kundenavn status
1 Google Aktiv
2 Amazon Aktiv
3 eple inaktiv

Referensielt Integrity begrensninger

Referanseintegritetsbegrensninger i DBMS er basert pรฅ konseptet med fremmednรธkler. En fremmednรธkkel er et viktig attributt for en relasjon som det skal refereres til i andre relasjoner. En referanseintegritetsbegrensning oppstรฅr nรฅr en relasjon refererer til et nรธkkelattributt for en annen eller samme relasjon. Dette nรธkkelelementet mรฅ finnes i den refererte tabellen.

Eksempel:

Referanseintegritet mellom kunde og Billrelasjoner

I eksemplet ovenfor har vi to relasjoner, kunde og Billing.

Tuplet for CustomerID = 1 refereres to ganger i relasjonen. Billing. Sรฅ vi vet Kundenavn โ€œGoogleยซhar et faktureringsbelรธp pรฅ 300 dollar.ยป

Operasjoner i den relasjonelle modellen

Fire grunnleggende oppdateringsoperasjoner utfรธres pรฅ den relasjonelle databasemodellen: sett inn, oppdater, slett og velg.

  • Insert brukes til รฅ sette inn data i relasjonen.
  • Slett brukes til รฅ slette tupler fra tabellen.
  • Modify lar deg endre verdiene til noen attributter i eksisterende tuples.
  • Velg lar deg velge et spesifikt dataomrรฅde.

Nรฅr en av disse operasjonene brukes, mรฅ integritetsbegrensningene som er spesifisert i det relasjonelle databaseskjemaet aldri brytes.

innfelt Operasjon

Innsettingsoperasjonen gir verdier for attributtene for en ny tuple som skal settes inn i en relasjon.

Sett inn operasjonen som legger til en ny tuppel i en relasjon

Oppdater Operasjon

Du kan se at i relasjonstabellen nedenfor er kundenavnet ยซAppleยป oppdatert fra inaktiv til aktiv.

Oppdateringsoperasjon som endrer en statusverdi i en tuppel

Delete Operasjon

For รฅ spesifisere sletting velger en betingelse pรฅ attributtene til relasjonen tuppelen som skal slettes.

Sletteoperasjon som fjerner en tuppel fra en relasjon

I eksemplet ovenfor er kundenavnet ยซAppleยป slettet fra tabellen.

Sletteoperasjonen kan krenke referensiell integritet hvis tuplen som slettes refereres til av fremmednรธkler fra andre tupler i samme database.

Velg Operasjon

Velg operasjon ved รฅ velge en spesifikk tuppel

I eksemplet ovenfor, KundenavnAmazonโ€Er valgt.

Relasjonsmodell vs. hierarkiske og nettverksmodeller

Den relasjonelle modellen erstattet to tidligere tilnรฆrminger, og kontrasten forklarer hvorfor den ble dominerende. Tabellen nedenfor setter de tre side om side.

Aspekt Relasjonsmodell Hierarkisk modell Nettverksmodell
Structure Tabeller (relasjoner) Tre, fra foreldre til barn Graf, mange til mange
Datatilgang Deklarativ, etter verdi Navigasjon, etter sti Navigasjon, med peker
Relasjoner Utenlandske nรธkler Foreldre-barn-lenker Sett og pekere
Spรธrresprรฅk SQL Prosedyrekode Prosedyrekode
Fleksibilitet Hรธyt Lav Medium

Fordi relasjonsmodellen adresserer data etter verdi snarere enn ved รฅ navigere i fysiske lenker, kan et hรธynivรฅsprรฅk som SQL kan stille en forespรธrsel uten รฅ vite hvordan dataene er lagret.

Beste praksis for รฅ lage en relasjonsmodell

  • Data mรฅ representeres som en samling av relasjoner.
  • Hver sammenheng bรธr vรฆre tydelig vist i tabellen.
  • Rader bรธr inneholde data om forekomster av en enhet.
  • Kolonner mรฅ inneholde data om enhetens attributter.
  • Cellene i tabellen skal inneholde รฉn enkelt verdi.
  • Hver kolonne bรธr gis et unikt navn.
  • Ingen to rader kan vรฆre identiske.
  • Verdiene til et attributt bรธr vรฆre fra samme domene.

Fordeler med relasjonsdatabasemodellen

  • Enkelhet: En relasjonell datamodell i DBMS er enklere enn hierarkiske modeller og nettverksmodeller.
  • Strukturell uavhengighet: Den relasjonelle databasen er kun opptatt av data og ikke av struktur, noe som kan forbedre modellens ytelse.
  • Enkel รฅ bruke: Relasjonsmodellen er enkel รฅ bruke, ettersom tabeller som bestรฅr av rader og kolonner er naturlige og enkle รฅ forstรฅ.
  • Spรธrrefunksjon: Det gjรธr det mulig for et spรธrresprรฅk pรฅ hรธyt nivรฅ som SQL รฅ unngรฅ kompleks databasenavigasjon.
  • Datauavhengighet: Strukturen til en relasjonsdatabase kan endres uten รฅ mรฅtte endre noen applikasjon.
  • Skalerbar: Nรฅr det gjelder antall poster eller rader og antall felt, kan en database utvides for รฅ forbedre brukervennligheten.

Ulemper med den relasjonelle modellen

  • Fรฅ relasjonsdatabaser har grenser for feltlengder, som ikke kan overskrides.
  • Relasjonsdatabaser kan noen ganger bli komplekse etter hvert som datamengden vokser og forholdet mellom dataelementer blir mer komplisert.
  • Komplekse relasjonelle databasesystemer kan fรธre til isolerte databaser der informasjon ikke kan deles fra ett system til et annet.

Spรธrsmรฅl og svar

Grad er antall attributter, eller kolonner, i en relasjon. Kardinalitet er antall tupler, eller rader. Grad beskriver bredden pรฅ tabellen og kardinaliteten dens hรธyde.

En relasjon er et matematisk sett, og et sett inneholder ingen dupliserte medlemmer. Primรฆrnรธkkelen hรฅndhever dette, slik at hver tuppel er unikt identifisert og ingen rader er identiske.

AI-modeller trenes ofte pรฅ funksjoner hentet fra relasjonstabeller gjennom SQL-koblinger og aggregeringer. AI kan ogsรฅ oversette et enkelt engelsk spรธrsmรฅl til SQL, slik at ikke-tekniske brukere spรธr direkte i relasjoner.

Ja. Gitt eksempeldata eller krav, kan AI foreslรฅ tabeller, primรฆrnรธkler og fremmednรธkler, og en normal form. Resultatet mรฅ fortsatt gjennomgรฅs, fordi normalisering avhenger av forretningsregler som AI kanskje ikke kjenner til.

De brukes om hverandre i praksis. Formelt sett er en relasjon et sett med tupler uten rekkefรธlge og uten duplikater, mens en tabell er dens fysiske bilde som kan vise rader i en lagret rekkefรธlge.

Oppsummer dette innlegget med: