Buat para Database designer atau Database Administrator (DBA) mendesain database adalah hal yang sudah biasa dilakukan, namun bagaimana buat kita-kita yang baru saja mempelajari database, atau belum pernah sama sekali mendesain database?
Maka disini saya ingin sharing bagaimana langkah-langkah yang baik dan benar untuk mendesain sebuah database:
- Analisis Persyaratan: Langkah pertama dalam mendesain sebuah aplikasi database adalah memahami dan mengetahui data yang harus disimpan di dalam database, aplikasi apa yang harus dibangun diatasnya, dan jenis operasi apa yang lebih banyak digunakan, dan subjek untuk melakukan persyaratan yang ada. Dengan kata lain, kita harus tahu apa yang diinginkan pengguna database tersebut. Biasanya ini adalah sebuah proses informal yang melibatkan partisipasi kelompok pengguna, studi tentang lingkungan pegoprasian saat ini dan bagaimana perkiraan perubahan lingkungan tersebut, analisis dokumen yang ada dalam suatu aplikasi yang diharapkan akan diganti atau dilengkapi oleh database, dan seterusnya. Banyak metodologi yang diusulkan untuk menyusun dan menampilkan informasi yang dikumpulkan pada langkah tersebut. Beberapa alat otomatis pun telah dikembangkan untuk mendukung proses ini.
- Desain Database Konseptual: Informasi dikumpulkan pada saat analisis persyaratan digunakan untuk mengembangkan deskripsi data tingkat tinggi yang harus disimpan dalam database, bersama dengan batasan yang telah diketahui untuk menetapkan penyimpanan data tersebut. Langkah ini sering dilakukan dengan menggunkan model ER. Model ER adalah salah satu dari model data tingkat tinggi, atau semantik, yang digunakan dalam desain database. Tujuannya adalah menciptakan gambaran sederhana tentang data yang mirip dengan pemikiran pengguna dan pengembang mengenai data tersebut (orang dan proses yang dinyatakan dalam data tersebut). Hal tersebut menfasilitasi diskusi di antara orang-orang yang terlibat dalam proses desain, bahkan mereka yang tidak mempunyai latar belakang teknis. Pada saat yang sama, desain awal harus akurat untuk membantu ketapatan translasi ke dalam sebuah model data yang didukung oleh sistem database komersial (yang dalam prakteknya berarti model relasional).
- Desain Database Logika: Kita harus memilih sebuah DBMS untuk mengimplementasikan desain database kita, dan mengubah konsep desain database menjadi sebuah skema database dalam model data dari DBMS terpilih. Kitah hanya akan memperhatikan DBMS relasional, dan dengan demikian tugas desain logika adalah mengubah skema ER menjadi skema database relasional.
- Perbaikan Skema: Langkah keempat dalam desain dataase adalah analisis sekumpulan relasi dalam skema database relasional untuk mengidentifikasi permasalahan yang muncul, dan memperbaikinya. Berbeda dengan alaisis persyaratan dan langkah-langkah desain konseptual, yang secara esensial bersifat subjektif, perbaikan skema dapat dipandu oleh beberapa teori yang kuat dan bagus. Langkah keempat ini, para akademis IT lebih sering disebut dengan Normalisasi.
- Desain Database Fisik: pada langkah ini, kita juga mempertimbagkan beban kerja umum yang diharapkan dapat didukung oleh datagbase kita dan memperbaiki deswain database di masa mendatang untuk memastikan terpenuhinya kriteria performa yang diinginkan. Langkah ini hanya mencakup pembuatan indeks pada beberapa tabe dan mengelompokkan beberapa tabel, atau bahkan melibatkan desain ulang yang substansial terhadap beberapa bagian skema database yang didapat dari langkah pertama desain database.
- Desain Aplikasi dan Keamanan: Semua proyek perangkat lunak yang melibatkan sebuah DBMS harus mempertimbangkan aspek aplikasi yang berada di luar database itu sendiri. Metodologi desain seperti UML mencoba menekankan desain perangkat lunak dan siklus pengembangan yang lengkap. Secara singkat, kita harus bisa mengidentifikasi entitas (contohnya pengguna, grup-grup pengguna, dan bagian-bagian lain) dan proses-proses yang terlibat dalam aplikasi. Kita harus menggambarkan peran setiap entitas dalam setiap proses yang akan direfleksikan pada beberapa tugas aplikasi, sebagai bagian dari aliran kerja lengkap untuk tugas tersebut. Untuk tiap peran, kita harus bisa mengidentifikasi bagian database yang harus bisa diakses dan yang tidak bisa diakses, dan kitah harus bisa menganmbil langkah untuk memastikan bahwa aturan akses terseut dilakukan. DBMS memberikan beberapa mekanisme untuk membantu langkah tersebut.
Demikianlah langkah-langkah desain database yang harus kita lakukan jika kita ingin membangun sebuah database yang baik dan benar. Secara realistis, meskipun kita mulai dari proses 6 langkah diatas, sebuah desain database yang lengkap mungkin akan memerlukan sebuah fase tuning (penyesuaian) sesudah itu sampai desain tersebut memuaskan.
DIAGRAM HUBUNGAN-ENTITAS ER (ENTITY-RELATIONSHIP)
× Diagram hubungan-entitas (entity-relationship) adalah suatu teknik grafis yang menggambarkan skema data base. Digaram ini disebut sebagai diagram E-R karena diagram tersebut menunjukkan berbagai entitas yang dimodelkan, serta hubungan antar entitas tersebut.
× MODEL DATA REA secara khusus dipergunakan dalam desain dtabase SIA sebagai alat pembuatan model konseptual yang fokus pada aspek semantik bisnis yang mendasari aktivitas rantai nilai suatu organisasi
× Model data REA mengklasifikasikan ke dalam tiga kategori, yaitu : (berikan contoh)
1. sumber daya yang didapat dan dipergunakan organisasi (Resource)
conth : kas dan persediaan, perlengkapan, gudang pabrik dsb
2. Kegiatan atau aktivitas bisnis yang dilakukan organisasi (Event)
Contoh : sales events, taking customer orders
3. Pelaku yang terlibat dalam kegiatan tersebut (agent)
Conth : pegawai (staf penjualan dan kasir), pelanggan
× Membangun diagram REA untuk siklus transaksi tertentu teriri dari empat langkah : (berikan contoh untuk macam2 siklus)
1. Identifikasi pasangan kegiatan pertukaran ekonomi yang mewakili hubungan kualitas dasar memberi-untuk-menerima, dalam siklus tersebut
Penjelasan :
• Pertukaran ekonomi dasar dalam siklus pendapatan melibatkan penjualan barang dagangan atau pelayanan, serta serangkaian penerimaan kas sebagai pembayaran dalam penjualan tersebut.
• Diagram REA untuk siklus pendapatan S&S dengan membuat entitas kegiatan penjualan dan penerimaan kas dalam bentuk persegi panjang, dan hubungan dualitas ekonomi antara mereka, dalam bentuk wajik
2. Identifikasi sumber daya yang dipengaruhi oleh setiap kegiatan pertukaran ekonomi dan para pelaku yang terlibat dalm kegiatan tersebut
Penjelasan :
• Ketika kegiatan yang menjadi pusat perhatian telah ditentukan, sumber daya yang dipengaruhi oleh kegiatan tersebut perlu diidentifikasi.
• Kegiatan penjualan dapat diterjemahkan menjadi pemberian persediaan kepada pelanggan.
• Kegiatan penerimaan kas dapat diterjemahkan sebagai menerima kas dari pelanggan.
• Setelah menentukan sumber daya yang dipengaruhi oleh setiap kegiatan, langkah selanjutnya yang perlu dilakukan adalah mengidentifikasi pelaku yang terlibat dalam kegiatan-kegiatan tersebut.
• Paling tidak selalu terdapat satu pelaku internal (pegawai) dan, di sebagian besar kondisi, seorang pelaku eksternal (pelanggan/pemasok) yang terlibat dalam setiap kegiatan.
3. Analisis setiap kegiatan pertukaran ekonomi utnuk menetapkan apakah kegiatan tersebut harus dipecah menjadi suatu kombinasi dari satu atau lebih kegiatan komitmen dan kegiatan petukaran ekonomi
Penjelasan :
• Langkah ketiga dalam menggambar diagram REA adalah menganalisis kegiatan pertukaran ekonomi untuk menetapkan apakah kegiatan tersebut dapat dipecah menjadi sebuah kombinasi dari satu atau lebih kegiatan komitmen dan pertukaran.
• Contoh: Kegiatan penjualan dapat dipergunakan untuk mewakili baik penjualan dengan pengiriman maupun yang terjadi di toko. economic exchange event
4. Tetapkan kardinalitas setiap hubungan
Penjelasan :
• Kardinalitas menunjukkan bagaimana perumpamaan dalam satu entitas dapat dihubungkan ke perumpamaan tertentu dalam entitas lainnya.
• Kardinalitas sering diungkapkan sebagai pasangan nomor di setiap entitas.
• Nomor pertama adalah kardinalitas minimum, dan nomor kedua adalah kardinalitas maksimum.
• Kardinalitas maksimem dari sebuah hubungan menunjukkan apakah setiap baris dalam entitas dapat dihubungkan lebih dari satu baris dalam entitas lainnya on the other side of the relationship.
• Kardinalitas maksimem dapat baik 1 atau N.
• Kardinalitas minimem 1 artinya bahwa setiap baris dalam tabel itu dapat dihubungkan ke hanya satu baris dalam tabel lainnya.
• Kardinal maksimem N artinya bahwa setiap baris dalam tabel itu bisa dihubungkan lebih dari satu baris dalam tabel lainnya.
× MODEL DATA REA secara khusus dipergunakan dalam desain dtabase SIA sebagai alat pembuatan model konseptual yang fokus pada aspek semantik bisnis yang mendasari aktivitas rantai nilai suatu organisasi
× Model data REA mengklasifikasikan ke dalam tiga kategori, yaitu : (berikan contoh)
1. sumber daya yang didapat dan dipergunakan organisasi (Resource)
conth : kas dan persediaan, perlengkapan, gudang pabrik dsb
2. Kegiatan atau aktivitas bisnis yang dilakukan organisasi (Event)
Contoh : sales events, taking customer orders
3. Pelaku yang terlibat dalam kegiatan tersebut (agent)
Conth : pegawai (staf penjualan dan kasir), pelanggan
× Membangun diagram REA untuk siklus transaksi tertentu teriri dari empat langkah : (berikan contoh untuk macam2 siklus)
1. Identifikasi pasangan kegiatan pertukaran ekonomi yang mewakili hubungan kualitas dasar memberi-untuk-menerima, dalam siklus tersebut
Penjelasan :
• Pertukaran ekonomi dasar dalam siklus pendapatan melibatkan penjualan barang dagangan atau pelayanan, serta serangkaian penerimaan kas sebagai pembayaran dalam penjualan tersebut.
• Diagram REA untuk siklus pendapatan S&S dengan membuat entitas kegiatan penjualan dan penerimaan kas dalam bentuk persegi panjang, dan hubungan dualitas ekonomi antara mereka, dalam bentuk wajik
2. Identifikasi sumber daya yang dipengaruhi oleh setiap kegiatan pertukaran ekonomi dan para pelaku yang terlibat dalm kegiatan tersebut
Penjelasan :
• Ketika kegiatan yang menjadi pusat perhatian telah ditentukan, sumber daya yang dipengaruhi oleh kegiatan tersebut perlu diidentifikasi.
• Kegiatan penjualan dapat diterjemahkan menjadi pemberian persediaan kepada pelanggan.
• Kegiatan penerimaan kas dapat diterjemahkan sebagai menerima kas dari pelanggan.
• Setelah menentukan sumber daya yang dipengaruhi oleh setiap kegiatan, langkah selanjutnya yang perlu dilakukan adalah mengidentifikasi pelaku yang terlibat dalam kegiatan-kegiatan tersebut.
• Paling tidak selalu terdapat satu pelaku internal (pegawai) dan, di sebagian besar kondisi, seorang pelaku eksternal (pelanggan/pemasok) yang terlibat dalam setiap kegiatan.
3. Analisis setiap kegiatan pertukaran ekonomi utnuk menetapkan apakah kegiatan tersebut harus dipecah menjadi suatu kombinasi dari satu atau lebih kegiatan komitmen dan kegiatan petukaran ekonomi
Penjelasan :
• Langkah ketiga dalam menggambar diagram REA adalah menganalisis kegiatan pertukaran ekonomi untuk menetapkan apakah kegiatan tersebut dapat dipecah menjadi sebuah kombinasi dari satu atau lebih kegiatan komitmen dan pertukaran.
• Contoh: Kegiatan penjualan dapat dipergunakan untuk mewakili baik penjualan dengan pengiriman maupun yang terjadi di toko. economic exchange event
4. Tetapkan kardinalitas setiap hubungan
Penjelasan :
• Kardinalitas menunjukkan bagaimana perumpamaan dalam satu entitas dapat dihubungkan ke perumpamaan tertentu dalam entitas lainnya.
• Kardinalitas sering diungkapkan sebagai pasangan nomor di setiap entitas.
• Nomor pertama adalah kardinalitas minimum, dan nomor kedua adalah kardinalitas maksimum.
• Kardinalitas maksimem dari sebuah hubungan menunjukkan apakah setiap baris dalam entitas dapat dihubungkan lebih dari satu baris dalam entitas lainnya on the other side of the relationship.
• Kardinalitas maksimem dapat baik 1 atau N.
• Kardinalitas minimem 1 artinya bahwa setiap baris dalam tabel itu dapat dihubungkan ke hanya satu baris dalam tabel lainnya.
• Kardinal maksimem N artinya bahwa setiap baris dalam tabel itu bisa dihubungkan lebih dari satu baris dalam tabel lainnya.
Model data relation
Model data relasional adalah model data yang diciptakan berdasarkan teori-relasional seperti relational algebra, dan relational calculus. Salah seorang pencetus awal dari basis data relasional adalah E.F.Codd yang juga telah menciptakan serangkaian operasi matematika relasional terhadap model data relasional.
Pada prinsipnya model data relasional dapat di-representasikan dalam bentuk table (tabel) data, dimana:
satu tabel mewakili satu “domain” data atau entity, bila direkam merupakan satu file yang hanya memiliki satu tipe record saja, setiap record adalah baris
setiap record terdiri atas beberapa field (atribut) atau tuple, atau kolom
jumlah tuple / field pada setiap record sama
setiap record memiliki atribut kunci utama (primary key) yang unik dan dapat dipakai untuk mengenali satu record.
Pada prinsipnya model data relasional dapat di-representasikan dalam bentuk table (tabel) data, dimana:
satu tabel mewakili satu “domain” data atau entity, bila direkam merupakan satu file yang hanya memiliki satu tipe record saja, setiap record adalah baris
setiap record terdiri atas beberapa field (atribut) atau tuple, atau kolom
jumlah tuple / field pada setiap record sama
setiap record memiliki atribut kunci utama (primary key) yang unik dan dapat dipakai untuk mengenali satu record.
satu kasus diagram ER
DIAGRAM Relasi Entitas (ERD)
Model data Entity-Relationship(E-R) dibangun berdasarkan persepsi dari dunia nyata yang mengandung himpunan dari objek-objek yang disebut entity dan hubungan antara objek-objek tersebut. Setiap objek bersifat unik. Hal ini tampak dari atribut-atribut yang dimilikinya.
Contoh : rekening mempunyai atribut Nomor dan Jumlah.
Contoh untuk relasi : Hubungan antara beberapa entitas seperti PELREK merupakan relasi yang menghubungkan pelanggan dengan setiap rekening yang dimilikinya.
Struktur logik dari sebuah database secara grafik digambarkan sebagai berikut, yang terdiri dari beberapa komponen :
- Persegi panjang mewakili himpunan entitas.
- Ellips mewakili atribut.
- Jajaran genjang mewakili relasi antar entitas.
- Garis penghubung antara entitas dengan relasi, maupun antara relasi dengan himpunan atributnya.
-Satu kasus Diagram REA
DIAGRAM Relasi Entitas (ERD)
Model data Entity-Relationship(E-R) dibangun berdasarkan persepsi dari dunia nyata yang mengandung himpunan dari objek-objek yang disebut entity dan hubungan antara objek-objek tersebut. Setiap objek bersifat unik. Hal ini tampak dari atribut-atribut yang dimilikinya.
Contoh : rekening mempunyai atribut Nomor dan Jumlah.
Contoh untuk relasi : Hubungan antara beberapa entitas seperti PELREK merupakan relasi yang menghubungkan pelanggan dengan setiap rekening yang dimilikinya.
Struktur logik dari sebuah database secara grafik digambarkan sebagai berikut, yang terdiri dari beberapa komponen :
- Persegi panjang mewakili himpunan entitas.
- Ellips mewakili atribut.
- Jajaran genjang mewakili relasi antar entitas.
- Garis penghubung antara entitas dengan relasi, maupun antara relasi dengan himpunan atributnya.
-Satu kasus Diagram REA
sumber: