Selasa, 11 Agustus 2009

Entity Relationship Diagram

Apa yang dimaksud dengan model data? Sebutkan dua jenis data model yang Anda ketahui!

Model data adalah sekumpulan cara / peralatan / tool untuk mendeskripsikan data-data, hubungannya satu sama lain, semantiknya, serta batasan konsistensi.

Ada dua model data, yaitu : Entity Relationship Diagram (ERD) dan model relasional. Keduanya menyediakan cara untuk mendeskripsikan perancangan basis data pada peringkat logika.

  • Model ERD atau Conceptual Data Model (CDM) : model yang dibuat berdasarkan anggapan bahwa dunia nyata terdiri dari koleksi obyek-obyek dasar yang dinamakan entitas (entity) serta hubungan (relationship) antara entitas-entitas itu.
  • Model Relasional atau Physical Data Model (PDM) : model yang menggunakan sejumlah tabel untuk menggambarkan data serta hubungan antara data-data tersebut. Setiap tabel mempunyai sejumlah kolom di mana setiap kolom memiliki nama yang unik.

Bangun sebuah ER-Diagram untuk perusahaan asuransi mobil yang costumer–costumernya masing-masing memiliki satu atau lebih mobil. Setiap mobil memiliki 0 sampai banyak catatan kecelakaan. Serta bangun tabel-tabel untuk ER-diagram!

ERD :

Contoh ERD

Tabel untuk ERD :

Contoh PDM

Jelaskan perbedaan antara weak entity dan strong entity!

  • Strong entity (entitas kuat) : entitas yang mandiri, yang keberadaannya tidak bergantung pada keberadaan entitas yang lainnya. Instansiasi entitas kuat selalu memiliki karakteristik yang unik disebut identifier (sebuah atribut tunggal atau gabungan atribut-atribut yang secara unik dapat digunakan untuk membedakannya dari entitas kuat yang lain).
  • Weak entity (entitas lemah) : entitas yang keberadaannya sangat bergantung pada keberadaan entitas yang lainnya. Entitas lemah tidak memiliki arti apa-apa dan tidak dikehendaki kehadirannya dalam diagram ER tanpa kehadiran entitas di mana mereka bergantung.

Entitas di mana entitas lemah bergantung dinamakan identifying owner. Entitas lemah tidak memiliki identifier sendiri. Secara umum, dalam diagram ER entitas lemah memiliki atribut yang berperan sebagai partial identifier (identifier yang berfungsi secara sebagian).

Jelaskan konsep dari agregasi dan berikan contoh yang memakai konsep ini!

Agregasi adalah suatu keadaan di mana suatu relasi hanya dapat direalisasikan setelah relasi yang lain ada terlebih dahulu. Relasi yang bertipe agregasi tidak dimungkinkan ada jika relasi yang menjadi prasyaratnya tidak terealisasi.

Contoh agregasi :

Sesungguhnya agregasi dapat dipandang sebagaimana relasi pada umumnya (yang menghubungkan 2 entitas). Karena relasi ini dibentuk dari relasi lain (relasi prasyarat) yang secara kronologis lebih dulu terbentuk, maka pengimplementasiannya juga harus dilakukan setelah relasi prasyarat tersebut terimplementasikan. Selanjutnya kita tinggal meninjau derajat relasi dari relasi agregasinya.

Jika terdapat kejadian sebagai berikut :

Bagaimana jika terdapat set entitas yang sama muncul beberapa kali dalam satu set ER-Diagram. Mengapa hal ini harus dihindari? Jelaskan!

  • Untuk menghindari redundancy
  • Menghemat penyimpanan (storage) data
  • Mengurangi efektifitas dan kecepatan akses
  • Untuk menghindari terjadinya asinkronisasi data pada saat diupdate

Desain sebuah generalisasi – spesialisasi hirarki untuk sebuah perusahaan kendaraan bermotor. Perusahaan menjual sepeda motor, passenger car, van, dan bis. Tentukan penempatan atribut Anda pada setiap level hirarki.

PBD Modul 1 - Generalisasi Spesialisasi

Jelaskan perbedaan antara total constraint dan partial constraint!

  • Total constraint adalah constraint yang mana data dalam entitas yang memiliki constraint tersebut terhubung secara penuh ke dalam entitas dari relasinya.
  • Constraint partial adalah constraint yang mana data dalam entitas yang memiliki constraint tersebut terhubung ke dalam entitas dari relasinya.

Apa yang Anda ketahui dari relasi-relasi berikut? Serta buatlah contoh kasus dari relasi-relasi di atas!

PBD Modul 1 - Relasi 1

Relasi satu :

  • Entity 1 to entity 2 : kardinalitas : one to many dengan detail minimal 0 dan maksimalnya banyak. Dependensi : entitas 1 dan entitas 2 tidak saling ketergantungan.
  • Entity 2 to entity 1 : kardinalitas : many to one dengan detail minimal 1 dan maksimalnya 1. Dependensi : entitas 1 dan entitas 2 tidak saling ketergantungan.

Contoh kasus :

PBD Modul 1 - Contoh relasi 1

Keterangan : tabel Pembeli dan Mobil dengan relasi membeli. Pembeli boleh tidak membeli mobil, tetapi juga boleh membeli banyak mobil. Satu mobil boleh tidak ada yang membeli, tapi seandainya ada yang membeli, maksimal hanya ada satu orang pembeli.

PBD Modul 1 - Relasi 2

Relasi dua :

  • Entity 3 to entity 4 : kardinalitas : one to many dengan detail minimal 0 maksimalnya banyak. Dependensi : entitas 3 dan entitas 4 tidak saling ketergantungan.
  • Entity 4 ke entity 3 : kardinalitas : many to one dengan detail minimal 1 maksimal 1. Dependensi : entitas 4 dan entitas 3 tidak saling ketergantungan.

Contoh kasus :

PBD Modul 1 - Contoh relasi 2

Keterangan : tabel Dosen dan Mahasiswa dengan relasi perwalian. Satu dosen bisa mempunyai banyak mahasiswa wali, bisa pula tidak punya. Satu mahasiswa harus mempunyai satu dosen wali.

PBD Modul 1 - Relasi 3

Relasi tiga

  • Entity 5 to entity 6 dan Entity 6 to entity 5 : kardinalitas : one to one dengan detail minimal 0 maksimalnya 1. Dependensi : entitas 5 dan entitas 6 tidak saling ketergantungan.

Contoh kasus :

PBD Modul 1 - Contoh relasi 3

Keterangan : tabel Cowok dan Cewek dengan relasi menikah. Cowok tidak harus menikah, tapi boleh menikah hanya dengan satu cewek. Cewek boleh tidak menikah, tapi boleh menikah hanya dengan satu cowok. Diasumsikan tidak diperbolehkan adanya poligami.

PBD Modul 1 - Relasi 4

Relasi empat

  • Entity 7 to entity 8 : kardinalitas : one to one dengan detail minimal 0 maksimalnya 1. Dependensi : entitas 7 dan entitas 8 tidak saling ketergantungan.
  • Entity 8 ke entity 7 : kardinalitas : one to one dengan detail minimal 1 maksimal 1. Dependensi : entitas 8 dan entitas 7 tidak saling ketergantungan.

Contoh kasus :

PBD Modul 1 - Contoh relasi 4

Keterangan : tabel Pegawai dan Departemen dengan relasi mengepalai. Pegawai tidak harus mengepalai departemen, tetapi hanya boleh mengepalai satu departemen saja. Masing-masing departemen harus mempunyai satu orang atasan.

PBD Modul 1 - Relasi 5

Relasi lima

  • Entity 9 to entity 10 : kardinalitas : many to many dengan detail minimal 0 maksimalnya banyak. Dependensi : entitas 9 dan entitas 10 tidak saling ketergantungan.
  • Entity 10 ke entity 9 : kardinalitas : many to many dengan detail minimal 1 maksimal banyak. Dependensi : entitas 10 dan entitas 9 tidak saling ketergantungan.

Contoh kasus :

PBD Modul 1 - Contoh relasi 5

Keterangan : tabel Mata Kuliah dan Mahasiswa dengan relasi diambil. Mata kuliah tidak harus diambil oleh mahasiswa, tapi boleh diambil oleh banyak mahasiswa. Satu mahasiswa minimal mengambil satu mata kuliah dan boleh mengambil banyak mata kuliah. Namun pada kenyataannya, relasi many to many akan dijadikan sebuah tabel baru.

PBD Modul 1 - Relasi 7

Relasi tujuh

  • Entity 13 to entity 14 : kardinalitas : one to many dengan detail minimal 0 maksimalnya banyak. Dependensi : entitas 13 menjadi parent dari entitas 14.
  • Entity14 ke entity 13 : kardinalitas : many to one dengan detail minimal 1 maksimal 1. Dependensi : entitas 14 tergantung kepada entitas 13.

Contoh kasus :

PBD Modul 1 - Contoh relasi 7

Keterangan : tabel Customer dan Asuransi dengan relasi mempunyai. Customer boleh tidak mempunyai asuransi, dan boleh mempunyai banyak asuransi. Satu asuransi harus dimiliki oleh satu orang customer.

Sebutkan tahapan–tahapan normalisasi serta penjelasannya! Dan apa perbedaan antara 1 NF dan BCNF?

Normalisasi adalah proses penyusunan data untuk mengurangi terjadinya duplikasi dan inkonsistensi.

  • First Normal Form (1NF) : tidak boleh ada kelompok yang berulang pada tabel, penguraian atribut multivalued dan composit.
  • Second Normal Form (2NF) : atribut bukan kunci tidak boleh bergantung pada sebagian primary key, artinya atribut bukan kunci harus bergantung pada semua atribut yang termasuk primary key –> functional dependency pada primary key.
  • Third Normal Form (3NF) : tidak boleh ada atribut bukan kunci yang bergantung pada atribut selain primary key.
  • Boyce-Codd Normal Form (BCNF) : atribut yang ditentukan bukan bagian dari key attribute.

Perbedaan antara tahap 1NF dengan tahap BCNF :

  • 1NF : tahap normalisasi dasar, yang mana masih belum sampai pada tingkat efektifitas maksimal, masih banyak kemungkinan terjadinya redundancy data atau duplikasi data.
  • BCNF : tahap normalisasi setelah 3NF , yang mana efektifitas telah mencapai maksimal, kemungkinan terjadinya redundancy data dan duplikasi data lebih kecil daripada 1NF.

Tidak ada komentar:

Posting Komentar

Komentar anda sangat membantu saya dalam pengembangan diri secara mental & intelektual,oleh karena itu saya mohon kritik & sarannya......