Design Database. Pratîkên çêtirîn

Li hêviya destpêkirina herikîna paşîn li rêjeya "Datebase" Me ji bo sêwirana databasekê materyalek piçûk a nivîskarek bi serişteyên girîng amade kiriye. Em hêvî dikin ku ev materyal dê ji we re kêrhatî be.

Design Database. Pratîkên çêtirîn

Danegeh li her derê ne: ji blog û pelrêçanên herî hêsan heya pergalên agahdariya pêbawer û torên mezin ên civakî. Danûstandin hêsan e an tevlihev e ne ew qas girîng e ku meriv wê bi rengek rast dîzayn bike. Gava ku databasek bê fikir û bê têgihiştinek zelal a mebestê were sêwirandin, ew ne tenê bêbandor e, lê xebata din a bi databasê re dê ji bikarhêneran re bibe êşek rastîn, daristanek bêserûber. Li vir çend serişteyên sêwirana databasê hene ku dê ji we re bibin alîkar ku hûn hilberek kêrhatî û karanîna hêsan biafirînin.

1. Tesbît bike ku tablo ji bo çi ye û avahiya wê çi ye

Design Database. Pratîkên çêtirîn

Îro, rêbazên pêşkeftinê yên wekî Scrum an RAD (Pêşveçûna Serlêdana Bilez) arîkariya tîmên IT dikin ku databasan zû pêşve bibin. Lêbelê, di peydakirina demê de, ceribandinek pir mezin e ku meriv rasterast bikeve nav avakirina bingehek, bi rengek nezelal xeyal bike ka armanc bixwe çi ye, encamên dawîn divê çi bin.
 
Wusa dixuye ku tîm balê dikişîne ser xebata bikêr û bilez, lê ev mîrgehek e. Her ku hûn di kûrahiya projeyê de bêtir û zûtir bikevin, ew ê bêtir dem bigire ku hûn xeletiyên di sêwirana databasê de nas bikin û biguhezînin.

Ji ber vê yekê yekem tiştê ku hûn hewce ne ku biryar bidin ev e ku hûn armanca databasa xwe diyar bikin. Database ji bo çi celeb serîlêdanê tête çêkirin? Dê bikarhêner tenê bi tomaran re bixebite û pêdivî ye ku bala xwe bide danûstendinan, an ew bêtir bi analîzên daneyê re eleqedar e? Divê bingeh li ku derê were bicihkirin? Ma ew ê tevgera xerîdar bişopîne an tenê têkiliyên xerîdar birêve bibe? 

Zûtirîn tîmê sêwiranê bersiva van pirsan bide, dê pêvajoya sêwirana databasê hêsantir be.

2. Divê ez kîjan daneyan ji bo hilanînê hilbijêrin?

Design Database. Pratîkên çêtirîn

Pêşî plan bikin. Ramanên li ser malper an pergala ku databasa ji bo wan tê sêwirandin dê di pêşerojê de çi bike. Girîng e ku meriv ji hewcedariyên hêsan ên taybetmendiyên teknîkî derkeve. Tenê ji kerema xwe dest pê nekin li ser hemî celebên daneyên gengaz ên ku bikarhênerek dê carî hilîne bifikire. Di şûna wê de, bifikirin ka bikarhêner dê bikaribin postan binivîsin, belgeyan an wêneyan barkirin, an jî peyaman biguhezînin. Ger wusa be, wê hingê hûn hewce ne ku cîh ji wan re di databasê de veqetînin.

Bi tîm, beş, an rêxistina ku bingeha sêwiranê dê di pêşerojê de were piştgirî kirin re bixebitin. Ji pisporên karûbarê xerîdar heya serokên beşan bi mirovan re di astên cihêreng de têkilî daynin. Bi vî rengî, bi alîkariya bersivê, hûn ê li ser hewcedariyên pargîdaniyê ramanek zelal bistînin. 

Bê guman, hewcedariyên bikarhêneran di hundurê heman beşê de jî dê nakokî bibin. Ger hûn bi vê yekê re rû bi rû bimînin, netirsin ku xwe bispêrin ezmûna xwe û lihevhatinek bibînin ku li gorî hemî aliyan be û armanca dawîn a databasê têr bike. Piştrast bin: di pêşerojê de hûn ê +100500 di karma û çiyayê çerezan de bistînin.

3. Daneyên Model bi lênêrîna

Design Database. Pratîkên çêtirîn

Gelek xalên sereke hene ku meriv di dema modelkirina daneyan de balê bikişîne ser wan. Wekî ku me berê jî got, armanca databasê diyar dike ka kîjan rêbazan di modelkirinê de bikar bînin. Ger em databasek ji bo pêvajokirina tomarên serhêl (OLTP) dîzayn dikin, bi gotinek din ji bo çêkirin, sererastkirin û jêbirina tomaran, em modela danûstendinê bikar tînin. Ger databas divê têkildar be, wê hingê çêtirîn e ku meriv modela piralî bikar bîne.

Di dema modelkirinê de, modelên daneya têgehî (CDM), fîzîkî (PDM), û mentiqî (LDM) têne çêkirin. 

Modelên têgihî hebûn û celebên daneyên ku di nav wan de ne, û her weha têkiliyên di navbera wan de vedibêjin. Daneyên xwe li perçeyên mentiqî parve bikin - ew jiyanê pir hêsantir dike.
Ya sereke nermbûn e, wê zêde nekin.

Heke hebûnek pir dijwar e ku meriv di yek peyv an hevokekê de tesnîf bike, wê gavê dem e ku meriv tîpên jêrîn (heyeyên zarokan) bikar bîne.

Ger hebûnek jiyana xwe bi rê ve bibe, xwedî taybetmendiyên ku tevger û xuyangê wê, û her weha têkiliyên bi tiştên din re vedibêje, wê hingê hûn dikarin bi ewlehî ne tenê celebek, lê di heman demê de supertîpek (heyeta dêûbav) jî bikar bînin. 

Ger hûn vê qaîdeyê îhmal bikin, pêşdebirên din dê di modela we de tevlihev bibin û dê dane û rêgezên berhevkirina wê bi tevahî fam nekin.

Modelên têgînî bi karanîna yên mantiqî têne bicîh kirin. Van modelan ji bo sêwirana databasa laşî wekî nexşeyek rê ne. Di modela mentiqî de, saziyên daneya karsaziyê têne nas kirin, celebên daneyê têne destnîşankirin, û statûya mifteya qaîdeyê tête destnîşankirin ku têkiliyên di navbera daneyan de rêve dike.

Dûv re Modela Daneyên Mantiqî bi platforma DBMS (pergala rêveberiya databasê) ya berê-hilbijartî re tê berhev kirin û Modelek Fîzîkî tê bidestxistin. Ew diyar dike ka dane çawa bi fîzîkî têne hilanîn.

4. Cureyên daneyên rast bikar bînin

Design Database. Pratîkên çêtirîn

Bikaranîna celebê daneya çewt dikare bibe sedema daneyên kêmtir rast, zehmetiyên tevlêbûna tabloyan, dijwariya hevdengkirina taybetmendiyan, û mezinahiyên pelan ên şêlandî.
Ji bo misogerkirina yekparebûna agahdarî, taybetmendiyek divê tenê celebên daneya ku jê re têne pejirandin hebin. Ger temen têkevin databasê, pê ewle bin ku stûn jimareyên herî zêde 3 jimaran hilîne.

Bi nirxek NULL kêmtirîn stûnên vala biafirînin. Ger hûn hemî stûnan wekî NULL biafirînin, ev xeletiyek mezin e. Ger ji we re stûnek vala pêdivî ye ku hûn fonksiyonek karsaziyek taybetî pêk bînin, dema ku dane nenas in an hîna watedar nînin, wê hingê xwe azad bikin ku wê biafirînin. Jixwe, em nikanin berê stûnên "Dîroka mirinê" an "Dîroka jikaravêtinê" tijî bikin; em ne pêşbînker in ku tiliyên xwe ber bi ezmên ve nîşan didin :-).

Pir nermalava modelkirinê (ER/Studio, MySQL Workbench, SQL DBM, gliffy.com) dane destûrê dide te ku hûn prototîpên herêmên daneyê biafirînin. Ev ne tenê celebê daneya rast, mantiqa serîlêdanê, û performansa baş piştrast dike, lê di heman demê de nirx jî hewce dike.

5. Biçe xwezayî

Design Database. Pratîkên çêtirîn

Dema ku hûn biryar didin ka kîjan stûna di tabloyê de wekî mifteyê bikar bînin, her gav bifikirin ka bikarhêner kîjan qadan dikare biguherîne. Tu carî wan wekî kilît hilbijêrin - ramanek xirab. Her tişt dikare bibe, lê divê hûn piştrast bikin ku ew yekta ye.

Ew çêtirîn e ku meriv mifteyek xwezayî, an karsaziyek bikar bîne. Ew xwedî wateyek semantîk e, ji ber vê yekê hûn ê di databasê de ji dubarebûnê dûr bixin. 

Heya ku mifteya karsaziyê yekta nebe (nav, paşnav, pozîsyon) û di rêzên cûda yên tabloyê de neyê dubare kirin an jî divê ew biguhezîne, wê hingê divê mifteya çêkirî ya çêkirî wekî mifteya bingehîn were destnîşan kirin.

6. Di nav nermbûnê de normal bikin

Design Database. Pratîkên çêtirîn

Ji bo ku hûn daneyan di databasê de bi bandor birêxistin bikin, hûn hewce ne ku komek rêbernameyan bişopînin û databasê normal bikin. Pênc formên normal hene ku bişopînin.
Bi normalîzekirinê re, hûn ji zêdebûnê dûr dikevin û yekitiya daneyên ku di serîlêdana an malpera we de têne bikar anîn piştrast dikin.

Mîna her gav, divê her tişt bi nermî be, tewra jî normalîzekirin. Ger di databasê de gelek tabloyên bi heman bişkokên bêhempa hebin, wê hingê we databasê ji xwe dûr xistiye û zêde normalîze kiriye. Normalîzasyona zêde bandorek neyînî li performansa databasê dike.

7. Zû ceribandin, pir caran ceribandin

Design Database. Pratîkên çêtirîn

Plana testê û ceribandina rast divê beşek sêwirana databasê be.

Awayê çêtirîn ku hûn databasa xwe biceribînin bi Yekbûna Berdewam e. Senaryoyek "rojek di jiyana databasê de" simule bikin û kontrol bikin ka hemî dozên qerax têne desteser kirin û çi danûstendinên bikarhêner muhtemel in. Zû zû hûn xeletiyan bibînin, hûn ê hem dem û hem jî drav bidin hev.

Vana tenê heft serişteyên ku hûn dikarin bikar bînin da ku databasek hilberî û karbidestiya mezin dîzayn bikin. Ger hûn wan bişopînin, hûn ê di pêşerojê de ji piraniya serêşiyan dûr bikevin. Van serişteyan di modelkirina databasê de tenê serê befrê ne. Hejmarek mezin a hacksên jiyanê hene. Hûn kîjanan bikar tînin?

Source: www.habr.com

Add a comment