Untuk mengantisipasi dimulainya aliran berikutnya di kursus Database, kami menyiapkan bahan penulis kecil dengan tips penting untuk merancang database. Kami berharap materi ini bermanfaat bagi Anda.
Basis data ada di mana-mana: dari blog dan direktori sederhana hingga sistem informasi yang andal dan jejaring sosial besar. Tidak begitu penting, database yang sederhana atau kompleks, seberapa penting untuk mendesainnya dengan benar. Ketika basis dirancang tanpa pertimbangan dan tanpa pemahaman yang jelas tentang tujuan, itu tidak hanya tidak efektif, tetapi pekerjaan lebih lanjut dengan basis akan menjadi siksaan nyata, hutan yang tidak bisa dilewati bagi pengguna. Berikut adalah beberapa tip desain basis data untuk membantu Anda membuat produk yang berguna dan mudah digunakan.
1. Tentukan untuk apa tabel itu dan untuk apa strukturnya.

Saat ini, metode pengembangan seperti Scrum atau RAD (pengembangan aplikasi cepat) membantu tim TI mengembangkan database dengan cepat. Namun, dalam mengejar waktu, godaan sangat hebat untuk terjun langsung ke konstruksi pangkalan, samar-samar membayangkan apa tujuannya, apa hasil akhirnya seharusnya.
Seolah-olah tim ini fokus pada pekerjaan efisien dan berkecepatan tinggi, tetapi ini adalah fatamorgana. Semakin jauh dan lebih cepat Anda masuk lebih dalam ke proyek, semakin banyak waktu yang dibutuhkan untuk mengidentifikasi dan mengubah kesalahan di basis proyek.
Oleh karena itu, hal pertama yang harus diputuskan adalah menentukan tujuan untuk database Anda. Untuk jenis aplikasi apa database dikembangkan? Akankah pengguna hanya bekerja dengan catatan dan perlu memperhatikan transaksi atau dia lebih tertarik pada analisis data? Di mana pangkalan harus dikerahkan? Apakah dia akan melacak perilaku pelanggan atau hanya mengatur hubungan di antara mereka?
Semakin cepat tim desain menjawab pertanyaan-pertanyaan ini, semakin lembut, semakin lancar proses desain basis data.
2. Data apa yang akan dipilih untuk penyimpanan?

Rencanakan ke depan. Pikiran tentang apa yang akan dilakukan situs atau sistem di masa depan di mana basis data dirancang. Penting untuk melampaui persyaratan sederhana dari spesifikasi teknis. Tolong, jangan mulai berpikir tentang semua jenis data yang mungkin akan disimpan oleh pengguna. Lebih baik pikirkan apakah pengguna dapat memposting, mengunggah dokumen atau foto, atau bertukar pesan. Jika demikian, maka dalam database Anda perlu mengalokasikan ruang untuk mereka.
Bekerja dengan tim, departemen atau organisasi yang akan didukung basis proyek di masa depan. Terhubung dengan orang-orang di semua tingkatan, dari spesialis layanan pelanggan hingga kepala departemen. Jadi dengan bantuan umpan balik Anda mendapatkan ide yang jelas tentang persyaratan perusahaan.
Tidak dapat dihindari, kebutuhan pengguna bahkan dalam satu departemen akan bertentangan. Jika Anda mengalami hal ini, jangan takut untuk mengandalkan pengalaman Anda sendiri dan menemukan kompromi yang sesuai dengan semua pihak dan akan memenuhi tujuan akhir dari basis data. Pastikan: di masa depan, +100500 dalam karma dan segunung kue kering akan terbang kepada Anda.
3. Model data dengan hati-hati

Ada beberapa poin penting untuk dipertimbangkan saat memodelkan data. Seperti yang kami katakan sebelumnya, itu tergantung pada tujuan database yang metode untuk digunakan dalam simulasi. Jika kami merancang basis data untuk pemrosesan catatan operasional (OLTP), dengan kata lain, untuk membuat, mengedit, dan menghapusnya, maka kami menggunakan pemodelan transaksi. Jika database harus relasional, maka pemodelan multidimensi adalah yang terbaik.
Selama simulasi, model data konseptual (CDM), fisik (PDM), dan logis (LDM) dibangun.
Model konseptual menggambarkan entitas dan tipe data yang mereka sertakan, serta hubungan di antara mereka. Bagilah data Anda menjadi potongan-potongan logis - lebih mudah untuk digunakan.
Yang utama adalah ukuran, jangan berlebihan.Jika suatu entitas sangat sulit untuk diklasifikasikan dalam satu kata atau frasa, maka sekarang saatnya untuk menggunakan subtipe (entitas anak).
Jika suatu entitas menjalani hidupnya sendiri, memiliki atribut yang menggambarkan perilakunya dan penampilannya, serta hubungan dengan objek lain, maka Anda dapat dengan aman menggunakan tidak hanya subtipe, tetapi juga supertipe (entitas induk).
Jika Anda mengabaikan aturan ini, pengembang lain akan bingung dalam model Anda dan tidak akan sepenuhnya memahami data dan aturan, cara mengumpulkannya.
Model konseptual diimplementasikan menggunakan yang logis. Model-model ini seperti peta jalan untuk merancang basis data fisik. Dalam model logis, entitas data bisnis dibedakan, tipe data, status kunci aturan yang mengatur hubungan antara data ditentukan.
Kemudian model data logis dibandingkan dengan platform yang dipilih sebelumnya dari DBMS (sistem manajemen basis data) dan model Fisik diperoleh. Ini menjelaskan cara menyimpan data secara fisik.
4. Gunakan tipe data yang cocok

Menggunakan tipe data yang salah dapat menyebabkan data kurang akurat, kesulitan dalam menggabungkan tabel, menyinkronkan atribut, dan menggembungkan ukuran file.
Untuk menjamin integritas informasi, atribut harus hanya berisi tipe data yang dapat diterima. Jika usia dimasukkan dalam database, pastikan bahwa bilangan bulat dari maksimal 3 digit disimpan dalam kolom.
Buat minimum kolom kosong dengan nilai NULL. Jika Anda membuat semua kolom sebagai NULL, ini adalah kesalahan besar. Jika Anda memerlukan kolom kosong untuk menjalankan fungsi bisnis tertentu, ketika data tidak diketahui atau belum masuk akal, maka silakan membuat. Bagaimanapun, kita tidak dapat mengisi kolom "Tanggal kematian" atau "Tanggal pemberhentian" sebelumnya, kita bukan prediktor untuk mengarahkan jari ke langit :-).
Sebagian besar perangkat lunak pemodelan (ER / Studio, MySQL Workbench, SQL DBM, gliffy.com) data memungkinkan Anda untuk membuat prototipe area data. Ini menjamin tidak hanya tipe data yang benar, logika aplikasi dan kinerja yang baik, tetapi juga nilai yang diperlukan.
5. Lebih suka alami

Saat Anda memutuskan kolom mana di tabel untuk dipilih sebagai kunci, selalu perhatikan bidang mana yang dapat diedit pengguna. Jangan pernah memilih mereka sebagai kunci - ide yang buruk. Apa pun bisa terjadi, dan Anda harus menjamin keunikan.
Cara terbaik adalah menggunakan kunci alami, atau bisnis. Masuk akal, sehingga Anda menghindari duplikasi dalam database.
Jika hanya kunci bisnis yang tidak unik (nama, nama keluarga, posisi) dan diulang dalam baris yang berbeda dari tabel atau harus diubah, maka kunci yang dihasilkan harus ditetapkan buatan, kunci pengganti (kunci buatan).
6. Normalisasi dalam jumlah sedang

Untuk mengatur data secara efektif dalam database, Anda harus mengikuti serangkaian rekomendasi dan menormalkan database. Ada lima bentuk normal yang harus diikuti.
Menggunakan normalisasi, Anda menghindari redundansi dan memastikan integritas data yang digunakan dalam aplikasi atau di situs.
Seperti biasa, semuanya harus dalam moderasi, bahkan normalisasi. Jika database memiliki terlalu banyak tabel dengan kunci unik yang sama, maka Anda terbawa dan menormalkan database secara berlebihan. Normalisasi yang berlebihan berdampak negatif terhadap kinerja database.
7. Tes awal, tes lebih sering

Rencana pengujian dan pengujian yang tepat harus menjadi bagian dari desain basis data.
Yang terbaik adalah menguji database melalui Continuous Integration. Model skenario βSuatu hari dalam kehidupan basis dataβ dan periksa apakah semua kasus batas ditangani dan interaksi pengguna apa yang mungkin terjadi. Semakin cepat Anda menemukan bug, semakin banyak Anda menghemat waktu dan uang.
Ini hanya tujuh tips untuk membantu Anda merancang basis data kinerja dan efisiensi yang hebat. Jika Anda mengikuti mereka, Anda akan menghindari sebagian besar sakit kepala di masa depan. Tip-tip ini hanyalah puncak gunung es dalam pemodelan basis data. Ada sejumlah besar peretasan kehidupan. Yang mana yang Anda gunakan?