Het relationele datamodel is Definitie, concept, structuur en theorie van normalisatie

Inhoudsopgave:

Het relationele datamodel is Definitie, concept, structuur en theorie van normalisatie
Het relationele datamodel is Definitie, concept, structuur en theorie van normalisatie
Anonim

Het relationele datamodel is een unieke benadering voor het beheren van parameters met behulp van structuur en taal volgens predikaatlogica van één orde. Het werd voor het eerst beschreven in 1969 door de Engelse wetenschapper Codd. In dit project worden alle parameters gepresenteerd als tupels, gegroepeerd in bepaalde relaties.

Het doel van het relationele datamodel…

relationeel gegevensrepresentatiemodel
relationeel gegevensrepresentatiemodel

…is om een declaratieve methode te bieden voor het specificeren van modellen en queries.

Gebruikers noteren direct welke informatie de database bevat en welke theorie ze ervan willen. En laat de databasebeheersoftware ook zorgen voor het beschrijven van de structuren om het op te slaan. De procedure voor het ophalen van informatie voor het reageren op verzoeken is ook belangrijk.

De meeste RDB's gebruiken SQL-gegevensdefinities en een zoektaal. Deze systemen implementeren wat kan worden gezien als een technische benadering vanrelationeel model.

Een tabel in een SQL-databaseschema komt overeen met een predikaatvariabele. Sleutelbeperkingen en SQL-query's komen overeen met predikaten.

Dergelijke databases wijken echter in veel details af van het relationele model, en Codd is fel gekant tegen veranderingen die de oorspronkelijke principes in gevaar brengen.

Overzicht

soorten datamodellen relationeel datamodel
soorten datamodellen relationeel datamodel

Het hoofdidee van het relationele datamodel is de beschrijving van de gehele database als een set predikaten voor het laatste onderdeel van de variabelen, waarin de beperkingen op mogelijke waarden en hun combinaties worden beschreven. De inhoud op een bepaald moment is het uiteindelijke (logische) model. Dat wil zeggen, een reeks relaties, één per predikaatvariabele, zodat aan alle componenten wordt voldaan. Dit is het relationele datamodel.

Alternatieven

relationele datamodelstructuur
relationele datamodelstructuur

Andere modellen zijn hiërarchische en netwerksystemen. Sommigen van hen, die oudere architecturen gebruiken, zijn nog steeds populair in datacenters met een hoge capaciteit. Of in gevallen waarin bestaande systemen zo complex en abstract zijn dat de overgang naar hen met behulp van het relationele model onbetaalbaar zou zijn. En ook van belang zijn de nieuwe objectgeoriënteerde databases.

Implementatie

relationele datamodelconcepten
relationele datamodelconcepten

Er zijn verschillende pogingen geweest om de ware materialisatie van RMD te krijgen, oorspronkelijk gedefinieerd door Codd en uitgelegd door anderenwetenschappers.

Het relationele gegevensrepresentatiemodel was het belangrijkste in zijn soort, dat werd beschreven in formele wiskundige termen. Hiërarchische en netwerkbases bestonden vóór relationele systemen, maar hun specificaties waren relatief informeel. Toen RMD eenmaal was gedefinieerd, werden er veel pogingen ondernomen om verschillende modellen te vergelijken en te contrasteren - en dit leidde tot meer rigoureuze beschrijvingen van vroege systemen. Hoewel de procedurele aard van de interfaces voor gegevensmanipulatie voor hiërarchische en netwerkdatabases de mogelijkheden voor formalisering beperkte.

Thema's

De fundamentele veronderstelling over het concept van een relationeel gegevensmodel is dat ze allemaal worden weergegeven als een wiskundige "p" - typische relaties, "Cn" - een paarsgewijze relatie, wat een subset is in het cartesiaanse product van verschillende domeinen. In het wiskundige model wordt redeneren over dergelijke gegevens uitgevoerd in een predikaatlogica met twee waarden, wat betekent dat er voor elke zin twee mogelijke evaluaties zijn: waar of onwaar (en er is geen derde waarde, zoals onbekend of niet van toepassing, die elk vaak worden geassocieerd met het concept van 0). Gegevens worden verwerkt met behulp van calculus of algebra, die equivalent zijn in expressieve kracht.

Soorten datamodellen, relationeel datamodel

RMD stelt de ontwikkelaar in staat om een consistente, logische weergave van informatie te creëren. Dit wordt allemaal bereikt door de genoemde beperkingen op te nemen in het databaseontwerp, gewoonlijk het logische schema genoemd. De theorie is om een proces te ontwikkelenmodelnormalisatie, waarbij een ontwerp met bepaalde gewenste eigenschappen kan worden gekozen uit een reeks logisch equivalente alternatieven. In toegangsplannen en andere implementaties en bewerkingen worden de details afgehandeld door de DBMS-engine en worden ze niet weerspiegeld in het logische model. Dit in tegenstelling tot de gangbare praktijk waarin het afstemmen van prestaties vaak wijzigingen in de logische functie vereist.

Het relationele basisgegevensmodel vertegenwoordigt een bouwsteen - het is een domein of type informatie, meestal tot een minimum beperkt. Een tupel is een geordende set attribuutwaarden. En ze zijn op hun beurt een wederzijds paar van naam en type. Het kan een scalaire waarde zijn of een complexere.

Een relatie bestaat uit een header en een body

grondbeginselen van het relationele datamodel
grondbeginselen van het relationele datamodel

De eerste is een set attributen.

Het lichaam (met de n-de relatie) is een verzameling tupels.

De raakkoptekst is ook het onderwerp van elke structuur.

Het relationele datamodel wordt gedefinieerd als een set van n-tupels. In zowel wiskunde als MRD is een verzameling een ongeordende verzameling van unieke niet-gedupliceerde elementen, hoewel sommige DBMS'en een reeks aan hun gegevens opleggen. In de wiskunde heeft een tupel een volgorde en maakt het duplicatie mogelijk. E. F. Codd heeft oorspronkelijk tupels opgezet met behulp van deze wiskundige definitie.

Later was een van E. F. Codds geweldige ideeën dat het gebruik van attribuutnamen in plaats van bestellen veel handiger zou zijn (in het algemeencase) in een op relaties gebaseerde computertaal. Deze verklaring is vandaag de dag nog steeds nuttig. Hoewel het concept is veranderd, is de naam "tuple" niet veranderd. Een onmiddellijk en belangrijk gevolg van dit onderscheid is dat in het relationele model het cartesiaanse product commutatief wordt.

Een tabel is een algemene visuele representatie van relaties. Een tuple lijkt op het concept van een string.

Relvar is een benoemde variabele van een bepaald type raaklijn waaraan te allen tijde een relatie van dat type is toegewezen, hoewel de blik nul-tupels kan bevatten.

Basis van het relationele datamodel: alle informatie wordt weergegeven door informatiewaarden in relaties. In overeenstemming met dit principe is de relationele basis een reeks relvars, en het resultaat van elke zoekopdracht wordt weergegeven als een raaklijn.

De consistentie van een relationele database wordt niet afgedwongen door regels die zijn ingebouwd in de applicaties die deze gebruiken, maar eerder door beperkingen die zijn gedeclareerd als onderdeel van het logische schema en worden afgedwongen door het DBMS voor alle applicaties. Beperkingen worden uitgedrukt in het gebruik van relationele vergelijkingsoperatoren, waarvan er slechts één een subset (⊆) is, theoretisch voldoende. In de praktijk zullen naar verwachting verschillende bruikbare sneltoetsen beschikbaar zijn, waarvan kandidaatsleutels en externe bronbeperkingen de belangrijkste zijn. Dit is waar het relationele datamodel over gaat.

Interpretatie

Om RMD volledig te kunnen waarderen, is het noodzakelijk om de beoogde interpretatie te begrijpenals een relatie.

Het lichaam van een aanraking wordt soms zijn extensie genoemd. Dit komt omdat het moet worden geïnterpreteerd als een toename van een bepaald predikaat. Dit is de verzameling ware zinnen die kan worden gevormd door elke vrije variabele te vervangen door een naam.

Er is een één-op-één overeenkomst tussen object-relationele datamodellen. Elke tupel van het relatielichaam levert attribuutwaarden om het predikaat te instantiëren door elk van zijn vrije variabelen te vervangen. Het resultaat is een bewering die als waar wordt beschouwd vanwege het voorkomen van een tuple in de hoofdtekst van de relatie. Omgekeerd wordt elk proces waarvan de titel overeenkomt met de naam van de relatie maar niet in de hoofdtekst voorkomt, als onwaar beschouwd.

Deze veronderstelling staat bekend als de gesloten-wereldhypothese. Het wordt vaak geschonden in praktische databases, waar de afwezigheid van een tupel kan betekenen dat de waarheid van de overeenkomstige zin onbekend is. De afwezigheid van bepaalde termen ("John", "Spaans") in de taalvaardigheidskaart hoeft bijvoorbeeld niet noodzakelijkerwijs het bewijs te zijn dat een jongen met de naam John geen Spaans spreekt.

Toepassing op databases, normalisatietheorie

Het informatie-onderwerp dat in een typische relationele RDM wordt gebruikt, kan een reeks gehele getallen zijn, een reeks tekenreeksen die datums vormen, of twee booleans waar en onwaar, enzovoort. De bijbehorende onderwerpnamen voor deze figuren kunnen strings zijn met de namen "Index", "Doe het nodige werk","Tijd", "Boolean" enzovoort, enzovoort.

Het is echter belangrijk om te begrijpen dat de relationele theorie niet specificeert welke typen moeten worden ondersteund. En het is inderdaad waar, er wordt momenteel verwacht dat voorzieningen beschikbaar zullen zijn voor aangepaste entiteiten naast de ingebouwde voorzieningen die door het systeem worden geboden.

Attribuut

het relationele datamodel vertegenwoordigt
het relationele datamodel vertegenwoordigt

Dit is de term die in theorie wordt gebruikt voor wat gewoonlijk een kolom wordt genoemd. Evenzo wordt tabel vaak gebruikt in plaats van de theoretische term raaklijn (hoewel het geenszins synoniem is met relatie in SQL). De gegevensstructuur van een tabel wordt gespecificeerd als een lijst met kolomdefinities, elk met een unieke kolomnaam en het type waarden dat ervoor is toegestaan.

Kenmerkwaarde is een invoer op een specifieke locatie, zoals John Doe en 35.

Een tuple is in principe hetzelfde als een rij, behalve dat in SQL RDBMS, waar de betekenissen van de kolommen in een rij zijn geordend, de tupels niet gescheiden zijn. In plaats daarvan wordt elke definitiewaarde alleen geïdentificeerd door zijn naam, niet door zijn ordinale positie in de tupel. De attribuutnaam kan Naam of Leeftijd zijn.

Houding

het relationele datamodel is
het relationele datamodel is

Het is een structuurdefinitietabel samen met het uiterlijk van gegevens in die structuur. De definitie is de koptekst en de gegevens erin zijn de hoofdtekst, een reeks rijen. De relatievariabele wordt meestal de hoofdtabel genoemd. De titel van de waarde die eraan is toegewezen inelk moment komt overeen met degene die is opgegeven in de gegeven cel, en de hoofdtekst komt overeen met degene die het laatst was toegewezen, waarbij een update-instructie wordt aangeroepen (meestal INSERT, UPDATE of DELETE).

Set-theoretische formulering

Basisconcepten in het relationele model van relaties zijn de namen en namen van attributen. Ze moeten worden weergegeven als tekenreeksen zoals "Persoon" en "Naam" en zullen meestal variabelen moeten gebruiken om ze te omspannen. Een ander basisconcept is een reeks atomaire waarden die noodzakelijke en belangrijke betekenissen bevat, zoals cijfers en tekenreeksen.

Aanbevolen: