Relationeel datamodel in DBMS: Concepts & Voorbeeld

โšก Slimme samenvatting

Het relationele model representeert een database als een verzameling relaties, waarbij elke relatie een tabel is met rijen en kolommen. Het definieert kernconcepten, integriteitsbeperkingen en updatebewerkingen die relationele gegevens consistent en gemakkelijk doorzoekbaar houden.

  • ๐Ÿ—ƒ๏ธ Kernidee: De gegevens worden opgeslagen als relaties, waarbij elke rij een tuple is die een entiteit of relatie uit de echte wereld beschrijft.
  • ???? ๏ธ Sleutelbegrippen: Attribuut, tuple, graad, kardinaliteit, domein en relatiesleutel beschrijven samen de structuur van een tabel.
  • ๐Ÿ›ก๏ธ Drie beperkingen: Domein-, sleutel- en referentiรซle integriteitsbeperkingen zorgen ervoor dat elke relatie geldig blijft.
  • ๐Ÿ”‘ Sleutels Koppeltabellen: Een primaire sleutel identificeert een rij uniek, terwijl een externe sleutel verwijst naar een sleutel in een andere relatie.
  • ๐Ÿ”„ Vier Operabanden: Invoegen, bijwerken, verwijderen en selecteren zijn bewerkingen op relaties die de gedefinieerde beperkingen niet schenden.
  • โœ… Ontwerpregels: Eรฉn waarde per cel, unieke kolomnamen, geen dubbele rijen en waarden afkomstig uit รฉรฉn domein.
  • ๐Ÿ“ˆ Waarom het wint: Eenvoud, structurele onafhankelijkheid, een querytaal op hoog niveau en data-onafhankelijkheid.

Relationeel gegevensmodel in DBMS

Wat is het relationele model?

Relationeel model (RM) representeert de database als een verzameling relaties. Een relatie is niets anders dan een tabel met waarden. Elke rij in de tabel vertegenwoordigt een verzameling gerelateerde gegevenswaarden. Deze rijen in de tabel duiden een entiteit of relatie uit de echte wereld aan.

De tabelnaam en kolomnamen helpen bij het interpreteren van de betekenis van de waarden in elke rij. De gegevens worden weergegeven als een set relaties. In het relationele model worden gegevens opgeslagen als tabellen. De fysieke opslag van de gegevens is echter onafhankelijk van de manier waarop de gegevens logisch georganiseerd zijn.

Het model werd in 1970 voorgesteld door EF Codd en vormt nog steeds de basis van vrijwel elke gangbare database die tegenwoordig in gebruik is. Enkele populaire relationele databasesystemen zijn:

  • DB2 en Informix dynamische server โ€“ IBM
  • Oracle en RDB โ€“ Oracle
  • SQL Server en toegang โ€“ Microsoft

Relationeel model Concepts in DBMS

  1. Attribuut: Elke kolom in een tabel. Attributen zijn de eigenschappen die een relatie definiรซren, bijvoorbeeld Student_Rollno, NAAM, enz.
  2. tabellen: In het relationele model worden relaties opgeslagen in tabelvorm. Deze tabel wordt samen met de bijbehorende entiteiten opgeslagen. Een tabel heeft twee eigenschappen: rijen en kolommen. Rijen vertegenwoordigen records en kolommen vertegenwoordigen attributen.
  3. tupel: Het is niets anders dan een enkele rij in een tabel, die รฉรฉn enkel record bevat.
  4. Relatieschema: Een relatieschema vertegenwoordigt de naam van de relatie met zijn attributen.
  5. Mate: Het totale aantal attributen in de relatie wordt de graad van de relatie genoemd.
  6. Kardinaliteit: Het totale aantal rijen in de tabel.
  7. Kolom: De kolom vertegenwoordigt de reeks waarden voor een specifiek attribuut.
  8. Relatie-instantie: Een relatie-instantie is een eindige verzameling tuples in het RDBMS-systeem. Relatie-instanties bevatten nooit dubbele tuples.
  9. Relatie sleutel: Elke rij heeft een, twee of meerdere attributen, die de relatiesleutel worden genoemd.
  10. Attribuutdomein: Elk attribuut heeft een vooraf gedefinieerde waarde en reikwijdte, wat bekend staat als het attribuutdomein.

Concepten van het relationele model geรฏllustreerd in een tabel.

Nu de woordenschat op orde is, is de volgende stap het behouden van...ping De gegevens in die relaties moeten geldig zijn, en dat is de taak van integriteitsbeperkingen.

relationele Integrity beperkingen

In een databasemanagementsysteem verwijzen relationele integriteitsbeperkingen naar voorwaarden waaraan moet worden voldaan voor een geldige relatie. Deze relationele beperkingen zijn afgeleid van de regels in de mini-wereld die de database representeert.

Er bestaan โ€‹โ€‹veel soorten integriteitsbeperkingen. Beperkingen op relationele databasesystemen worden over het algemeen onderverdeeld in drie hoofdcategorieรซn:

  1. Domeinbeperkingen
  2. Belangrijkste beperkingen
  3. referentieel Integrity beperkingen

Domeinbeperkingen

Domeinbeperkingen kunnen worden geschonden als een attribuutwaarde niet voorkomt in het corresponderende domein, of als deze niet van het juiste gegevenstype is.

Domeinbeperkingen specificeren dat binnen elke tuple de waarde van elk attribuut atomair moet zijn en afkomstig moet zijn uit het juiste domein. Domeinen worden gespecificeerd als gegevenstypen, waaronder standaardtypen zoals gehele getallen, reรซle getallen, tekens, Booleaanse waarden en tekenreeksen met variabele lengte.

Voorbeeld:

CREATE DOMAIN CustomerName
CHECK (value NOT NULL)

Het getoonde voorbeeld illustreert het creรซren van een domeinbeperking zodat CustomerName niet NULL is.

Belangrijkste beperkingen

Een attribuut dat op unieke wijze een tupel in een relatie kan identificeren, wordt de sleutel van de tabel genoemd. De waarde van het attribuut voor verschillende tupels in de relatie moet uniek zijn.

Voorbeeld:

In de gegeven tabel is CustomerID een sleutelkenmerk van de tabel Customer. Het is zeer waarschijnlijk dat er รฉรฉn sleutel is voor รฉรฉn klant; CustomerID = 1 is alleen van toepassing op de klantnaam.GoogleEen volledige beschrijving van de verschillende sleuteltypen is te vinden in de handleiding. DBMS-sleutels.

Klanten ID Klantnaam Status
1 Google Actief
2 Amazon Actief
3 Appel Inactief

referentieel Integrity beperkingen

Referentiรซle integriteitsbeperkingen in DBMS zijn gebaseerd op het concept van foreign keys. Een foreign key is een belangrijk attribuut van een relatie waarnaar in andere relaties moet worden verwezen. Een referentiรซle integriteitsbeperking treedt op wanneer een relatie verwijst naar een sleutelattribuut van een andere of dezelfde relatie. Dat sleutelelement moet bestaan โ€‹โ€‹in de tabel waarnaar wordt verwezen.

Voorbeeld:

Referentiรซle integriteit tussen klant en Billrelaties

In het bovenstaande voorbeeld hebben we twee relaties: Klant en BillIng.

De tuple voor CustomerID = 1 wordt tweemaal in de relatie gebruikt. Billing. Dus we weten Klantnaam โ€œGoogle" heeft een factuurbedrag van $300.

Operaties in het relationele model

In een relationele database worden vier basisbewerkingen uitgevoerd: invoegen, bijwerken, verwijderen en selecteren.

  • Met 'insert' voeg je gegevens in de relatie in.
  • Verwijderen wordt gebruikt om tupels uit de tabel te verwijderen.
  • Met Modify kunt u de waarden van sommige attributen in bestaande tupels wijzigen.
  • Met Selecteren kunt u een specifiek gegevensbereik kiezen.

Wanneer een van deze bewerkingen wordt uitgevoerd, mogen de integriteitsbeperkingen die zijn gespecificeerd in het relationele databaseschema nooit worden geschonden.

Invoegen Operatie

De invoegbewerking geeft de waarden van de attributen voor een nieuwe tuple die in een relatie moet worden ingevoegd.

Een invoegbewerking voegt een nieuwe tuple toe aan een relatie.

bijwerken Operatie

Zoals u in de onderstaande relatietabel kunt zien, is de klantnaam 'Apple' bijgewerkt van Inactief naar Actief.

Updatebewerking waarbij een statuswaarde in een tuple wordt gewijzigd.

Verwijdering Operatie

Om verwijdering te specificeren, selecteert een voorwaarde op de attributen van de relatie de tuple die moet worden verwijderd.

De verwijderingsbewerking verwijdert een tuple uit een relatie.

In het bovenstaande voorbeeld wordt CustomerName โ€œAppleโ€ uit de tabel verwijderd.

De verwijderingsbewerking kan de referentiรซle integriteit schenden als de te verwijderen tuple wordt aangeroepen door externe sleutels vanuit andere tuples in dezelfde tuple. databank.

Selecteren Operatie

Selecteer een bewerking waarbij een specifieke tuple wordt gekozen.

In het bovenstaande voorbeeld is CustomerName โ€œAmazon" is geselecteerd.

Relationeel model versus hiรซrarchische en netwerkmodellen

Het relationele model verving twee eerdere benaderingen, en het contrast verklaart waarom het dominant werd. De tabel hieronder zet de drie modellen naast elkaar.

Aspect Relationeel model Hiรซrarchisch model Netwerkmodel
Structuur Tabellen (relaties) Boom, ouder naar kind Grafiek, veel-op-veel
Toegang tot data Declaratief, op basis van waarde Navigatie, via pad Navigatie, via aanwijzer
Relaties Vreemde sleutels Ouder-kindverbindingen Sets en pointers
Zoektaal SQL Procedurecode Procedurecode
Flexibiliteit Hoge Laag Medium

Omdat het relationele model gegevens benadert op basis van waarde in plaats van door fysieke verbindingen te navigeren, is een programmeertaal op hoog niveau zoals SQL Een query kan worden geformuleerd zonder te weten hoe de gegevens zijn opgeslagen.

Beste werkwijzen voor het creรซren van een relationeel model

  • Gegevens moeten worden weergegeven als een verzameling relaties.
  • Elke relatie moet duidelijk in de tabel worden weergegeven.
  • Rijen moeten gegevens bevatten over instanties van een entiteit.
  • De kolommen moeten gegevens bevatten over de kenmerken van de entiteit.
  • De cellen van de tabel mogen slechts รฉรฉn waarde bevatten.
  • Elke kolom moet een unieke naam krijgen.
  • Geen twee rijen kunnen identiek zijn.
  • De waarden van een attribuut moeten afkomstig zijn uit hetzelfde domein.

Voordelen van het relationele databasemodel

  • Eenvoud: Een relationeel datamodel in een DBMS is eenvoudiger dan de hiรซrarchische en netwerkmodellen.
  • Structurele onafhankelijkheid: Een relationele database houdt zich uitsluitend bezig met data en niet met de structuur, wat de prestaties van het model kan verbeteren.
  • Gemakkelijk te gebruiken: Het relationele model is gemakkelijk te gebruiken, omdat tabellen met rijen en kolommen natuurlijk en eenvoudig te begrijpen zijn.
  • Querymogelijkheid: Hierdoor kan een geavanceerde querytaal zoals SQL complexe databasenavigatie vermijden.
  • Gegevensonafhankelijkheid: De structuur van een relationele database kan worden gewijzigd zonder dat de applicatie zelf hoeft te worden aangepast.
  • schaalbaar: Wat betreft het aantal records of rijen en het aantal velden, kan een database worden uitgebreid om de bruikbaarheid ervan te verbeteren.

Nadelen van het relationele model

  • Weinig relationele databases hebben limieten voor veldlengtes die niet overschreden mogen worden.
  • Relationele databases kunnen soms complex worden naarmate de hoeveelheid gegevens toeneemt en de relaties tussen de gegevenselementen ingewikkelder worden.
  • Complexe relationele databasesystemen kunnen leiden tot geรฏsoleerde databases waarin informatie niet tussen systemen kan worden gedeeld.

Veelgestelde vragen

De graad is het aantal attributen, of kolommen, in een relatie. De kardinaliteit is het aantal tuples, of rijen. De graad beschrijft de breedte van de tabel en de kardinaliteit de hoogte ervan.

Een relatie is een wiskundige verzameling, en een verzameling bevat geen dubbele leden. De primaire sleutel zorgt hiervoor, zodat elke tuple uniek wordt geรฏdentificeerd en geen twee rijen identiek zijn.

AI-modellen worden vaak getraind op kenmerken die via SQL-joins en -aggregaties uit relationele tabellen worden gehaald. AI kan ook een vraag in gewoon Engels vertalen naar SQL, zodat niet-technische gebruikers rechtstreeks query's op relaties kunnen uitvoeren.

Ja. Op basis van voorbeeldgegevens of vereisten kan AI tabellen, primaire en externe sleutels en een normale vorm voorstellen. De output moet echter nog wel worden gecontroleerd, omdat normalisatie afhankelijk is van bedrijfsregels die de AI mogelijk niet kent.

In de praktijk worden ze door elkaar gebruikt. Formeel gezien is een relatie een verzameling tuples zonder ordening en zonder duplicaten, terwijl een tabel de fysieke weergave ervan is, die rijen in een opgeslagen volgorde kan tonen.

Vat dit bericht samen met: