Datu bāzes dizains. Labākā prakse

Sagaidot nākamās plÅ«smas sākumu ar ātrumu "Datu bāze" Esam sagatavojuÅ”i nelielu autora materiālu ar svarÄ«giem padomiem datu bāzes veidoÅ”anai. Mēs ceram, ka Å”is materiāls jums bÅ«s noderÄ«gs.

Datu bāzes dizains. Labākā prakse

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

Datu bāzes dizains. Labākā prakse

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?

Datu bāzes dizains. Labākā prakse

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

Datu bāzes dizains. Labākā prakse

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

Datu bāzes dizains. Labākā prakse

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

Datu bāzes dizains. Labākā prakse

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

Datu bāzes dizains. Labākā prakse

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

Datu bāzes dizains. Labākā prakse

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

Pievieno komentāru