Sagaidot nÄkamÄs plÅ«smas sÄkumu ar Ätrumu
Datu bÄzes ir visur: no vienkÄrÅ”Äkajiem emuÄriem un direktorijiem lÄ«dz uzticamÄm informÄcijas sistÄmÄm un lieliem sociÄlajiem tÄ«kliem. Tas, vai datu bÄze ir vienkÄrÅ”a vai sarežģīta, nav tik svarÄ«gi, cik svarÄ«gi ir to pareizi noformÄt. Ja datu bÄze tiek veidota nepÄrdomÄti un bez skaidras mÄrÄ·a izpratnes, tÄ ir ne tikai neefektÄ«va, bet turpmÄkais darbs ar datubÄzi lietotÄjiem bÅ«s patiesa sÄpe, necaurejams mežs. Å eit ir daži datu bÄzes dizaina padomi, kas palÄ«dzÄs jums izveidot noderÄ«gu un viegli lietojamu produktu.
1. Nosakiet, kam tabula ir paredzÄta un kÄda ir tÄs struktÅ«ra
MÅ«sdienÄs tÄdas izstrÄdes metodes kÄ Scrum vai RAD (Rapid Application Development) palÄ«dz IT komandÄm Ätri izstrÄdÄt datu bÄzes. TaÄu, dzenoties pÄc laika, ir ļoti liels kÄrdinÄjums ienirt tieÅ”i bÄzes bÅ«vniecÄ«bÄ, neskaidri iztÄlojoties, kÄds ir pats mÄrÄ·is, kÄdiem jÄbÅ«t gala rezultÄtiem.
It kÄ komanda bÅ«tu vÄrsta uz efektÄ«vu, Ätru darbu, bet tÄ ir mirÄža. Jo tÄlÄk un ÄtrÄk iedziļinÄties projekta dziļumÄ, jo vairÄk laika bÅ«s nepiecieÅ”ams, lai identificÄtu un mainÄ«tu kļūdas datu bÄzes dizainÄ.
TÄtad pirmÄ lieta, kas jums jÄizlemj, ir definÄt datu bÄzes mÄrÄ·i. KÄda veida lietojumprogrammai tiek izstrÄdÄta datubÄze? Vai lietotÄjs strÄdÄs tikai ar ierakstiem un bÅ«s jÄpievÄrÅ” uzmanÄ«ba darÄ«jumiem, vai arÄ« viÅu vairÄk interesÄ datu analÄ«tika? Kur bÅ«tu jÄizvieto bÄze? Vai tas izsekos klientu uzvedÄ«bu vai vienkÄrÅ”i pÄrvaldÄ«s attiecÄ«bas ar klientiem?
Jo ÄtrÄk projektÄÅ”anas komanda atbildÄs uz Å”iem jautÄjumiem, jo āāraitÄks bÅ«s datu bÄzes projektÄÅ”anas process.
2. KÄdus datus izvÄlÄties glabÄÅ”anai?
PlÄno uz priekÅ”u. Domas par to, ko vietne vai sistÄma, kurai tiek veidota datubÄze, darÄ«s nÄkotnÄ. Ir svarÄ«gi pÄrsniegt vienkÄrÅ”Äs tehnisko specifikÄciju prasÄ«bas. Tikai, lÅ«dzu, nesÄciet domÄt par visiem iespÄjamajiem datu veidiem, ko lietotÄjs jebkad saglabÄs. LabÄk padomÄjiet par to, vai lietotÄji varÄs rakstÄ«t ziÅas, augÅ”upielÄdÄt dokumentus vai fotoattÄlus vai apmainÄ«ties ar ziÅojumiem. Ja tas tÄ ir, jums ir jÄatvÄl vieta tiem datu bÄzÄ.
StrÄdÄjiet ar komandu, nodaļu vai organizÄciju, kurai turpmÄk tiks atbalstÄ«ta dizaina bÄze. Sazinieties ar cilvÄkiem dažÄdos lÄ«meÅos, sÄkot no klientu apkalpoÅ”anas speciÄlistiem lÄ«dz nodaļu vadÄ«tÄjiem. TÄdÄ veidÄ, izmantojot atsauksmes, jÅ«s iegÅ«sit skaidru priekÅ”statu par uzÅÄmuma prasÄ«bÄm.
NeizbÄgami bÅ«s pretrunas lietotÄju vajadzÄ«bas pat tajÄ paÅ”Ä nodaļÄ. Ja jÅ«s ar to saskaraties, nebaidieties paļauties uz savu pieredzi un atrast kompromisu, kas ir piemÄrots visÄm pusÄm un atbilst datu bÄzes galvenajam mÄrÄ·im. Esiet droÅ”s: turpmÄk jÅ«s saÅemsiet +100500 karmÄ un cepumu kalnu.
3. RÅ«pÄ«gi modelÄjiet datus
Ir vairÄki galvenie punkti, kuriem jÄpievÄrÅ” uzmanÄ«ba, modelÄjot datus. KÄ jau teicÄm iepriekÅ”, datu bÄzes mÄrÄ·is ir atkarÄ«gs no tÄ, kuras metodes izmantot modelÄÅ”anÄ. Ja mÄs veidojam datubÄzi tieÅ”saistes ierakstu apstrÄdei (OLTP), citiem vÄrdiem sakot, ierakstu izveidei, rediÄ£ÄÅ”anai un dzÄÅ”anai, mÄs izmantojam darÄ«jumu modelÄÅ”anu. Ja datu bÄzei ir jÄbÅ«t relÄciju, tad vislabÄk ir izmantot daudzdimensiju modelÄÅ”anu.
ModelÄÅ”anas laikÄ tiek veidoti konceptuÄlie (CDM), fiziskie (PDM) un loÄ£iskie (LDM) datu modeļi.
KonceptuÄlie modeļi apraksta entÄ«tijas un tajos iekļauto datu veidus, kÄ arÄ« attiecÄ«bas starp tÄm. Sadaliet savus datus loÄ£iskÄs daļÄs ā tas ievÄrojami atvieglo dzÄ«vi.
Galvenais ir mÄrenÄ«ba, nepÄrcenties.
Ja entÄ«tiju ir ļoti grÅ«ti klasificÄt vienÄ vÄrdÄ vai frÄzÄ, tad ir pienÄcis laiks izmantot apakÅ”tipus (bÄrnu entÄ«tijas).
Ja entÄ«tija vada savu dzÄ«vi, tai ir atribÅ«ti, kas raksturo tÄs uzvedÄ«bu un izskatu, kÄ arÄ« attiecÄ«bas ar citiem objektiem, tad varat droÅ”i izmantot ne tikai apakÅ”tipu, bet arÄ« virstipu (vecÄku entÄ«tiju).
Ja neievÄrosit Å”o noteikumu, citi izstrÄdÄtÄji apmulsÄ«s jÅ«su modelÄ« un pilnÄ«bÄ neizpratÄ«s datus un to savÄkÅ”anas noteikumus.
KonceptuÄlie modeļi tiek realizÄti, izmantojot loÄ£iskos. Å ie modeļi ir kÄ ceļvedis fiziskai datu bÄzes projektÄÅ”anai. LoÄ£iskajÄ modelÄ« tiek identificÄtas biznesa datu entÄ«tijas, noteikti datu tipi un kÄrtulas atslÄgas statuss, kas nosaka attiecÄ«bas starp datiem.
PÄc tam LoÄ£isko datu modeli salÄ«dzina ar iepriekÅ” izvÄlÄto DBVS (datu bÄzes pÄrvaldÄ«bas sistÄmas) platformu un iegÅ«st fizisko modeli. Tas apraksta, kÄ dati tiek fiziski uzglabÄti.
4. Izmantojiet pareizos datu tipus
Nepareiza datu veida izmantoÅ”ana var radÄ«t mazÄk precÄ«zus datus, grÅ«tÄ«bas savienot tabulas, grÅ«tÄ«bas sinhronizÄt atribÅ«tus un palielinÄts failu lielums.
Lai nodroÅ”inÄtu informÄcijas integritÄti, atribÅ«tÄ ir jÄietver tikai tam pieÅemami datu tipi. Ja datu bÄzÄ ir ievadÄ«ts vecums, pÄrliecinieties, ka kolonnÄ tiek saglabÄti veseli skaitļi, kas nepÄrsniedz 3 ciparus.
Izveidojiet vismaz tukÅ”u kolonnu ar NULL vÄrtÄ«bu. Ja visas kolonnas veidojat kÄ NULL, tÄ ir liela kļūda. Ja konkrÄtas biznesa funkcijas veikÅ”anai nepiecieÅ”ama tukÅ”a kolonna, kad dati nav zinÄmi vai tiem vÄl nav jÄgas, tad droÅ”i izveidojiet to. Galu galÄ mÄs nevaram iepriekÅ” aizpildÄ«t ailes āNÄves datumsā vai āAtlaiÅ”anas datumsā, mÄs neesam prognozÄtÄji, kas rÄda ar pirkstu uz debesÄ«m :-).
LielÄkÄ daļa modelÄÅ”anas programmatÅ«ras (ER/Studio, MySQL Workbench, SQL DBM, gliffy.
com) dati ļauj izveidot datu reÄ£ionu prototipus. Tas nodroÅ”ina ne tikai pareizu datu tipu, lietojumprogrammu loÄ£iku un labu veiktspÄju, bet arÄ« to, ka vÄrtÄ«ba ir nepiecieÅ”ama.
5. Iet dabiski
Izlemjot, kuru tabulas kolonnu izmantot kÄ atslÄgu, vienmÄr apsveriet, kurus laukus lietotÄjs var rediÄ£Ät. Nekad neizvÄlieties tos kÄ atslÄgu - slikta ideja. Viss var notikt, taÄu jums ir jÄpÄrliecinÄs, ka tas ir unikÄls.
VislabÄk ir izmantot dabisko vai biznesa atslÄgu. Tam ir semantiska nozÄ«me, tÄpÄc jÅ«s izvairÄ«sities no dublÄÅ”anÄs datu bÄzÄ.
Ja vien biznesa atslÄga nav unikÄla (vÄrds, uzvÄrds, amats) un atkÄrtojas dažÄdÄs tabulas rindÄs vai tai ir jÄmainÄs, Ä£enerÄtÄ mÄkslÄ«gÄ atslÄga ir jÄnorÄda kÄ primÄrÄ atslÄga.
6. NormalizÄjiet ar mÄru
Lai efektÄ«vi sakÄrtotu datus datu bÄzÄ, jums ir jÄievÄro vadlÄ«niju kopa un jÄnormalizÄ datu bÄze. Ir jÄievÄro piecas parastÄs formas.
Veicot normalizÄÅ”anu, jÅ«s izvairÄ«sities no dublÄÅ”anas un nodroÅ”inÄsiet lietojumprogrammÄ vai vietnÄ izmantoto datu integritÄti.
KÄ vienmÄr, visam jÄbÅ«t ar mÄru, pat normalizÄÅ”anai. Ja datu bÄzÄ ir pÄrÄk daudz tabulu ar vienÄdÄm unikÄlÄm atslÄgÄm, jÅ«s esat aizrÄvies un pÄrÄk normalizÄjis datubÄzi. PÄrmÄrÄ«ga normalizÄcija negatÄ«vi ietekmÄ datu bÄzes veiktspÄju.
7. PÄrbaudi agri, pÄrbaudi bieži
PÄrbaudes plÄnam un pareizai testÄÅ”anai jÄbÅ«t daļai no datu bÄzes izveides.
LabÄkais veids, kÄ pÄrbaudÄ«t datu bÄzi, ir nepÄrtrauktÄ integrÄcija. ImitÄjiet scenÄriju "dienas datubÄzes dzÄ«vÄ" un pÄrbaudiet, vai tiek apstrÄdÄti visi malas gadÄ«jumi un kÄda ir iespÄjama lietotÄju mijiedarbÄ«ba. Jo ÄtrÄk jÅ«s atradÄ«siet kļūdas, jo vairÄk ietaupÄ«siet gan laiku, gan naudu.
Å ie ir tikai septiÅi padomi, ko varat izmantot, lai izveidotu lielisku produktivitÄtes un efektivitÄtes datubÄzi. Ja ievÄrosit tos, nÄkotnÄ izvairÄ«sities no lielÄkajÄm galvassÄpÄm. Å ie padomi ir tikai aisberga redzamÄ daļa datu bÄzes modelÄÅ”anÄ. Ir milzÄ«gs skaits dzÄ«vÄ«bas hacku. Kurus jÅ«s lietojat?
Avots: www.habr.com