Bazasi boshqarish


Download 2.13 Mb.
Pdf ko'rish
bet115/153
Sana20.10.2023
Hajmi2.13 Mb.
#1710944
1   ...   111   112   113   114   115   116   117   118   ...   153
Bog'liq
61dbf61e8b8af1.76566515

Imtiyozlarni 
belgilash 
va 
bekor 
qilish. 
Taqsimlangan 
ma’lumotlar bazasi ko‘pchilik foydalanuvchilarning ma’lumot 


188 
bazalari 
bilan 
ishlashni 
ko‘zda 
tutadi. 
Ammo 
barcha 
foydalanuvchilarga ham ma’lumotlar bazasi bilan har qanday 
xarakatlarni 
bajarishga 
ruxsat 
berilmaydi. 
Shu 
sababli 
foydalanuvchilarga imtiyozlar belgilanadi.
Ma’lumotlar bazasida imtiyozlar ikki kategoriyaga bo‘linadi: tizimli 
imtiyozlar (system privileges) va obyektli imtiyozlar (object 
privileges). Tizimli imtiyozlar ma’lumotlar bazasidan umumiy 
foydalanishni nazoratlaydi. Unga jadvallarni va boshqa obyektlarni 
yaratish, hamda ma’lumotlar bazasini ma’murlash xuquqi taalluqli. 
Obyektli imtiyozlar ma’lumotlar bazasining muayyan obyekti 
bilan bog‘liq. Obyektli imtiyozlar uch qismdan iborat: 

imtiyoz qo‘llanuvchi obyekt; 

imtiyoz ruxsat beruvchi amallar; 

imtiyozlar beriluvchi foydalanuvchi. 
Belgilanishi lozim bo‘lgan dastlabki imtiyozlardan biri – jadval 
yaratuvchilari imtiyozlari. Agar barcha foydalanuvchilar tizimda 
bazaviy 
jadvallarni 
yaratish 
imkoniyatlariga 
ega 
bo‘lsalar, 
ma’lumotlarning ortiqchaligi, ularning nomuvofiqligi ro‘y berishi 
mumkin, natijada tizim samarador bo‘lmaydi. 
Jadval yaratgan foydalanuvchi uning egasi hisoblanadi. Bu degani, 
foydalanuvchi o‘zi yaratgan jadvalda barcha imtiyozlarga ega va 
imtiyozlarni boshqa foydalanuvchilarga uzatishi mumkin. Har bir 
foydalanuvchi SQL muhitida maxsus identifikatsiya nomiga (yoki 
raqamiga) ega. 
GRANT VA REVOKE operatorlari 
Imtiyozlar GRANT (BERMOQ) operatori yordamida beriladi va
REVOKE (BEKOR QILMOQ) operatori yordamida bekor qilinadi. 
GRANT operatori quyidagi sintaksisga ega: 
GRANT imtiyoz.,...– ON obyekt nomi 
TO {imtiyoz taqdim etiluvchi foydalanuvchi} [PUBLIS]
[WITH GRANT OPTION]; 
imtiyoz:= 
{ALL PRIVILEGES} 
|SELECT 
|DELETE 
|{INSERT [(ustun nomi.,...)]} 


189 
|{UPDATE [(ustun nomi.,...)]} 
|REFERENCES [(ustun nomi.,...)]} 
|USAGE} 
SQL GRANT operatorini olganida, ushbu operatorning joizligini 
aniqlash maqsadida buyruq bergan foydalanuvchining imtiyozlarini 
tekshiradi.
Jadvaldan foydalanuvchi uchun imtiyozlarning quyidagi xillari 
belgilanishi mumkin: 
SELECT – jadvalda so‘rovlarni bajarishga ruxsat; 
INSERT – jadvalda INSERT (yangi qatorni kiritish) operatorini 
bajarishga ruxsat; 
UPDATE – jadvalda UPDATE (xoshiyalar qiymatini yangilash) 
operatorini bajarishga ruxsat; 
DELETE – jadvalda DELETE (yozuvlarni yo‘qotish) operatorini 
bajarishga ruxsat; 
REFERENCES – tashqi kalitni aniqlashga ruxsat. 
GRANT operatorining bittasida birnecha imtiyozlar, ularni vergul 
orqali sanash yoki foydalanuvchiga ushbu jadval uchun barcha 
imtiyozlar berilishini anglatuvchi ALL argumentini ishlatib 
belgilanishi mumkin. 
GRANT operatorining bittasida bir vaqtning o‘zida bir necha 
foydalanuvchiga imtiyozlar, ularni vergul orqali sanash yoki 
imtiyozlar barcha foydalanuvchiga berilishini anglatuvchi PUBLIS 
argumentini ishlatib, belgilanishi mumkin. Ammo bu imkoniyatdan 
extiyotkorona foydalanish zarur, chunki PUBLIS nafaqat joriy 
foydalanuvchilarni, balki tizimga keyinchalik kiritilishi mumkin 
bo‘lgan barcha foydalanuvchilarni anglatadi. Faraz qilaylik, 
foydalanuvchi Manso‘rov “Xodim” jadvalining egasi va u 
foydalanuvchi Karimovga jadvalga so‘rov yuborishga rozi. Bu holda 
foydalanuvchi Manso‘rov quyidagi buyruqni kiritishi lozim. 
GRANT SELECT ON Xodim TO Karimov; 
WITH GRANT OPTION gapi foydalanuvchiga ushbu jadval uchun 
imtiyozlarni belgilashga imkon yaratadi. Agar, masalan, buyruq 
quyidagi ko‘rinishni olsa 
GRANT SELECT ON Xodim
TO Karimov WITH GRANT OPTION: 


190 
foydalanuvchi Karimov, o‘z navbatida imtiyozlarni belgilash xuquqini 
boshqa foydalanuvchilarga uzatish imkoniyatiga ega bo‘ladi, ya’ni 
foydalanuvchi Karimov quyidagi buyruqni berishi mumkin: 
GRANT SELECT ON Manso‘rov Xodim
TO Salimov WITH GRANT OPTION: 
Demak, sxema egasi bo‘lmagan foydalanuvchi jadvalga havola 
qilganida, jadval nomi oldida sxema nomi ko‘rsatiladi. 
Obyektning aksariyat imtiyozlari bir xil sintaksisdan foydalanadi. 
Yuqorida keltirilgan imtiyozlardan UPDATE va REFERENCES 
istisno.
UPDATE 
imtiyozlari 
berilganida 
yuqorida 
qo‘llanilgan 
sintaksisdan foydalanish mumkin, ya’ni foydalanuvchiga jadvalning 
barcha ustunlarini yangilash xuquqi beriladi. Imtiyoz nomidan keyin 
qavs ichida ushbu imtiyoz tatbiq etiluvchi ustunlar nomi ko‘rsatilishi 
mumkin. Masalan UPDATE imtiyozi quyidagi ko‘rinish olishi 
mumkinGRANT UPDATE (doegnost, oklad) ON Xodim TO 
Karimov; REFERENCES imtiyozi berilganida ham ustunlar nomi 
beriladi.
Jadvalni faqat alohida ustunlari bo‘yicha ko‘zdan kechirishni cheklash 
uchun tasavvur yaratish mexanizmidan foydalanib, imtiyozni real 
jadval uchun emas, tasavvur uchun belgilash lozim. Jadvalni faqat 
alohida qatorlar bo‘yicha ko‘zdan kechirishni cheklash uchun ham 
tasavvurdan foydalanish mumkin. 
Imtiyozni bekor qilish REVOKE operatori yordamida amalga 
oshiriladi. Ushbu buyruqning sintaksisi GRANT operatorining 
sintaksisiga o‘xshash. Masalan, Karimov uchun “Xodim” jadvalini 
ko‘zdan kechirish imtiyozini bekor qilish quyidagi ko‘rinishga ega: 
REVOKE SELECT ON Xodim TO Karimov; 
Muayyan MBBTda yuqorida keltirilgan imtiyozlardan farqli 
imtiyozlar 
madadlanishi 
mumkin. 
Masalan, 
ba’zi 
MBBTda 
foydalanuvchilarga indekslarni yaratishga imkon beruvchi INDEX 
imtiyozini berish mumkin. Ammo INDEX obyekti SQL standartida 
aniqlanmagan va ushbu imtiyozni berish buyruqsining sintaksisi 
tizimdan tizimga o‘zgarishi mumkin.
Imtiyozni bekor qilish huquqiga kim egalik qilishi SQL standartida 
aniqlanmagan. Ammo, odatda, imtiyozni bekor qilish, ushbu 
imtiyozni bergan foydalanuvchi tomonidan amalga oshiriladi. 

Download 2.13 Mb.

Do'stlaringiz bilan baham:
1   ...   111   112   113   114   115   116   117   118   ...   153




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling