Увод у ПЛ / СКЛ колекције

Пре свега, као и други модерни програмски језици, ПЛ / СКЛ такође пружа могућност програмерима да користе ПЛ / СКЛ колекције. Дакле, генерално гледано, збирка је структура података која има уређену групу елемената истог типа података и тим елементима се приступа кроз индексе према посебним захтевима. Колекције које се најчешће користе у већини програмских језика су Арраис, Сет, Лист, Куеуе, итд.

ПЛ / СКЛ колекција пружа пуно предности и програмеру и кориснику док чува и приступа подацима сличних типова података у апликацији. Када постоји потреба да се подаци обрадју одједном или се користи велика количина података, ПЛ / СКЛ колекције су веома корисне. Такође смањује величину и брзину обраде током складиштења података и приступа елементима. Елементима у колекцијама може се лако приступити кроз петље и индексе. За разлику од низова у другим програмским језицима, ПЛ / СКЛ подржава само једнодимензионалне колекције, а подаци у збиркама идентификују претплатнике (који се у другим језицима називају и индекс). Сваком елементу се приступа и обрађује кроз овај јединствени подпис.

Врсте ПЛ / СКЛ колекција

ПЛ / СКЛ колекције су 3 типа која су дата у наставку са синтаксом:

Гнездљене табеле

Гнездена табела је ПЛ / СКЛ колекција у којој величина није фиксна. Дакле, то је попут једнодимензионалног низа, осим чињенице да је величина фиксирана у низовима и може бити густа и ријетка. Програмер мора сваки пут проширити меморију пре него што је користи помоћу претплате ЕКСТЕНД у Нестед табели почиње са целим бројем '1'.

Гнездене таблице налазе се у трајном ПЛ / СКЛ колекцији, што значи да се могу даље користити као похрањене у бази података. Програмер такође може избрисати елемент арраи-а и направити табелу ријетком, што значи да угнијежђене табеле могу бити и густе и ријетке. Унесене табеле могу се декларирати било унутар ПЛ / СКЛ блока било на нивоу схеме.

Како нема ограничења за горњу величину у Нестед табелама, они спадају у категорију Унбоундед ПЛ / СКЛ колекције.

Синтакса:

TYPE typ_name IS table of element_data_type;
Table_name typ_name;

Променљиви величине или ВАРРАИ-и

ВАРРАИ је ПЛ / СКЛ колекција у којој је величина колекције фиксирана како је дефинисано у њеној дефиницији, тако да се ВАРРАИ-и зову ограничени елементи у низовима се попуњавају редовно почевши од претписа 1. За разлику од унесених табела, варраис пружа мању флексибилност јер су густе само. Дакле, програмер не може избрисати ниједан елемент између њих, обрисан је или цео варраи или га се може обрезати до краја. Приступи и складиштењу се мора следити редовно. Може се дефинисати било унутар ПЛ / СКЛ блока или на нивоу шеме. Као и угнијежђене таблице, варраис спада у категорију постојаних колекција тако да се могу поново користити и похранити у базу података.

Синтакса:

TYPE typ_name IS VARRAY OF element_data_type;

Ассоциативе Арраис

Као што име сугерира, асоцијативни низови се користе за држање вриједности у паровима кључ-вриједност. Кључ који се користи може бити или низ или цијели број. Асоцијативни низови се називају и индекс-таблица. Ова колекција може бити густа или ријетка. У асоцијативним низовима величина низа није фиксирана у старту и програмер их не мора иницијализирати прије употребе. Асоцијативни низ спада под категорију нестабилних колекција што значи да се не похрањују у базу података и не могу их поново користити па су дефинисани унутар ПЛ / СКЛ блока и користе се само у тој одређеној сесији. Ови низови спадају у категорију неограничених колекција.

Синтакса:

TYPE typ_name IS TABLE OF element_data_type;

Методе прикупљања

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

С.Но.Назив методеОпис
1.ЦОУНТВраћа број елемената присутних у колекцији
2ПРВИВраћа најмањи (први) индексни број у колекцији за цео број претплата
3.ПОСЛЕДЊИВраћа највећи (последњи) индексни број у збирци за цео број претплата.
4.ПОСТОЈИ (н)Користи се за проверу да ли је одређени елемент присутан у колекцији или не. Враћа ТРУЕ ако су у колекцији присутни н-ти елементи, ФАЛСЕ ако нису.
5.ПРИОР (н)Враћа број индекса који је претходник индекса (н) који је дао корисник у колекцији.
6СЛЕДЕЋО (н)Враћа индексни број који је наследник индекса (н) који је дао корисник у колекцији.
7.ТРИМКористи се за уклањање елемената из колекције. ТРИМ уклања задњи елемент из колекције, а ТРИМ (н) уклања последњи н елемент са краја колекције.
8ДЕЛЕТЕКористи се за уклањање свих елемената из дате колекције. Поставља збирку на 0 након уклањања свих елемената
9.ИЗбриши (м, н)Користи се у случају асоцијативних низова и индексираних табела за уклањање свих елемената у распону од м до н. Враћа се нула ако је м већи од н.
10.ЛИМИТКористи се за проверу максималне величине колекције.

Изузеци из колекције

Следеће су неке изнимке које ће се највероватније појавити током рада са колекцијама.

Назив изузећаСценариј у којем настаје изузетак
НИЈЕ ПРОНАЂЕН НИЈЕДАН ПОДАЦИИзузетак настаје када се претплатница односи на елемент који је избрисан и више не постоји.
ВАЛУЕ_ЕРРОРИзузетак се догађа када вредност ступаца којима се покушава приступити није конвертибилна у тип кључа или када је подписник нулл
ЦОЛЛЕЦТИОН_ИС_НУЛЛИзузетак настаје радом на аутоматски нулл колекцији
СУБСЦРИПТ_БЕИОНД_ЦО УНТИзузетак настаје када претплатник премаши максимални број броја елемената у колекцији.
СУБСЦРИПТ_ОУТСИДЕ_ЛИМ ИТИзузетак настаје при покушају референце помоћу броја индекса који је изван законског распона.
ТОО_МАНИ_РОВСИзузетак настаје када СЕЛЕЦТ у извод врати више од 1 реда.

Предности колекција у ПЛ / СКЛ

Неке од предности ПЛ / СКЛ колекција дате су у наставку:

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

Закључак

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

Препоручени чланци

Ово је водич за ПЛ / СКЛ колекције. Овде смо расправљали о синтакси, типовима, методама и изузецима ПЛ / СКЛ колекција заједно са предностима. Такође можете погледати следеће чланке да бисте сазнали више -

  1. Курсори у ПЛ / СКЛ
  2. ЦАСЕ изјава у ПЛ / СКЛ
  3. Орацле ПЛ / СКЛ питања за интервју
  4. ПЛ / СКЛ команде

Категорија: