LOGICAL DATABASE DESIGN AND THE RELATIONAL MODEL

Chapter 5 : Logical Database Design

           Merupakan  proses dan transformasi model data konseptual menjadi model data logis yang konsisten dan kompatibel dengan jenis teknologi database dan tentang menciptakan struktur database yang stabil dengan mendaptkan syarat-syarat yang tepat. Pemodelan data konseptual adalah tentang memahami sebuah organisasi untuk mendapatkan persyaratan yang tepat. Tujuan desain database logis adalah untuk menerjemahkan desain konseptual (yang mewakili kebutuhan organisasi untuk data) ke dalam desain database logis yang dapat diimplementasikan melalui sistem manajemen basis data yang dipilih. Database yang dihasilkan harus memenuhi kebutuhan pengguna untuk berbagi data, fleksibilitas, dan kemudahan akses.

The Relational Data Model (Model Data Relasional)

Model data relasional pertama kali diperkenalkan pada tahun 1970 oleh E.F Codd, kemudian IBM (Codd, 1970). dua proyek penelitian awal diluncurkan untuk membuktikan kelayakan model relasional dan untuk mengembangkan sistem prototipe.

Definisi Dasar
Model data relasional merepresentasikan data dalam bentuk tabel. model relasional didasarkan pada teori matematika dan ada untuk memiliki landasan teoretis yang kokoh. Model data relasional terdiri dari tiga komponen yaitu sebagai berikut (Fleming dan von Halle, 1989) :

Struktur Data: data diorganisasikan dalam bentuk tabel dengan baris dan kolom
Manipulasi data: Operasi yang kuat (menggunakan bahasa SQL) digunakan untuk memanipulasi data yang disimpan dalam relasi.
Integritas data: Fasilitas disertakan untuk menentukan aturan bisnis yang menjaga integritas data ketika mereka dimanipulasi.

Integrity Constraints (Kendala Integritas)

Model data hubungan mencakup beberapa jenis kendala, atau aturan bisnis. Yang tujuannya adalah untuk memfasilitasi menjaga akurasi dan integritas data dalam database. Jenis utama dari batasan integritas adalah integritas entitas, integritas domain, integritas referensial, dan integritas enterpise.

a.       INTEGRITAS ENTITAS
Integritas entitas mendifinisikan sebuah baris sebagai sebuah entitas yang unik untuk suatu tabel. Dalam integritas entitas, tidak ada baris yang di duplikat didalam suatu tabel.

Contoh :
create table Pembelian
(ID Pembelian smallint,
ID model smallint,
DeskripsiModel varchar (40),
Primary Key (IDPembelian));

b.      INEGRITAS DOMAIN
Domain adalah nilai-nilai yang dimungkinkan diasosiasikan dengan setiap atribut, Integritas domain merupakan validasi masukan dari sebuah kolom. Dengan integritas domain, tidak ada data yang melanggar jangkauan nilai di tiap kolom data.

Jenis domain yang harus dimiliki oleh setiap atribut :
1. Karakter bebas
2. Alphanumerik
3. Alphabet
4. Numerik
Pemeliharaan integritas domain :
1. Pendifinisian skema
2. Pemanfaatan properti field
3. Penerapan proses validasi pada pemasukan data

Contoh :
Create table biografi
(idpenulis smallint unsigned not null,
tahunLahir year not null,
kotalahir varchar (40) not null default
‘Kosong’);
create domain nilai numerik(3,2)
constraint value-test check (value >=0.00)

c.       INTEGRITAS REFERENSIAL
Integritas referensial adalah dasar relasi antar tabel yaitu antara foregin key dengan promary key. Integritas referensial memastikan bahwa seluruh nilai dari foregin key cocok dengan nilai primary key yang dihubungkanya.

Contoh :
create table account
(account-number char (10),
branch-name char (15),
balance integer,
primary key (account-number),
foreign key (branch-namereference branch)
create table depositor
(costumer-name char (20),
account-number char (10),
primary key (costumer-name, account-number)
foreign key (account-number) reference account
foreign key (costumer-name) reference costumer)
on delete cascade on update cascade

d.      INTEGRITAS ENTERPRISE
Integritas enterprise mengizinkan kita untuk menentukan spesifik business rules sendiri yang tidak sama pada kategori integritas yang lainnya.
    Berikut ini adalah jenis-jenis integritas data yang disertai dengan contoh kasusnya:

1.      Create Domain,  yaitu membuat tipe data baru. Fungsi ini biasa digunakan untuk menangani data yang membutuhkan aturan bisnis sendiri,
·         Contohnya : membuat tipe data “gender” untuk yang isinya hanya boleh berisi pria atau wanita ->
·         Maka sintaksnya dalam SQL adalah :
create domain gender char(2) constraint gender_domain check ( value in(‘pria’,’wanita’));
2.      Not NULL, yaitu menjaga agar suatu data tidak kosong dengan kata lain harus ada value-nya.
·         Contohnya nama matakuliah pada tabel mata kuliah tidak boleh kosong.
·         Maka sintaksnya dalam pl / sql :
nama_matkul varchar2(15),
constraint nn_ matkul not null (nama_matkul)
3.      Unique, yaitu membuat agar suatu data tidak memiliki nilai yang sama dengan recordlainnya dalam tabel yang sama.
·         Contohnya email pada tabel akun_facebook hanya boleh satu email untuk satu akun.
·         Sintaksnya :
email varchar2(15),
constraint u_mail unique (email)
4.      Primary key, merupakan gabungan antara not null dan unique.
·         Misalnya NIM pada tabel mahasiswa.
nim char(7) not null,
constraint pk_ nim primary key (nim)
5.      Check, memeriksa data dengan aturan bisnisinya sendiri tanpa membuat tipe data baru.
·         Contohnya sebelum memasukkan nilai ujian pada tabel nilai, data diperiksa terlebih dahulu. Data tidak boleh masuk jika bernilai negatif.
nilai number,
constraint chk_nilai check (nilai > 0)
6.      Referential Integrity, adalah integritas pada relasi antar tabel. Contohnya jika kolom NIM mahasiswa pada tabel nilai mengacu ke kolom NIM pada tabel mahasiswa, dan terjadi perubahan (delete atau update) pada NIM di tabel mahasiswa, maka ada beberapa pilihan yang dapat dilakukan terhadap NIM yang di tabel nilai, diantaranya adalah :
·         Delete cascade, hapus record pada kedua tabel yang bersangkutan
·         Delete set null, hapus record di tabel asal dan value record pada tabel yang mengacu di jadikan NULL
·         Update cascade, perbarui isi record pada kedua table

nim char(7)

0 Komentar

*/