Data Kontrol Dil (DCL)

GRANT, REVOKE və DENY verilənlər bazası icazələri

Data Control Language (DCL), strukturlaşdırılmış Sorgu Dilinin (SQL) bir alt kümesidir və veritabanı yöneticilerinin ilişkisel veritabanlarına güvenlik erişimini yapılandırmasına imkan verir. Verilənlər bazası obyektlərini əlavə etmək və silmək üçün istifadə olunan Data Definition Language (DDL) və məlumat bazasının məzmununu almaq, daxil etmək və dəyişdirmək üçün istifadə olunan Data Manipulyasiya Dilini (DML) tamamlayır.

DCL, SQL alt kümelerinin ən sadəidir , çünki bu, yalnız üç əmrdən ibarətdir: GRANT, REVOKE və DENY. Kombinə edilmiş, bu üç komanda administratorları verilənlər bazası icazələrini son dərəcə zərif bir şəkildə qurmaq və aradan qaldırmaq üçün rahatlıq təmin edir.

Qrant Komandanlığı ilə icazələrin alınması

GRANT əmri verilənlər bazası istifadəçisinə yeni icazələrin əlavə olunması üçün administratorlar tərəfindən istifadə olunur. Aşağıdakı kimi müəyyən edilmiş çox sadə sintaksis var:

GRANT [imtiyaz] ON [obyekt] TO [istifadəçi] [GRANT OPTION ilə]

Bu əmr ilə təmin edə biləcəyiniz parametrlərin hər birində:

Məsələn, istifadəçini Joe adlı bir verilənlər bazasında işçilərin cədvəlindən məlumat almaq qabiliyyətinə malik olmağı xahiş edirəm. Aşağıdakı SQL əmrini istifadə edə bilərsiniz:

HR.employees haqqında Joe SEÇİN

Joe indi işçilərin cədvəlindən məlumat almaq imkanı əldə edəcək. Lakin, GRANT bəyanatında GRANT OPTION ilə yanaşı daxil etmədiyinə görə, digər istifadəçilərə o cədvəldən məlumat almaq icazəsi verə bilməz.

Verilənlər bazasını çıxarma

REVOKE əmri, daha əvvəl bu cür girişi təmin edən bir istifadəçi verilənlər bazasına çıxmaq üçün istifadə olunur. Bu əmr üçün sintaksis aşağıdakı kimi müəyyən edilir:

REVOKE [QEYRİ OPTION FOR] [icazə] ON [obyekt] FROM [istifadəçi] [CASCADE]

REVOKE əmrinin parametrləri üzrə buraxılış:

Məsələn, aşağıdakı komanda əvvəlki nümunədə Joe üçün verilən icazəni ləğv edir:

Joe'dan HR.employees haqqında REVOKE SEÇİN

Verilənlər bazasının açıq şəkildə inkar edilməsi

DENY əmri bir istifadəçinin müəyyən bir icazə almasını qarşısını almaq üçün istifadə olunur. Bir istifadəçi icazə verilən bir rol və ya qrupun üzvü olduqda və bu fərdi istifadəçinin bir istisna yaratmaqla icazəni devralmasını qarşısını almaq istədiyiniz zaman faydalıdır. Bu əmr üçün sintaksis aşağıdakılardır:

DENY [icazə] ON [obyekt] TO [istifadəçi]

DENY əmrinin parametrləri GRANT əmri üçün istifadə olunanlarla eynidır.

Məsələn, Matthewun işçilərin cədvəlindən məlumatları silmə qabiliyyətini heç vaxt qəbul etməyini istəməyiniz üçün aşağıdakı əmrləri verin:

Metyu üçün HR.employees haqqında DENY DELETE