Category Archives: database

Tipe Entitas dan Instansiasi Entitas

Ada perbedaan penting yang perlu dipahami antara tipa entitas dan instansiasi entitas. Tipe entitas adalah koleksi dari entitas-entitas (himpunan entitas) yang berbagi properti serta karakteristik yang sama. Setiap tipe entitas dalam model E-R memiliki nama. Karena mencerminkan koleksi (atau himpunan) dari item-item, nama selalu berupa sesuatu yang tunggal. Pada diagram E-R, nama entitas ditempatkan dalam kotak empat persegi panjang. 

Contoh Tipe Entitas: Mahasiswa
Atribut: NIM CHAR(8)
            Nama CHAR(30)
            Alamat CHAR(40)
            Kota CHAR(15)
 Instansiasi entitas adalah bentuk nyata tunggal dari tipe entitas. Tipe entitas dideskripsikan hanya sekali (menggunakan metadata) dalam kamus data (data dictionary) di sistem basis data, sementara beberapa instansiasi entitas mungkin ditampilkan dalam bentuk data yang tersimpan di basis data. Sebagai contoh, hanya satu tipe entitas dengan nama Mahasiswa dalam suatu universitas, tetapi ratusan (bahkan ribuan) instansiasi dari tipe entitas yang tersimpan dalam basis data.
Contoh Instansiasi Entitas Mahasiswa
11100001                 Dwi Kurnivan              Wonoasri I/49             Surabaya
11100002                 Dedi Prasetya              Kedungsari No. 4        Surabaya
11100003                 Gerry Gallant               Wisma Lidah Kulon     Surabaya

 sumber: Buku Perancangan dan Implementasi Sistem Basis Data oleh Adi Nugroho

1 Komentar

Filed under database

Model E-R dalam Basis Data

Model E-R (ERD/Entity Relationship Diagram) adalah perincian yang merupakan representasi logika dari data suatu area bisnis tertentu, model E-R pada umumnya digambarkan sebagai diagram E-R. Sebagai contoh penggambaran model E-R untuk perusahaan manufaktur kecil. Perusahaan ini membeli item-item dari beberapa penyedia yang berbeda yang kemudian mengirimkan item-item itu ke pabrik. Item-item itu kemudian dirakit menjadi produk tertentu yang akan dijual ke pelanggan. Setiap pelanggan mungkin saja memiliki satu atau lebih pesanan untuk produk-produk tertentu.

Himpunan entitas digambarkan dengan berntuk persegi panjang, sementara jajaran genjang menunjukkan relasi. Contoh entitas:
1. Pelanggan. Perorangan atau organisasi yang sudah dan akan memesan produk
2. Produk. Produk tertentu yang mungkin , akan dan telah dipesan oleh pelanggan
3. Pesanan. Transaksi yang berhubungan dengan pejualan satu atau lebih produk ke pelanggan dan diidentifikasi dengan nomor transaksi
4. Item. Tipe komponen yang digunakan untuk merakit suatu produk
5. Penyedia. Organisasi/perusahaan lain (mungkin juga perorangan) yang mungkin menyediakan item tertentu bagi perusahaan
6. Pengepakan. Item-item dikirimkan dalam paket-paket (pak-pak) tertentu dari penyedia ke perusahaan

Perhatikan bahwa sangat penting untuk secara jelas mendefinisikan setiap jenis entitas dengan apa yang telah kita kenali sebagai metadata, yaitu data-data yang menjelakan data lain. Sebagai contoh, mengetahui bahwa entitas Pelanggan juga mencakup perorangan  atau organisasi yang belum membeli produk keperusahaan itu penting. Dalam banyak kasus, setiap unit dalam organisasi sering kali memberikan makna yang berbeda untuk suatu terminologi yang sama  (homonim). Sebagai contoh, departemen akuntansi mungkin mendefinisikan pelanggan sebagai perorangan atau organisasi yang telah melakukan pembelian, sedangkan departemen pemasaran mendefinisikan pelanggan sebagai perorangan atau organisasi yang memiliki kontak dengan perusahaan atau yang telah melakukan pembelian dari perusahaan atau dari perusahaan pesaing. Model E-R yang baik seharusnya dilengkapi dengan metadata supaya penafsirannya benar dan akurat.

Simbol pada setiap garis diagram E-R mencerminkan kardinalitas relasi (kardinalitas adalah jumlah suatu entitas yang berelasi dengan entitas lainnya). Kardinalitas ini akan menjadi penting saat dilakukan pemetaan (mapping) kedalam bentuk-bentuk relasi yang dapat diimplementasikan disistem basis data relasional. Berikut contoh pernyataan-pernayataan:

  1. Penyedia dapat menyediakan banyak item (kata dapat berarti ‘mungkin saja penyedia tidak menyediakan item apa pun’). Setiap item mungin disediakan oleh beberapa penyedia (frasa mungkin disediakan berarti ‘item disediakan paling sedikit satu penyuplai’). 
  2. Setiap item harus digunakan pada paling sedikit satu satu produk, dan mungkin digunakan pada beberapa produk. Kebalikannya, setiap produk harus menggunakan satu atau lebih aitem.
  3. Setiap pengepakan harus memuat satu atau lebih item. Sebuah item mungkin termuat dalam beberapa pengepakan.
  4. Pelanggan mungkin mengirim lebih dari satu pesanan. Bagaimanapun juga, setiap pesanan harus dikirim oleh satu (dan hanya satu) pelanggan. Tidak mungkin ada pesanan tanpa ada pelanggan yang memesannya.
  5. Pesanan harus meminta satu atau lebih produk. Suatu produk mungkin tidak diminta oleh satu pesanan pun, atau mungkin juga diminta pada satu atau lebih pesanan.

 sumber: Buku Perancangan dan Implementasi Sistem Basis Data oleh Adi Nugroho

Tinggalkan komentar

Filed under database

Kunci (Key) dalam Basis Data

Kunci (key) merupakan suatu atribut yang unik yang dapat digunakan untuk membedakan suatu entitas dengan entitas lainnya dalam suatu himpunan entitas. Secara konseptual, sebuah entitas individual memiliki batas yang jelas. Dari sudut pandang basis data, perbedaan diantara mereka harus dicerminkan lewat perbedaan dalam nilai atributnya. Misalnya, untuk entitas mahasiswa, atribut kuncinya adalah NIM-nya sebab tidak diperkenankan lebih dari satu mahasiswa memiliki nilai atribut NIM yang sama, walaupun mungkin mahasiswa-mahasiswa itu memiliki, katakanlah, nilai atribut nama yang sama (mungkin ada beberapa mahasiswi dengan nama yang sama). Lebih jauh, nilai-nilai atribut kunci dapat secara unik mengidentifikasi suatu entitas dengan entitas lainnya. Dengan kata lain, tidak ada lebih dari satu entitas yang diizinkan memiliki nilai-nilai yang sama untuk semua atribut.

Superkey adalah satu atau lebih atribut yang dimiliki suatu entitas, yang dapat digunakan untuk membedakannya dengan entitas lainnya. Sebagai contoh, NIM merupakan atribut kunci untuk entitas Mahasiswa. Demikian juga, gabungan atribut NIM dan nama dapat digunakan untuk membedakan seorang mahasiswa dengan mahasiswa lainnya. Dengan kata lain, tidak akan pernah ada seorang mahasiswa pun yang memiliki sekaligus nilai atribut NIM dan nama yang sama. Namun, tidak demikian dengan atribut nama, seorang mahasiswa mungkin memiliki nama yang tepat sama dengan nama mahasiswa lainnya sehingga nama secara mandiri bukanlah superkey untuk entitas mahasiswa. Dalam hal ini, dapat dikatakan bahwa NIM atau gabungan NIM dan nama adalah superkey untuk entitas mahasiswa.
Dalam basis data, konsep  superkey terkadang tidak memadai sebab mungkin saja superkey merupakan himpunan atribut yang sangat banyak, sedangkan, untuk alasan efisiensi, harus menggunakan sedikit mungkin atribut untuk membedakan satu entitas dengan entitas lainnyadalam suatu himpunan entitas tertentu. 
Atribut-atribut yang mungkin dapat digunakan sebagai kunci dengan batasan diatas dinamakan kunci calon (candidate key). Beberapa atribut mungkin saja menjadi kunci calon bersamaan. Misalnya, gabungan atribut nama, alamat, serta nomor telepon juga dapat digunakan untuk membedakan anggota-anggota dari himpunan entitas Mahasiswa. Oleh karena itu, dapat dilihat bahwa atribut NIM, kemudian gabungan atribut-atribut NIM dan nama, dan gabungan atribut-atribut nama, alamat, nomor telepon, merupakan kunci calon. Untuk alasan tertentu, terutama untuk alasan efisiensi yang disebutkan sebelumnya, analis dan perancang basis data pada umumnya memilih sejumlah atribut minimal yang dapat digunakan untuk basis pembedaan suatu entitas dengan entitas lainnya.
Kunci primer (primary key) dapat didefinisikan sebagai kunci calon yang dipilih oleh perancang basis data dalam pengimplementasian konsep pemodelan data konseptual di basis data. Tidak ada ketentuan tentang pemilihan kunci calon ini, tetapi, jika mempertimbangkan jumlah atribut minimal demi alasan efisiensi, untuk kasus entitas mahasiswa, pada umumnya setiap perancang basis data akan memilih NIM sebagai kunci primer. NIM memadai untuk digunakan sebagai kunci primer karena unik dan cukup ringkas untuk digunakan sebagai pembeda satu entitas dengan entitas lainnya dalam himpunan entitas mahasiswa.
 sumber: Buku Perancangan dan Implementasi Sistem Basis Data oleh Adi Nugroho

Tinggalkan komentar

Filed under database