Database design. Maitiro akanakisa

Mukutarisira kwekutanga kwekuyerera kunotevera pachiyero "Database" Isu takagadzirira zvinyorwa zvemunyori mudiki ane matipi akakosha ekugadzira dhatabhesi. Tinovimba kuti chinyorwa ichi chichakubatsira iwe.

Database design. Maitiro akanakisa

Madhatabhesi ari kwese kwese: kubva kune akareruka mablogiki uye madhairekitori kune akavimbika ruzivo masisitimu uye akakura masocial network. Kunyangwe iyo dhatabhesi iri nyore kana yakaoma haina kukosha zvakanyanya sezvo yakakosha kuigadzira nemazvo. Kana dhatabhesi yakagadzirwa isingafungi uye pasina kunzwisisa kwakajeka kwechinangwa, haisi kungoshanda chete, asi kuwedzera kushanda ne database kuchava marwadzo chaiwo, sango risingapindiki kune vashandisi. Heano mamwe matipi ekugadzira dhatabhesi anozokubatsira iwe kugadzira inobatsira uye iri nyore kushandisa chigadzirwa.

1. Sarudza kuti tafura ndeyei uye chimiro chayo

Database design. Maitiro akanakisa

Nhasi, nzira dzekusimudzira dzakadai seScrum kana RAD (Rapid Application Development) inobatsira zvikwata zveIT kugadzira dhatabhesi nekukurumidza. Nekudaro, mukutsvaga nguva, muedzo wakakura kwazvo wekunyura wakananga mukuvaka hwaro, uchifungidzira zvisina kujeka kuti chinangwa chacho ndechei, izvo zvinozoguma zvaitika.
 
Zvinoita sekunge timu yakatarisana nebasa rinoshanda, rinokurumidza, asi ichi chishamiso. Kuwedzera uye nekukurumidza kwaunonyura mukudzika kweprojekiti, iyo nguva yakawanda ichatora kuti uone uye uchinje zvikanganiso mudhizaini yedhizaini.

Saka chinhu chekutanga chaunofanirwa kusarudza ndechekutsanangura chinangwa che database yako. Ndeupi rudzi rwekushandisa iro dhatabhesi riri kugadzirwa? Ko mushandisi achashanda chete nemarekodhi uye anoda kuterera kune kutengeserana, kana kuti anonyanya kufarira data analytics? Chigadziko chinofanira kuiswa kupi? Ichatevera maitiro evatengi here kana kungogadzirisa hukama hwevatengi? 

Nekukurumidza timu yekugadzira inopindura iyi mibvunzo, iyo inotsvedzerera iyo dhatabhesi dhizaini dhizaini ichave.

2. Ndeipi data yandinofanira kusarudza yekuchengetedza?

Database design. Maitiro akanakisa

Ronga mberi. Pfungwa pamusoro pezvinoitwa nesaiti kana sisitimu iyo dhatabhesi iri kugadzirirwa ichaita mune ramangwana. Zvakakosha kuti uende kunze kwezvinodiwa zviri nyore zvekugadzirwa kwehutano. Ndokumbirawo usatange kufunga nezve ese angangoita marudzi e data ayo mushandisi achazombochengeta. Zvirinani ufunge kuti vashandisi vachakwanisa here kunyora zvakatumirwa, kupinza magwaro kana mapikicha  kana kupanana mameseji. Kana izvi zviri izvo, saka iwe unofanirwa kugovera nzvimbo yavo mu database.

Shanda nechikwata, dhipatimendi, kana sangano iro dhizaini inotsigirwa mune ramangwana. Kurukura nevanhu vari pamatanho akasiyana, kubva kunyanzvi dzebasa revatengi kusvika kuvakuru vedhipatimendi. Nenzira iyi, nerubatsiro rwemhinduro, iwe unowana pfungwa yakajeka yezvinodiwa nekambani. 

Nenzira isingadzivisiki, izvo zvinodikanwa zvevashandisi mukati medhipatimendi rimwechete zvichapokana. Kana iwe ukasangana neizvi, usatya kuvimba neruzivo rwako pachako uye nekuwana chibvumirano chinokodzera mapato ese uye chinogutsa chinangwa chekupedzisira chedatabase. Iva nechokwadi: mune ramangwana iwe uchagamuchira +100500 mu karma uye gomo rekiki.

3. Model data nehanya

Database design. Maitiro akanakisa

Pane akati wandei akakosha mapoinzi ekuteerera kana uchienzanisa data. Sezvatakambotaura, chinangwa chedhatabhesi  zvinoenderana nekuti ndedzipi nzira dzekushandisa mukuenzanisira. Kana isu tiri kugadzira dhatabhesi ye online rekodhi processing (OLTP), nemamwe mazwi kugadzira, kugadzirisa uye kudzima marekodhi, tinoshandisa transaction modelling. Kana iyo dhatabhesi inofanirwa kuve nehukama, saka zvakanakisa kushandisa multidimensional modeling.

Munguva yekuenzanisira, conceptual (CDM), yemuviri (PDM), uye inonzwisisika (LDM) data modhi inovakwa. 

Conceptual modhi inotsanangura masangano nemhando dzedata dzavanosanganisa, pamwe nehukama huri pakati pavo. Kamura data rako kuita zvidimbu zvine musoro - zvinoita kuti hupenyu huve nyore.
Chinhu chikuru ndechekudzikamisa, usawedzere.

Kana sangano rakaoma zvikuru kuisa muzwi rimwechete kana mutsara, saka inguva yekushandisa subtypes (masangano evana).

Kana sangano richitungamira hupenyu hwaro, rine hunhu hunotsanangura maitiro ayo uye chitarisiko chayo, pamwe nehukama nezvimwe zvinhu, saka iwe unogona kushandisa zvakachengeteka kwete chete subtype, asiwo supertype (nhengo yemubereki). 

Kana iwe ukaregeredza mutemo uyu, vamwe vanogadzira vanozovhiringika mumuenzaniso wako uye havazonyatso nzwisisa iyo data uye mitemo yekuiunganidza.

Conceptual modhi dzinoshandiswa uchishandisa zvine musoro. Aya mamodheru akafanana mepu yemugwagwa yedhizaini yedhizaini. Mune inonzwisisika modhi, bhizinesi re data masangano anoonekwa, mhando dzedata dzinotemerwa, uye chimiro chekiyi yemutemo inotarwa inotonga hukama pakati pe data.

Ipapo iyo Logical Data Model inofananidzwa neyakagara yasarudzwa DBMS (database management system) chikuva uye Physical Model inowanikwa. Inotsanangura kuti data inochengetwa sei mumuviri.

4. Shandisa mhando dze data dzakakodzera

Database design. Maitiro akanakisa

Kushandisa iyo isiriyo data mhando kunogona kukonzera kushoma data, kuomerwa kujoinha matafura, kuomerwa kuwiriranisa hunhu, uye bloated faira saizi.
Kuti uve nechokwadi chekuvimbika kweruzivo, hunhu hunofanirwa kuve nemhando dzedata chete dzinogamuchirwa kwairi. Kana zera rikapinzwa mudura, ita shuwa kuti koramu inochengeta zvikamu zvehuwandu hunosvika matatu.

Gadzira mashoma makoramu asina chinhu ane NULL kukosha. Kana iwe ukagadzira makoramu ese seNULL, ichi chikanganiso chikuru. Kana iwe uchida koramu isina chinhu kuti uite chaiyo bhizinesi basa, kana iyo data isingazivikanwe kana isati yave nemusoro, saka inzwa wakasununguka kuigadzira. Mushure mezvose, isu hatigone kuzadza makoramu "Zuva rerufu" kana "Zuva rekudzingwa" pachine nguva; isu hatisi kufanotaura kunongedza minwe yedu kudenga :-).

Yakawanda yekuenzanisira software (ER/Studio, MySQL Workbench, SQL DBM, gliffy.com) data inokutendera iwe kuti ugadzire prototypes yedunhu redata. Izvi zvinovimbisa  kwete chete mhando yedata yakarurama, zvine musoro uye kushanda zvakanaka, asiwo kuti kukosha kunodiwa.

5. Enda zvakasikwa

Database design. Maitiro akanakisa

Paunenge uchifunga kuti ndeipi kolamu mutafura yekushandisa sekiyi, gara uchifunga kuti ndeapi minda iyo mushandisi anogona kugadzirisa. Usambofa wavasarudza sekiyi - pfungwa yakaipa. Chero chinhu chinogona kuitika, asi iwe unofanirwa kuve nechokwadi kuti chakasiyana.

Zvakanakisa kushandisa yakasikwa, kana bhizinesi, kiyi. Iyo ine chirevo che semantic, saka iwe unodzivirira kudzokorora mudhatabhesi. 

Kunze kwekunge kiyi yebhizinesi yakasarudzika (zita rekutanga, zita rekupedzisira, chinzvimbo) uye inodzokororwa mumitsara yakasiyana yetafura kana kuti inofanira kuchinja, ipapo kiyi yekugadzira inogadzirwa inofanirwa kusarudzwa sekiyi yekutanga.

6. Gadzirisa zvine mwero

Database design. Maitiro akanakisa

Kuti uronge data mudhatabhesi zvine mutsindo, unofanirwa kutevedzera nhungamiro dzakati  uye kugadzirisa dhatabhesi sezvazviri. Pane mafomu mashanu akajairika ekutevera.
Nekujaira, iwe unodzivirira kudzokororwa uye unova nechokwadi chekutendeseka kweiyo data inoshandiswa mune yako application kana saiti.

Sezvenguva dzose, zvese zvinofanirwa kuve zvine mwero, kunyangwe normalization. Kana paine matafura akawandisa mudhatabhesi ane makiyi akasarudzika, saka watakurwa uye wakawedzera-normalized dhatabhesi. Yakawandisa normalization inokanganisa kuita kwe database.

7. Edzai kare, edza kakawanda

Database design. Maitiro akanakisa

Chirongwa chekuyedza uye kuyedzwa kwakakodzera kunofanirwa kuve chikamu chedhizaini dhizaini.

Nzira yakanakisa yekuyedza dhatabhesi yako ndeye Kuenderera mberi Kubatanidzwa. Tevedzera "zuva muhupenyu hwedhatabhesi" mamiriro uye tarisa kana ese emupendero makesi akabatwa uye kuti ndekupi kusangana kwevashandisi kungangoitika. Ukakurumidza kuwana tsikidzi, ndipo paunowedzera kuchengetedza zvese nguva nemari.

Aya angori matipi manomwe aunogona kushandisa kugadzira dhatabhesi yakakura  yekubudirira uye  kunyatsoshanda. Kana ukaatevera, unodzivirira kunyanya kurwadziwa nemusoro mune ramangwana. Aya matipi angori muromo weiyo iceberg mu database modelling. Kune huwandu hukuru hwehupenyu hacks. Ndedzipi dzaunoshandisa?

Source: www.habr.com

Voeg