Saat sedang melakukan design database membutuhkan pemahaman tentang fungsi bisnis yang Anda inginkan untuk menjadi model. Hal ini juga memerlukan pemahaman tentang konsep database dan fitur yang ingin Anda gunakan untuk mewakili fungsi-fungsi bisnis. Pastikan bahwa Anda secara akurat melakukan design database untuk model bisnis, karena bisa memakan waktu untuk secara signifikan mengubah design database setelah Anda menerapkannya. Sebuah database yang dirancang dengan baik mampu menghasilkan design database yang baik pula.
Langkah pertama dalam mendesign database adalah menciptakan sebuah rencana yang berfungsi baik sebagai panduan untuk digunakan saat mengimplementasikan database dan sebagai spesifikasi fungsional untuk database setelah di implementasikan. Kompleksitas dan detail dari design database ditentukan oleh kompleksitas dan ukuran dari aplikasi database dan juga populasi pengguna.
Sifat dan kompleksitas aplikasi database, serta proses perencanaan itu, dapat bervariasi secara signifikan. Sebuah database dapat relatif sederhana dan dirancang untuk digunakan oleh satu orang, atau dapat menjadi besar dan kompleks dan dirancang, misalnya, untuk menangani semua transaksi perbankan untuk ribuan klien. Dalam kasus pertama, design database mungkin sedikit lebih dari beberapa catatan di atas kertas awal. Dalam kasus terakhir, design database mungkin menghabiskan ratusan dokumen resmi dari panjang halaman yang berisi setiap detail yang mungkin tentang database.
Dalam perencanaan design database, terlepas dari ukuran dan kompleksitas, menggunakan langkah-langkah dasar berikut:
- Mengumpulkan informasi.- Mengidentifikasi objek.
- Model objek.
- Identifikasi jenis informasi untuk setiap objek.
- Mengidentifikasi hubungan antara objek.
* mengumpulkan Informasi untuk design database
Sebelum membuat database, Anda harus memiliki pemahaman yang baik tentang pekerjaan yang berkaitan dengan database yang diharapkan untuk bisa dilakukan terutama ketika melakukan design database. Jika database adalah untuk mengganti sistem informasi berbasis kertas atau dilakukan secara manual, sistem yang ada akan memberikan sebagian besar informasi yang Anda butuhkan. Anda harus mewawancarai semua orang yang terlibat dalam sistem untuk menentukan apa yang mereka lakukan dan apa yang mereka butuhkan dari database. Hal ini juga penting untuk mengidentifikasi apa yang mereka inginkan dan yang bisa dilakukan oleh sistem baru, dan juga untuk mengidentifikasi masalah, keterbatasan, dan hambatan dari sistem yang ada. Mengumpulkan salinan laporan pelanggan, daftar inventaris, laporan manajemen, dan dokumen lainnya yang merupakan bagian dari sistem yang ada, karena ini akan berguna untuk Anda dalam merancang database dan interface.
* Mengidentifikasi Objects
Selama proses mengumpulkan informasi, Anda harus mengidentifikasi objek kunci atau badan yang akan dikelola oleh database. Objek dapat menjadi hal yang nyata, seperti seseorang atau produk, atau dapat menjadi item yang lebih berwujud, seperti transaksi bisnis, departemen dalam suatu perusahaan, atau suatu periode penggajian. Ada umumnya obyek utama beberapa, dan setelah ini diidentifikasi, item terkait menjadi terlihat. Setiap item yang berbeda dalam database Anda harus memiliki tabel terkait.
Tujuan utama dalam database contoh AdventureWorks2008R2 yang disertakan dengan database SQL Server adalah mengenai sepeda. Benda-benda yang berhubungan dengan sepeda dalam bisnis perusahaan ini adalah karyawan yang memproduksi sepeda, vendor yang menjual komponen yang digunakan untuk memproduksi sepeda, pelanggan yang membelinya, dan transaksi penjualan yang dilakukan dengan pelanggan. Masing-masing benda adalah tabel dalam database.
Sebagai obyek dalam sistem diidentifikasi, Anda harus merekam mereka dengan cara yang merupakan sistem visual. Anda dapat menggunakan model database Anda sebagai referensi selama pelaksanaan database.
Untuk tujuan ini, pengembang database menggunakan alat yang mempunyai berbagai kompleksitas teknis dari pensil dan kertas awal untuk pengolah kata dan spreadsheet, dan bahkan untuk program perangkat lunak yang dibuat khusus untuk pekerjaan pemodelan data untuk desain basis data. Apapun alat yang Anda putuskan untuk menggunakannya, penting bahwa Anda tetap up to date.
* Mengidentifikasi Jenis Informasi untuk Tiap Object saat Design Database
Setelah objek utama dalam database telah diidentifikasi sebagai kandidat untuk tabel, langkah berikutnya adalah mengidentifikasi jenis-jenis informasi yang harus disimpan untuk setiap objek. Ini adalah kolom dalam tabel objek. Kolom dalam tabel database mengandung jenis umum beberapa informasi:
Kolom ini menyimpan potongan nyata dari informasi, seperti nama, ditentukan oleh sumber eksternal ke database.
kolom kategoris
Kolom ini mengklasifikasikan atau mengelompokkan data dan menyimpan pilihan terbatas data seperti benar / salah, menikah / lajang, dan VP / Direktur / Group Manager.
kolom identifier
Kolom ini menyediakan mekanisme untuk mengidentifikasi setiap item yang disimpan dalam tabel. Kolom ini sering memiliki ID atau nomor atas nama mereka, misalnya, employee_id, invoice_number, dan PUBLISHER_ID. Kolom identifier adalah komponen utama yang digunakan oleh kedua pengguna dan pengolahan basis data internal untuk mendapatkan akses ke baris data dalam tabel. Kadang-kadang objek memiliki bentuk nyata dari ID yang digunakan dalam tabel, misalnya, nomor jaminan sosial, tetapi dalam kebanyakan situasi Anda dapat menentukan tabel sehingga handal, ID buatan dapat dibuat untuk baris.
Kolom relasional atau referensial
Kolom ini membentuk hubungan antara informasi dalam satu table dan informasi terkait di table lain. Sebagai contoh, sebuah table yang melacak transaksi penjualan akan umumnya memiliki link ke table pelanggan sehingga informasi pelanggan yang lengkap dapat dikaitkan dengan transaksi penjualan.
* Mengidentifikasi Hubungan Antara Objek saat Melakukan Design Database
Salah satu kekuatan dari sebuah database relasional adalah kemampuan untuk berhubungan atau mengaitkan informasi tentang berbagai item dalam database. Jenis terisolasi informasi dapat disimpan secara terpisah, tapi mesin database dapat menggabungkan data bila diperlukan. Mengidentifikasi hubungan antara objek dalam proses desain membutuhkan melihat tabel, menentukan bagaimana mereka secara logis terkait, dan menambahkan kolom relasional yang membangun link dari satu table ke table yang lain.
Misalnya, perancang database AdventureWorks2008R2 telah menciptakan table untuk produk dan model produk dalam database. Tabel Production.Product berisi informasi untuk setiap produk yang mencakup kolom identifier bernama ProductID, kolom data untuk nama produk, harga produk, dan warna produk, ukuran, dan berat. Tabel berisi kolom kategoris, seperti Class, atau Gaya, yang memungkinkan produk dikelompokkan berdasarkan jenis ini. Setiap produk juga memiliki model produk, tetapi informasi yang disimpan di tabel lain. Oleh karena itu, tabel Production.Product memiliki kolom ProductModelID untuk menyimpan hanya ID dari model produk. Ketika baris data ditambahkan untuk suatu produk, nilai untuk ProductModelID harus ada dalam tabel Production.ProductModel.
Rerefensi: MSDN