Duomenų tipai

absent

Žymi savybę, kuri buvo ištrinta ir nebenaudojama. Žiūrėti Struktūros keitimas.

boolean

Loginė reikšmė.

integer

Sveikas skaičius.

Mažiausia galima reikšmė: -2147483648.

Didžiausia galima reikšmė: 2147483647.

property.ref stulpelyje, nurodomi Matavimo vienetai.

number

Realusis skaičius, apvalinamas naudojant slankiojo kablelio aritmetiką, kur sveikoji skaičiaus dalis gali būti šešių skaitmenų dydžio.

property.ref stulpelyje, nurodomi Matavimo vienetai.

Sveikoji dalis atskiriama . simbolių.

string

Simbolių eilutė. Neriboto dydžio, tačiau fiziškai simbolių eilutė turėtu būti ne didesnė, nei 1G.

Simboliu eilutė turėtu būti pateikta UTF-8 koduote.

text

Žmonių kalba užrašytas tekstas, nurodant kalbą naudojant ISO 639-1 kodus. Tekstas gali būti pateiktas keliomis kalbomis. Tekste gali būti naudojamos TEI žymės.

Tekstas turėtu būti pateikta UTF-8 koduote.

binary

Dvejetainiai duomenys. Bendras baitų skaičius turi būti ne didesnis nei 1G.

Data ir laikas

datetime

Data ir laikas atitinkantis ISO 8601.

Mažiausia galima reikšmė: 0001-01-01T00:00:00.

Didžiausia galima reikšmė: 9999-12-31T23:59:59.999999.

Pagal ISO 8601 standartą, data gali būti pateikta tokia forma:

YYYY-MM-DD[*HH[:MM[:SS[.fff[fff]]]][+HH:MM[:SS[.ffffff]]]]

Simbolis * reiškia, kad galima pateikti bet kokį vieną simbolį, dažniausiai naudojamas tarpo simbolis, arba raidė T.

property.ref stulpelyje, nurodomas datos ir laiko tikslumas sekundėmis. Tikslumą galima nurodyti laiko vienetais, pavyzdžiui Y, D, S, arba 5Y, 10D, 30S. Visi duomenys turi atitikti vienodą tikslumą, tikslumas negali varijuoti. Galimi vienetų variantai:

Reikšmė Prasmė
Y Metai
M Mėnesiai
Q Metų ketvirčiai
W Savaitės
D Dienos
H Valandos
T Minutės
S Sekundės
L Milisekundės
U Mikrosekundės
N Nanosekundžės
date

Tas pats kas datetime tik dienos tikslumu. Šio tipo reikšmės taip pat turi atitikti ISO 8601:

YYYY-MM-DD

Jei norima nurodyti datą žemesnio nei dienos tikslumo, tada vietoj mėnesio ir dienos galima naudoti 01 ir property.ref stulpelyje nurodyti tikslumą, taip, kaip aprašyta prie datetime.

temporal

Apibrėžtis laike.

Šis tipas atitinka datetime, tačiau nurodo, kad visas model yra apibrėžtas laike, būtent pagal šią savybę. Tik viena model savybė gali turėti temporal tipą. Pagal šios savybės reikšmes apskaičiuojamas ir įvertinamas dct:temporal.

Erdviniai duomenys

geometry

Erdviniai duomenys. Duomenys pateikiami WKT formatu.

property.ref stulpelyje nurodomas tikslumas metrais. Tikslumą galima pateikti naudojanti SI vienetus, pavyzdžiui m, km arba 10m, 100km`.

geometry tipas gali turėti du argumentus: geometrijos tipą ir projekciją.

Jei geometrijos tipas nenurodytas, tada duomenys gali būti bet kokio geometrinio tipo. Jei tipas nurodytas, tada visi duomenys turi būti tik tokio tipo, koks nurodytas.

Galimi tokie geometrijos tipai:

  • point - taškas.
  • linestring - linija.
  • polygon - daugiakampis.
  • multipoint - keli taškai.
  • multilinestring - kelios linijos.
  • multipolygon - keli daugiakampiai.

Kiekvienas iš šių tipų gali turėti tokius dimensijų sufiksus:

  • z - aukštis.
  • m - pasirinktas matmuo (pavyzdžiui laikas, atstumas, storis ir pan.)
  • zm - aukštis ir pasirinktas matmuo.

Antrasis projekcijos argumentas nurodomas pateikiant SRID numerį. Visi duomenys turi atitikti nurodytą projekciją. Jei projekcija nenurodyta, tuomet pagal nutylėjimą bus naudojamas 4326 (WGS84) projekcija.

Jei duomenų projekcija yra nežinoma, tuomet duomenų brandos lygis turi būti 2. Jei duomenų projekcija skirtingiems objektams yra skirtinga, tada brandos lygis turi būti 1.

Pilną SRID kodų sąrašą galite rasti epsg.io svetainėje. Keletas dažniau naudojamų SRID kodų:

  • 4326 (WGS84) - Pasaulinė geodezinė sistema, priimta 1984 m., naudojama GPS imtuvuose.
  • 3346 (LKS94) - Lietuvos koordinačių sistema, priimta 1994 m.

Geometrinio tipo naudojimo pavyzdžiai:

  • geometry - WGS84 projekcijos, bet kokio tipo geometriniai objektai.
  • geometry(3346) - LKS94 projekcijos, bet kokio tipo geometriniai objektai.
  • geometry(point) - GWS84 projekcijos, bet point tipo geometriniai objektai.
  • geometry(linestringm, 3345) - LKS94 projekcijos, linestringm tipo geometriniai objektai su pasirinktu matmeniu, kaip trečia dimensija.
spatial

Apibrėžtis erdvėje.

Šis tipas atitinka geometry, tačiau nurodo, kad visas model yra apibrėžtas erdvėje, būtent pagal šią savybę. Tik viena model savybė gali turėti spatial tipą. Pagal šios savybės reikšmes apskaičiuojamas ir įvertinamas dct:spatial.

Valiuta

currency

Valiuta. Saugomas valiutos kiekis, nurodant tiek sumą, tiek valiutos kodą naudojant ISO 4217 kodus.

Failai

file

Šis duomenų tipas yra sudėtinis, susidedantis iš tokių duomenų:

id
Laukas, kuris unikaliai identifikuoja failą, šis laukas duomenų saugojimo metu pavirs failo identifikatoriumi, jam suteikiant unikalų UUID.
name
Failo pavadinimas.
type
Failo media tipas.
size
Failo turinio dydis baitais.
content
Failo turinys.

Šiuos metaduomenis galima perduoti file() funkcijai, kai vardinius argumentus. Pavyzdžiui:

d r b m property type source prepare access
datasets/example        
    Country        
      name string NAME   open
      flag_file_name string FLAG_FILE_NAME   private
      flag_file_data binary FLAG_FILE_DATA   private
      flag file   file(name: flag_file_name, content: flag_file_data) open

Šiame pavyzdyje, iš flag_file_name ir flag_file_data laukų padaromas vienas flag laukas, kuriame panaudojami duomenys iš dviejų laukų. Šiuo atveju, flag_file_name ir flag_file_data laukai tampa pertekliniais, todėl access stulpelyje jie pažymėti private.

image

Paveiksliukas. image tipas turi tokias pačias savybes kaip file tipas.

Išoriniai raktai

Taip pat žiūrėkite: Ryšiai tarp modelių.

ref

Ryšys su modeliu. Šis tipas naudojamas norint pažymėti, kad lauko reikšmė yra property.ref stulpelyje nurodyto model.ref modelio id.

backref

Atgalinis ryšys su modeliu.

Šis tipas naudojamas norint pažymėti, kad tam tikras kitas modelis turi ref tipo lauką, kuris rodo į šį modelį. Šis laukas pats duomenų neturi, tai tik papildomas metaduomuo, padedantis geriau suprasti ryšius tarp modelių.

Taip pat žiūrėkite Jungimas atgaliniu ryšiu.

generic

Dinaminis ryšys su modeliu.

Šis tipas naudojamas tada, kai yra poreikis perteikti dinaminį ryšį, t. y. duomenys siejami ne tik pagal id, bet ir pagal modelio pavadinimą. Tokiu būdu, vieno modelio laukas gali būti siejamas su keliais modeliais.

Taip pat žiūrėkite Polimorfinis jungimas.

Šis duomenų tipas yra sudėtinis, susidedantis iš tokių duomenų:

object_model
Pilnas modelio pavadinimas, su kuriuo yra siejamas objektas.
object_id
object_model modelio objekto id.

Sudėtiniai tipai

object

Kompozicinis tipas.

Šis tipas naudojamas apibrėžti sudėtiniams duomenims, kurie aprašyti naudojant kelis skirtingus tipas. Kompozicinio tipo atveju property stulpelyje komponuojami pavadinimai atskiriami taško simboliu.

Sudarant duomenų modelį, rekomenduojama laikytis plokščios struktūros ir komponavimą įgyvendinti siejant modelius per ref ar generic tipus.

array

Masyvas.

Šis tipas naudojamas apibrėžti duomenų masyvams. Jei masyvo elementai turi vienodus tipus, tada elemento tipas pateikiamas property pavadinimo gale prirašant [] sufiksą, kuris nurodo, kad aprašomas ne pats masyvas, o masyvo elementas.

Rekomenduojama vengti naudoti šį tipą, siekiant išlaikyti plokščią duomenų modelį. Vietoje array tipo rekomenduojama naudoti backref.