ПостгреСКЛ типови података: Знак - Нумерички - Бинарни - Боолеан

Преглед садржаја:

Anonim

ПостгреСКЛ нуди богат скуп нативних типова података за кориснике. Корисници могу додавати нове типове уз помоћ наредбе ЦРЕАТЕ ТИПЕ. Такође чини упите једноставнијим и читљивијим.

Типови података у ПостгреСКЛ-у

ПостгреСКЛ подржава следеће типове података:

  • Врсте текста
  • Нумерички типови
  • Датуми и времена
  • КСМЛ
  • ЈСОН
  • Боолеан
  • Битови
  • Бинарни подаци
  • Мрежа
  • Низови
  • Креирајте свој тип података
  • Боолеан
  • Темпорал
  • УУИД
  • Арраи
  • ЈСОН
  • Посебни типови података за чување мрежне адресе и геометријских података.

Детаљно проучимо типове података ПостгреСКЛ

  • Типови података о знаковима
  • Нумерички типови података
  • Бинарни типови података
  • Тип мрежне адресе
  • Тип претраживања текста
  • Типови података о датуму / времену
  • Булов тип
  • Геометријски типови података
  • Набројани типови
  • Тип домета
  • УУИД тип
  • КСМЛ тип
  • Тип ЈСОН
  • Псеудо-типови

Типови података о знаковима

ПостгреСКЛ подржава типове података знакова за чување текстуалних вредности. ПостгреСКЛ гради типове података карактера из истих унутрашњих структура. ПостгреСКЛ нуди три типа података са знаковима: ЦХАР (н), ВАРЦХАР (н) и ТЕКСТ.

Име Опис
варцхар (н) Омогућава вам декларисање променљиве дужине са ограничењем
Цхар (н) Фиксне дужине, празно подстављено
Текст Усе може користити овај тип података за декларисање променљиве неограничене дужине

Нумерички типови података

ПостгреСКЛ подржава две различите врсте бројева:

  • Цели бројеви
  • Бројеви са покретном зарезом
Име Величина продавнице Домет
смаллинт 2 бајта -32768 до +32767
цео број 4 бајта -2147483648 до +2147483647
бигинт 8 бајтова -9223372036854775808 до 9223372036854775807
децималан променљива Ако сте га декларисали као децимални тип података, креће се од 131072 цифре пре децималне тачке до 16383 цифре после децималне тачке
нумерички променљива Ако га пријавите као број, можете да додате број до 131072 цифре пре децималне запете на 16383 цифре после децималне тачке
прави 4 бајта Прецизност 6 децималних цифара
двоструко 8 бајтова Прецизност од 15 децималних цифара

Бинарни типови података

Бинарни низ је низ октета или бајтова. Бинарни типови података Постгрес су подељени на два начина.

  • Бинарни низови омогућавају чување квота вредности нула
  • Октети који се не могу штампати

Низови знакова не дозвољавају нула октета, а такође онемогућавају било које друге октетне вредности и секвенце које су неваљане према правилима кодирања скупа знакова базе података.

Име Величина складишта Опис
Бајт 1 до 4 бајта плус величина бинарног низа Бинарни низ променљиве дужине

Тип мрежне адресе

Многе апликације чувају мрежне информације попут ИП адресе корисника или

сензори. ПостгреСКЛ има три изворна типа која вам помажу у оптимизацији мрежних података.

Име Величина Опис
јабуковача 7 или 19 бај ИПВ4 и ИПв6 мреже
Инет 7 или 19 бајтова ИПВ4 и ИПВ5 хост и мреже
мацаддр 6 бајтова МАЦ адресе

Коришћење типова мрежних адреса има следеће предности

  1. Уштеда простора за складиштење
  2. Провера улазне грешке
  3. Функције попут претраживања података по подмрежи

Тип претраживања текста

ПостгреСКЛ пружа два типа података који су дизајнирани да подрже претрагу целог текста. Претраживање целог текста је претрага кроз колекцију докумената на природном језику ради претраживања оних који се најбоље подударају са упитом.

  • Тсвецтор претрага текста ПостгреСКЛ типови променљивих представљају документ у облику оптимизованом за претрагу текста
  • Претраживање текста типа упита чува кључне речи које треба претражити

Типови података о датуму / времену

ПостгреСКЛ временска ознака нуди микросекундну прецизност уместо друге прецизности. Штавише, такође имате могућност складиштења са временском зоном или без ње. ПостгреСКЛ ће претворити временску ознаку са временском зоном у УТЦ на уносу и сачувати је.

Унос датума и времена прихваћен је у различитим форматима, укључујући традиционални Постгрес, ИСО 8601. СКЛ-компатибилан итд.

ПостгреСКЛ подржава редослед по дану / месецу / години. Подржани формати су ДМИ, МДИ, ИМД

Привремени типови података

Име Величина Домет Резолуција
Временска ознака без временске зоне 8 бајтова 4713 пне до 294276 п 1 микросекунда / 14 цифара
Временска ознака са временском зоном 8 бајтова 4713 пне до 294276 п 1 микросекунда / 14 цифара
датум 4 бајта 4713 пне до 294276 п Једног дана
Време без временске зоне 8 бајтова 00:00:00 до 24:00:00 1 микросекунда / 14 цифара
Време са временском зоном 12 бајтова 00:00:00 + 1459 до 24: 00: 00-1459 1 микросекунда / 14 цифара
Интервал 12 бајтова -178000000 до 178000000 година 1 микросекунда / 14 цифара

Примери:

Улазни Опис
2025-09-07 ИСО 8601, 7. септембра са било којим стилом датума (препоручени формат)
7. септембра 2025 7. септембра са било којим стилом датума
7.9.2025 7. септембра са МДИ, 9. јула са ДМИ
9/7/25 7. септембра 2025. са МДИ
2025.-7 7. септембра са било којим стилом датума
7. септембра 2018 7. септембра са било којим стилом датума
7. септембар-25 7. септембра 2025, са ИМД
20250907 ИСО 8601,7 септембар 20225 у било ком режиму
2025.250 године и дана у години, у овом случају 7. септембра 2025
Ј25250 Јулиан дате

Време / време са уносом временске зоне

Улазни Опис
11: 19: 38,507 11:19:38 11:19 111938 ИСО 8601
11:19 Исто као 11:19
23:19 исто као 23:19
23: 19-3 23: 19-03: 00 231900-03 ИСО 8601, исто као и 23:19 ЕСТ
23:19 ЕСТ временска зона наведена као ЕСТ, исто као и 23:19 ЕСТ

Булов тип

Може садржати логички тип података

  • Истинито
  • Нетачно
  • нула

вредности.

Користите боол или боолеан кључну реч за декларацију колоне са логичким типом података.

Када уметнете вредности у логички ступац, Постгре претвара вредности као

  • да
  • г.
  • 1
  • т
  • истинито

у 1.

Док вредности попут

  • Не
  • Н.
  • 0
  • Ф
  • Нетачно

претварају се у 0

Током избора података, вредности се поново претварају назад у да, тачно, и итд.

Геометријски типови података

Геометријски типови података представљају дводимензионалне просторне објекте. Они помажу у извођењу операција попут ротације, скалирања, превођења итд.

Име Величина складишта Заступање Опис
Тачка 16 бајтова Тачка на равни (к, и)
Линија 32 бајта Бесконачна линија ((кл.ил). (к2.и2))
Лсег 32 бајта Сегмент коначних линија ((кл.ил). (к2.и2))
Кутија 32 бајта Правоугаона кутија ((кл.ил). (к2.и2))
Пут 16н + 16н бајтова Затворите и отворите путању ((кл.ил),…)
Полигон 40 + 16н бајтова Полигон [(кл.ил)….]
Круг 24 бајта Круг <(ки) .р> (средишња тачка и радијус)

Набројани типови

Набројани ПостгреСКЛ тип података користан је за представљање ретко променљивих информација, као што су позивни број државе или ИД огранка. Набројани тип података представљен је у табели са страним кључевима како би се осигурао интегритет података.

Пример:

Боја косе је прилично статична у демографској бази података

CREATE TYPE hair_color AS ENUM('brown','black','red','grey','blond')

Тип домета

Многе пословне апликације захтевају податке у опсезима. Обично су дефинисане две колоне (пример: датум почетка, датум завршетка) за обраду опсега. Ово је истовремено неефикасно и тешко се одржава.

Постгре је изградио типове опсега на следећи начин

  • инт4ранге - Приказује опсег целог броја
  • инт8ранге - Приказује опсег бигинта
  • нумранге - приказује нумерички опсег
  • тстранге - помаже вам да прикажете временску ознаку без временске зоне
  • чудно - омогућава вам приказ временске ознаке са временском зоном
  • опсег датума - опсег датума

УУИД тип

Универзално јединствене идентификације (УУИД) су 128-битна величина коју генерише алгоритам. Врло је мало вероватно да ће исти идентификатор генерисати друга особа на свету користећи исти алгоритам. Због тога су за дистрибуиране системе ови идентификатори идеалан избор, јер нуде јединственост у оквиру једне базе података. УУИД је написан као група малих хексадецималних цифара, са различитим групама одвојеним цртицама.

ПостгреСКЛ има изворни УУИД тип података који заузима 16 бајтова меморије ... УУИД је идеалан тип података за примарне кључеве.

Пример:

d5f28c97-b962-43be-9cf8-ca1632182e8e

Постгре такође прихвата алтернативне облике УУИД уноса, као што су сви велики и мали слови, без цртица, заграда итд.

КСМЛ тип

ПостгреСКЛ вам омогућава да складиштите КСМЛ податке у типу података, али то није ништа друго него проширење за текстуални тип података. Али предност је у томе што проверава да ли је улазни КСМЛ добро обликован.

Пример:

XMLPARSE (DOCUMENT 'Data Type')

Тип ЈСОН

За чување ЈСОН података ПостгреСКЛ нуди 2 типа података

  1. ЈСОН
  2. ЈСОНБ
јсон Јсонб
Једноставно проширење текстуалног типа података са ЈСОН валидацијом Бинарни приказ ЈСОН података
Уметање је брзо, али проналажење података релативно споро. Уметање је споро, али одабрано (преузимање података је брзо)
Спрема унесене податке тачно онако како јесу, укључујући размаке. Подржава индексирање. Може да оптимизује размак како би убрзао преузимање.
Поновна обрада при преузимању података Није потребна поновна обрада приликом преузимања података

Најраспрострањенији ЈСОН тип података користио је нас јсонб, осим ако не постоји посебна потреба за коришћењем ЈСОН типа података.

Пример:

CREATE TABLE employee (id integer NOT NULL,age integer NOT NULL,data jsonb);
INSERT INTO employee VALUES (1, 35, '{"name": "Tom Price", "tags": ["Motivated", "SelfLearner"], "onboareded": true}');

Псеудо-типови

ПостгреСКЛ има много уноса за посебне намене који се називају псеудо-типовима. Не можете користити псеудо-типове као ПостгреСКЛ типове колона. Користе се за декларацију или аргумент функције или тип повратка.

Сваки од доступних псеудотипова је користан у ситуацијама када документи понашања функције не одговарају једноставном узимању или враћању вредности одређеног СКЛ типа података.

Име Опис
Било који Функција прихвата све врсте улазних података.
Низ Функција прихвата било који тип података низа.
Било који елемент Функција прихвата било који тип података.
Било који набрајање Функција прихвата било који тип података енум.
Нонарраи Функција прихвата било који тип података који није низ.
Цстринг Функција прихвата или враћа н-завршени Ц низ.
Интерни Интерна функција прихвата или враћа интерни тип података сервера.
Лангуаге_хандлер Проглашено је да враћа руковалац језиком.
Запис Пронађите функцију која враћа неодређени тип реда.
Окидач Функција окидача користи се за враћање окидача.

Важно је да корисник који користи ову функцију мора да буде сигуран да ће се функција понашати сигурно када се псеудо-тип користи као тип аргумента.

Најбоље праксе у коришћењу типова података

  • Користите тип података „текст“, осим ако не желите да ограничите унос
  • Никада не користите „цхар“.
  • Цели бројеви користе „инт.“ Користите бигинт само када имате заиста велике бројеве
  • Готово увек користите „нумерички“
  • Користите флоат у ПостгреСКЛ-у ако имате ИЕЕЕ 754 извор података

Резиме

  • ПостгреСКЛ нуди богат скуп нативних типова података за кориснике
  • ПостгреСКЛ подржава типове података знакова за чување текстуалних вредности
  • ПостгреСКЛ подржава два различита типа бројева: 1. Цели бројеви, 2. Бројеви са помичном тачком
  • Бинарни низ је низ бајтова или октета
  • ПостгреСКЛ има тип мрежне адресе који вам помаже да оптимизујете складиштење мрежних података
  • Претраживање текста ПостгреСКЛ структуре података дизајниране су за подршку претраживању целог текста
  • Датум / време ПСКЛ типови података дозвољавају информације о датуму и времену у различитим форматима
  • Логички типови поља Постгрес могу садржати три вредности 1. Тачно 2. Нетачно 3. Нулл
  • Геометријски типови података ПостгреСКЛ представљају дводимензионалне просторне објекте
  • Набројани типови података у ПостгреСКЛ-у корисни су за представљање ретко променљивих информација као што су позивни број државе или ИД огранка
  • Универзално јединствене идентификације (УУИД) су 128-битна величина коју генерише алгоритам
  • ПостгреСКЛ има много уноса за посебне намене који се називају псеудо-типовима
  • Најбоља пракса је да користите тип података „текст“, осим ако не желите да ограничите унос