DBMS Terdistribusi - Kontrol Database

Kontrol database mengacu pada tugas menegakkan peraturan untuk memberikan data yang benar kepada pengguna dan aplikasi database yang otentik. Agar data yang benar tersedia bagi pengguna, semua data harus sesuai dengan batasan integritas yang ditentukan dalam database. Selain itu, data harus disaring jauh dari pengguna yang tidak sah untuk menjaga keamanan dan privasi database. Kontrol database adalah salah satu tugas utama administrator database (DBA).

Tiga dimensi kontrol database adalah -

  • Authentication
  • Hak akses
  • Batasan integritas

Autentikasi

Dalam sistem database terdistribusi, otentikasi adalah proses di mana hanya pengguna yang sah yang dapat memperoleh akses ke sumber data.

Otentikasi dapat diterapkan dalam dua tingkat -

  • Controlling Access to Client Computer- Pada level ini, akses pengguna dibatasi saat login ke komputer klien yang menyediakan antarmuka pengguna ke server database. Metode yang paling umum adalah kombinasi nama pengguna / kata sandi. Namun, metode yang lebih canggih seperti otentikasi biometrik dapat digunakan untuk data keamanan tinggi.

  • Controlling Access to the Database Software- Pada level ini, perangkat lunak / administrator database memberikan beberapa kredensial kepada pengguna. Pengguna mendapatkan akses ke database menggunakan kredensial ini. Salah satu caranya adalah dengan membuat akun login di dalam database server.

Hak akses

Hak akses pengguna mengacu pada hak istimewa yang diberikan pengguna terkait operasi DBMS seperti hak untuk membuat tabel, menjatuhkan tabel, menambah / menghapus / memperbarui tupel dalam tabel atau permintaan di atas tabel.

Dalam lingkungan terdistribusi, karena ada banyak tabel dan jumlah pengguna yang lebih besar, tidaklah layak untuk menetapkan hak akses individu kepada pengguna. Jadi, DDBMS mendefinisikan peran tertentu. Peran adalah konstruksi dengan hak istimewa tertentu dalam sistem database. Setelah peran berbeda ditentukan, pengguna individu diberi salah satu peran ini. Seringkali hierarki peran didefinisikan sesuai dengan hierarki otoritas dan tanggung jawab organisasi.

Misalnya, pernyataan SQL berikut membuat peran "Akuntan" dan kemudian menetapkan peran ini ke pengguna "ABC".

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;

Kontrol Integritas Semantik

Kontrol integritas semantik mendefinisikan dan memberlakukan batasan integritas sistem database.

Batasan integritas adalah sebagai berikut -

  • Batasan integritas tipe data
  • Batasan integritas entitas
  • Batasan integritas referensial

Batasan Integritas Jenis Data

Batasan tipe data membatasi rentang nilai dan tipe operasi yang dapat diterapkan ke bidang dengan tipe data yang ditentukan.

Misalnya, mari kita pertimbangkan bahwa tabel "HOSTEL" memiliki tiga bidang - nomor asrama, nama asrama, dan kapasitas. Nomor asrama harus dimulai dengan huruf kapital "H" dan tidak boleh NULL, dan kapasitas tidak boleh lebih dari 150. Perintah SQL berikut dapat digunakan untuk definisi data -

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

Kontrol Integritas Entitas

Kontrol integritas entitas memberlakukan aturan sehingga setiap tupel dapat diidentifikasi secara unik dari tupel lain. Untuk ini kunci utama ditentukan. Kunci utama adalah sekumpulan bidang minimal yang dapat mengidentifikasi tupel secara unik. Batasan integritas entitas menyatakan bahwa tidak ada dua tupel dalam tabel yang dapat memiliki nilai identik untuk kunci utama dan tidak ada bidang yang merupakan bagian dari kunci utama yang dapat memiliki nilai NULL.

Misalnya, dalam tabel hostel di atas, nomor hostel dapat ditetapkan sebagai kunci utama melalui pernyataan SQL berikut (mengabaikan pemeriksaan) -

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

Kendala Integritas Referensial

Batasan integritas referensial menetapkan aturan kunci asing. Kunci asing adalah bidang dalam tabel data yang merupakan kunci utama dari tabel terkait. Batasan integritas referensial menetapkan aturan bahwa nilai bidang kunci asing harus berada di antara nilai kunci utama tabel yang direferensikan atau seluruhnya NULL.

Misalnya, mari kita pertimbangkan meja siswa di mana siswa dapat memilih untuk tinggal di asrama. Untuk memasukkan ini, kunci utama tabel asrama harus dimasukkan sebagai kunci asing di tabel siswa. Pernyataan SQL berikut menggabungkan ini -

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