Domän (databaser)

Den stabila versionen kontrollerades den 20 januari 2019 . Det finns overifierade ändringar i mallar eller .

En domän  i en relationsdatamodell är en datatyp , det vill säga en uppsättning giltiga värden [1] .

Konceptet med en datatyp är grundläggande; varje värde, varje variabel, varje parameter, varje lässats, och speciellt varje relationsattribut är av en eller annan typ [2] .

Exempel kan vara typerna "heltal" (mängden av alla heltal), "sträng" (mängden av alla strängar), "delnummer" (mängden av alla delnummer), etc. Sålunda, när vi säger att ett attribut har en relation [1] [2] .

I analogi med matematik delas datatyper in i skalära och icke- skalära . Ett värde av en icke-skalär typ (ett icke-skalär värde) har många användarsynliga komponenter, medan ett värde av en skalär typ (ett skalärt värde) inte har det. Exempel på en icke-skalär typ är relationstypen och tupeltypen ; ett exempel på en skalär typ är heltalstypen [2] .

Begränsningarna för implementeringen av databassystemdatorer tvingar en viss konvention om definitionen av typer. Så teoretiskt sett är typen INTEGER mängden av alla möjliga heltal, men i själva verket är INTEGER mängden av alla heltal som kan representeras i datorsystemet i fråga (eftersom det naturligtvis finns sådana heltal som överstiger möjligheten att representation i vilket datorsystem som helst) [2] .

En åtskillnad bör göras mellan en typ som sådan (ett logiskt koncept) och ett format för den fysiska representationen av värden av den typen i ett visst datorsystem; typer är på logisk modellnivå och den fysiska representationen av värden är på implementeringsnivå [2] . Till exempel är operationerna som definieras för typen "sträng" inte vettiga för typen "nummer", även om siffror i en viss implementering är fysiskt representerade av strängar. Datumvärden representeras ofta fysiskt av ett reellt tal , men de flesta operationer som är meningsfulla för en nummertyp är inte meningsfulla för en datumtyp.

Relationsdatamodellen föreskriver inte det obligatoriska stödet av några fördefinierade typer, med undantag för den logiska typen (BOOLEAN), som är omöjlig att klara sig utan när man utför operationer [3] . Vanligtvis stöds en viss uppsättning typer av systemet (sådana typer kallas grundläggande, inbyggda eller systemtyper), andra typer kan konstrueras (definieras) av användaren dessutom (sådana typer kallas användardefinierade  typer ) [2] .

Anteckningar

  1. 1 2 C. J. Datum. Om de logiska skillnaderna mellan typer, värden och variabler // Datum på databasen: Writings 2000-2006, Apress, 2006, ISBN 978-1-59059-746-0
  2. 1 2 3 4 5 6 Datum K. J., 2005 .
  3. C. J. Datum. Varför vi behöver typ BOOLEAN // Datum på databasen: Writings 2000-2006, Apress, 2006, ISBN 978-1-59059-746-0

Litteratur