Desain database lebih dari sekadar menggambar garis dan kotak. Dalam artikel ini, saya merefleksikan proses pemodelan data dengan penekanan pada praktik terbaik, serta cara menggunakan alat untuk mengimplementasikan praktik terbaik tersebut untuk membuat desain basis data yang baik.
Desain basis data adalah proses menghasilkan model basis data yang terperinci. Awal dari pemodelan database melibatkan pemahaman tentang area bisnis dan fungsionalitas yang sedang dikembangkan.
Jika Anda sedikit tidak yakin tentang langkah-langkah yang terlibat dalam proses desain database, saya akan merujuk Anda ke deskripsi langkah-langkah desain database ini.
Mulai Menjadi Model:Bicaralah dengan Bisnis
Ini adalah prinsip utama dalam teknologi informasi. Kami memecahkan masalah bisnis dari sisi data sehingga data yang dibutuhkan tersedia. Kita perlu berbicara dengan para pebisnis untuk memahami kebutuhan mereka.
Kita harus mengajukan pertanyaan seperti:
- “Apa domainnya?”
- “Apa saja tantangan dalam domain ini?”
- “Masalah apa yang harus dipecahkan?”
- “Informasi apa yang perlu kami pegang?”
Dengan berbicara dengan bisnis, kita dapat mempertimbangkan trade-off yang mungkin mempengaruhi model database. Kami juga meletakkan dasar untuk pemodelan.
Mari kita gunakan contoh konkret. Ambil aplikasi akuntansi untuk sebuah perusahaan:Anda perlu membuat model pelanggan, pemasok, faktur, pembayaran, rekening, saldo, dll. Anda perlu mempelajari konsep-konsep ini dan tentang akuntansi. Anda hanya dapat melakukannya dengan berbicara kepada para pebisnis.
Menerapkan Konsep ke Dalam Urutan
Pekerjaan awal dengan bisnis ini akan membawa Anda ke model "konsep" apa yang harus disimpan dalam database (baca penjelasan tentang berbagai tingkat model ini). Dari konsep apa yang perlu kita simpan dalam database, yaitu model konseptual kita, kita pindah ke yang logis. Model logis mendokumentasikan konsep dan aturan bisnis yang menjadi dasar lapisan detail (Anda mungkin tertarik untuk membaca diskusi ini tentang apakah pemodelan data logis sudah usang).
Jika Anda tidak yakin tentang berbagai jenis model data, lihat artikel kami tentang cara menerapkan model data konseptual, logis, dan fisik dengan Vertabelo.
Model data logis menambahkan lebih banyak informasi ke konsep yang telah kami dokumentasikan. Ini menjelaskan bagaimana data terstruktur dan bagaimana entitas terkait satu sama lain. Selain itu, ini mencakup informasi tentang jenis data yang kami kelola.
Di Vertabelo, kita dapat membuat model data logis melalui diagram hubungan entitas logis (ERD). Periksa detail tentang cara melakukan pemodelan data logis dengan Vertabelo.
Berikut adalah model data logis yang sederhana, namun belum lengkap, dari pelanggan, pemasok, faktur, pembayaran, dan akun.
Satu keuntungan lain yang saya temukan dari bekerja dengan Vertabelo adalah saya tidak perlu terlalu khawatir tentang notasi yang tepat. Alat pemodelan memungkinkan Anda untuk khawatir tentang desain dan bukan tentang spesifik notasi dan simbol diagram hubungan entitas (ERD), yang, jelas, harus menjadi perhatian Anda yang paling kecil selama proses desain database.
Ayo Berolahraga
Untuk benar-benar bekerja dengan database, kita perlu beralih dari model logis ke model fisik. Alat Vertabelo memungkinkan kita untuk menghasilkan model data fisik dari yang logis dengan mudah. Anda terlebih dahulu membuat model data logis, lalu Anda dapat "otomatissecara ajaib " buat model fisik dengan memilih model logis dan klik "Buat model data fisik" (lihat panduan mendetail ini untuk langkah-langkah yang tepat).
Jelas, model data fisik yang dihasilkan akan mirip dengan model logis; namun, tipe data logis akan diterjemahkan ke dalam tipe data yang diizinkan untuk sistem manajemen basis data tertentu (DBMS) yang Anda buat model fisiknya. Model fisik juga akan menunjukkan atribut mana yang merupakan kunci asing antar tabel. Anda mungkin juga ingin melakukan pemodelan tambahan yang terkait dengan aspek fisik database – misalnya, indeks dan tampilan.
Selain itu, dimungkinkan untuk membuat model data fisik secara langsung; Anda tidak harus membuat yang logis terlebih dahulu. Langsung ke model fisik akan masuk akal untuk aktivitas pemodelan yang lebih kecil dan lebih terarah, di mana domain bisnis didefinisikan dengan lebih baik. Proses pemodelan basis data fisik sangat mudah dan seharusnya tidak menghadirkan terlalu banyak tantangan. Memiliki model data logis akan terbukti berguna untuk proyek yang lebih besar, tetapi memiliki setidaknya model fisik lebih baik daripada tidak memiliki sama sekali.
Evolusi Desain Database Anda
Pengembang umumnya berpikir bahwa model database harus berkisar pada kode yang sebenarnya, sementara pemodel data berpikir bahwa kode harus dibuat berdasarkan model data yang relatif statis. Pemodelan data saat ini harus kolaboratif . Kode dan model data saling mempengaruhi satu sama lain.
Oleh karena itu, diperlukan suatu alat yang mendukung proses dan pemodelan desain database kolaboratif. Selain bekerja dengan bisnis untuk membuat desain konseptual, pemodel data perlu berkolaborasi selama siklus pengembangan untuk memperbarui model data logis dan fisik sesuai kebutuhan. Pemodel dan pengembang harus menyesuaikan model hingga benar-benar mendukung kebutuhan bisnis dan non-fungsional sistem.
Jelas, perubahan dapat menyebabkan kesalahan. Sekali lagi, memiliki alat dapat membantu; alat yang terus-menerus memvalidasi model data Anda sangat berharga. Vertabelo memiliki validasi online, langsung, dan bawaan untuk model data logis dan fisik sehingga masalah terdeteksi selama pemodelan, bukan selama implementasi. Dan kesalahan tetap terlihat untuk semua orang yang berkolaborasi di dalamnya. Anda juga dapat menyesuaikan pengaturan validasi sesuai kebutuhan. Berikut adalah contoh model data saya yang tidak lengkap dengan beberapa kesalahan dan peringatan.
Kembali ke contoh akuntansi, Anda mungkin menemukan selama pengembangan bahwa tidak cukup untuk memodelkan mata uang tunggal seperti euro atau dolar untuk faktur dan pembayaran. Sebaliknya, Anda perlu menyimpan jumlah dengan mata uang masing-masing dan mengubahnya menjadi mata uang "dasar" di mana pembukuan perusahaan diadakan. Anda mungkin juga memerlukan nilai tukar mata uang dan informasi historis dari nilai tukar yang digunakan untuk konversi mata uang di masa lalu.
Di sinilah alat pemodelan basis data kolaboratif seperti Vertabelo benar-benar membuktikan nilainya. Anda dapat menemukan informasi lebih lanjut tentang menggunakan Vertabelo untuk pemodelan kolaboratif. Anda cukup mengeklik dan membagikan model Anda dengan anggota tim Anda.
Fisik ke Implementasi
Setelah Anda memiliki versi pertama dari model fisik, Anda mungkin akan bersemangat untuk mulai bekerja dengan database yang sebenarnya. Untuk melakukan itu, Vertabelo akan membuat skrip SQL DDL (Data Definition Language) untuk membuat database. Saya tidak akan menulis semua detailnya di sini, karena Anda dapat menemukannya di artikel basis pengetahuan online cara membuat skrip SQL membuat database.
Biarkan saya memberi tahu Anda dari pengalaman – ini adalah fitur yang disambut baik. Anda tidak perlu berurusan dengan keanehan sintaks SQL DDL database yang berbeda, dan Anda dapat fokus pada desain Anda .
Versi
Sekarang, seperti yang saya tulis di atas, model Anda akan berkembang, apakah itu selama desain database, selama pengembangan perangkat lunak, atau setelahnya selama penggunaan database Anda yang sebenarnya. Ada dua fitur hebat Vertabelo yang saya ingin Anda ketahui.
Pertama, Vertabelo menyertakan manajemen versi. Anda dapat melacak modifikasi dan mengelola versi model data, sehingga mudah untuk "mengembalikan waktu" dan mengembalikan ke versi sebelumnya jika diperlukan. Jika Anda disiplin, Anda dapat menandai versi yang berbeda dengan nama yang tepat, apakah itu draf atau rilis database yang sebenarnya.
Fitur lain, yang telah saya impikan selama bertahun-tahun selama pemodelan basis data saya, adalah kemampuan alat Vertabelo untuk secara otomatis buat skrip migrasi antar versi model data Anda. Saya telah kehilangan hitungan berapa kali saya harus menulis dan mengoreksi skrip migrasi secara manual berulang kali. Berikut adalah contoh pembuatan skrip migrasi antara dua versi database untuk survei online.
Sungguh suatu keuntungan bagi pemodel data untuk memiliki alat yang secara efisien mengelola versi dan mengetahui dampak perubahan antar versi!
Model Besar
Pertama, izinkan saya jujur. Saya tidak selalu bekerja dengan model besar, tetapi terkadang saya harus membuatnya. Di sini, sekali lagi, Vertabelo menawarkan solusi untuk mengatur model kami.
Kami dapat mengelompokkan tabel secara visual dengan bidang subjek; jika Anda ingin melihat cara melakukannya, Anda juga dapat menonton video tentang mengelola model data besar di Vertabelo.
Anda juga dapat menggunakan teknik ini saat melakukan rekayasa balik dari skrip SQL DDL menjadi model data.
Memulai Desain Basis Data
Jika Anda mencari beberapa praktik terbaik desain database, saya sarankan Anda melihat artikel ini. Untuk tips untuk desain database yang lebih baik, Anda tidak perlu melihat lebih jauh dari artikel ini. Dan lihat ini untuk saran tentang cara mulai menggunakan Vertabelo untuk desain database Anda.