Foydalanmchilami yaratish va yo 'q qilish.
Ko‘pchilik foyda
lanuvchi muhitda maiumotlar bazasidan foydalanuvchi - maiu
motlar bazasi obyektlarining maium naborí egasi tushunchasi katta
ahamiyat kasb etadi.
Tizim foydalanuvchilarini ikkita sinfga ajratish mumkin. Har
qanday oichamli tizimda doimo superfoydalanuvchilaming ba’zi
7 6
turlari - avtomatik tarzda k o ‘pchilik (yoki barcha) imtiyozlarga ega
va o‘zining superfoydalanuvchi maqomini kimgadir imtiyozlar yoki
imtiyozlar guruhi yordamida uzata oladigan foydalanuvchilar mav-
jud.
Ma’lumotlar bazasi m a’muri
atamasi bunday superfoy-
dalanuvchilar va ulaming imtiyozlari uchun tez-tez ishlatiluvchi
atama hisoblanadi.
Boshqa foydalanuvchilami ma’lumotlar bazasining ma’murlari
yaratadi va ularga bosh lang1 ich imtiyozlami beradi. Foydalanuv
chilami faqat ma’murlar yaratadi. Foydalanuvchilarga huquqlami
berish va qaytarib olish nafaqat ma’murlar, balki mos huquqlarga
ega boshqa foydalanuvchilar tomonidan bajarilishi mumkin.
Foydalanuvchilar guruhlarga birlashishlari mumkin. Foydala
nuvchilar guruhi - imtiyozlaming bir xil naboriga ega foydalanuv
chilar. Umuman, bir foydalanuvchi turli guruhlarda ishtirok etishi
mumkin. Har bir foydalanuvchi maxsus identifikatsiya nomiga yoki
nomeriga ega (Authorization ID).
Aksariyat ekspluatatsiyadagi korporativ MBBTlari SQL - ser-
verlari hisoblanadi. Shu sababli SQL - tizimlar misolida foydala
nuvchilami boshqarish masalalarini ko‘raylik.
Foydalanuvchilami boshqarish jarayonining muayyan shakllari
turli MBBTlarda bir-biridan ancha farqlanishi mumkin. Foydala
nuvchilami boshqarish jarayoni ishlatiluvchi operatsion tizimga,
ma’lumotlar bazasi arxitekturasiga bog‘liq. Shu sababli SQL nmg
mos qismida ishlab chiqaruvchi platformasiga ham ko‘proq bog‘-
liqlik ko‘zga tashlanadi.
Foydalanuvchilami boshqarish jarayonini uchta asosiy bos-
qichga ajratish mumkin. Avval maiumotlar bazasida foydalanuv-
chini hisobga olish yozuvini yaratish lozim. So'ngra foydalanuv-
chiga u maiumot bazasi doirasida, taxminan yechuvchi masalalarga
muvofiq imtiyozlar beriladi. Nihoyat, foydalanuvchiga ma’lumotlar
bazasidan foydalanish kerak boimaganida uni hisobga olish yozuvi
yo‘qotilishi yoki oldin unga berilgan imtiyozlar bekor qilinishi
lozim.
Maiumotlar bazasi bilan ishlashdan oldin foydalanuvchi,
uning ismi va parolini so‘rashdan iborat kirish muolajasi yordamida
identifikatsiyalanishi shart. Kirilgandan so‘ng MBBT bilan ishlash
seansi harakatga keltiriladi.
77
Imtiyozlami belgilash va bekor qilish.
Taqsimlangan ma’lu-
motlar bazasi ko‘pchilik foydalanuvchilaming maiumot bazalari
bilan ishlashni ko‘zda tutadi. Ammo barcha foydalanuvchilarga ham
ma’lumotlar bazasi bilan liar qanday harakatlami bajarishga ruxsat
berilmaydi. Shu sababli foydalanuvchilarga imtiyozlar belgilanadi.
Maiumotlar bazasida imtiyozlar ikki kategoriyaga boiinadi:
tizimli imtiyozlar (system privileges) va obyektli imtiyozlar (object
privileges). Tizimli imtiyozlar ma’lumotlar bazasidan umumiy foy-
dalanishni nazoratlaydi. Unga jadvallami va boshqa obyektlami
ÿaratish hamda ma’lumotlar bazasini ma’murlash huquqi taalluqli.
Obyektli imtiyozlar maiumotlar bazasining muayyan obyekti
bilan bogiiq. Obyektli imtiyozlar uch qismdan iborat:
- imtiyoz qoilanuvchi obyekt;
- imtiyoz ruxsat beruvchi amallar;
- imtiyozlar beriluvchi foydalanuvchi.
Belgilanishi lozim boigan dastlabki imtiyozlardan biri - jadval
yaratuvchilari imtiyozlari. Agar barcha foydalanuvchilar tizimda ba-
zaviy jadvallami yaratish imkoniyatlariga ega boisalar, maiumot-
laming ortiqchaligi, ularning nomuvofiqligi ro‘y berishi mumkin,
natijada tizim samarador boimaydi.
Jadval yaratgan foydalanuvchi uning egasi hisoblanadi. Bu de-
gani, foydalanuvchi o‘zi yaratgan jadvalda barcha imtiyozlarga ega
va imtiyozlami boshqa foydalanuvchilarga uzatishi mumkin. Har bir
foydalanuvchi SQL muhitida maxsus identifikatsiya nomiga (yoki
nomeriga) ega.
Imtiyozlar GRANT (BERMOQ) operatori yordamida beriladi
va REVOKE (BEKOR QILMOQ) operatori yordamida bekor qili-
nadi.
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.,...)]}
78
| {UPDATE [(ustun nomi.,...)]}
¡REFERENCES [(ustun nomi....)]}
|USAGE}
SQL GRANT operatorini olganida, ushbu operatoming joizli-
gini aniqlash maqsadida komanda bergan foydalanuvchining imti-
yozlarini tekshiradi.
Jadvaldan foydalanuvchi uchun imtiyozlaming quyidagi xillari
belgilanishi mumkin:
- SELECT — jadvalda so‘rovlami bajarishga ruxsat;
- INSERT — jadvalda INSERT (yangi qatomi kiritish) ope
ratorini bajarishga ruxsat;
- UPDATE - jadvalda UPDATE (hoshiyalar qiymatini yan-
gilash) operatorini bajarishga ruxsat;
- DELETE - jadvalda DELETE (yozuvlami yo‘qotish) opera
torini bajarishga ruxsat;
- REFERENCES - tashqi kalitni aniqlashga ruxsat.
GRANT operatorining bittasida bir necha imtiyozlar, ulami
vergul orqali sanash yoki foydalanuvchiga ushbu jadval uchun bar-
cha imtiyozlar berilishini anglatuvchi ALL argumentini ishlatib, bel-
gilanishi mumkin.
GRANT operatorining bittasida bir vaqtning o‘zida bir necha
foydalanuvchiga imtiyozlar, ulami vergul orqali sanash yoki imti
yozlar barcha foydalanuvchiga berilishini anglatuvchi PUBLIS
argumentini ishlatib, belgilanishi mumkin. Ammo bu imkoniyatdan
ehtiyotkorona foydalanish zarur, chunki PUBLIS nafaqat joriy
foydalanuvchilarni, balki tizimga keyinchalik kiritilishi mumkin
boigan barcha foydalanuvchilarni anglatadi. Faraz qilaylik, foyda
lanuvchi Mansurov “ Sotrudnik” jadvalining egasi va u foydalanuv
chi Karimovga jadvalga so‘rov yuborishga rozi. Bu holda foydala
nuvchi Mansurov quyidagi komandani kiritishi lozim:
GRANT SELECT ON Sotrudnik TO Karimov;
WITH GRANT OPTION gapi foydalanuvchiga ushbu jadval
uchun imtiyozlarni belgilashga imkon yaratadi. Agar, masalan, ko
manda quyidagi ko‘rinishni olsa:
GRANT SELECT ON Sotrudnik
TO Karimov WITH GRANT OPTION:
79
foydalanuvchi Karimov, o‘z navbatida imtiyozlami belgilash huqu-
qini boshqa foydalanuvchilarga uzatish imkoniyatiga ega boMadi,
ya’ni foydalanuvchi Karimov quyidagi komandani berishi mumkin:
GRANT SELECT ON Mansurov Sotrudnik
TO Salimov WITH GRANT OPTION:
Demak, sxema egasi boMmagan foydalanuvchi jadvalga havo-
la qilganida, jadval nomi oldida sxema nomi ko‘rsaliladi.
Obyektning aksariyat imtiyozlari bir xil sintaksisdan foydala-
nadi. Yuqorida keltirilgan imtiyozlardan UPDATE va REFEREN
CES istisno.
UPDATE imtiyozlari berilganida yuqorida qoilanilgan sintak
sisdan foydalanish mumkin, ya’ni foydalanuvchiga jadvalning
barcha ustunlarini yangilash huquqi beriladi. Imtiyoz nomidan keyin
qavs ichida ushbu imtiyoz tatbiq etiluvchi ustunlar nomi ko‘rsa-
tilishi mumkin. Masalan, UPDATE imtiyozi quyidagi ko‘rinish
olishi mumkin:
GRANT UPDATE (doljnost, oklad) ON Sotrudnik TO Kari
mov; REFERENCES imtiyozi berilganida ham ustunlar nomi beri-
ladi.
Jadvalni faqat alohida ustunlari bo‘yicha ko'zdan kechirishni
cheklash uchun tasawur yaratish mexanizmidan foydalanib, imti-
yozni real jadval uchun emas, tasawur uchun belgilash lozim. Jad
valni faqat alohida qatorlar bo‘yicha ko'zdan kechirishni cheklash
uchun ham tasavvurdan foydalanish mumkin.
Imtiyozni bekor qilish REVOKE operatori yordamida amalga
oshiriladi. Ushbu komandaning sintaksisi GRANT operatorining
sintaksisiga o‘xshash. Masalan, Karimov uchun “Sotrudnik” jadva-
lini ko'zdan kechirish imtiyozini bekor qilish quyidagi ko‘rinishga
ega:
REVOKE SELECT ON Sotrudnik TO Karimov.
Muayyan MBBTda yuqorida keltirilgan imtiyozlardan farqli
imtiyozlar madadlanishi mumkin. Masalan, ba’zi MBBTda foyda
lanuvchilarga indekslami yaratishga imkon beruvchi INDEX
imtiyozini berish mumkin. Ammo INDEX obyekti SQL standartida
aniqlanmagan va ushbu imtiyozni berish komandasining sintaksisi
tizimdan tizimga o‘zgarishi mumkin.
80
Imtiyozni bekor qilish huquqiga kim egalik qilishi SQL stan-
dartida aniqlanmagan. Ammo, odatda, imtiyozni bekor qilish, ushbu
imtiyozni bergan foydalanuvchi tomonidan amalga oshiriladi.
Dostları ilə paylaş: |