Vai es varu normalizēt manu datubāzi?

Normalizācija reālajā pasaulē

Datu bāzes normalizēšana ir viena no svētajām pieteikumu izstrādes govīm. Katrs jūsu veiktais bakalaura studiju plānošanas kurss vai grāmata, iespējams, izskaidro datu bāžu normalizācijas nozīmi.

Ir pienācis laiks apstrīdēt šo truismu. Dažreiz ir pareizi denormalizēt savu datubāzi!

Kad vajadzētu normalizēt?

Datu bāzes normalizēšana aizsargā jūsu datu integritāti. Daudzos gadījumos tā ir lieliska ideja, un jums vajadzētu sākt jebkuru datu bāzu projektēšanu, cenšoties to normalizēt prātā. Ja jūs varat normalizēt savu datubāzi, dodieties uz to! Patiesībā, šeit ir daži praktiski padomi par to, kā normalizēt datubāzi šajā vietnē:

Apakšējā līnija ir tā, ka jums vajadzētu normalizēt savu datubāzi, ja vien jums nav īsti pamatota iemesla to nedarīt. Normalizēšana parasti ir skaņas dizaina prakse. Tas samazina lieko informāciju, optimizē veiktspēju un mazina iespēju, ka jums būs datu integritātes problēmas, kas rodas, ja vienādi dati ir bloķēti dažādos datubāzes stūros.

Daži labie iemesli, kas nav normalizējami

Tas nozīmē, ka ir daži iemesli, kāpēc jūsu datubāze nav normalizēta. Apskatīsim dažus:

  1. Savienojumi ir dārgi . Normējot datubāzi bieži vien ir jāizveido daudz tabulu. Patiesībā, jūs varat viegli pabeigt ar to, kas, jūsuprāt, vajadzētu būt vienkāršs vaicājums, kas aptver piecas vai desmit tabulas. Ja jūs kādreiz esat mēģinājis pievienoties pieciem galdiem, jūs zināt, ka tas darbojas principā, bet praksē tas praktiski palēninās. Ja veidojat tīmekļa lietojumprogrammu, kas balstīta uz vairākkārtēju pievienošanos lielu tabulu vaicājumiem, jūs domājat: "Ja tikai šī datubāze nav normalizēta!" Kad jūs dzirdat šo domu galvu, ir pienācis laiks apsveriet denormalizāciju. Ja jūs varat pielīmēt visus datus, ko izmanto šis vaicājums, vienā tabulā, neatgriezeniski apdraudot datu integritāti, dodieties uz to! Esi nemiernieku un denormalizējiet savu datubāzi. Jūs neatskatīsieties atpakaļ!
  2. Normalizēta konstrukcija ir sarežģīta . Ja strādājat ar sarežģītu datu bāzu shēmu , jūs, iespējams, atradīsit sev galvu pret tabulu, pārsniedzot normalizācijas sarežģītību. Kā vienkāršs īkšķis, ja jūs visu dienu pavadat, cenšoties noskaidrot, kā pāriet uz ceturto parasto formu, jūs, iespējams, normalizējat pārāk tālu. Atverieties un uzdodiet sev jautājumu, vai tas patiešām ir vērts turpināt.
  1. Ātri un netīri jābūt ātri un netīriem . Ja jūs vienkārši izstrādājat prototipu, vienkārši dariet visu, kas ātri darbojas. Tiešām. Ir labi. Ātrā lietojumprogrammu izstrāde dažreiz ir svarīgāka nekā elegants dizains. Vienkārši atcerieties doties atpakaļ un uzmanīgi apskatīt savu dizainu, kad esat gatavs iziet ārpus prototipēšanas posma. Cena, ko jūs maksājat par ātru un netīru datu bāzes izstrādi, ir tāda, ka, iespējams, būs jāizmet to prom un jāsāk no jauna, kad ir pienācis laiks ražot.
  2. Ja izmantojat NoSQL datubāzi , tradicionālā normalizācija nav vēlama. Tā vietā, izstrādājiet savu datubāzi, izmantojot BASE modeli, kas ir daudz piedauzīgāks. Tas ir noderīgi, ja uzglabājat nestrukturētus datus, piemēram, e-pastus, attēlus vai videoklipus.

Daži piesardzības vārdi

Datu bāzes normalizēšana parasti ir laba ideja. Jums vajadzētu mēģināt ievērot normēšanas principus, kad tas ir lietderīgi to darīt. Bet, ja visi rādītāji norāda uz to, ka normalizācija ir pārāk sarežģīta, lai īstenotu, apsveriet pieeju, kas veiks darbu, vienlaikus aizsargājot jūsu datus.

Visbeidzot, ja jūs izvēlaties novirzīties no normēšanas noteikumiem, esiet piesardzīgs par to, kā jūs izpildāt datu bāzes integritāti. Ja uzglabāt lieku informāciju, ielieciet trigerus un citus kontroles mehānismus, lai pārliecinātos, ka informācija paliek nemainīga.