Conceptual Database Design
Conceptual database design
adalah proses membangun suatu model berdasarkan informasi yang digunakan oleh
perusahaan atau organisasi, tanpa pertimbangan perencanaan fisik
(Connolly,2002,p419).
Langkah pertama : Membuat local conceptual data model
untuk setiap pandangan yang spesifik. Local conceptual data model
terdiri dari :
a.
Entitiy types
Menurut Connoly (2002,p331), entity
types adalah kumpulan objek yang mempunyai karakteristik yang sama, dimana
telah diidentifikasi oleh perusahaan.Menurut Silberschatz (2002,p27), entity
types adalah kumpulan dari entity yang memiliki tipe dan
karakteristik yang sama.
Entity dapat dibedakan menjadi dua yaitu :
· Strong
Entity : entity yang keberadaannya
tidak tergantung kepada entity lain (Fathansyah,1999,p94).
· Weak
entity : entity yang keberadaannya
tergantung dari entity lain (Fathansyah,1999,p94).
Contohnya adalah entity
mahasiswa dan orang tua. Dimana mahasiswa merupakan strong entity dan
orang tua merupakan weak entity karena keberadaan entity
orang tua tergantung dari entity mahasiswa.
b.
Relationship types
Menurut Connolly (2002,p334)
definisi dari relationship types adalah kumpulan antar entity
yang saling berhubungan dan mempunyai arti.
c.
Attribute dan attribute domains
Attribute adalah karakteristik dari suatu entity atau relasi
(Connolly,2002,p338). Setiap attribute diperbolehkan untuk memiliki
nilai yang disebut dengan domain. Attribute domains adalah
kumpulan dari nilai-nilai yang diperbolehkan untuk satu atau lebih attribute.
Ada beberapa jenis dalam attribute :
· Simple
attribute dan Composite attribute
Simple attribute adalah attribute yang terdiri dari komponen tunggal
dimana attribute tersebut tidak dapat dipisahkan lagi, sedangkan composite
attribute adalah attribute yang masih dapat dipisahkan menjadi
beberapa bagian. Contoh dari simple attribute adalah nama_barang
sedangkan untuk composite attribute adalah alamat pada entity
mahasiswa, karena dalam alamat bisa dibagi menjadi bagian entiti jalan, entiti
kode_pos dan entiti kota (Silberchatz,2002,p29).
· Single-valued
attribute dan Multi-valued attribute
Single-valued attribute adalah attribute yang memiliki satu nilai pada
setiap entity, sedangkan multi-valued attribute adalah attribute
yang mempunyai beberapa nilai pada setiap entity (Connolly,2002,p340).
Contoh dari single-valued attribute adalah Nim, nama_Mhs, tanggal_lahir,
dan lain-lain. Sedangkan untuk multi-valued attribute contohnya adalah
jam_pelajaran, hobi, dan lain-lain.
· Derived
attribute
Derived attribute merupakan attribute yang nilai-nilainya diperoleh
dari hasil perhitungan atau dapat diturunkan dari attribute lain yang
berhubungan (Silberschatz,2002,p30). Contohnya adalah attribute umur
pada entity mahasiswa dimana attribute tersebut diturunkan dari attribute
tanggal_lahir dan tanggal_hari_ini.
d.
Primary key dan alternate keys
Primary key adalah key yang telah menjadi candidate key
yang dipilih secara unik untuk mengidentifikasi suatu entity types. Candidate
key adalah kumpulan attribute minimal yang unik untuk
mengidentifikasikan suatu entity types (Connolly,2002,p340).
Alternate key adalah key yang digunakan sebagai alternatif dari key
yang telah didefinisikan (Fathansyah,1999,p104).
e.
Integrity constraints
Integrity constraints adalah batasan-batasan yang menentukan dalam rangka
melindungi basis data untuk menghindari terjadinya inconsistent.
(Connolly,2002,p457).
Pada tahap conceptual model, langkah-langkah yang
dilakukan adalah sebagai berikut :
a.
Mengidentifikasi entity types
Bertujuan untuk menentukan entity
types utama yang dibutuhkan. Menentukan entity dapat dilakukan
dengan memeriksa user’s requirement specification. Setelah terdefinisi, entity
diberikan nama yang tepat dan jelas seperti mahasiswa, dosen, mata_kuliah.
b.
Mengidentifikasikan relationship
types
Bertujuan untuk mengidentifikasi
suatu relationship yang penting yang ada antar entity yang telah
diidentifikasi. Nama dari suatu relationship menggunakan kata kerja
seperti mempelajari, memiliki mempunyai dan lain-lain.
c.
Mengidentifikasi dan menghubungkan attribute
dengan entity atau relationship types
Bertujuan untuk menghubungkan attribute
dengan entity atau relationship yang tepat. Attribute yang
dimiliki setiap entity atau relationship memiliki identitas atau
karakteristik yang sesuai dengan memperhatikan attribute berikut : simple/composite
attribute, single/multi-valued attribute dan derived attribute.
d.
Menentukan attribute domain
Bertujuan untuk menentukan attribute
domain pada conceptual data model. Contohnya yaitu menentukan nilai attribute
jenis_kelamin pada entity mahasiswa dangan ‘M’ atau ‘F’ atau nilai attribute
sks pada entity mata_kuliah dengan ‘1’, ’2’, ‘3’ dan ‘4’.
e.
Menentukan candidate key dan primary
key attributes
Bertujuan untuk mengidentifikasi candidate
key pada setiap entity dan memilih primary key jika ada lebih
dari satu candidate key. Pemilihan primary key didasari pada
panjang dari attribute dan keunikan key di masa datang.
f.
Mempertimbangkan penggunaan enhance
modeling concepts (pilihan)
Pada langkah ini bertujuan untuk
menentukan specialization, generalization, aggregation, composition.
Dimana masing-masing pendekatan dapat dilakukan sesuai dengan kebutuhan yang
ada.
Specialization dan generalization adalah proses dalam mengelompokan
beberapa entity dan menghasilkan entity yang baru. Beda dari
keduanya adalah cara prosesnya, dimana spesialisasi menggunakan proses top-down
dan generalisasi menggunakan proses bottom-up.
Aggregation menggambarkan sebuah entity types dengan sebuah relationship
types dimana suatu relasi hanya akan ada jika telah ada relationship
lainnya.
g.
Mengecek redundansi
Bertujuan untuk memeriksa conceptual
model untuk menghindari dari adanya informasi yang redundan. Yang dilakukan
pada langkah ini adalah :
· Memeriksa
kembali one-to-one relationship.
Setelah entity
diidentifikasikan maka kemungkinan ada dua entity yang mewakili satu
objek. Untuk itu dua entity tersebut harus di-merger bersama. Dan
jika primary key-nya berbeda maka harus dipilih salah satu dan lainnya
dijadikan alternate key.
· Menghilangkan
relasi yang redundansi.
Untuk menekan jumlah model data,
maka relationship data yang redundan harus dihilangkan.
h.
Memvalidasi conceptual model
dengan transaksi.
Bertujuan untuk menjamin bahwa conceptual
data model mendukung kebutuhan transaksi. Dengan menggunakan model yang
telah divalidasi tersebut, dapat digunakan untuk melaksanakan operasi secara
manual. Ada dua pendekatan yang mungkin untuk mejamin bahwa local conceptual
data model mendukung kebutuhan transaksi yaitu :
· Mendeskripsikan
transaksi
Memeriksa seluruh informasi (entities,
relationship, dan attribute) yang diperlukan pada setiap
transaksi yang disediakan oleh model dengan mendokumentasikan penggambaran dari
tiap kebutuhan transaksi.
· Mengunakan
transaksi pathways
Pendekatan kedua, untuk memvalidasi
data model dengan keperluan transaksi yang melibatkan diagram yang mewakili pathways
diambil dari tiap transaksi secara langsung yang terdapat pada E-R diagram
menggambarkan komponen-komponen dari entity dan relasi yang
masing-masing dilengkapi dengan attribute-attribute yang
merepresentasikan seluruh fakta dari real-world yang kita tinjau
(Fathansyah,1999,p79). Sedangkan menurut Silberschartz (2002,p42), E-R diagram
dapat menyatakan keseluruhan struktur logical dari basis data dengan
menggunakan bagan.
i.
Melihat kembali conceptual data
model dengan pengguna.
Bertujuan untuk melihat kembali conceptual
model dan memastikan bahwa data model tersebut sudah benar.