Domæne (databaser)

Den stabile version blev tjekket den 20. januar 2019 . Der er ubekræftede ændringer i skabeloner eller .

Et domæne  i en relationel datamodel er en datatype , det vil sige et sæt gyldige værdier [1] .

Konceptet med en datatype er grundlæggende; hver værdi, hver variabel, hver parameter, hver læst sætning og især enhver relationel attribut er af en eller anden type [2] .

Eksempler kan være typerne "heltal" (sættet af alle heltal), "streng" (sættet af alle strenge), "delnummer" (sættet af alle delnumre) osv. Når vi altså siger, at en attribut har en relation [1] [2] .

Analogt med matematik er datatyper opdelt i skalære og ikke- skalære . En værdi af en ikke-skalær type (en ikke-skalær værdi) har mange brugersynlige komponenter, mens en værdi af en skalar type (en skalær værdi) ikke har. Eksempler på en ikke-skalær type er relationstypen og tupeltypen ; et eksempel på en skalartype er heltalstypen [2] .

Begrænsningerne i implementeringen af ​​databasesystemercomputere pålægger en vis konvention om definitionen af ​​typer. Så teoretisk set er typen INTEGER mængden af ​​alle mulige heltal, men faktisk er INTEGER mængden af ​​alle heltal, der kan repræsenteres i det pågældende computersystem (fordi der selvfølgelig er sådanne heltal, der overstiger muligheden for repræsentation i ethvert computersystem) [2] .

Der bør skelnes mellem en type som sådan (et logisk koncept) og et format til den fysiske repræsentation af værdier af denne type i et bestemt computersystem; typer er på det logiske modelniveau , og den fysiske repræsentation af værdier er på implementeringsniveauet [2] . For eksempel giver de operationer, der er defineret for "streng"-typen, ikke mening for "nummer"-typen, selvom tal i en bestemt implementering er fysisk repræsenteret af strenge. Datoværdier er ofte fysisk repræsenteret ved et reelt tal , men de fleste af de operationer, der giver mening for en taltype, giver ikke mening for en datotype.

Den relationelle datamodel foreskriver ikke den obligatoriske understøttelse af nogen foruddefinerede typer, med undtagelse af den logiske type (BOOLEAN), som det er umuligt at undvære, når man udfører operationer [3] . Normalt understøttes et bestemt sæt typer af systemet (sådanne typer kaldes grundlæggende, indbyggede eller systemtyper), andre typer kan konstrueres (defineres) af brugeren yderligere (sådanne typer kaldes brugerdefinerede  typer ) [2] .

Noter

  1. 1 2 C. J. Dato. Om de logiske forskelle mellem typer, værdier og variabler // Dato på databasen: Writings 2000-2006, Apress, 2006, ISBN 978-1-59059-746-0
  2. 1 2 3 4 5 6 Dato K. J., 2005 .
  3. C. J. Dato. Hvorfor har vi brug for type BOOLEAN // Dato på databasen: Writings 2000-2006, Apress, 2006, ISBN 978-1-59059-746-0

Litteratur