Desain database. laku paling apik

Ing antisipasi wiwitan aliran sabanjurΓ© ing tingkat "Database" Kita wis nyiapake materi penulis cilik karo tips penting kanggo ngrancang database. Muga-muga materi iki migunani kanggo sampeyan.

Desain database. laku paling apik

Basis data ana ing endi wae: saka blog lan direktori sing paling gampang nganti sistem informasi sing bisa dipercaya lan jaringan sosial sing gedhe. Apa database prasaja utawa rumit ora penting banget amarga penting kanggo ngrancang kanthi bener. Nalika database dirancang thoughtlessly lan tanpa pangerten cetha saka tujuan, iku ora mung ora efektif, nanging karya luwih karo database bakal siksa nyata, alas impenetrable kanggo pangguna. Ing ngisor iki sawetara tips desain database sing bakal mbantu sampeyan nggawe produk sing migunani lan gampang digunakake.

1. Nemtokake apa tabel kasebut lan apa strukture

Desain database. laku paling apik

Saiki, metode pangembangan kayata Scrum utawa RAD (Rapid Application Development) mbantu tim IT ngembangake basis data kanthi cepet. Nanging, ing nguber wektu, godaan gedhe banget kanggo nyilem langsung menyang bangunan dhasar, samar-samar mbayangno apa tujuane dhewe, apa asil final kudu.
 
Kaya-kaya tim kasebut fokus ing karya sing efisien lan cepet, nanging iki minangka fatamorgana. Luwih cepet lan luwih cepet sampeyan nyilem menyang jero proyek, luwih akeh wektu kanggo ngenali lan ngganti kesalahan ing desain database.

Dadi, sing pertama sampeyan kudu mutusake yaiku nemtokake tujuan kanggo database sampeyan. Apa jinis aplikasi basis data sing dikembangake? Apa pangguna mung bisa nggarap cathetan lan kudu menehi perhatian marang transaksi, utawa luwih kasengsem ing analytics data? Ing endi pangkalan kasebut kudu dipasang? Apa bakal nglacak prilaku pelanggan utawa mung ngatur hubungan pelanggan? 

Luwih cepet tim desain njawab pitakonan kasebut, proses desain database bakal luwih lancar.

2. Data apa aku kudu milih kanggo panyimpenan?

Desain database. laku paling apik

Rencanane maju. Pikiran babagan situs utawa sistem sing dirancang kanggo basis data bakal ditindakake ing mangsa ngarep. Penting kanggo ngluwihi syarat-syarat prasaja saka spesifikasi teknis. Mung aja mikir babagan kabeh jinis data sing bakal disimpen pangguna. Nanging, pikirake manawa pangguna bisa nulis kiriman, ngunggah dokumen utawa foto, utawa ngganti pesen. Yen iki, sampeyan kudu nyedhiakke papan kanggo wong-wong mau ing database.

Makarya karo tim, departemen, utawa organisasi sing basis desain bakal didhukung ing mangsa ngarep. Komunikasi karo wong ing macem-macem tingkat, saka spesialis layanan pelanggan kanggo kepala departemen. Kanthi cara iki, kanthi bantuan umpan balik, sampeyan bakal entuk ide sing jelas babagan syarat perusahaan. 

Mesthi wae, kabutuhan pangguna ing departemen sing padha bakal konflik. Yen sampeyan nemoni iki, aja wedi ngandelake pengalaman sampeyan dhewe lan golek kompromi sing cocog karo kabeh pihak lan nyukupi tujuan utama database. Tenang: ing mangsa ngarep sampeyan bakal nampa +100500 ing karma lan gunung cookie.

3. Data model kanthi ati-ati

Desain database. laku paling apik

Ana sawetara titik penting sing kudu digatekake nalika nggawe model data. Kaya sing wis dingerteni sadurunge, tujuan basis data nemtokake cara sing digunakake ing modeling. Yen kita ngrancang database kanggo pangolahan rekaman online (OLTP), kanthi tembung liyane kanggo nggawe, nyunting lan mbusak cathetan, kita nggunakake modeling transaksi. Yen basis data kudu relasional, mula luwih becik nggunakake model multidimensi.

Sajrone pemodelan, model data konseptual (CDM), fisik (PDM), lan logis (LDM) dibangun. 

Model konseptual nggambarake entitas lan jinis data sing kalebu, uga hubungane. Dibagi data dadi potongan logis - nggawe urip luwih gampang.
Sing utama yaiku moderat, aja kakehan.

Yen entitas angel banget diklasifikasikake ing siji tembung utawa frasa, mula wektune nggunakake subtipe (entitas anak).

Yen entitas ndadΓ©kakΓ© urip dhewe, nduweni kawicaksanan sing njlΓ¨ntrΓ¨hakΓ© prilaku lan katon, uga hubungan karo obyek liyane, sampeyan bisa aman nggunakake ora mung subtipe, nanging uga supertype (entitas induk). 

Yen sampeyan nglirwakake aturan iki, pangembang liyane bakal bingung ing model sampeyan lan ora bakal ngerti data lan aturan babagan cara ngumpulake.

Model konseptual ditindakake kanthi nggunakake model logis. Model kasebut kaya peta dalan kanggo desain database fisik. Ing model logis, entitas data bisnis diidentifikasi, jinis data ditemtokake, lan status kunci aturan ditemtokake sing ngatur hubungan antarane data.

Banjur Model Data Logis dibandhingake karo platform DBMS (sistem manajemen basis data) sing wis dipilih lan dipikolehi Model Fisik. Iki nggambarake carane data disimpen sacara fisik.

4. Gunakake jinis data sing bener

Desain database. laku paling apik

Nggunakake jinis data sing salah bisa nyebabake data sing kurang akurat, kesulitan nggabungake tabel, kesulitan nyinkronake atribut, lan ukuran file sing kembung.
Kanggo njamin integritas informasi, atribut kudu ngemot mung jinis data sing bisa ditampa. Yen umur wis dilebokake ing basis data, priksa manawa kolom kasebut nyimpen integer maksimal 3 digit.

Nggawe minimal kolom kosong kanthi nilai NULL. Yen sampeyan nggawe kabeh kolom minangka NULL, iki blunder. Yen sampeyan butuh kolom kosong kanggo nindakake fungsi bisnis tartamtu, nalika data kasebut ora dingerteni utawa durung ana gunane, mula sampeyan bisa nggawe. Sawise kabeh, kita ora bisa ngisi kolom "Tanggal Pati" utawa "Tanggal Pecat" sadurunge; kita ora prediktor ngarahake driji ing langit :-).

Paling piranti lunak modeling (ER/Studio, MySQL Workbench, SQL DBM, gliffy.com) data ngidini sampeyan nggawe prototipe wilayah data. Iki njamin ora mung jinis data sing bener, logika aplikasi, lan kinerja sing apik, nanging uga nilai sing dibutuhake.

5. Go natural

Desain database. laku paling apik

Nalika mutusake kolom ing tabel sing bakal digunakake minangka kunci, nimbang kolom endi sing bisa diowahi pangguna. Aja milih wong-wong mau minangka kunci - gagasan ala. Apa wae bisa kedadeyan, nanging sampeyan kudu mesthekake yen unik.

Luwih becik nggunakake kunci alami, utawa bisnis. Nduwe makna semantik, supaya sampeyan ora bisa duplikasi ing basis data. 

Kajaba tombol bisnis unik (jeneng ngarep, jeneng mburi, posisi) lan bola-bali ing larik beda ing tabel utawa kudu diganti, banjur tombol gawean kui kudu ditetepake minangka tombol utami.

6. Normalize ing moderat

Desain database. laku paling apik

Kanggo ngatur data kanthi efektif ing basis data, sampeyan kudu ngetutake sakumpulan pedoman lan normalake basis data. Ana limang wangun normal kanggo tindakake.
Kanthi normalisasi, sampeyan ngindhari redundansi lan njamin integritas data sing digunakake ing aplikasi utawa situs sampeyan.

Kaya biasane, kabeh kudu moderat, malah normalisasi. Yen ana akeh banget tabel ing basis data kanthi tombol unik sing padha, mula sampeyan wis digawa lunga lan over-normalisasi database. Normalisasi sing gedhe banget mengaruhi kinerja database.

7. Tes awal, tes asring

Desain database. laku paling apik

Rencana tes lan tes sing tepat kudu dadi bagian saka desain database.

Cara paling apik kanggo nyoba database sampeyan yaiku liwat Integrasi Terus-terusan. Simulasi skenario "dina ing urip database" lan priksa manawa kabeh kasus pinggiran ditangani lan interaksi pangguna apa wae. Cepet sampeyan nemokake bug, luwih sampeyan bakal ngirit wektu lan dhuwit.

Iki mung pitung tips sing bisa digunakake kanggo ngrancang database produktivitas lan efisiensi sing apik. Yen sampeyan ngetutake, sampeyan bakal ngindhari paling akeh ngelu ing mangsa ngarep. Tips iki mung tip saka gunung es ing modeling database. Ana akeh hacks urip. Kang sampeyan nggunakake?

Source: www.habr.com

Add a comment