Skip to content
8 Agustus 2009 / Jeffrey Hermanto Halimsetiawan

Konsep Inheritance [Pewarisan] dalam Desain Basis Data


A. Inheritance dalam desain basis data :
- Jika sebuah tabel merupakan keturunan dari tabel lain, maka tabel anak secara otomatis memiliki semua field (kolom) dari tabel induk.
- Jika melakukan query terhadap tabel induk, maka record di semua tabel anaknya juga ikut di-query

B. Istilah-istilah :

- Mutually Exclusive : Menunjukkan jika hanya ada satu anak untuk satu kemunculan entitas induk.

InheritanceMutuallyExclusive

InheritanceMutuallyExclusive

Contoh di atas berarti Orang adalah Mahasiswa atau Dosen, bukan keduanya.
- Complete : Menunjukkan bahwa semua instans dari entitas parent (surtype) harus dimiliki oleh salah satu children (subtypes). Misalnya, entitas Person memiliki 2 sub-jenis laki-laki dan perempuan; setiap instans dari entitas Person adalah baik laki-laki atau perempuan
- Generate Parent : menghasilkan table parent yang mewarisi atribut-atribut entitas dari setiap entitas children, terpengaruh oleh relasi entitas children, berisi referensi ke table yang memiliki many-to-one relationship dengan entitas children.

InheritanceGenerateParent

InheritanceGenerateParent

- Generate Children : membuat table untuk setiap child dalam inheritance
- Generate Children, Inherit all attributes : mewariskan semua atribut dari parent entity

InheritanceGenerateChildrenAllAttributes

InheritanceGenerateChildrenAllAttributes

- Generate Children, Inherit only primary attributes : mewariskan hanya identifier (primary key nya) dari parent entity

InheritanceGenerateChildrenPrimaryAttributes

InheritanceGenerateChildrenPrimaryAttributes

C. Contoh desain basis data yang menerapkan konsep inheritance:

CREATE TABLE person (
 nama VARCHAR(50),
 alamat VARCHAR(100)
);
CREATE TABLE mahasiswa (
 nrp VARCHAR(20)
) INHERITS (person);
CREATE TABLE dosen (
 nip VARCHAR(20)
 ) INHERITS (person);
About these ads

Berikan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Logout / Ubah )

Twitter picture

You are commenting using your Twitter account. Logout / Ubah )

Facebook photo

You are commenting using your Facebook account. Logout / Ubah )

Google+ photo

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

Ikuti

Get every new post delivered to your Inbox.

Bergabunglah dengan 54 pengikut lainnya.

%d blogger menyukai ini: