Den relationelle datamodel er en unik tilgang til styring af parametre ved hjælp af struktur og sprog i henhold til enkeltordens prædikatlogik. Den blev første gang beskrevet i 1969 af den engelske videnskabsmand Codd. I dette projekt præsenteres alle parametre som tupler grupperet i bestemte relationer.
Formålet med den relationelle datamodel…
…er at give en deklarativ metode til at specificere modeller og forespørgsler.
Brugere noterer direkte, hvilken information databasen indeholder, og hvilken teori de ønsker fra den. Og lad også databasestyringssoftwaren tage sig af at beskrive strukturerne til at gemme den. Informationssøgningsproceduren for at svare på anmodninger er også vigtig.
De fleste RDB'er bruger SQL-datadefinitioner og et søgesprog. Disse systemer implementerer, hvad der kan ses som en teknisk tilnærmelse tilrelationel model.
En tabel i et SQL-databaseskema svarer til en prædikatvariabel. Nøglebegrænsninger og SQL-forespørgsler matcher prædikater.
Sådanne databaser afviger imidlertid fra den relationelle model i mange detaljer, og Codd har på det kraftigste modsat sig ændringer, der kompromitterer de oprindelige principper.
Oversigt
Hovedideen med den relationelle datamodel er beskrivelsen af hele databasen som et sæt prædikater for den endelige komponent af variablerne, der beskriver begrænsningerne for mulige værdier og deres kombinationer. Indholdet på et givet tidspunkt er den endelige (logiske) model. Det vil sige et sæt af relationer, en pr. prædikatvariabel, så alle komponenter er opfyldt. Dette er den relationelle datamodel.
Alternativer
Andre modeller er hierarkiske systemer og netværkssystemer. Nogle af dem, der bruger ældre arkitekturer, er stadig populære i højkapacitetsdatacentre. Eller i tilfælde, hvor eksisterende systemer er så komplekse og abstrakte, at overgangen til dem ved hjælp af den relationelle model ville være uoverkommelig dyr. Og det er også værd at bemærke de nye objektorienterede databaser.
Implementering
Der har været flere forsøg på at få den sande materialisering af RMD, oprindeligt defineret af Codd og forklaret af andrevidenskabsmænd.
Den relationelle datarepræsentationsmodel var den vigtigste af sin slags, som blev beskrevet i formelle matematiske termer. Hierarkiske og netværksbaser eksisterede før relationelle systemer, men deres specifikationer var relativt uformelle. Da RMD var defineret, blev der gjort mange forsøg på at sammenligne og kontrastere forskellige modeller - og dette førte til mere stringente beskrivelser af tidlige systemer. Selvom den proceduremæssige karakter af datamanipulationsgrænseflader til hierarkiske databaser og netværksdatabaser begrænsede mulighederne for formalisering.
Themes
Den grundlæggende antagelse om begrebet en relationel datamodel er, at de alle er repræsenteret som et matematisk "p" - typiske relationer, "Cn" - et parvist forhold, som er en delmængde i det kartesiske produkt af flere domæner. I den matematiske model udføres ræsonnement om sådanne data i en to-værdi prædikatlogik, hvilket betyder, at der for hver sætning er to mulige evalueringer: enten sand eller falsk (og der er ingen tredje værdi, såsom ukendt eller ikke anvendelig, som hver især ofte er forbundet med begrebet 0). Data behandles ved hjælp af calculus eller algebra, som svarer til udtrykskraft.
Typer af datamodeller, relationel datamodel
RMD giver udvikleren mulighed for at skabe en ensartet, logisk visning af information. Alt dette opnås ved at inkorporere de angivne begrænsninger i databasedesignet, almindeligvis omt alt som det logiske skema. Teorien er at udvikle en procesmodelnormalisering, hvorved et design med bestemte ønskede egenskaber kan vælges fra et sæt af logisk ækvivalente alternativer. I adgangsplaner og andre implementeringer og operationer håndteres detaljerne af DBMS-motoren og afspejles ikke i den logiske model. Dette er i modsætning til almindelig praksis, hvor justering af ydeevne ofte kræver ændringer af den logiske funktion.
Den grundlæggende relationelle datamodel repræsenterer en byggeklods - det er et domæne eller en type information, norm alt reduceret til et minimum. En tuple er et ordnet sæt attributværdier. Og de er til gengæld et fælles navne- og typepar. Det kan enten være en skalarværdi eller en mere kompleks værdi.
En relation består af en header og en body
Den første er et sæt attributter.
Kroppen (med den n'te relation) er et sæt af tupler.
Tangency-headeren er også emnet for hver struktur.
Den relationelle datamodel er defineret som et sæt af n-tupler. I både matematik og MRD er et sæt en uordnet samling af unikke ikke-duplikerede elementer, selvom nogle DBMS'er pålægger deres data en sekvens. I matematik har en tupel en rækkefølge og giver mulighed for duplikering. E. F. Codd oprettede oprindeligt tupler ved hjælp af denne matematiske definition.
Senere var en af E. F. Codds gode ideer, at det ville være meget mere bekvemt at bruge attributnavne i stedet for at bestille (genereltcase) på et relationsbaseret computersprog. Denne udtalelse er stadig nyttig i dag. Selvom konceptet er ændret, er navnet "tuple" ikke blevet transformeret. En umiddelbar og vigtig konsekvens af denne skelnen er, at i den relationelle model bliver det kartesianske produkt kommutativt.
En tabel er en almindelig visuel repræsentation af relationer. En tupel ligner begrebet en streng.
Relvar er en navngivet variabel af en bestemt type tangent, som til enhver tid er tildelt en eller anden relation af den type, selvom blikket kan indeholde nul-tupler.
Grundlæggende om den relationelle datamodel: al information er repræsenteret af informationsværdier i relationer. I overensstemmelse med dette princip er den relationelle base et sæt relvars, og resultatet af hver forespørgsel er repræsenteret som en tangency.
Konsistensen af en relationel database håndhæves ikke af regler indbygget i de applikationer, der bruger den, men snarere af begrænsninger, der er erklæret som en del af det logiske skema og håndhæves af DBMS for alle applikationer. Restriktioner kommer til udtryk i brugen af relationelle sammenligningsoperatorer, hvoraf kun én er en delmængde (⊆), teoretisk tilstrækkeligt. I praksis forventes flere nyttige genveje at være tilgængelige, hvoraf kandidatnøgler og eksterne kildebegrænsninger er de vigtigste. Det er, hvad den relationelle datamodel handler om.
Fortolkning
For fuldt ud at værdsætte RMD er det nødvendigt at forstå den tilsigtede fortolkningsom en relation.
Kroppen af en berøring kaldes nogle gange dens forlængelse. Dette skyldes, at det skal tolkes som at repræsentere en stigning i et eller andet prædikat. Dette er sættet af sande sætninger, der kan dannes ved at erstatte hver fri variabel med et navn.
Der er en en-til-en-korrespondance mellem objektrelationelle datamodeller. Hver tuple i relationslegemet giver attributværdier for at instansiere prædikatet ved at erstatte hver af dets frie variable. Resultatet er et udsagn, der anses for sandt på grund af forekomsten af en tupel i kroppen af relationen. Omvendt betragtes enhver proces, hvis titel matcher forholdets navn, men ikke vises i brødteksten, for falsk.
Denne antagelse er kendt som hypotesen om lukket verden. Det bliver ofte overtrådt i praktiske databaser, hvor fraværet af en tupel kan betyde, at sandheden af den tilsvarende sætning er ukendt. For eksempel er fraværet af visse udtryk ("John", "spansk") i sprogfærdighedsskemaet ikke nødvendigvis et bevis på, at en dreng ved navn John ikke taler spansk.
Anvendelse til databaser, normaliseringsteori
Informationsemnet, der bruges i en typisk relationel RDM, kan være et sæt af heltal, et sæt tegnstrenge, der udgør datoer, eller to booleaner sande og falske, og så videre. De tilsvarende emnenavne for disse figurer kan være strenge med navnene "Index", "Gør det nødvendige arbejde","Tid", "Boolesk" og så videre og så videre.
Det er dog vigtigt at forstå, at relationsteori ikke specificerer, hvilke typer der skal understøttes. Og det er sandt, at det i øjeblikket forventes, at bestemmelser vil være tilgængelige for brugerdefinerede enheder ud over de indbyggede, som systemet leverer.
Attribut
Dette er den term, der bruges i teorien for det, der norm alt kaldes en kolonne. På samme måde bruges tabel almindeligvis i stedet for det teoretiske udtryk tangency (selvom det på ingen måde er synonymt med relation i SQL). Datastrukturen i en tabel er angivet som en liste over kolonnedefinitioner, hver med et unikt kolonnenavn og den type værdier, der er tilladt for den.
Attributværdi er en post på et bestemt sted, såsom John Doe og 35.
En tuple er grundlæggende det samme som en række, bortset fra at i SQL RDBMS, hvor betydningen af kolonnerne i en række er ordnet, er tuplerne ikke adskilt. I stedet identificeres hver definitionsværdi udelukkende ved sit navn, ikke ved sin ordinære position i tuplet. Attributnavnet kan være Navn eller Alder.
Attitude
Det er en strukturdefinitionstabel sammen med udseendet af data i den struktur. Definitionen er overskriften, og dataene i den er brødteksten, et sæt rækker. Relationsvariablen kaldes norm alt hovedtabellen. Titlen på den værdi, der er tildelt den iethvert tidspunkt matcher den, der er angivet i den givne celle, og dens krop matcher den, den sidst blev tildelt, hvilket påkalder en opdateringssætning (norm alt INSERT, UPDATE eller DELETE).
Sætteoretisk formulering
Grundlæggende begreber i den relationelle model for relationer er navne og navne på attributter. De skal repræsenteres som strenge såsom "Person" og "Name" og vil norm alt skulle bruge variabler til at spænde over dem. Et andet grundlæggende koncept er et sæt atomværdier, der indeholder nødvendige og vigtige betydninger såsom tal og strenge.