Dağıtılmış DBMS - Veritabanı Kontrolü

Veritabanı kontrolü, bir veritabanının gerçek kullanıcılarına ve uygulamalarına doğru verileri sağlamak için düzenlemeleri uygulama görevini ifade eder. Kullanıcılara doğru verilerin sunulması için, tüm verilerin veri tabanında tanımlanan bütünlük kısıtlamalarına uygun olması gerekir. Ayrıca, veri tabanının güvenliğini ve gizliliğini korumak için veriler yetkisiz kullanıcılardan uzak tutulmalıdır. Veritabanı kontrolü, veritabanı yöneticisinin (DBA) birincil görevlerinden biridir.

Veritabanı kontrolünün üç boyutu:

  • Authentication
  • Erişim hakları
  • Bütünlük kısıtlamaları

Doğrulama

Dağıtılmış bir veritabanı sisteminde, kimlik doğrulama, yalnızca meşru kullanıcıların veri kaynaklarına erişim sağlayabildiği süreçtir.

Kimlik doğrulama iki düzeyde zorlanabilir -

  • Controlling Access to Client Computer- Bu düzeyde, veritabanı sunucusuna kullanıcı arabirimi sağlayan istemci bilgisayarda oturum açarken kullanıcı erişimi kısıtlanır. En yaygın yöntem bir kullanıcı adı / şifre kombinasyonudur. Bununla birlikte, yüksek güvenlikli veriler için biyometrik kimlik doğrulama gibi daha karmaşık yöntemler kullanılabilir.

  • Controlling Access to the Database Software- Bu düzeyde, veritabanı yazılımı / yöneticisi kullanıcıya bazı kimlik bilgileri atar. Kullanıcı, bu kimlik bilgilerini kullanarak veritabanına erişim kazanır. Yöntemlerden biri, veritabanı sunucusu içinde bir oturum açma hesabı oluşturmaktır.

Erişim Hakları

Bir kullanıcının erişim hakları, bir tablo oluşturma, bir tablo bırakma, bir tabloya kayıt ekleme / silme / güncelleme hakları veya tablo üzerindeki sorgu gibi DBMS işlemleriyle ilgili olarak kullanıcıya verilen ayrıcalıkları ifade eder.

Dağıtılmış ortamlarda, çok sayıda tablo ve yine de çok sayıda kullanıcı olduğundan, kullanıcılara bireysel erişim hakları atamak mümkün değildir. Dolayısıyla, DDBMS belirli rolleri tanımlar. Rol, bir veritabanı sistemi içinde belirli ayrıcalıklara sahip bir yapıdır. Farklı roller tanımlandıktan sonra, bireysel kullanıcılara bu rollerden biri atanır. Genellikle, kuruluşun yetki ve sorumluluk hiyerarşisine göre bir roller hiyerarşisi tanımlanır.

Örneğin, aşağıdaki SQL ifadeleri bir "Muhasebeci" rolü oluşturur ve ardından bu rolü "ABC" kullanıcısına atar.

CREATE ROLE ACCOUNTANT; 
GRANT SELECT, INSERT, UPDATE ON EMP_SAL TO ACCOUNTANT; 
GRANT INSERT, UPDATE, DELETE ON TENDER TO ACCOUNTANT; 
GRANT INSERT, SELECT ON EXPENSE TO ACCOUNTANT; 
COMMIT; 
GRANT ACCOUNTANT TO ABC; 
COMMIT;

Anlamsal Bütünlük Kontrolü

Anlamsal bütünlük kontrolü, veritabanı sisteminin bütünlük kısıtlamalarını tanımlar ve uygular.

Bütünlük kısıtlamaları aşağıdaki gibidir -

  • Veri türü bütünlük kısıtlaması
  • Varlık bütünlüğü kısıtlaması
  • Bilgi tutarlılığı kısıtlaması

Veri Türü Bütünlüğü Kısıtlaması

Bir veri türü kısıtlaması, belirtilen veri türüne sahip alana uygulanabilecek değer aralığını ve işlem türünü kısıtlar.

Örneğin, bir "HOSTEL" tablosunun üç alana sahip olduğunu düşünelim - pansiyon numarası, pansiyon adı ve kapasite. Pansiyon numarası büyük harf "H" ile başlamalı ve NULL olamaz ve kapasite 150'den fazla olmamalıdır. Veri tanımı için aşağıdaki SQL komutu kullanılabilir -

CREATE TABLE HOSTEL ( 
   H_NO VARCHAR2(5) NOT NULL, 
   H_NAME VARCHAR2(15), 
   CAPACITY INTEGER, 
   CHECK ( H_NO LIKE 'H%'), 
   CHECK ( CAPACITY <= 150) 
);

Varlık Bütünlük Kontrolü

Varlık bütünlüğü denetimi, her bir demetin diğer kayıtlardan benzersiz bir şekilde tanımlanabilmesi için kuralları uygular. Bunun için birincil anahtar tanımlanır. Birincil anahtar, bir demeti benzersiz bir şekilde tanımlayabilen minimum alan kümesidir. Varlık bütünlüğü kısıtlaması, bir tablodaki iki tablonun birincil anahtarlar için aynı değerlere sahip olamayacağını ve birincil anahtarın parçası olan hiçbir alanın NULL değerine sahip olamayacağını belirtir.

Örneğin, yukarıdaki hostel tablosunda, hostel numarası aşağıdaki SQL ifadesi aracılığıyla birincil anahtar olarak atanabilir (kontroller göz ardı edilerek) -

CREATE TABLE HOSTEL ( 
   H_NO VARCHAR2(5) PRIMARY KEY, 
   H_NAME VARCHAR2(15), 
   CAPACITY INTEGER 
);

Bilgi Bütünlüğü Kısıtlaması

Bilgi tutarlılığı kısıtlaması, yabancı anahtarların kurallarını belirler. Yabancı anahtar, ilgili tablonun birincil anahtarı olan veri tablosundaki bir alandır. Referans bütünlük kısıtlaması, yabancı anahtar alanının değerinin referans alınan tablonun birincil anahtarının değerleri arasında olması veya tamamen NULL olması gerektiği kuralını ortaya koyar.

Örneğin, bir öğrencinin pansiyonda yaşamayı tercih edebileceği bir öğrenci masası düşünelim. Bunu dahil etmek için, pansiyon tablosunun birincil anahtarı öğrenci tablosuna yabancı anahtar olarak dahil edilmelidir. Aşağıdaki SQL ifadesi bunu içerir -

CREATE TABLE STUDENT (  
   S_ROLL INTEGER PRIMARY KEY, 
   S_NAME VARCHAR2(25) NOT NULL, 
   S_COURSE VARCHAR2(10), 
   S_HOSTEL VARCHAR2(5) REFERENCES HOSTEL 
);