Disinn tad-database. L-aħjar prattiċi

B'antiċipazzjoni tal-bidu tal-fluss li jmiss bir-rata "Database" Ħejjejna materjal żgħir ta’ awtur b’suġġerimenti importanti għat-tfassil ta’ database. Nittamaw li dan il-materjal ikun utli għalik.

Disinn tad-database. L-aħjar prattiċi

Id-databases jinsabu kullimkien: mill-aktar blogs u direttorji sempliċi għal sistemi ta’ informazzjoni affidabbli u netwerks soċjali kbar. Jekk id-database hijiex sempliċi jew kumplessa mhux daqshekk importanti daqskemm huwa importanti li tiddisinjaha b'mod korrett. Meta database hija mfassla bla ħsieb u mingħajr fehim ċar ta 'l-iskop, mhux biss huwa ineffettiv, iżda aktar xogħol mad-database se jkun torment reali, foresta impenetrabbli għall-utenti. Hawn huma xi suġġerimenti dwar id-disinn tad-database li jgħinuk toħloq prodott utli u faċli biex tużah.

1. Iddetermina għalxiex hija t-tabella u x'inhi l-istruttura tagħha

Disinn tad-database. L-aħjar prattiċi

Illum, metodi ta 'żvilupp bħal Scrum jew RAD (Żvilupp Rapidu ta' Applikazzjoni) jgħinu lit-timijiet tal-IT jiżviluppaw databases malajr. Madankollu, fl-insegwiment taż-żmien, it-tentazzjoni hija kbira ħafna li tgħaddas direttament fil-bini ta 'bażi, timmaġina b'mod vag x'inhu l-għan innifsu, x'għandhom ikunu r-riżultati finali.
 
Qisu t-tim huwa ffukat fuq xogħol effiċjenti u veloċi, iżda dan huwa miraġġ. Iktar ma tgħaddas aktar u malajr fil-fond tal-proġett, aktar se tieħu ħin biex tidentifika u tbiddel l-iżbalji fid-disinn tad-database.

Allura l-ewwel ħaġa li għandek bżonn tiddeċiedi hija li tiddefinixxi l-iskop għad-database tiegħek. Għal liema tip ta' applikazzjoni qed tiġi żviluppata d-database? L-utent se jaħdem biss b'rekords u jeħtieġ li jagħti attenzjoni lit-tranżazzjonijiet, jew huwa aktar interessat fl-analitika tad-dejta? Fejn għandha tiġi skjerata l-bażi? Se jsegwi l-imġieba tal-klijenti jew sempliċement jimmaniġġja r-relazzjonijiet tal-klijenti? 

Aktar ma t-tim tad-disinn iwieġeb dawn il-mistoqsijiet malajr, iktar ikun faċli l-proċess tad-disinn tad-database.

2. Liema data għandi nagħżel għall-ħażna?

Disinn tad-database. L-aħjar prattiċi

Ippjana bil-quddiem. Ħsibijiet dwar x'se jagħmel fil-futur is-sit jew is-sistema li għaliha qed tiġi ddisinjata d-database. Huwa importanti li tmur lil hinn mir-rekwiżiti sempliċi tal-ispeċifikazzjonijiet tekniċi. Biss jekk jogħġbok tibdiex taħseb dwar it-tipi kollha possibbli ta 'data li utent qatt jaħżen. Minflok, aħseb dwar jekk l-utenti humiex se jkunu jistgħu jiktbu postijiet, itellgħu dokumenti jew ritratti, jew jiskambjaw messaġġi. Jekk dan huwa l-każ, allura għandek bżonn talloka spazju għalihom fid-database.

Aħdem mat-tim, dipartiment, jew organizzazzjoni li għalihom il-bażi tad-disinn se tkun appoġġjata fil-futur. Ikkomunika ma 'nies f'livelli differenti, minn speċjalisti tas-servizz tal-konsumatur sa kapijiet ta' dipartimenti. B'dan il-mod, bl-għajnuna ta 'feedback, ikollok idea ċara tar-rekwiżiti tal-kumpanija. 

Inevitabbilment, il-ħtiġijiet tal-utenti fi ħdan anke l-istess dipartiment se jkunu f'kunflitt. Jekk tiltaqa 'ma' dan, tibżax tiddependi fuq l-esperjenza tiegħek stess u ssib kompromess li jaqbel mal-partijiet kollha u li jissodisfa l-għan aħħari tad-database. Kun żgur: fil-futur se tirċievi + 100500 f'karma u muntanja ta 'cookies.

3. Mudell tad-dejta b'attenzjoni

Disinn tad-database. L-aħjar prattiċi

Hemm diversi punti ewlenin li għandek tingħata attenzjoni meta timmudella d-dejta. Kif għidna qabel, l-iskop tad-database jiddetermina liema metodi tuża fl-immudellar. Jekk qed niddisinjaw database għall-ipproċessar tar-rekords onlajn (OLTP), fi kliem ieħor għall-ħolqien, l-editjar u t-tħassir tar-rekords, nużaw l-immudellar tat-tranżazzjonijiet. Jekk id-database trid tkun relazzjonali, allura huwa aħjar li tuża mudellar multidimensjonali.

Waqt l-immudellar, jinbnew mudelli tad-dejta kunċettwali (CDM), fiżiċi (PDM) u loġiċi (LDM). 

Mudelli kunċettwali jiddeskrivu entitajiet u t-tipi ta’ data li jinkludu, kif ukoll ir-relazzjonijiet bejniethom. Aqsam id-dejta tiegħek f'biċċiet loġiċi - tagħmel il-ħajja ħafna aktar faċli.
Il-ħaġa prinċipali hija l-moderazzjoni, ma żżejjed.

Jekk entità hija diffiċli ħafna biex tikklassifika f'kelma jew frażi waħda, allura wasal iż-żmien li tuża sottotipi (entitajiet tfal).

Jekk entità tmexxi l-ħajja tagħha stess, għandha attributi li jiddeskrivu l-imġieba tagħha u d-dehra tagħha, kif ukoll relazzjonijiet ma 'oġġetti oħra, allura tista' tuża b'mod sikur mhux biss sottotip, iżda wkoll supertip (entità ġenitur). 

Jekk tittraskura din ir-regola, żviluppaturi oħra jsiru konfużi fil-mudell tiegħek u mhux se jifhmu bis-sħiħ id-dejta u r-regoli dwar kif tiġborha.

Mudelli kunċettwali huma implimentati bl-użu ta 'dawk loġiċi. Dawn il-mudelli huma bħal pjan direzzjonali għad-disinn tad-database fiżika. Fil-mudell loġiku, l-entitajiet tad-dejta tan-negozju huma identifikati, it-tipi ta 'dejta huma determinati, u l-istatus taċ-ċavetta tar-regola huwa determinat li jirregola r-relazzjonijiet bejn id-dejta.

Imbagħad il-Mudell tad-Dejta Loġika jitqabbel mal-pjattaforma DBMS (sistema ta 'ġestjoni tad-database) magħżula minn qabel u jinkiseb Mudell Fiżiku. Jiddeskrivi kif id-data hija fiżikament maħżuna.

4. Uża t-tipi ta 'dejta t-tajba

Disinn tad-database. L-aħjar prattiċi

L-użu tat-tip ta' dejta ħażin jista' jirriżulta f'dejta inqas preċiża, diffikultajiet biex tgħaqqad it-tabelli, diffikultà fis-sinkronizzazzjoni tal-attributi, u daqsijiet tal-fajl minfuħ.
Biex tiġi żgurata l-integrità tal-informazzjoni, attribut għandu jkun fih biss tipi ta' data li huma aċċettabbli għalih. Jekk l-età tiddaħħal fid-database, kun żgur li l-kolonna taħżen numri interi ta' massimu ta' 3 ċifri.

Oħloq minimu ta 'kolonni vojta b'valur NULL. Jekk toħloq il-kolonni kollha bħala NULL, dan huwa żball kbir. Jekk għandek bżonn kolonna vojta biex twettaq funzjoni tan-negozju speċifika, meta d-dejta mhix magħrufa jew għadha ma tagħmilx sens, imbagħad tħossok liberu li toħloqha. Wara kollox, ma nistgħux nimlew il-kolonni "Data tal-mewt" jew "Data tat-tkeċċija" bil-quddiem; m'aħniex tbassir li nippuntaw subgħajna lejn is-sema :-).

Il-biċċa l-kbira tas-softwer tal-immudellar (ER/Studio, MySQL Workbench, SQL DBM, gliffy.com) id-dejta tippermettilek toħloq prototipi ta 'reġjuni tad-dejta. Dan jiżgura mhux biss it-tip ta 'data korretta, il-loġika tal-applikazzjoni, u prestazzjoni tajba, iżda wkoll li l-valur huwa meħtieġ.

5. Mur naturali

Disinn tad-database. L-aħjar prattiċi

Meta tiddeċiedi liema kolonna f'tabella tuża bħala ċavetta, dejjem ikkunsidra liema oqsma jista' jeditja l-utent. Qatt tagħżel minnhom bħala ċavetta - idea ħażina. Jista 'jiġri xi ħaġa, iżda trid tiżgura li hija unika.

L-aħjar huwa li tuża ċavetta naturali, jew tan-negozju. Għandu tifsira semantika, għalhekk tevita d-duplikazzjoni fid-database. 

Sakemm iċ-ċavetta tan-negozju ma tkunx unika (l-isem, il-kunjom, il-pożizzjoni) u tiġi ripetuta f'ringieli differenti tat-tabella jew trid tinbidel, allura ċ-ċavetta artifiċjali ġġenerata għandha tiġi indikata bħala ċ-ċavetta primarja.

6. Normalizza bil-moderazzjoni

Disinn tad-database. L-aħjar prattiċi

Biex torganizza b'mod effettiv id-data f'database, għandek bżonn issegwi sett ta 'linji gwida u tinnormalizza d-database. Hemm ħames forom normali li għandhom isegwu.
B'normalizzazzjoni, tevita s-sensja u tiżgura l-integrità tad-dejta użata fl-applikazzjoni jew is-sit tiegħek.

Bħal dejjem, kollox għandu jkun fil-moderazzjoni, anke n-normalizzazzjoni. Jekk hemm wisq tabelli fid-dejtabejż bl-istess ċwievet uniċi, allura ttajjar u nnormalizza żżejjed id-dejtabejż. Normalizzazzjoni eċċessiva taffettwa b'mod negattiv il-prestazzjoni tad-database.

7. Ittestja kmieni, ittestja spiss

Disinn tad-database. L-aħjar prattiċi

Il-pjan tat-test u l-ittestjar xieraq għandhom ikunu parti mid-disinn tad-database.

L-aħjar mod biex tittestja d-database tiegħek huwa permezz tal-Integrazzjoni Kontinwa. Issimula xenarju ta' "jum fil-ħajja ta' database" u ċċekkja jekk il-każijiet edge kollha humiex immaniġġjati u x'interazzjonijiet tal-utent huma probabbli. Iktar ma ssib bugs malajr, aktar se tiffranka kemm ħin kif ukoll flus.

Dawn huma biss seba' pariri li tista' tuża biex tfassal database ta' produttività u effiċjenza kbira. Jekk issegwihom, tevita ħafna uġigħ ta 'ras fil-futur. Dawn il-pariri huma biss il-ponta tal-iceberg fl-immudellar tad-database. Hemm numru kbir ta 'hacks tal-ħajja. Liema tuża?

Sors: www.habr.com

Żid kumment