Disenyo sa database. Labing maayo nga mga praktis

Sa pagpaabut sa pagsugod sa sunod nga dagan sa rate "Database" Nag-andam kami usa ka gamay nga materyal sa tagsulat nga adunay hinungdanon nga mga tip sa pagdesinyo sa usa ka database. Kami nanghinaut nga kini nga materyal mahimong mapuslanon kanimo.

Disenyo sa database. Labing maayo nga mga praktis

Ang mga database anaa bisan asa: gikan sa pinakasimple nga mga blog ug mga direktoryo ngadto sa kasaligan nga mga sistema sa impormasyon ug dagkong mga social network. Kung ang database simple o komplikado dili kaayo importante kay importante ang pagdesinyo niini sa husto. Kung ang usa ka database gidisenyo nga walay paghunahuna ug walay klaro nga pagsabot sa katuyoan, kini dili lamang dili epektibo, apan ang dugang nga pagtrabaho uban sa database mahimong usa ka tinuod nga pagsakit, usa ka dili masulud nga lasang alang sa mga tiggamit. Ania ang pipila ka mga tip sa disenyo sa database nga makatabang kanimo sa paghimo usa ka mapuslanon ug dali gamiton nga produkto.

1. Tinoa alang sa unsa ang lamesa ug unsa ang istruktura niini

Disenyo sa database. Labing maayo nga mga praktis

Karon, ang mga pamaagi sa pag-uswag sama sa Scrum o RAD (Rapid Application Development) makatabang sa mga IT team nga dali nga makahimo og mga database. Apan, sa paggukod sa panahon, dako kaayo ang tentasyon sa pag-dive diretso sa pagtukod og base, sa way klaro nga paghanduraw kon unsa ang tumong mismo, unsa ang kataposang resulta.
 
Ingon og ang team naka-focus sa episyente, paspas nga trabaho, apan kini usa ka mirage. Ang dugang ug mas paspas nga imong pag-dive sa giladmon sa proyekto, mas daghang oras ang gikinahanglan aron mahibal-an ug mabag-o ang mga sayup sa disenyo sa database.

Mao nga ang una nga butang nga kinahanglan nimo nga desisyon mao ang pagtino sa katuyoan sa imong database. Unsa nga matang sa aplikasyon ang database nga gihimo alang sa? Ang tiggamit ba magtrabaho lamang sa mga rekord ug kinahanglan nga magtagad sa mga transaksyon, o mas interesado ba siya sa data analytics? Asa dapat ibutang ang base? Masubay ba niini ang pamatasan sa kostumer o pagdumala lang sa mga relasyon sa kustomer? 

Ang mas dali nga tubag sa team sa disenyo niini nga mga pangutana, mas hapsay ang proseso sa pagdesinyo sa database.

2. Unsa nga datos ang akong pilion alang sa pagtipig?

Disenyo sa database. Labing maayo nga mga praktis

Pagplano daan. Mga hunahuna bahin sa kung unsa ang buhaton sa site o sistema diin gidesinyo ang database sa umaabot. Importante nga molapas sa yano nga mga kinahanglanon sa teknikal nga mga detalye. Palihug lang ayaw pagsugod sa paghunahuna bahin sa tanan nga posible nga mga tipo sa datos nga tipigan sa usa ka tiggamit. Hinuon, hunahunaa kung ang mga tiggamit makahimo ba sa pagsulat sa mga post, pag-upload sa mga dokumento o litrato, o pagbayloay og mga mensahe. Kung mao kini ang kaso, nan kinahanglan nimo nga maggahin og luna alang kanila sa database.

Pakigtambayayong sa team, departamento, o organisasyon diin ang base sa disenyo suportahan sa umaabot. Pakigsulti sa mga tawo sa lainlaing lebel, gikan sa mga espesyalista sa serbisyo sa kostumer hangtod sa mga pinuno sa departamento. Niining paagiha, sa tabang sa feedback, makakuha ka usa ka tin-aw nga ideya sa mga kinahanglanon sa kompanya. 

Dili kalikayan, ang mga panginahanglan sa mga tiggamit sa sulod bisan sa parehas nga departamento magkasumpaki. Kung masugatan nimo kini, ayaw kahadlok nga mosalig sa imong kaugalingon nga kasinatian ug mangita usa ka kompromiso nga mohaum sa tanan nga partido ug makatagbaw sa katapusang katuyoan sa database. Makasalig ka: sa umaabot makadawat ka +100500 sa karma ug usa ka bukid sa cookies.

3. Pag-modelo sa datos uban ang pag-amping

Disenyo sa database. Labing maayo nga mga praktis

Adunay ubay-ubay nga yawe nga mga punto nga hatagan pagtagad kung magmodelo sa datos. Sama sa giingon namon kaniadto, ang katuyoan sa database nagtino kung unsang mga pamaagi ang gamiton sa pagmodelo. Kung nagdesinyo kami og database alang sa pagproseso sa online nga rekord (OLTP), sa laing pagkasulti alang sa paghimo, pag-edit ug pagtangtang sa mga rekord, gigamit namon ang pagmodelo sa transaksyon. Kung ang database kinahanglan nga relational, nan labing maayo nga gamiton ang multidimensional nga modelo.

Atol sa pagmodelo, ang konsepto (CDM), pisikal (PDM), ug lohikal (LDM) nga mga modelo sa datos gitukod. 

Ang mga modelo sa konsepto naghulagway sa mga entidad ug ang mga matang sa datos nga ilang gilakip, ingon man ang mga relasyon tali kanila. Bahina ang imong data ngadto sa lohikal nga mga tipak - kini naghimo sa kinabuhi nga mas sayon.
Ang nag-unang butang mao ang pagkamakasaranganon, ayaw pagpasobra niini.

Kung ang usa ka entidad lisud kaayo pagklasipikar sa usa ka pulong o hugpong sa mga pulong, nan panahon na nga gamiton ang mga subtypes (mga bata nga entidad).

Kung ang usa ka entidad nanguna sa iyang kaugalingon nga kinabuhi, adunay mga hiyas nga naghulagway sa iyang pamatasan ug hitsura, ingon man ang mga relasyon sa ubang mga butang, nan luwas ka nga magamit dili lamang usa ka subtype, kondili usa usab ka supertype (ginikanan nga entidad). 

Kung imong pasagdan kini nga lagda, ang ubang mga developers malibog sa imong modelo ug dili hingpit nga masabtan ang datos ug ang mga lagda kung unsaon kini pagkolekta.

Ang mga modelo sa konsepto gipatuman gamit ang mga lohikal. Kini nga mga modelo sama sa usa ka mapa sa dalan alang sa pisikal nga disenyo sa database. Sa lohikal nga modelo, ang mga entidad sa datos sa negosyo giila, ang mga tipo sa datos gitino, ug ang kahimtang sa yawe sa lagda gitino nga nagdumala sa mga relasyon tali sa datos.

Dayon ang Logical Data Model gitandi sa pre-selected DBMS (database management system) nga plataporma ug nakuha ang Physical Model. Gihubit niini kung giunsa ang pisikal nga pagtipig sa datos.

4. Gamita ang husto nga mga tipo sa datos

Disenyo sa database. Labing maayo nga mga praktis

Ang paggamit sa sayup nga tipo sa datos mahimong moresulta sa dili kaayo tukma nga datos, mga kalisud sa pag-apil sa mga lamesa, kalisud sa pag-synchronize sa mga kinaiya, ug nagburot nga mga gidak-on sa file.
Aron masiguro ang integridad sa impormasyon, ang usa ka hiyas kinahanglang adunay sulod lamang nga mga tipo sa datos nga madawat niini. Kung ang edad gisulod sa database, siguruha nga ang kolum nagtipig sa mga integer nga labing taas nga 3 ka numero.

Paghimo usa ka minimum nga walay sulod nga mga kolum nga adunay NULL nga kantidad. Kung maghimo ka sa tanan nga mga kolum ingon NULL, kini usa ka dako nga sayup. Kung kinahanglan nimo ang usa ka walay sulod nga kolum aron mahimo ang usa ka piho nga function sa negosyo, kung ang datos wala mahibal-an o wala pa makahuluganon, unya mobati nga gawasnon sa paghimo niini. Human sa tanan, dili nato mapuno ang mga kolum nga "Petsa sa kamatayon" o "Petsa sa pagpalagpot" nga abante; dili kami mga tigtagna nga nagpunting sa among mga tudlo sa langit :-).

Kadaghanan sa software sa pagmodelo (ER/Studio, MySQL Workbench, SQL DBM, gliffy.com) nga datos nagtugot kanimo sa paghimo og mga prototype sa mga rehiyon sa datos. Gisiguro niini dili lamang ang husto nga tipo sa datos, lohika sa aplikasyon, ug maayo nga pasundayag, apan kinahanglan usab ang kantidad.

5. Mag natural

Disenyo sa database. Labing maayo nga mga praktis

Kung magdesisyon kung unsang kolum sa usa ka lamesa ang gamiton ingon usa ka yawe, hunahunaa kanunay kung unsang mga field ang mahimong usbon sa user. Ayaw gayud pagpili kanila ingon nga yawe - usa ka dili maayo nga ideya. Mahimong mahitabo ang bisan unsa, apan kinahanglan nimong sigurohon nga kini talagsaon.

Labing maayo nga gamiton ang natural, o negosyo, nga yawe. Kini adunay semantiko nga kahulogan, aron malikayan nimo ang pagdoble sa database. 

Gawas lang kung ang yawe sa negosyo talagsaon (unang ngalan, apelyido, posisyon) ug gisubli sa lain-laing mga laray sa lamesa o kini kinahanglang usbon, nan ang namugna nga artipisyal nga yawe kinahanglang itudlo isip nag-unang yawe.

6. Normalize sa kasarangan

Disenyo sa database. Labing maayo nga mga praktis

Aron epektibo nga maorganisar ang datos sa usa ka database, kinahanglan nimo nga sundon ang usa ka hugpong sa mga panudlo ug i-normalize ang database. Adunay lima ka normal nga porma nga sundon.
Uban sa normalisasyon, malikayan nimo ang pag-usab ug masiguro ang integridad sa datos nga gigamit sa imong aplikasyon o site.

Sama sa kanunay, ang tanan kinahanglan nga kasarangan, bisan ang normalisasyon. Kung adunay daghan kaayo nga mga lamesa sa database nga adunay parehas nga talagsaon nga mga yawe, nan nadala ka ug sobra nga na-normalize ang database. Ang sobra nga normalisasyon negatibong makaapekto sa pasundayag sa database.

7. Pagsulay sa sayo, pagsulay kanunay

Disenyo sa database. Labing maayo nga mga praktis

Ang plano sa pagsulay ug husto nga pagsulay kinahanglan nga bahin sa disenyo sa database.

Ang labing kaayo nga paagi aron masulayan ang imong database pinaagi sa Padayon nga Paghiusa. I-simulate ang usa ka senaryo nga "adlaw sa kinabuhi sa usa ka database" ug susiha kung ang tanan nga mga kaso sa sulud gidumala ug kung unsa ang mga interaksyon sa tiggamit. Kung mas dali nimo makit-an ang mga bug, labi ka makadaginot sa oras ug salapi.

Pito ra kini nga mga tip nga imong magamit sa pagdesinyo sa usa ka maayo nga database sa produktibo ug kahusayan. Kung sundon nimo kini, malikayan nimo ang kadaghanan sa mga labad sa ulo sa umaabot. Kini nga mga tip mao ra ang tumoy sa iceberg sa pagmodelo sa database. Adunay usa ka dako nga gidaghanon sa mga hack sa kinabuhi. Hain ang imong gigamit?

Source: www.habr.com

Idugang sa usa ka comment