Kemarin sudah kita bahas mengenai permodelan data menggunakan Entity Relationship Model. Dimana dalam Model E-R ini data direpresentasikan dalam bentuk diagram yang terdiri dari entitas-entitas. Entitas-entitas tersebut memiliki atribut yang berisi nilai-nilai tertentu dan seringkali sebuah entitas saling terkait antara yang satu dengan yang lainnya.
Walaupun Model E-R sudah termasuk efisien dalam memodelkan data, bukan berarti kita tidak perlu mempelajari metode permodelan data yang lain, misalnya Relational Data Model. Relational Data Model atau Model Relasional juga termasuk model data yang banyak digunakan selain Model E-R. Lalu apa sih bedanya dengan Model E-R? Nah, untuk lebih jelasnya silakan baca terus postingan ini.
Model Relasional dikenalkan pertama kali oleh Edgar F. Codd pada tahun 70an. Berbeda dengan Model E-R, Model Relasional merepresentasikan data dalam bentuk tabel-tabel. Di tabel-tabel inilah data-data kita akan diletakkan. Karena hanya berupa tabel-tabel, sehingga Model Relasional memiliki tingkat abstraksi data yang lebih rendah daripada tingkat abstraksi data pada Model Relasional. Tabel pada Model Resational juga memiliki struktur yang hampir sama dengan Model E-R.
Relasi
Atribut
Tuple
Domain
Cardinality
Relational key
Relational Integrity Constraints
Walaupun Model E-R sudah termasuk efisien dalam memodelkan data, bukan berarti kita tidak perlu mempelajari metode permodelan data yang lain, misalnya Relational Data Model. Relational Data Model atau Model Relasional juga termasuk model data yang banyak digunakan selain Model E-R. Lalu apa sih bedanya dengan Model E-R? Nah, untuk lebih jelasnya silakan baca terus postingan ini.
Relational Data Model : adalah model data yang terdiri dari kumpulan tabel berdimensi dua yang memiliki relation (relasi), tuple (baris), dan atribut (kolom) untuk merepresentasikan suatu basis data.
Model Relasional dikenalkan pertama kali oleh Edgar F. Codd pada tahun 70an. Berbeda dengan Model E-R, Model Relasional merepresentasikan data dalam bentuk tabel-tabel. Di tabel-tabel inilah data-data kita akan diletakkan. Karena hanya berupa tabel-tabel, sehingga Model Relasional memiliki tingkat abstraksi data yang lebih rendah daripada tingkat abstraksi data pada Model Relasional. Tabel pada Model Resational juga memiliki struktur yang hampir sama dengan Model E-R.
Relasi
Relasi adalah tabel dua dimensi dalam Model Relasional yang memiliki sejumlah baris dan kolom. Di dalam relasi kita dapat menyimpan informasi mengenai entitas-entitas yang kita punya. Relasi juga dapat kita gunakan untuk menunjukkan hubungan antara beberapa entitas pada himpunan entitas yang berbeda.
Ada beberapa hal yang harus diperhatikan dalam membuat sebuah relasi, yaitu:
Skema relasi terdiri dari:
Ada beberapa hal yang harus diperhatikan dalam membuat sebuah relasi, yaitu:
- Dalam suatu relasi, semua atributnya harus memiliki nilai yang bersifat utuh.
- Dalam satu kolom harus memiliki tipe data yang sama.
- Tiap-tiap kolomnya harus memiliki nama yang unik.
- Tidak ada dua baris yang isinya identik.
- Baris dalam relasi tidak memiliki urutan tertentu.
Skema relasi terdiri dari:
- Nama relasi yang unik.
- Nama atribut relasi yang unik dan berasosiasi dengan nama domain.
- Primary key untuk membedakan baris yang satu dengan yang lain.
- Foreign key untuk menghubungkan suatu relasi dengan relasi lain.
Atribut
Atribut merupakan kolom dalam sebuah relasi. Atribut-atribut dalam suatu relasi tidak perlu diurutkan dengan urutan tertentu.
Tuple
Tuple merupakan baris dalam sebuah relasi. Atau bisa juga didefinisikan sebagai kumpulan-kumpulan elemen yang saling berkaitan dan dapat menginformasikan tentang suatu elemen secara lengkap.
Domain
Domain merupakan suatu nilai yang dapat dimasukkan ke dalam suatu atribut. Nilai suatu domain harus bersifat atomic, maksudnya nilai tersebut tidak bisa dipecah menjadi nilai-nilai yang lebih sederhana. Jika data yang kita miliki bersifat multivalued attribute maka data tersebut harus dimasukkan ke relasi lain. Sedangkan apabila data kita berupa atribut komposit maka data tersebut harus diubah menjadi atribut sederhana.
Ada 3 langkah dalam mendefinisikan suatu domain, yaitu :
DegreeAda 3 langkah dalam mendefinisikan suatu domain, yaitu :
- Memberi nama domain sesuai dengan nilai yang akan dimasukkan ke dalamnya.
- Menentukan tipe data dari nilai yang akan membentuk domain.
- Menentukan format dari domain.
Degree merupakan jumlah seluruh atribut dalam suatu relasi. Apabila suatu relasi memiliki 5 atribut, artinya relasi tersebut memiliki nilai degree 5.
Cardinality
Cardinality merupakan jumlah seluruh tuple dalam suatu relasi. Apabila suatu relasi memiliki 10 tuple, artinya relasi tersebut memiliki nilai cardinality 10.
Relasi dan bagian-bagiannya |
Relational key
Relational key merupakan atribut kunci dari suatu relasi. Dibagi menjadi 4 :
- Candidate key : yaitu atribut yang digunakan untuk membedakan antara baris yang satu dengan baris yang lain
- Primary key : yaitu candidate key yang digunakan untuk mengidentifikasikan tuple yang unik pada suatu relasi.
- Alternate key : yaitu candidate key yang tidak dijadikan sebagai primary key.
- Foreign key : yaitu sebuah atribut dalam suatu relasi yang merujuk ke primary key relasi yang lainnya.
Primary Key dan Foreign Key |
Relational Integrity Constraints
Relational Integrity Constraints atau batasan integritas merupakan batasan-batasan yang diberikan terhadap suatu relasi ketika skema relasi didefinisikan. Batasan-batasan tersebut kemudian dicek setiap kali data diakses ataupun dimanipulasi.
- Null
Merupakan nilai suatu atribut yang tidak diketahui dan juga tidak cocok untuk baris tersebut. Nilai null dapat digunakan untuk mengisi atribut-atribut yang nilainya memang belum siap/belum ada. - Domain Constraints
Nilai yang mengisi suatu atribut harus bersifat atomic. Tidak boleh menggunakan composite attribute ataupun multivalued attribute. - Key Constraints
Maksudnya adalah tidak boleh ada dua tuple yang isinya identik dalam satu relasi. Dalam satu tuple juga harus ada atribut yang membedakan antara tuple satu dengan yang lain. - Entity Integrity
Merupakan sebuah keadaan dimana dalam suatu relasi harus memiliki primary key dan tidak ada satupun komponen primary key yang bernilai null. - Referential Integrity
Merupakan sebuah keadaan dimana dalam suatu basis data tidak ada satupun relasi yang tidak terkait dengan relasi lain.
Latihan 1
Tentukan relation key dari Diagram E-R berikut!
Jawab :
Berikut adalah relational key dari masing-masing entity pada ERD di atas:
Latihan 2
- Buat tabel siswa, pelajaran, dan guru dengan minimal masing-masing tabel mempunyai 5 tuple
- Buat tabel baru untuk keterhubungannya.
- Tunjukkan atribut kunci yang ada.
- Buat Diagram E-R nya.
Jawab :
1. Berikut adalah tabel siswa, pelajaran, dan guru :
Tabel Siswa |
Tabel Pelajaran |
Tabel Guru |
2. Agar ketiga tabel tadi dapat dihubungkan maka harus dibuat tabel baru yaitu tabel nilai :
Tabel Nilai |
Keterhubungan Tabel-Tabel |
3. Atribut kunci dari tabel-tabel tadi adalah sebagai berikut :
4. Diagram E-R dari tabel-tabel tadi adalah sebagai berikut :
Diagram E-R |
Nice Info Relasi Data Model
ReplyDeleteMasihButuh.blogspot.com
Terimakasih Pengetahuannya. Sangat membantu :)
ReplyDeletethnks ilmunya
ReplyDeletesip min
ReplyDeleteMesin pemisah lcd