Data Control Language (DCL) ve Transaction Control (TCL)

Merhaba,
Bugün ki yazım da Veri Kontrol Dili (DCL)  ve İşlem Kontrol (TCL) hakkında bilgiler vermeye çalışacağım.

Veri Kontrol Dili (DCL)

DCL (Data Control Language) , bir database ile erişim yetkilerini düzenlemede ve değiştirmede kullanılır.
GRANT , DENY , REVOKE şeklindedir.

GRANT : Veritabanı kullanıcısıa , veritabanı rollerine izin vermek için kullanılır.

GRANT {ALL veya izinler}
ON {izin_verilenler}
TO {hesaplar}

Bir kullanıcıya hem veri tabanı hem de tablo oluşturma izni şöyle verilir:
GRANT CREATE DATABASE, CREATE TABLE TO ahmetHamatoglu

DENY : Kullanıcı haklarını kısıtlamak için kullanılır.

DENY { ALL veya izinler}
TO {kullanıcılar}

DENY CREATE TABLE TO ahmetHamatoglu
ahmetHamatoglu kullanıcının tablo oluşturma yetkisi kısıtlanır.
DENY SELECT ON Employee TO ahmetHamatoglu
ahmetHamatoglu  kullanıcının Employee tablosunda SELECT işlemi yapmasını kısıtlar.

REVOKE : Önceki tüm kısıtlamaları ve izinleri kaldırmak için kullanır.

REVOKE {ALL veya izinler}
TO veya FROM {hesaplar}

REVOKE ALL TO ahmetHamatoglu
ahmetHamatoglu  rolüne verilmiş olan tüm yetkiler kaldırılır.
REVOKE SELECT ON Employee TO ahmetHamatoglu
ahmetHamatoglu rolüne Employee tablosunda SELECT işlemi için verilen izin kaldırılır.

İşlem Kontrol  (TCL)

Transaction Control (TCL) deyimleri DML(Data Manipulation Language) ifadeleri tarafından yapılan değişiklikleri yönetmek için kullanılır.
COMMIT , SAVEPOINT VE ROLLBACK şeklindedir.
(DML ;  dediğimiz ifadeler önceki yazılarım da belirttiğim Select , Insert , Update ve Delete komutlarıdır.)

COMMIT – Yapılanları kalıcı hale getirir. İşin tamamlanmasını sağlar.
SAVEPOINT – Daha sonra geri dönülecek bir dönüş noktası belirler.
ROLLBACK – Son COMMIT’e kadar olan yeri geri alır.

DCL ve TCL hakkında genel olarak bilgiler vermeye çalıştım umarım yararlı olur.
İyi çalışmalar.

Ahmet Hamatoğlu

1991 İzmir/Konak doğumluyum. Hacettepe Üniversitesi Matematik Bölümü 2014 mezunuyum. Yazılıma ilk olarak bölümde aldığım C++ dersi ile başladım daha sonra Java , Python ve C# dilleriyle geliştirmeler yaptım. Şu anda Yazılım Mühendisi olarak çalışıyorum. .Net ve Oracle teknolojileri üzerine çalışmalarımı sürdürüyorum. Elimden geldiği kadar bilgilerimi aktarmaya çalışıyorum. Junior seviyesinde olduğum için sitede bilgilerimi paylaşmamın araştırma yapmamı sağlamasının bana katkı sağlayacağını düşünüyorum. Sormak istediğiniz aklınıza takılan her konuda yardımcı olmaya çalışırım.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir