SELECT *
FROM empview
WHERE dept = 'toy';
ammo javob tariqasida foydalanish huquqlarining buzilganligini ko‘rsatuvchi javob
kodini emas, balki oddiygina nulli qatorli natijani oladilar. Bu juda muhim, chunki
niyati buzuqni boMimlar ro‘yxatini javob kodlarini tahlillash orqali bilvosita tarzda
olish imkoniyatidan mahrum etadi.
Foydalanish huquqlarining ierarxiyasi
GRANT operatori va MBBTdan foydalanishni boshqaruvchi boshqa vositalar
foydalanishning quyidagi cheklashlar turini amalga oshirishga imkon beradi:
- amaliy cheklashlar (jadvalning barcha yoki faqat ba’zi ustunlariga qo‘llaniluvchi
SELECT, INSERT, UPDATE, DELETE foydalanish huquqlari hisobiga);
- muhimligi bo‘yicha cheklashlar (tasawurlar mexanizmi hisobiga);
- resurslarga cheklashlar (ma’lumotlar bazasidan foydalanish imtiyozlari bo‘yicha).
So‘rovlami ishlashda MBBT avval obyektlardan foydalanish huquqini tekshiradi.
Agar amaliy cheklashlar buzilgan bo`lsa, so‘rov mos tashxis chiqarilib, rad etiladi.
Muhimligi bo‘yicha cheklashlarning buzilishi faqat natijaviy qatorlaming soniga
ta’sir etadi, bunda hech qanday tashhis chiqarilmaydi. Nihoyat, oldingi ikkita
cheklashlar hisobga olinganidan so‘ng, so‘rov ishlanish uchun optima qatorga
beriladi.
Agar optimizator resurslarga cheklashlar oshirilganini aniqlasa, so‘rov mos tashhis
chiqarilib, rad etiladi. Imtiyozlar ierarxiyasiga boshqa nuqtayi nazardan qarash
mumkin. Har bir foydalanuvchi o‘zinikidan tashqari PUBLIC imtiyoziga
ega. Undan tashqari, u turli guruhlarda bo`lib, ma’lum roller bilan ilovalarni ishga
tushirishi mumkin. Quyida imtiyozlarning nomlangan turli eltuvchilari taqdim
etgan huquqlaming o‘zaro munosabati xususida so‘z ketadi.
INGRES MBBT uchun avtorizatsiya ierarxiyasi quyidagi ko‘rinishga ega:
- rol (yuqori ustuvorlik);
- foydalanuvchi;
- guruh;
- PUBLIC (past ustuvorlik).
Har bir foydalanuvchi obyekt uchun INGRES foydalanishning so‘raluvchi turiga
(SELECT, EXECUTE va h.) tegishli ierarxiyadagi imtiyozni qidirishga urinadi.
Masalan, yangilash maqsadida jadvaldan foydalanishga urinishda INGRES
rolning, foydalanuvchining, guruhning va barcha foydalanuvchilaraing
imtiyozlarini tekshiradi. Agar ierarxiyaning bitta sathida UPDATE imtiyozi bo‘lsa
ham, so‘rov keyingi ishlash uchun uzatiladi. Aks holda, so‘rovni rad etishni ko‘zda
tutuvchi foydalanish huquqi ishlatiladi.