Sfairadora

  • Referenční příručka

Pojem datového typu

Každá datová položka může nabývat hodnot z jisté domény, která odpovídá nějaké vlastnosti popisovaného předmětu. Například pro „počet“ jsou příslušnou doménou celá čísla, pro „jméno“ řetězce znaků, pro „velikost“ reálná (desetinná) čísla. Takové doméně se říká datový typ. Každá datová položka je tak určena svým datovým typem, který určuje povahu hodnot, kterých může datová položka nabývat. Hodnota odpovídajíc datovému typu se nazývá instancí datového typu. Například 5 je instancí datového typu „celé číslo“.

Skalární a složené datové typy

Elementární, z částí nesložené datové typy se nazývají skalární datové typy. Skalární datový typ je například celé číslo. Kromě skalární datových typů lze vytvářet složené datové typy. Složeným datovým typem je například sekvence (seznam), struktura (n-tice), pole (vektor) a podobně. Například k datovému typu „celé číslo“ lze vytvořit typ „sekvence celých čísel“; její instancí je potom například {10, 8, 3, 923}.

Nepovinné datové položky

U složených datových typů lze určit, že některá složka nemusí být v instanci přítomna. Takové datové položce se říká nepovinná. V textovém zápisu typu se nepovinné datové položky označují klíčovým slovem optional.

Volné datové typy, analytické typy, typy objektů

Datové typy, jak byly popsány výše, určují doménu pro jistou hodnotu. Kromě hodnot jsou datovým typem určovány rovněž objekty. Objektem se rozumí například proměnná nebo datová položka dokumentu. Objekt se vyznačuje tím, že má v každém okamžiku jistou hodnotu jako svůj stav. Stav objektu se však může průběžně měnit. V tom smyslu je objekt určen typem – typ určuje, kterých hodnot může objekt nabývat. Z toho důvodu je typ objektu širší kategorie než typ hodnoty, protože pro objekt je ještě možné určit, jakým způsobem se jeho okamžitá hodnota má měnit. Kromě běžných typů existují pro typy objektů další typy:
●Přesměrovaná položka určující, že hodnota objektu má být stále stejná s hodnotou jiného určeného objektu
●Počítaná položka určující, že hodnota objektu je vypočtena určitým způsobem z okamžitých hodnot jiných objektů
●Odvozená sekvence určující, že daný objekt je sekvencí, která vznikne uspořádáním, odfiltrováním, spojením a dalšími operacemi z dat jiných sekvencí.
Tyto základní typy objektu se nazývají analytické typy. Složený typ obsahující analytické typy je objektovým typem ve vlastním slova smyslu.
Ke každému typu objektu přísluší volný typ, který pouze určuje typ hodnoty objektu bez omezení na způsob změny hodnoty objektu. Například pokud existuje počítaná položka, jejíž hodnota se určí podle vzorce (a+b)/2, kde a a b jsou celá čísla, příslušným volným typem je typ „celé číslo“. Vzhledem k tomu, že typy objektů mohou být rovněž složené, určí se volný typ složeného typu jako odpovídající složený typ volných typů složek.