Типови података у СКЛите-у се разликују у односу на друге системе за управљање базама података. У СКЛите-у можете нормално декларирати типове података, али и даље можете похранити било коју вриједност у било који тип података.
У овом упутству ћете научити-
- Класе складиштења
- Тип афинитета
- Примери складиштења типова података у СКЛите-у
СКЛите се мање куца. Не постоје типови података, било коју врсту података можете да сачувате у било којој колони. То се назива динамичким типовима.
У статичке типове, као у другим системима за управљање базама података, ако сте колону прогласили целим бројем типа података, можете уметнути само вредности целог броја типа података. Међутим, у динамичким типовима као у СКЛите, врста колоне је одређена унетом вредношћу. А онда СКЛите чува ту вредност у зависности од свог типа.
Класе СКЛите складишта
У СКЛите-у постоје различити начини складиштења у зависности од типа вредности, ти различити методи складиштења називају се класе складиштења у СКЛите-у.
Следеће класе меморије доступне у СКЛитеу:
- НУЛЛ - ова класа меморије се користи за чување било које НУЛЛ вредности.
- ИНТЕГЕР - било која нумеричка вредност се чува као потписана целобројна вредност (може да садржи и позитивне и негативне целобројне вредности). Вредности ИНТЕГЕР у СКЛите-у се чувају у 1, 2, 3, 4, 6 или 8 бајтова меморије, у зависности од вредности броја.
- РЕАЛ - ова класа складиштења користи се за чување вредности с помичним зарезом и чувају се у 8 бајтова меморије.
- ТЕКСТ - чува текстуалне низове. Такође подржава различито кодирање попут УТФ-8, УТФ-16 БЕ или УТФ-26ЛЕ.
- БЛОБ - користи се за чување великих датотека, попут слика или текстуалних датотека. Вредност се чува као низ бајтова исто што и улазна вредност.
СКЛите Аффинити Типе
Афинитет према типу је препоручена врста података који се чувају у колони. Међутим, и даље можете чувати било коју врсту података по својој жељи, препоручује се да ти типови нису потребни.
Ови типови су уведени у СКЛите да би се максимализовала компатибилност између СКЛите и другог система за управљање базама података.
Било којем ступцу декларисаном у бази података СКЛите додељује се афинитет типа, у зависности од декларисаног типа података. Ево повећања афинитета типа у СКЛите-у:
- ТЕКСТ.
- НУМЕРИЦ.
- ИНТЕГЕР.
- ПРАВИ.
- БЛОБ.
Ево како СКЛите одређује афинитет колоне из декларисаног типа података:
- Афинитет ИНТЕГЕР се додељује ако декларисани тип садржи низ " ИНТ ".
- Додељен је афинитет ТЕКСТ, ако колона на свом типу података садржи један од следећих низова „ ТЕКСТ “, „ ЦХАР или„ ЦЛОБ “. На пример, типу ВАРЦХАР ће бити додељен афинитет ТЕКСТ.
- Афинитет БЛОБ-а додељује се ако ступац нема наведен тип или је тип података БЛОБ.
- РЕАЛ аффинити додељује се ако тип садржи један од следећих низова „ ДОУБ “, „ РЕАЛ или„ ФЛОАТ “.
- НУМЕРИЦ афинитет се додељује за било који други тип података.
На истој страници постоји и табела која приказује неке примере за мапирање између СКЛите типова података и њихових афинитета утврђених овим правилима:
Примери чувања типова података у СКЛите-у:
Похрањивање броја са СКЛите целим бројем:
Било која колона типа података садржи реч „ИНТ“, њој ће бити додељен афинитет типа ИНТЕГЕР. Биће ускладиштено у класи за чување ИНТЕГЕР.
Сви следећи типови података додељују се као афинитет типа ИНТЕГЕР:
- ИНТ, ИНТЕГЕР, ВЕЛИКИ.
- ИНТ2, ИНТ4, ИНТ8.
- ТИНИИНТ, СМАЛЛИНТ, СРЕДЊИ ИНТ.
Афинитет типа ИНТЕГЕР у СКЛите-у може садржати било који додељени целобројни број (позитиван или негативан) од 1 до 8 бајтова.
Похрањивање бројева са СКЛите РЕАЛ:
РЕАЛ бројеви су бројеви са двоструком прецизношћу с помичним зарезом. СКЛите је сачувао стварне бројеве као низ од 8 бајтова. Ево листе типова података у СКЛите-у које можете користити за чување РЕАЛНИХ бројева:
- ПРАВИ.
- ДОУБЛЕ.
- ДУПЛА ПРЕЦИЗНОСТ.
- ПЛОВАК.
Похрањивање великих података помоћу СКЛите БЛОБ:
Постоји само један начин за складиштење великих датотека у СКЛите базу података, а користи се тип података БЛОБ. Овај тип података користи се за чување великих датотека попут слика, датотека (било ког типа) итд. Датотека се претвара у низ бајтова, а затим чува у истој величини као и улазна датотека.
Похрањивање СКЛите логичких вредности:
СКЛите нема засебну класу складиштења БООЛЕАН. Међутим, БООЛЕАН вредности се чувају као ИНТЕГЕРС са вредностима 0 (као фалсе) или 1 (као труе).
Похрањивање СКЛите датума и времена:
У СКЛитеу можете прогласити датум или време користећи један од следећих типова података:
- ДАТУМ
- ДАТУМ ВРЕМЕ
- ТИМЕСТАМП
- ВРЕМЕ
Имајте на уму да у СКЛите-у не постоји одвојена класа ДАТЕ или ДАТЕТИМЕ складишта. Уместо тога, све вредности декларисане са једним од претходних типова података чувају се у класи меморије у зависности од формата датума уметнуте вредности на следећи начин:
- ТЕКСТ - ако сте уметнули вредност датума у формату низа ИСО8601 („ГГГГ-ММ-ДД ХХ: ММ: СС.ССС“).
- СТВАРНО - ако сте датумску вредност уметнули у јулијанске бројеве дана, број дана од поднева у Греенвицху 24. новембра 4714. пне. Тада би датумска вредност била сачувана као РЕАЛНА.
- ИНТЕГЕР као Уник време, број секунди од 1970-01-01 00:00:00 УТЦ.
Резиме:
СКЛите подржава широк спектар типова података. Али, истовремено је врло флексибилан у погледу типова података. У било који тип података можете ставити било који тип вредности. СКЛите је такође представио неке нове концепте у типовима података попут афинитета типова и класа складишта, за разлику од других система за управљање базама података.