Bazasi boshqarish
Download 2.13 Mb. Pdf ko'rish
|
61dbf61e8b8af1.76566515
- Bu sahifa navigatsiya:
- GRANT VA REVOKE operatorlari
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: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2025
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling