У савременом свету постоји великиброј средстава и технологија намењених чувању информација. Једна од најчешћих метода су базе података, за које се користе различити контролни системи. Овај метод складиштења претпоставља да су сви подаци јасно структурирани и унети у посебне табеле. Они се, пак, састоје од колона атрибута одређеног типа података.
Тип података - шта је то?
Данас постоји неколико дефиниција,објашњавајући појам појма „тип података“. Међутим, сваки од њих има једно опште значење. Стога се тип података може конвенционално означити као група података коју карактеришу њене вредности (симболичке, нумеричке, итд.), као и операције које се примењују на вредности о којима је реч.
Опсег типова података је вишеструк.Користе се не само за складиштење информација, већ иу програмирању за решавање разних проблема. Приликом пројектовања програма широко је распрострањена пракса развоја и коришћења сопствених типова података са одређеним скупом операција. Међутим, кориснички дефинисани типови података увек се заснивају на основним типовима података. СКЛ стандард је такође заснован на коришћењу најчешћих основних типова, али са низом специфичних додатака.
Класификација типова података
Груписање података по њиховом типу настало је давно ибила узрокована потребом да се информације структурирају ради погодније обраде. Тренутно, основу постојећих типова података чине два: карактерни и нумерички.
На њиховој основи је развијена модерна класификација која укључује показиваче, логичке, целобројне, покретне и стринг типове података. СКЛ-класификација у потпуности покрива све наведено. Међутим, за неке модерне ДБМС постоје додатни додаци. То укључује Орацле и МиСКЛ.
Основни типови података
Типови података који се користе за креирање атрибута табеле који испуњавају СКЛ стандарде подељени су у 4 класе:
- стринг вредности;
- фракције;
- целобројне вредности;
- вредности датума и времена.
Низ података типа
Прва група вредности вам омогућава да сачувате све податке представљене као знакови.
То могу бити специјални знакови, бројеви ислова која ће се заједно третирати као стрингови у било ком СКЛ упиту. Доле наведени типови података чине прву групу.
ЦХАР (величина) | Користи се за чување низова. Параметар у заградама вам омогућава да фиксирате дужину сачуваног низа. Максимална величина у бајтовима која се може подесити за стринг је 255. |
ВАРЦХАР (величина) | Слично претходном типу, омогућава вам складиштењенизови дужине до 255 знакова. Међутим, разлика од ЦХАР-а је у томе што се потребна количина меморије додељује за чување вредности овог типа. То јест, за стринг који се састоји од 5 карактера, потребно је 6 бајтова меморије. У првом случају, меморија за вредност ће бити додељена према наведеном параметру. |
ТИНИ ТЕКСТ | Користи се за чување стринг података до 255 карактера. |
ТЕКСТ | Користи се за чување текстуалних информација, чија величина не прелази 65.535 слова. |
БЛОБ | Тип података који се разматра је сличан типу ТЕКСТ иомогућава складиштење текстуалних информација у бази података, чији обим може да достигне 65.535 карактера. Али у пракси се користи за складиштење звучних података, цртежа, електронске документације итд. |
СРЕДЊИ ТЕКСТ | Развијен је на основу типа ТЕКСТ, али вам омогућава складиштење више података због повећане величине до 16.777.215 слова или симбола. |
МЕДИУМ БЛОБ | Користи се за чување електронских докумената у бази података чија величина не прелази ознаку од 16.777.215 карактера. |
ДУГА ТЕКСТ | Функционално сличан претходним типовима, али са повећаним капацитетом меморије до 4 гигабајта. |
ЛОНГ БЛОБ | Омогућава постављање великих количина података у базу података (4.294.967.295 карактера). |
ЕНУМ (а, б, ц, итд.) | Посебан тип података који се користи занаводећи листу могућих вредности. Омогућава вам да наведете 65535 вредности. Стрингови типа који се разматра могу узети једну вредност од оних наведених у скупу. У случају када се додају вредности које нису присутне на наведеној листи, празне вредности ће бити уписане у табелу. |
КОМПЛЕТ | Одређује скуп важећих вредности.За разлику од претходног типа, користи се за држање 64 параметра који се могу иницијализовати било којим или више елемената из датих аргумената. |
Табела фракционих типова података
За складиштење се користе фракциони СКЛ типови податакабројеви са покретним зарезом. У пракси се, по правилу, постављају различити финансијски показатељи. У зависности од захтеване тачности, користи се један од три представљена:
ФЛОАТ (величина, д) | Омогућава да садржи разломке наведене прецизности д. |
ДУПЛЕ (величина, д) | Користи се за чување разломачких бројева бинарне прецизности. |
ДЕЦИМАЛ (величина, д) | Чување разломака као стрингова. |
На пример, у банкарским прорачунима, прецизност фракционог дела достиже вредност од 8 или 10 цифара. Прва два типа се не могу користити у овој области.
Чување финансијских индикатора као низовау великој мери олакшава решавање многих задатака. Међутим, приликом решавања финансијских проблема или извођења различитих СКЛ операција, конверзија типова података је од велике важности. Програмери морају да узму у обзир врсту складиштења и методе обраде како би подаци увек остали непромењени.
Целобројни тип података
Цели бројеви су посебна група бројева који чине једну од главних класа. Целобројни СКЛ типови података засновани су на коришћењу основног типа ИНТЕГЕР са неким проширењем његових својстава.
ИНТ (величина) | Чување целобројних вредности које формирају опсег [-231; 231-1] |
ТИНИИНТ (величина) | Чува бројеве у опсегу од -128 до 127 |
СМАЛЛИНТ (величина) | Карактерише га повећан опсег меморисаних вредности од -32,768 до 32,767 |
МЕДИУМИНТ (величина) | Користи се за чување бројева са димензијом од -223 до 223-1 |
БИГИНТ (величина) | Покрива опсег целобројних вредности, почевши од -263 и завршава се са 263-1 |
Одабиром исправног типа података можете значајноуштедите меморију и смањите време сервера када се извршавају потребни СКЛ упити. Типови података, односно њихов опсег, одређују количину потребног простора за складиштење.
Стога је важно да програмери база података упамтеда коришћење великих опсега за атрибуте повећава трошкове меморије. Неопходно је јасно анализирати проблеме које треба решити и идентификовати случајеве у којима је познат приближни опсег и одређен услов за коришћење бројева са предзнаком. Ако је опсег коришћених аргумената мали, а сви бројеви су позитивни, тада ће бити исправније користити неозначени тип формиран од атрибута УНСИГНЕД.
Типови података о датуму и времену
Када се уче основе СКЛ-а, типови података датума и времена су од посебног интереса.
Употреба следећих типова пружа додатне предности при пројектовању временски осетљивих система.
ДАТУМ | Главна сврха је чување датума у форматуГОДИНА-МЕСЕЦ-ДАН („ГГГГ-ММ-ДД“ или „уууу-мм-дд“). Вредности су обично одвојене са "-", али било који знак осим бројева може се користити као сепаратор. |
ВРЕМЕ | Омогућава вам да унесете привремене вредности у ћелију табеле. Све вредности су наведене у формату "хх: мм: сс" |
ДАТУМ ВРЕМЕ | Комбинује функције претходна два типа. Формат складиштења је представљен на следећи начин: "иуиу-мм-дд хх: мм: сс". |
ТИМЕСТАМП | Чува датум и време као број секунди који су прошли од поноћи 01.01.1970. па до наведене вредности. |
ГОДИНА (М) | Користи се за чување годишњих вредности у двоцифреном или четвороцифреном формату. |
Шта још треба да знате?
Све ове врсте података Мицрософт је детаљно систематизовао. СКЛ типове података развија она детаљније.
На пример, компанија је детаљно описала коликомеморија у бајтовима се додељује за сваки тип. Након што су проучили доступне информације, програмерима је лакше да дизајнирају структуру табела и целокупну базу података на основу хардверских могућности сервера.
Специјални показивач - НУЛЛ
Понекад, приликом попуњавања базе података, постојиситуација када приликом додавања записа у табелу нема потребе за уносом информација у све колоне. За ово се користи посебан нул показивач - НУЛА, који као помоћно средствокористи СКЛ језик. Типови података колона који не морају да се попуњавају се специфицирају приликом креирања табела са оператором који дозвољава укључивање нул вредности. Иначе, оператер НУЛА са додатним прилогом НЕ може се користити за означавање обавезног попуњавања свих вредности.
Поинтер НУЛА нема тип, већ једноставно указује на празну вредност у табелама базе података. Због тога се може комбиновати са било којом од горе наведених врста.