linkedin facebook linkedin facebook nod32

Sql da foydalanuvchilar va ular imtiyozlari

Muallif: Mengliyev Sh.

Qo`shilgan sana: 2015-08-21

Foydalanuvchilar va ular imtiyozlari

Foydalanuvchilar.
SQL muxitida xar bir foydalanuvchi maxsus identifikatsiton nom, murojjat identifikatoriga (ID) ega. Ma’lumotlar bazasiga yuborilgan komanda ma’lum foydalanuvchi bilan yoki boshqacha aytganda maxsus murojaat identifikatori bilan bog‘lanadi.   SQL ma’lumotlar bazasida ID ruxsat – bu foydalanuvchi nomi va SQL komanda bilan bog‘langan murojaat identifikatoriga ilova qiluvchi maxsus kalit so‘z USER dan foydalanishi mumkin.
Registratsiya bu kompьyuter tizimiga kirish xuquqini olish uchun foydalanuvchi bajarishi kerak bo‘lgan protseduradiryu Bu protsedura foydalanuvchi Bilan qaysi murojaat ID si bog‘lanishini aniqlaydi. Odatda xar bir ma’lumotlar bazasidan foydalanuvchi o‘zining ID siga ega bo‘lishi kerak va registratsiya jarayonida xaqiqiy foydalanuvchiga aylanadi. Lekin ko‘p masalalarga ega foydalanuvchilar bir necha murojaat  ID lari bilan registratsiyadan o‘tishlari 1ki bir necha foydalanuvchi bitta murojaat ID sidan foydalanishlari mumkin.
   Imtiyozlar.
Xar bir foydalanuvchi     SQL ma’lumotlar bazasida nima qilish mumkinlgini ko‘rsatuvchi imtiyozlarga egadir. Bu imtiyozlar vaqt o‘tishi Bilan o‘zgarishi ya’ni eskilari o‘chirilib yangilari qo‘shilishi mumkin. SQL imtiyozlar bu ob’ekt imtiyozlaridir. Bu shuni bildiradiki foydalanuvchi berilgan komandani ma’lumotlar bazasining biror ob’ekti ustida bajarishi mumkin. Ob’ekt imtiyozlari bir vaqtning o‘zida foydalanuvchilar va jadvallar Bilan bog‘liq. YA’ni imtiyoz ma’lum foydalanuvchiga ko‘rsatilgan jadvalda, asos jadvalda yoki tasavvurda beriladi. Ixtiyoriy turdagi jadvalni yaratgan foydalanuvchi shu jadval egasidir. Bush uni bildiradiki foydalanuvchi bu jadvalda xamma imtiyozlarga ega va imtiyozlarini shu jadvalning boshqa foydalanuvchildariga uzatishi mumkin.

Foydalanuvchiga tayinlash mumkin bo‘lgan imtiyozlar:
· SELECT       Bu imtiyozga ega foydalanuvchi jadvallarda so‘rovlar bajarishi mumkin.
· INSERT        Bu imtiyozga ega foydalanuvchi jadvalda INSERT komandasini bajarishi mumkin.
· UPDATE  Bu imtiyozga ega foydalanuvchi jadvalda UPDATE komandasini bajarishi mumkin. Bu imtiyozni jadvalning ayrim ustunlari uchun cheklab qo‘yishingiz mumkin.
· DELETE       Bu imtiyozga ega foydalanuvchi jadvalda DELETE komandasini bajarishi mumkin.
· REFERENCES  Bu imtiyozga ega foydalanuvchi jadvalning ustunidan (yoki ustunlaridan) ajdod kalit sifatida foydalanuvchi tashqi kalit aniqlashi mumkin. Siz bu imtiyozni ayrim ustunlar uchun berishingiz mumkin.
Bundan tashqari siz ob’ekt nostandart imtiyozlarini uchratasiz, masalan INDEX (INDEKS) –jadvalda indeks yaratish xuquqini beruvchi,  SYNONYM (SINONIM)- ob’ekt uchun sinonim yaratish xuquqini beruvchi va ALTER (IZMENITЬ)- jadvalda ALTER TABLE komandasini bajarish xquqini beruvchi. SQL  Mexanizm foydalanuvchilarga bu imtiyozlarni GRANT komandasi yordamida beradi.

GRANT Komandasi
GRANT komandasining 4 formati mavjud bo‘lib, ulardan biri konkret ob’ekt ustidan, konkret foydalanuvchilarga konkret imtyozlar berish bo‘lib, quyidagi ko‘rinishga ega:
GRANT privilege ON [creator.]tablename TO userid, ... [WITH GRANT OPTION]
Bu erda
-privilege – tayinlanayotgan imtiyozlar ro‘yxati,
-tablename - jadval nomi,
-userid – imtyozlar olgan foydalanuvchilar ro‘yxati.
Masalan: GRANT SELECT, INSERT ON Orders TO Adrian, Diane;
Ma’lum foydalanuvchilarga imtiyozlarni SQL Central da ikki usul Bilan tayinlash mumkin. Birinchidan Users & Groups papkasini tanlash va ma’lum foydalanuvchi xossalarini ro‘yxatdan chaqirish (sichqoncha o‘ng klavishasini bosish va menyu Properties punktini tanlash). So‘ngra Permissions qo‘shimcha saxifasida kerakli jadvalni tanlab imtiyozni o‘rnatish. Ikkinchidan Tables yoki Views papkasida ma’lum jadval yoki tasavvur xossalar oynasini chaqirish, so‘ngra Permissions qo‘shimcha saxifasiga o‘tish va GRANT tugmasi yordamida kerakli foydalanuvchini tanlab, imtiyozni o‘rnatish.

Ma’lum ustunlarga imtiyozlarni cheklanish
Bu cheklanish UPDATE va REFERENCES imtiyozlarida ishlatilishi mumkin. Bu xolda imtiyoz ko‘rsatilgandan so‘ng qavs ichida shu imtiyoz qo‘llaniluvchi ustunlar ko‘rsatiladi (agar ustunlar ko‘rsatilmagan bo‘lsa, imtiyoz butun jadvalga ta’sir o‘tkazadi).
Masalan:
GRANT UPDATE (City, Comm) ON Salespeople TO Diane; - bu Diane ga Salepeople jadvalining City va Comm ustunlari qiymatlarini o‘zgartirish xuquqini beradi yoki GRANT REFERENCES (CName, CNum) ON Customers TO Stephen; - bu komanda Stephen ga CNum va CName ustunlarini o‘zining jadvallaridagi ixtiyoriy tashqi kalitlarga nisbatan ajdod kalit sifatida ishlatish xuquqini beradi. Stephen (CName, CNum) yoki (CNum, CName) usutunlarni, jadvalarining ikki ustuni Bilan tashqi kalit yordamida mos kelgan ikki –ustunli ajdod kalit sifatida aniqlashi mumkin. YOki u maydonga individual murojaat qilish uchun ajratilgan tashqi kalitlar yaratishi mumkin.

ALLvai PUBLIC argumentlaridan foydalanish.
ALL jadvalda xamma imtiyozlarni berish uchun ishlatiladi.
Masalan:
GRANT ALL ON Customers TO Stephen;
Agar siz imtiyozlarni publikatsiya (PUBLIC) uchun uzatsangiz, xamma foydalanuvchilar avtomatik ravishda ularni qabul qiladi. Odatda bu ma’lum asos jadvallarda yoki tasavvurlarda      ( VIEW) imtiyozi uchun qo‘llanadi. Ixtiyoriy foydalanuvchiga Buyurtmalarjadvalini ko‘rish imkonini berish uchun, siz quyidagini kiritishingiz mumkin:
GRANT SELECT ON Orders TO PUBLIC;

WITH GRANT OPTIONSyordamida imtiyozlar berish.
Ba’zida jadval yaratuvchisiga boshqa foydalanuvchilar uning jadvalitda imtiyozlarni uzatish imkoniga ega bo‘lishlari kerak. Odatda bu bir yoki bir necha xodimlar bir necha yoki xamma asos jadvallarni yaratib, ularni shu jadvallar bilan ishlaydigan xodimlarga topshiradigan tizimlarda zarurdir.
SQL da buning uchun WITH GRANT OPTION ifodasidan foydalaniladi.
Masalan:
Agar Diane buyurtmachilar jadvalida Adrian boshqa foydalanuvchilarga SELECT imtiyozini berish xuquqiga ega bo‘lishini istasa, unga WITH GRANT OPTION ifodasidan foydalanib SELECT imtiyozini beradi:
  GRANT SELECT ON Customers TO Adrian WITH GRANT OPTION;
Adrian uchinchi shaxslarga SELECT imtiyozini berish xuquqiga ega bo‘lgandan so‘ng quyidagi komandani berishi mumkin
  GRANT SELECT ON Diane.Customers TO Stephen;
yoki
  GRANT SELECT ON Diane.Customers TO Stephen WITH GRANT OPTION;
Xuquq olgan foydalanuvchilar jadvalga murojaat qilganda jadval egasining murojaat   ID sini o‘rnatishlari lozim, chunki jadval yaratuvchiga tegishlidir.

Imtiyozlarniradetish
Imtiyozlarni REVOKE komandasi yordamida rad etish mumkin, uning sintaksisi GRANT ga o‘xshash, lekin teskari ta’sirga ega.
Masalan Adrian va Stephen uchun sotib oluvchilar jadvalida INSERT va DELETE imtiyozlarini rad etish uchun quyidagi komandadan foydalanish lozim: REVOKE INSERT, DELETE ON Customers FROM Adrian, Stephen;
Imtiyozlarni rad etishda quyidagi qoidalarga rioya qilinadi: imtiyozlar ularni bergan foydalanuvchi tomonidan rad etiladi va rad etish kasakadlanadi, ya’ni undan shu imtiyozlarni olgan xamma foydalanuvchilarga tarqaladi.

    Imtiyozlar boshqa turlari (tizim imtiyozlari).
Ma’lumotlar maxsus ob’ektlari terminlarida aniqlanmaydigan imtiyozlar tizim imtiyozlari yoki ma’lumotlar bazalari qoidalari deb ataladi. Umumiy yondoshishda uchta aasosiy tizim imtiyozlari mavjud:
· CONNECT (Ulash),
· RESOURCE (Resurs),
· DBA (Ma’lumotlar Bazasi Administratori).
Soddaroq qilib aytish mumkinki  CONNECT agar ob’ekt imtiyozlari uzatilgan bo‘lsa registratsiya qilinish, tasavvurlar va sinonimlar yaratish xuquqidan iborat. RESOURCE  asos jadvallari yaratish xuquqidan iborat.  DBA bu ma’lumotlar bazasida foydalanuvchiga eng yuqori imkoniyatlar beruvchi superfoydalanuvchi imtiyozidir. Ma’lumotlar bazasi administratori funksiyasiga ega bir yoki bir necha foydalanuvchi shu imtiyozga ega bo‘lishi mumkin.
Faqat  DBA identifikatorli foydalanuvchi CONNECT, RESOURCE va DBA imtiyozlarini berishi mumkin.
Foydalanuvchiga resurs yoki administrator imtiyozini berish uchun quyidagi komandalarni bajarish etarli GRANT RESOURCE TO userid; yoki mos ravishda GRANT DBA TO userid.
SQL Central da RESOURCE va DBA v imtiyozlarini berish uchun Users & Groups papkasida foydalanuvchi xossalarini chaqirib, Authorities qo‘shimcha saxifasida mos imtiyoz yoniga belgi qo‘yish lozim.

   Foydalanuvchilarni yaratish va o‘chirish.
Foydalanuvchini yaratish unga CONNECT imtiyozini uzatish yo‘li bilan bajariladi. Komanda sintaksisi quyidagicha:
GRANT CONNECT TO <userid> IDENTIFIED BY <password>;
Bu userid nomli foydalanuvchi yaratilishiga olib kelitb, unga registratsiya qilinish xuquqini beradi vaunga parolь  password tayinlaydi.
Foydalanuvchini o‘chirish REVOKE komandasi yordamida CONNECT imtiyozini rad etish orqali amalga oshiriladi. Faqat bazada o‘z jadvallariga ega bo‘lmagan foydalanuvchini o‘chirish mumkin, chunki bu jadvallar egasiz qoladi. SHuning uchun bunday foydalanuvchini o‘chirishdan oldin uning xamma jadvallarini o‘chirish kerak.

956 marta o`qildi.

Parol:
Eslab qolish.


Ro`yhatdan o`tish

testing

+998915878681

Siz o`z maxsulotingizni 3D reklama ko`rinishda bo`lishini xohlaysizmi? Unda xamkorlik qilamiz.

3D Reklama


Рейтинг@Mail.ru
Рейтинг@Mail.ru

Besucherzahler
счетчик посещений