Datu-basearen diseinua. Praktika onenak

Hurrengo fluxua erritmoan hasiko denaren esperoan "Datu-basea" Egilearen material txiki bat prestatu dugu datu-base bat diseinatzeko aholku garrantzitsuekin. Material hau zuretzat erabilgarria izatea espero dugu.

Datu-basearen diseinua. Praktika onenak

Datu-baseak nonahi daude: blog eta direktorio errazenetatik informazio sistema fidagarrietara eta sare sozial handietara. Datu-basea sinplea edo konplexua den ez da hain garrantzitsua, behar bezala diseinatzea baizik. Datu-base bat pentsatu gabe eta helburuaren ulermen argirik gabe diseinatzen denean, ez da eraginkorra izateaz gain, datu-basearekin gehiago lan egitea benetako oinaze bat izango da, erabiltzaileentzat baso penetrezina. Hona hemen datu-baseen diseinurako aholku batzuk, produktu erabilgarria eta erabilerraza sortzen lagunduko dizutenak.

1. Zehaztu zertarako den mahaia eta zein den bere egitura

Datu-basearen diseinua. Praktika onenak

Gaur egun, Scrum edo RAD (Rapid Application Development) bezalako garapen metodoek IT taldeei datu-baseak azkar garatzen laguntzen diete. Hala ere, denboraren bila, tentaldia oso handia da zuzenean oinarri bat eraikitzen murgiltzeko, helburua zein den, azken emaitzak zeintzuk izan behar duten lausoki imajinatuz.
 
Taldea lan eraginkor eta azkarrera bideratuko balu bezala da, baina hau espejismo bat da. Zenbat eta urrunago eta azkarrago murgildu proiektuaren sakontasunean, orduan eta denbora gehiago beharko da datu-basearen diseinuan akatsak identifikatu eta aldatzeko.

Beraz, erabaki behar duzun lehenengo gauza zure datu-basearen helburua definitzea da. Zer aplikazio motatarako garatzen ari den datu-basea? Erabiltzaileak erregistroekin bakarrik lan egingo al du eta transakzioetan arreta jarri beharko du, edo gehiago interesatzen zaio datuen analisia? Non zabaldu behar da oinarria? Bezeroen portaeraren jarraipena egingo al du edo, besterik gabe, bezeroen harremanak kudeatuko ditu? 

Diseinu-taldeak galdera hauei erantzuna ematen dien lehenago, orduan eta leunagoa izango da datu-basearen diseinu-prozesua.

2. Zein datu aukeratu behar ditut gordetzeko?

Datu-basearen diseinua. Praktika onenak

Aurretik planifikatu. Datu-basea diseinatzen ari den gune edo sistemak etorkizunean egingo duenari buruzko gogoetak. Garrantzitsua da zehaztapen teknikoen eskakizun soiletatik haratago joatea. Mesedez, ez hasi erabiltzaile batek gordeko dituen datu mota guztietan pentsatzen. Horren ordez, pentsatu erabiltzaileek mezuak idazteko, dokumentuak edo argazkiak igotzeko edo mezuak trukatzeko gai izango diren. Hori horrela bada, datu-basean lekua esleitu behar diezu.

Etorkizunean diseinu-oinarria onartzen duen talde, sail edo erakundearekin lan egin. Maila ezberdinetako jendearekin komunikatu, bezeroen arretarako espezialistak hasi eta departamentu-buruetaraino. Horrela, feedbackaren laguntzaz, konpainiaren eskakizunen ideia argia izango duzu. 

Ezinbestean, sail bereko erabiltzaileen beharrak gatazkan egongo dira. Honekin topo egiten baduzu, ez izan beldurrik zure esperientzian konfiantza izateko eta alde guztientzat egokitzen den eta datu-basearen azken helburua betetzen duen konpromisoa aurkitu. Lasai: etorkizunean +100500 karma eta galleta mendi bat jasoko dituzu.

3. Datuak arretaz modelatzea

Datu-basearen diseinua. Praktika onenak

Datuak modelatzeko orduan arreta jarri beharreko hainbat puntu gako daude. Lehen esan dugun bezala, datu-basearen helburuak zehazten du zein metodo erabili modelizazioan. Lineako erregistroak prozesatzeko (OLTP) datu-base bat diseinatzen ari bagara, hau da, erregistroak sortzeko, editatzeko eta ezabatzeko, transakzioen eredua erabiltzen dugu. Datu-baseak erlazionala izan behar badu, hobe da dimentsio anitzeko modelizazioa erabiltzea.

Modelatzean, kontzeptuzkoak (CDM), fisikoak (PDM) eta logikoak (LDM) datu-ereduak eraikitzen dira. 

Eredu kontzeptualak entitateak eta barne hartzen dituzten datu motak deskribatzen dituzte, baita haien arteko erlazioak ere. Zatitu zure datuak zati logikoetan - bizitza askoz errazten du.
Gauza nagusia moderazioa da, ez gehiegi egin.

Entitate bat hitz edo esaldi batean sailkatzea oso zaila bada, bada garaia azpimotak (seme-entitateak) erabiltzeko.

Entitate batek bere bizitza darama, bere portaera eta itxura deskribatzen duten atributuak baditu, baita beste objektu batzuekin harremanak ere, orduan segurtasunez erabil dezakezu azpimota bat ez ezik, supertipo bat ere (entitate gurasoa). 

Arau hau alde batera uzten baduzu, beste garatzaile batzuk zure ereduan nahastuko dira eta ez dituzte guztiz ulertuko datuak eta horiek biltzeko arauak.

Eredu kontzeptualak logikoak erabiliz gauzatzen dira. Eredu hauek datu-base fisikoen diseinurako bide-orri gisakoak dira. Eredu logikoan, negozio-datuen entitateak identifikatzen dira, datu-motak zehazten dira eta datuen arteko harremanak arautzen dituen arau-gakoaren egoera zehazten da.

Ondoren, Datu Logikoen Eredua aurrez aukeratutako DBMS (datu-baseak kudeatzeko sistema) plataformarekin alderatzen da eta Eredu Fisiko bat lortzen da. Datuak fisikoki nola gordetzen diren deskribatzen du.

4. Erabili datu-mota egokiak

Datu-basearen diseinua. Praktika onenak

Datu-mota okerrak erabiltzeak datu zehatzak ez izatea, taulak batzeko zailtasunak, atributuak sinkronizatzeko zailtasunak eta fitxategi-tamaina handitzea eragin dezake.
Informazioaren osotasuna bermatzeko, atributu batek onargarriak diren datu-motak soilik izan behar ditu. Adina datu-basean sartzen bada, ziurtatu zutabeak gehienez 3 zifrako osoak gordetzen dituela.

Sortu gutxieneko zutabe hutsak NULL balioarekin. Zutabe guztiak NULL gisa sortzen badituzu, hau akats handia da. Negozio-funtzio zehatz bat betetzeko zutabe huts bat behar baduzu, datuak ezezagunak direnean edo oraindik zentzurik ez dutenean, sortu lasai. Azken finean, ezin ditugu aldez aurretik "Heriotza-data" edo "Kaleratze-data" zutabeak bete; ez gara behatzak zerura seinalatzen dituzten iragarleak :-).

Modelatzeko software gehiena (ER/Studio, MySQL Workbench, SQL DBM, gliffy.com) datuek datu-eskualdeen prototipoak sortzeko aukera ematen dute. Horrek datu-mota zuzena, aplikazio-logika eta errendimendu ona ez ezik, balioa behar dela ziurtatzen du.

5. Joan naturala

Datu-basearen diseinua. Praktika onenak

Taula bateko zein zutabe gako gisa erabili erabakitzerakoan, kontuan hartu beti erabiltzaileak zein eremu edita ditzakeen. Inoiz ez aukeratu gako gisa - ideia txarra. Edozer gerta daiteke, baina bakarra dela ziurtatu behar duzu.

Hobe da gako naturala edo negozioa erabiltzea. Esanahi semantikoa du, beraz, datu-basean bikoizketak saihestuko dituzu. 

Negozioaren gakoa bakarra ez bada (izen-abizenak, kargua) eta taulako errenkada desberdinetan errepikatzen ez bada edo aldatu behar bada, orduan sortutako gako artifiziala gako nagusi gisa izendatu behar da.

6. Normalizatu neurrian

Datu-basearen diseinua. Praktika onenak

Datu-base batean datuak eraginkortasunez antolatzeko, jarraibide multzo bat jarraitu eta datu-basea normalizatu behar duzu. Bost forma normal jarraitu behar dira.
Normalizazioarekin, erredundantzia saihesten duzu eta zure aplikazioan edo gunean erabilitako datuen osotasuna bermatzen duzu.

Beti bezala, dena neurrian izan behar da, baita normalizazioa ere. Datu-basean gako esklusibo berberak dituzten taula gehiegi badaude, datu-basea eraman eta gehiegi normalizatu duzu. Gehiegizko normalizazioak datu-basearen errendimenduari eragiten dio.

7. Probatu goiz, proba maiz

Datu-basearen diseinua. Praktika onenak

Proba-plana eta proba egokiak datu-basearen diseinuaren parte izan behar dira.

Zure datu-basea probatzeko modurik onena etengabeko integrazioa da. Simulatu "datu-base baten bizitzako egun bat" eszenatoki bat eta egiaztatu ertz-kasu guztiak kudeatzen diren eta erabiltzaileen interakzioak zeintzuk diren. Zenbat eta lehenago aurkitu akatsak, orduan eta gehiago aurreztuko duzu denbora eta dirua.

Produktibitate eta eraginkortasun datu-base handi bat diseinatzeko erabil ditzakezun zazpi aholku besterik ez dira hauek. Horiek jarraitzen badituzu, etorkizunean buruhauste gehienak saihestuko dituzu. Aholku hauek datu baseen modelizazioan icebergaren punta besterik ez dira. Bizitzako hack kopuru handia dago. Zeintzuk erabiltzen dituzu?

Iturria: www.habr.com

Gehitu iruzkin berria