Reka bentuk pangkalan data. Amalan terbaik

Dalam jangkaan permulaan aliran seterusnya pada kadar "Pangkalan data" Kami telah menyediakan bahan pengarang kecil dengan petua penting untuk mereka bentuk pangkalan data. Kami berharap bahan ini berguna kepada anda.

Reka bentuk pangkalan data. Amalan terbaik

Pangkalan data ada di mana-mana: daripada blog dan direktori yang paling mudah kepada sistem maklumat yang boleh dipercayai dan rangkaian sosial yang besar. Sama ada pangkalan data itu ringkas atau kompleks tidaklah begitu penting kerana penting untuk mereka bentuknya dengan betul. Apabila pangkalan data direka bentuk tanpa berfikir dan tanpa pemahaman yang jelas tentang tujuan, ia bukan sahaja tidak berkesan, tetapi kerja selanjutnya dengan pangkalan data akan menjadi siksaan sebenar, hutan yang tidak dapat ditembusi untuk pengguna. Berikut ialah beberapa petua reka bentuk pangkalan data yang akan membantu anda mencipta produk yang berguna dan mudah digunakan.

1. Tentukan untuk apa jadual itu dan untuk apa strukturnya

Reka bentuk pangkalan data. Amalan terbaik

Hari ini, kaedah pembangunan seperti Scrum atau RAD (Rapid Application Development) membantu pasukan IT membangunkan pangkalan data dengan cepat. Walau bagaimanapun, dalam mengejar masa, godaan sangat hebat untuk menyelam terus ke dalam membina pangkalan, membayangkan dengan jelas apa matlamat itu sendiri, apakah keputusan akhir yang sepatutnya.
 
Seolah-olah pasukan itu memberi tumpuan kepada kerja yang cekap dan pantas, tetapi ini adalah fatamorgana. Lebih jauh dan lebih pantas anda menyelami kedalaman projek, lebih banyak masa yang diperlukan untuk mengenal pasti dan menukar ralat dalam reka bentuk pangkalan data.

Jadi perkara pertama yang anda perlu buat keputusan adalah untuk menentukan tujuan untuk pangkalan data anda. Apakah jenis aplikasi pangkalan data dibangunkan? Adakah pengguna hanya bekerja dengan rekod dan perlu memberi perhatian kepada urus niaga, atau adakah dia lebih berminat dengan analisis data? Di manakah pangkalan itu harus ditempatkan? Adakah ia akan menjejaki tingkah laku pelanggan atau hanya menguruskan perhubungan pelanggan? 

Lebih cepat pasukan reka bentuk menjawab soalan ini, lebih lancar proses reka bentuk pangkalan data.

2. Apakah data yang harus saya pilih untuk penyimpanan?

Reka bentuk pangkalan data. Amalan terbaik

Rancang terlebih dahulu. Pemikiran tentang apa yang tapak atau sistem yang pangkalan data sedang direka bentuk akan lakukan pada masa hadapan. Adalah penting untuk melampaui keperluan mudah spesifikasi teknikal. Cuma tolong jangan mula memikirkan semua jenis data yang mungkin akan disimpan oleh pengguna. Sebaliknya, fikirkan sama ada pengguna akan dapat menulis siaran, memuat naik dokumen atau foto atau bertukar-tukar mesej. Jika ini berlaku, maka anda perlu memperuntukkan ruang untuk mereka dalam pangkalan data.

Bekerjasama dengan pasukan, jabatan atau organisasi yang mana asas reka bentuk akan disokong pada masa hadapan. Berkomunikasi dengan orang di peringkat yang berbeza, daripada pakar perkhidmatan pelanggan kepada ketua jabatan. Dengan cara ini, dengan bantuan maklum balas, anda akan mendapat gambaran yang jelas tentang keperluan syarikat. 

Tidak dapat tidak, keperluan pengguna dalam jabatan yang sama akan bercanggah. Jika anda menghadapi ini, jangan takut untuk bergantung pada pengalaman anda sendiri dan cari kompromi yang sesuai dengan semua pihak dan memenuhi matlamat utama pangkalan data. Yakinlah: pada masa hadapan anda akan menerima +100500 dalam karma dan segunung kuki.

3. Model data dengan berhati-hati

Reka bentuk pangkalan data. Amalan terbaik

Terdapat beberapa perkara penting yang perlu diberi perhatian semasa memodelkan data. Seperti yang kami katakan sebelum ini, tujuan pangkalan data menentukan kaedah yang akan digunakan dalam pemodelan. Jika kami mereka bentuk pangkalan data untuk pemprosesan rekod dalam talian (OLTP), dengan kata lain untuk mencipta, mengedit dan memadam rekod, kami menggunakan pemodelan transaksi. Jika pangkalan data mestilah relasi, maka sebaiknya gunakan pemodelan multidimensi.

Semasa pemodelan, model data konseptual (CDM), fizikal (PDM) dan logik (LDM) dibina. 

Model konseptual menerangkan entiti dan jenis data yang disertakan, serta hubungan antara mereka. Bahagikan data anda kepada bahagian logik - ia menjadikan hidup lebih mudah.
Perkara utama adalah kesederhanaan, jangan keterlaluan.

Jika entiti sangat sukar untuk diklasifikasikan dalam satu perkataan atau frasa, maka sudah tiba masanya untuk menggunakan subjenis (entiti kanak-kanak).

Jika entiti menjalani kehidupannya sendiri, mempunyai atribut yang menggambarkan tingkah laku dan penampilannya, serta hubungan dengan objek lain, maka anda boleh menggunakan bukan sahaja subjenis, tetapi juga supertype (entiti induk) dengan selamat. 

Jika anda mengabaikan peraturan ini, pembangun lain akan menjadi keliru dalam model anda dan tidak akan memahami sepenuhnya data serta peraturan tentang cara mengumpulnya.

Model konseptual dilaksanakan menggunakan yang logik. Model-model ini adalah seperti peta jalan untuk reka bentuk pangkalan data fizikal. Dalam model logik, entiti data perniagaan dikenal pasti, jenis data ditentukan dan status kunci peraturan ditentukan yang mengawal perhubungan antara data.

Kemudian Model Data Logik dibandingkan dengan platform DBMS (sistem pengurusan pangkalan data) yang telah dipilih dan Model Fizikal diperoleh. Ia menerangkan cara data disimpan secara fizikal.

4. Gunakan jenis data yang betul

Reka bentuk pangkalan data. Amalan terbaik

Menggunakan jenis data yang salah boleh mengakibatkan data yang kurang tepat, kesukaran untuk menyertai jadual, kesukaran menyegerakkan atribut dan saiz fail yang mengembang.
Untuk memastikan integriti maklumat, atribut mesti mengandungi hanya jenis data yang boleh diterima olehnya. Jika umur dimasukkan ke dalam pangkalan data, pastikan lajur menyimpan integer maksimum 3 digit.

Buat minimum lajur kosong dengan nilai NULL. Jika anda membuat semua lajur sebagai NULL, ini adalah kesilapan besar. Jika anda memerlukan lajur kosong untuk melaksanakan fungsi perniagaan tertentu, apabila data itu tidak diketahui atau belum masuk akal, maka jangan ragu untuk menciptanya. Lagipun, kami tidak boleh mengisi lajur "Tarikh kematian" atau "Tarikh pemecatan" terlebih dahulu; kami bukan peramal yang menuding jari kami ke langit :-).

Kebanyakan perisian pemodelan (ER/Studio, MySQL Workbench, SQL DBM, gliffy.com) data membolehkan anda membuat prototaip wilayah data. Ini memastikan bukan sahaja jenis data yang betul, logik aplikasi dan prestasi yang baik, tetapi juga nilai itu diperlukan.

5. Pergi semula jadi

Reka bentuk pangkalan data. Amalan terbaik

Apabila memutuskan lajur dalam jadual untuk digunakan sebagai kunci, sentiasa pertimbangkan medan yang boleh diedit oleh pengguna. Jangan sekali-kali memilih mereka sebagai kunci - idea yang tidak baik. Apa-apa sahaja boleh berlaku, tetapi anda mesti memastikan ia unik.

Adalah lebih baik untuk menggunakan kunci semula jadi, atau perniagaan. Ia mempunyai makna semantik, jadi anda akan mengelakkan pertindihan dalam pangkalan data. 

Melainkan kunci perniagaan adalah unik (nama pertama, nama keluarga, kedudukan) dan diulang dalam baris jadual yang berbeza atau ia mesti berubah, maka kunci buatan yang dijana hendaklah ditetapkan sebagai kunci utama.

6. Normalkan secara sederhana

Reka bentuk pangkalan data. Amalan terbaik

Untuk menyusun data dalam pangkalan data dengan berkesan, anda perlu mengikuti satu set garis panduan dan menormalkan pangkalan data. Terdapat lima bentuk biasa yang perlu diikuti.
Dengan normalisasi, anda mengelakkan lebihan dan memastikan integriti data yang digunakan dalam aplikasi atau tapak anda.

Seperti biasa, segala-galanya haruslah sederhana, malah normalisasi. Jika terdapat terlalu banyak jadual dalam pangkalan data dengan kunci unik yang sama, maka anda telah terbawa-bawa dan terlalu menormalkan pangkalan data. Normalisasi yang berlebihan menjejaskan prestasi pangkalan data secara negatif.

7. Uji awal, uji kerap

Reka bentuk pangkalan data. Amalan terbaik

Pelan ujian dan ujian yang betul harus menjadi sebahagian daripada reka bentuk pangkalan data.

Cara terbaik untuk menguji pangkalan data anda ialah melalui Integrasi Berterusan. Simulasikan senario "hari dalam kehidupan pangkalan data" dan semak sama ada semua kes tepi dikendalikan dan kemungkinan interaksi pengguna. Lebih cepat anda menemui pepijat, lebih banyak anda akan menjimatkan masa dan wang.

Ini hanyalah tujuh petua yang boleh anda gunakan untuk mereka bentuk pangkalan data produktiviti dan kecekapan yang hebat. Jika anda mengikutinya, anda akan mengelakkan kebanyakan sakit kepala pada masa hadapan. Petua ini hanyalah puncak gunung ais dalam pemodelan pangkalan data. Terdapat sejumlah besar penggodaman hayat. Yang manakah anda gunakan?

Sumber: www.habr.com

Tambah komen