Контрола приступа подацима помоћу погледа у СКЛ-у

База података прикази смањују сложеност искуства крајњег корисника и ограничавају приступ корисника подацима садржаним у табелама базе података. У основи, поглед користи резултате а упит базе података за динамичко попуњавање садржаја табеле виртуелне базе података.

Зашто користити погледе?

Два су основна разлога да се корисницима омогући приступ подацима путем погледа, а не да им се омогући директан приступ табелама базе података:

  • Прикази пружају једноставну, детаљну сигурност. Користите приказ да ограничите податке које корисник сме да види у табели. На пример, ако имате табелу запослених и желите да неким корисницима омогућите приступ евиденцији запослених са пуним радним временом, можете да креирате приказ који садржи само те записе. Ово је много лакше од алтернативе (стварање и одржавање табеле сенки) и обезбеђује интегритет података.
  • Погледи поједностављују корисничко искуство. Погледи скривају сложене детаље табела ваше базе података од крајњих корисника који не требају да их виде. Ако корисник избаци садржај приказа, неће видети колоне табеле које није изабрао приказ и можда неће разумети. Ово их штити од забуне коју узрокују лоше именовани ступци, јединствени идентификатори и
    instagram viewer
    тастери стола.

Стварање погледа

Стварање погледа је прилично једноставно: Једноставно креирајте упит који садржи ограничења која желите да примените и сместите га у наредбу ЦРЕАТЕ ВИЕВ. Ево опште синтаксе:

СТВАРИ ПРИКАЗ назив погледа АС

На пример, да бисте креирали приказ запосленика са пуним радним временом, издајте следећу команду:

СТВАРИ ПОГЛЕД пуно радно време КАО
СЕЛЕЦТ име, презиме, ид_запосленика
ОД запослених
ВХЕРЕ статус = 'ФТ';

Измена приказа

Промена садржаја приказа користи потпуно исту синтаксу као и стварање приказа, али користите наредбу АЛТЕР ВИЕВ уместо наредбе ЦРЕАТЕ ВИЕВ. На пример, да бисте додали ограничење на приказ пуног радног времена који додаје број телефона запосленог у резултате, издајте следећу команду:

АЛТЕР ВИЕВ фулл тиме АС
СЕЛЕЦТ име, презиме, ид_запосленика, телефон
ОД запослених
ВХЕРЕ статус = 'ФТ';

Брисање погледа

Једноставно је уклонити приказ из базе података помоћу команде ДРОП ВИЕВ. На пример, да бисте избрисали приказ сталног запосленог, користите следећу команду:

ДРОП ВИЕВ пуно радно време; 

Виевс вс. Материјализовани погледи

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

Када покренете упит према приказу, секундарни упит који извор даје поглед извршава се у реалном времену, а затим се ти резултати враћају у изворни главни упит. Ако су ваши погледи изузетно сложени или ваш главни упит захтева велики број хеш-спајања између неколико табела и погледа, ваш главни упит ће се извршити брзином корњаче.

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