Oblikovanje baze podatkov. Najboljše prakse

V pričakovanju začetka naslednjega toka po stopnji "Baza podatkov" Pripravili smo majhno avtorsko gradivo s pomembnimi nasveti za oblikovanje baze podatkov. Upamo, da vam bo to gradivo koristilo.

Oblikovanje baze podatkov. Najboljše prakse

Podatkovne baze so povsod: od najpreprostejših blogov in imenikov do zanesljivih informacijskih sistemov in velikih družbenih omrežij. Ni tako pomembno, ali je baza preprosta ali kompleksna, pomembno je, da jo pravilno oblikujemo. Ko je baza zasnovana nepremišljeno in brez jasnega razumevanja namena, ni samo neučinkovita, ampak bo nadaljnje delo z bazo za uporabnike prava muka, nepregleden gozd. Tukaj je nekaj nasvetov za načrtovanje zbirke podatkov, ki vam bodo pomagali ustvariti uporaben in za uporabo enostaven izdelek.

1. Ugotovite, čemu je tabela namenjena in kakšna je njena struktura

Oblikovanje baze podatkov. Najboljše prakse

Danes razvojne metode, kot sta Scrum ali RAD (Rapid Application Development), pomagajo ekipam IT pri hitrem razvoju baz podatkov. Toda v pehanju za časom je skušnjava zelo velika, da bi se poglobili naravnost v gradnjo baze, nejasno pa si predstavljamo, kaj je sam cilj, kakšni naj bi bili končni rezultati.
 
Kot da je ekipa osredotočena na učinkovito, hitro delo, a to je privid. Dlje in hitreje ko se poglobite v globino projekta, več časa bo trajalo za prepoznavanje in spreminjanje napak v zasnovi baze podatkov.

Prva stvar, o kateri se morate torej odločiti, je opredelitev namena vaše baze podatkov. Za katero vrsto aplikacije se razvija baza podatkov? Bo uporabnik delal samo z evidencami in bo moral biti pozoren na transakcije ali ga bolj zanima podatkovna analitika? Kje naj bo baza razporejena? Ali bo spremljal vedenje strank ali preprosto upravljal odnose s strankami? 

Prej ko oblikovalska ekipa odgovori na ta vprašanja, bolj gladek bo proces načrtovanja baze podatkov.

2. Katere podatke naj izberem za shranjevanje?

Oblikovanje baze podatkov. Najboljše prakse

Načrtuj vnaprej. Razmišljanje o tem, kaj bo spletno mesto ali sistem, za katerega je zasnovana zbirka podatkov, počel v prihodnosti. Pomembno je preseči preproste zahteve tehničnih specifikacij. Samo prosim, ne začnite razmišljati o vseh možnih vrstah podatkov, ki jih bo uporabnik kdaj shranil. Namesto tega pomislite, ali bodo uporabniki lahko pisali objave, nalagali dokumente ali fotografije ali izmenjevali sporočila. Če je temu tako, jim morate dodeliti prostor v bazi podatkov.

Sodelujte z ekipo, oddelkom ali organizacijo, za katero bo podpora oblikovanja v prihodnosti. Komunicirajte z ljudmi na različnih ravneh, od strokovnjakov za pomoč strankam do vodij oddelkov. Tako boste s pomočjo povratnih informacij dobili jasno predstavo o zahtevah podjetja. 

Neizogibno bodo potrebe uporabnikov znotraj istega oddelka v nasprotju. Če naletite na to, se ne bojte zanesti na lastne izkušnje in najti kompromis, ki ustreza vsem stranem in zadovoljuje končni cilj baze podatkov. Bodite prepričani: v prihodnosti boste prejeli +100500 karme in goro piškotkov.

3. Previdno modelirajte podatke

Oblikovanje baze podatkov. Najboljše prakse

Pri modeliranju podatkov morate biti pozorni na več ključnih točk. Kot smo že povedali, namen baze podatkov določa, katere metode uporabiti pri modeliranju. Če načrtujemo zbirko podatkov za spletno obdelavo zapisov (OLTP), torej za ustvarjanje, urejanje in brisanje zapisov, uporabimo transakcijsko modeliranje. Če mora biti zbirka podatkov relacijska, potem je najbolje uporabiti večdimenzionalno modeliranje.

Med modeliranjem se zgradijo konceptualni (CDM), fizični (PDM) in logični (LDM) podatkovni modeli. 

Konceptualni modeli opisujejo entitete in vrste podatkov, ki jih vključujejo, ter odnose med njimi. Podatke razdelite na logične dele – to močno olajša življenje.
Glavna stvar je zmernost, ne pretiravajte.

Če je entiteto zelo težko razvrstiti v eno besedo ali besedno zvezo, potem je čas za uporabo podtipov (otroških entitet).

Če entiteta živi svoje življenje, ima atribute, ki opisujejo njeno vedenje in videz ter odnose z drugimi predmeti, potem lahko varno uporabite ne le podtip, ampak tudi nadtip (nadrejena entiteta). 

Če zanemarite to pravilo, bodo drugi razvijalci postali zmedeni glede vašega modela in ne bodo popolnoma razumeli podatkov in pravil, kako jih zbirati.

Konceptualni modeli se izvajajo z uporabo logičnih. Ti modeli so kot zemljevid za načrtovanje fizične baze podatkov. V logičnem modelu so identificirane poslovne podatkovne entitete, določeni tipi podatkov in status ključa pravila, ki ureja relacije med podatki.

Nato se logični podatkovni model primerja s predhodno izbrano platformo DBMS (sistem za upravljanje baz podatkov) in dobi se fizični model. Opisuje, kako so podatki fizično shranjeni.

4. Uporabite prave vrste podatkov

Oblikovanje baze podatkov. Najboljše prakse

Uporaba napačne podatkovne vrste lahko povzroči manj natančne podatke, težave pri združevanju tabel, težave pri sinhronizaciji atributov in napihnjene velikosti datotek.
Da bi zagotovili celovitost informacij, mora atribut vsebovati samo vrste podatkov, ki so zanj sprejemljivi. Če je starost vnesena v zbirko podatkov, zagotovite, da so v stolpcu shranjena cela števila z največ 3 mesti.

Ustvarite najmanj praznih stolpcev z vrednostjo NULL. Če ustvarite vse stolpce kot NULL, je to velika napaka. Če potrebujete prazen stolpec za izvajanje določene poslovne funkcije, ko podatki niso znani ali še nimajo smisla, ga lahko ustvarite. Navsezadnje ne moremo vnaprej izpolniti stolpcev "Datum smrti" ali "Datum odpusta", nismo napovedovalci, ki kažejo s prstom v nebo :-).

Večina programske opreme za modeliranje (ER/Studio, MySQL Workbench, SQL DBM, gliffy.com) data vam omogoča ustvarjanje prototipov podatkovnih regij. To zagotavlja ne samo pravilen tip podatkov, logiko aplikacije in dobro delovanje, ampak tudi, da je zahtevana vrednost.

5. Bodite naravni

Oblikovanje baze podatkov. Najboljše prakse

Ko se odločate, kateri stolpec v tabeli boste uporabili kot ključ, vedno upoštevajte, katera polja lahko uporabnik ureja. Nikoli jih ne izberite kot ključ - slaba ideja. Karkoli se lahko zgodi, vendar morate zagotoviti, da je edinstveno.

Najbolje je uporabiti naravni ali poslovni ključ. Ima pomenski pomen, zato se boste izognili podvajanju v bazi podatkov. 

Razen če je poslovni ključ edinstven (ime, priimek, položaj) in se ponavlja v različnih vrsticah tabele ali se mora spremeniti, je treba generirani umetni ključ označiti kot primarni ključ.

6. Normalizirajte zmerno

Oblikovanje baze podatkov. Najboljše prakse

Če želite učinkovito organizirati podatke v zbirki podatkov, morate slediti nizu smernic in normalizirati zbirko podatkov. Slediti je pet običajnih oblik.
Z normalizacijo se izognete redundanci in zagotovite celovitost podatkov, uporabljenih v vaši aplikaciji ali na spletnem mestu.

Kot vedno naj bo vse zmerno, tudi normalizacija. Če je v zbirki podatkov preveč tabel z enakimi edinstvenimi ključi, vas je zaneslo in preveč normalizirali zbirko podatkov. Prekomerna normalizacija negativno vpliva na zmogljivost baze podatkov.

7. Testirajte zgodaj, testirajte pogosto

Oblikovanje baze podatkov. Najboljše prakse

Načrt testiranja in ustrezno testiranje bi morala biti del zasnove baze podatkov.

Najboljši način za testiranje vaše podatkovne baze je neprekinjena integracija. Simulirajte scenarij »dan v življenju baze podatkov« in preverite, ali so obravnavani vsi robni primeri in kakšne interakcije uporabnikov so verjetne. Prej ko odkrijete hrošče, več boste prihranili tako časa kot denarja.

To je le sedem nasvetov, ki jih lahko uporabite za oblikovanje odlične baze podatkov o produktivnosti in učinkovitosti. Če jih boste upoštevali, se boste v prihodnosti izognili večini preglavic. Ti nasveti so le vrh ledene gore pri modeliranju baz podatkov. Obstaja ogromno življenjskih trikov. Katere uporabljate?

Vir: www.habr.com

Dodaj komentar