Desain database. prakték pangalusna

Dina antisipasi mimiti aliran salajengna dina laju "Database" Kami geus disiapkeun bahan pangarang leutik kalawan tips penting pikeun ngarancang database a. Kami ngarepkeun bahan ieu bakal mangpaat pikeun anjeun.

Desain database. prakték pangalusna

Basis data aya dimana-mana: ti blog sareng diréktori pangbasajanna dugi ka sistem inpormasi anu tiasa dipercaya sareng jaringan sosial anu ageung. Naha pangkalan data saderhana atanapi kompleks henteu penting pisan sabab penting pikeun ngarancangna leres. Nalika database dirancang thoughtlessly sarta tanpa pamahaman jelas ngeunaan tujuan, teu ngan teu epektip, tapi karya salajengna jeung database bakal siksa nyata, leuweung impenetrable pikeun pamaké. Ieu sababaraha tip desain database anu bakal ngabantosan anjeun nyiptakeun produk anu mangpaat sareng gampang dianggo.

1. Nangtukeun naon tabel sarta naon struktur na

Desain database. prakték pangalusna

Kiwari, metode pamekaran sapertos Scrum atanapi RAD (Rapid Application Development) ngabantosan tim IT ngembangkeun database gancang. Sanajan kitu, dina ngungudag waktu, godaan anu kacida gedéna pikeun teuleum lempeng kana ngawangun dasar, samar-samar ngabayangkeun naon tujuan sorangan, naon hasilna ahir kudu.
 
Saolah-olah tim fokus kana pagawéan anu efisien, gancang, tapi ieu mangrupikeun fatamorgana. Langkung langkung gancang anjeun teuleum ka jero proyék, langkung seueur waktos pikeun ngaidentipikasi sareng ngarobih kasalahan dina desain database.

Janten hal kahiji anu anjeun kedah mutuskeun nyaéta pikeun nangtukeun tujuan pikeun pangkalan data anjeun. Jenis aplikasi naon basis data dikembangkeun? Bakal pamaké ukur dianggo kalayan rékaman sarta kudu nengetan transaksi, atanapi anjeunna leuwih museurkeun analytics data? Dimana dasarna kedah disebarkeun? Bakal eta ngalacak kabiasaan customer atawa ngan saukur ngatur hubungan customer? 

Langkung gancang tim desain ngajawab patarosan ieu, langkung lancar prosés desain database.

2. Data naon anu kuring kedah milih pikeun neundeun?

Desain database. prakték pangalusna

Rencana ka hareup. Pikiran ngeunaan naon situs atawa sistem nu database keur dirancang bakal ngalakukeun dina mangsa nu bakal datang. Penting pikeun ngalangkungan sarat saderhana spésifikasi téknis. Ngan punten entong mimiti mikir ngeunaan sadaya jinis data anu mungkin anu bakal disimpen ku pangguna. Sabalikna, pikirkeun naha pangguna tiasa nyerat tulisan, unggah dokumén atanapi poto, atanapi tukeur pesen. Upami ieu hal, mangka anjeun kudu allocate spasi pikeun aranjeunna dina database.

Gawé sareng tim, departemén, atanapi organisasi anu mana dasar desain bakal dirojong di hareup. Komunikasi sareng jalma dina tingkat anu béda, ti spesialis layanan palanggan dugi ka kepala departemen. Ku cara ieu, kalayan bantosan eupan balik, anjeun bakal nampi ide anu jelas ngeunaan syarat perusahaan. 

Inevitably, kabutuhan pamaké dina malah departemén sarua bakal konflik. Upami anjeun mendakan ieu, tong sieun ngandelkeun pangalaman anjeun sorangan sareng milarian kompromi anu cocog sareng sadaya pihak sareng nyugemakeun tujuan pamungkas tina pangkalan data. Assured: di mangsa nu bakal datang anjeun bakal nampa +100500 di karma sarta gunung cookies.

3. Model data kalayan ati-ati

Desain database. prakték pangalusna

Aya sababaraha titik konci pikeun nengetan nalika modeling data. Sakumaha anu ceuk urang tadi, tujuan pangkalan data nangtukeun metode mana anu dianggo dina modél. Lamun urang ngarancang database pikeun ngolah catetan online (OLTP), dina basa sejen pikeun nyieun, ngédit jeung mupus rékaman, urang ngagunakeun modeling urus. Lamun database kudu relational, mangka pangalusna ngagunakeun modeling multidimensional.

Salila modeling, konseptual (CDM), fisik (PDM), jeung logis (LDM) model data diwangun. 

Modél konseptual ngajelaskeun éntitas sareng jinis data anu kalebet, ogé hubungan antara aranjeunna. Bagikeun data anjeun kana sakumpulan logis - ngajantenkeun hirup langkung gampang.
Hal utama - moderation, ulah overdo eta.

Lamun hiji éntitas hésé pisan digolongkeun dina hiji kecap atawa frase, mangka éta waktu ngagunakeun subtypes (entitas anak).

Lamun hiji éntitas ngabalukarkeun hirupna sorangan, boga atribut anu ngajelaskeun kabiasaan sarta penampilan na, kitu ogé hubungan jeung objék séjén, anjeun aman bisa make teu ukur subtype a, tapi ogé supertype (entitas indungna). 

Lamun maranéh ngalalaworakeun kana aturan ieu, pamekar séjén bakal jadi bingung dina model anjeun sarta moal pinuh ngartos data jeung aturan pikeun kumaha carana ngumpulkeun eta.

Modél konsép dilaksanakeun ngagunakeun modél logis. Modél ieu sapertos peta jalan pikeun desain database fisik. Dina modél logis, éntitas data bisnis diidentifikasi, jinis data ditangtukeun, sareng status konci aturan ditangtukeun anu ngatur hubungan antara data.

Lajeng Model Data Logis dibandingkeun sareng platform DBMS (sistem manajemen basis data) anu tos dipilih sareng Modél Fisik dicandak. Éta ngajelaskeun kumaha data disimpen sacara fisik.

4. Paké tipe data katuhu

Desain database. prakték pangalusna

Ngagunakeun tipe data salah bisa ngakibatkeun data kirang akurat, kasusah dina ngagabung tabel, kasusah nyingkronkeun atribut, sarta ukuran file kembung.
Pikeun mastikeun integritas informasi, hiji atribut kudu ngandung ukur tipe data nu bisa ditarima keur eta. Lamun umur geus diasupkeun kana database, pastikeun yén kolom nyimpen integer maksimum 3 digit.

Jieun minimum kolom kosong kalayan nilai NULL. Upami anjeun nyiptakeun sadaya kolom salaku NULL, ieu mangrupikeun kasalahan anu ageung. Upami anjeun peryogi kolom kosong pikeun ngalakukeun fungsi bisnis anu khusus, nalika datana teu dipikanyaho atanapi henteu acan masuk akal, teras ngarasa Luncat pikeun nyiptakeunana. Barina ogé, kami henteu tiasa ngeusian kolom "Tanggal maot" atanapi "Tanggal PHK" sateuacanna; kami sanés prediktor anu nunjuk ramo ka langit :-).

Paling software modeling (ER/Studio, MySQL Workbench, SQL DBM, gliffy.com) data ngidinan Anjeun pikeun nyieun prototipe wewengkon data. Ieu ensures teu ukur tipe data bener, logika aplikasi, sarta kinerja alus, tapi ogé yén nilai diperlukeun.

5. Alami

Desain database. prakték pangalusna

Nalika mutuskeun kolom mana dina tabel pikeun dianggo salaku konci, pertimbangkeun kolom mana anu tiasa diédit ku pangguna. Pernah milih aranjeunna salaku konci - ide goréng. Naon waé tiasa kajantenan, tapi anjeun kedah mastikeun yén éta unik.

Hadé pisan mun éta ngagunakeun alam, atawa bisnis, konci. Mibanda harti semantis, jadi anjeun bakal nyingkahan duplikasi dina database. 

Iwal konci bisnis unik (ngaran hareup, ngaran tukang, posisi) jeung diulang dina baris béda tabel atawa kudu robah, lajeng konci jieunan dihasilkeun kudu ditunjuk salaku konci primér.

6. Normalize dina moderation

Desain database. prakték pangalusna

Pikeun sacara efektif ngatur data dina pangkalan data, anjeun kedah nuturkeun sakumpulan pedoman sareng normalisasi pangkalan data. Aya lima bentuk normal nuturkeun.
Kalayan normalisasi, anjeun ngahindarkeun redundansi sareng mastikeun integritas data anu dianggo dina aplikasi atanapi situs anjeun.

Sakumaha biasa, sadayana kedah moderation, bahkan normalisasi. Upami aya seueur teuing tabel dina pangkalan data sareng konci unik anu sami, maka anjeun parantos kabawa sareng nganormalkeun databés. Normalisasi kaleuleuwihan négatip mangaruhan kinerja database.

7. Test mimiti, test mindeng

Desain database. prakték pangalusna

Rencana tés sareng uji anu leres kedah janten bagian tina desain database.

Cara anu pangsaéna pikeun nguji pangkalan data anjeun nyaéta ngalangkungan Integrasi Kontinyu. Simulasi skenario "dinten dina kahirupan database" sareng pariksa naha sadaya kasus tepi diurus sareng interaksi pangguna anu dipikaresep. Langkung gancang anjeun mendakan kutu, langkung anjeun bakal ngahémat waktos sareng artos.

Ieu ngan ukur tujuh tip anu anjeun tiasa dianggo pikeun ngarancang database produktivitas sareng efisiensi anu saé. Lamun nuturkeun aranjeunna, anjeun bakal nyingkahan paling headaches di mangsa nu bakal datang. Tips ieu ngan ujung gunung es dina modeling database. Aya sajumlah ageung hacks hirup. Anu mana anu anjeun anggo?

sumber: www.habr.com

Tambahkeun komentar