Disseny de bases de dades. Bones pràctiques

En previsió de l'inici del següent flux al ritme "Base de dades" Hem preparat un petit material d'autor amb consells importants per dissenyar una base de dades. Esperem que aquest material us sigui útil.

Disseny de bases de dades. Bones pràctiques

Les bases de dades estan a tot arreu: des dels blocs i directoris més senzills fins a sistemes d'informació fiables i grans xarxes socials. Que la base de dades sigui simple o complexa no és tan important com és important dissenyar-la correctament. Quan una base de dades es dissenya sense pensar i sense una comprensió clara del propòsit, no només és ineficaç, sinó que el treball posterior amb la base de dades serà un veritable turment, un bosc impenetrable per als usuaris. Aquests són alguns consells de disseny de bases de dades que us ajudaran a crear un producte útil i fàcil d'utilitzar.

1. Determineu per a què serveix la taula i quina és la seva estructura

Disseny de bases de dades. Bones pràctiques

Actualment, els mètodes de desenvolupament com Scrum o RAD (Rapid Application Development) ajuden els equips informàtics a desenvolupar bases de dades ràpidament. Tanmateix, en la recerca del temps, la temptació és molt gran de capbussar-se directament en la construcció d'una base, imaginant vagament quin és l'objectiu en si, quins han de ser els resultats finals.
 
És com si l'equip estigués centrat en un treball eficient i ràpid, però això és un miratge. Com més i més ràpid us submergiu en la profunditat del projecte, més temps es necessitarà identificar i canviar els errors en el disseny de la base de dades.

Per tant, el primer que heu de decidir és definir el propòsit de la vostra base de dades. Per a quin tipus d'aplicació s'està desenvolupant la base de dades? L'usuari només treballarà amb registres i haurà de parar atenció a les transaccions, o està més interessat en l'anàlisi de dades? On s'ha de desplegar la base? Seguirà el comportament dels clients o simplement gestionarà les relacions amb els clients? 

Com més aviat l'equip de disseny respongui aquestes preguntes, més fluid serà el procés de disseny de la base de dades.

2. Quines dades he de triar per a l'emmagatzematge?

Disseny de bases de dades. Bones pràctiques

Planifica amb antelació. Pensaments sobre què farà en el futur el lloc o sistema per al qual s'està dissenyant la base de dades. És important anar més enllà dels simples requisits de les especificacions tècniques. Només si us plau, no comencis a pensar en tots els tipus de dades possibles que un usuari emmagatzemarà mai. En canvi, penseu si els usuaris podran escriure publicacions, penjar documents o fotos o intercanviar missatges. Si aquest és el cas, haureu d'assignar-hi espai a la base de dades.

Treballeu amb l'equip, departament o organització per a la qual es donarà suport a la base de disseny en el futur. Comunicar-se amb persones a diferents nivells, des d'especialistes d'atenció al client fins a caps de departament. D'aquesta manera, amb l'ajuda del feedback, tindreu una idea clara dels requisits de l'empresa. 

Inevitablement, les necessitats dels usuaris fins i tot dins del mateix departament entraran en conflicte. Si us trobeu amb això, no tingueu por de confiar en la vostra pròpia experiència i trobar un compromís que s'adapti a totes les parts i que compleixi l'objectiu final de la base de dades. Estigueu tranquils: en el futur rebràs +100500 de karma i una muntanya de galetes.

3. Modelar les dades amb cura

Disseny de bases de dades. Bones pràctiques

Hi ha diversos punts clau als quals cal prestar atenció a l'hora de modelar dades. Com hem dit anteriorment, el propòsit de la base de dades determina quins mètodes s'han d'utilitzar en el modelatge. Si estem dissenyant una base de dades per al processament de registres en línia (OLTP), és a dir, per crear, editar i eliminar registres, utilitzem el modelatge de transaccions. Si la base de dades ha de ser relacional, el millor és utilitzar modelatge multidimensional.

Durant el modelatge, es construeixen models de dades conceptuals (CDM), físics (PDM) i lògics (LDM). 

Els models conceptuals descriuen les entitats i els tipus de dades que inclouen, així com les relacions entre elles. Dividiu les vostres dades en fragments lògics: us facilita molt la vida.
El més important és la moderació, no us excediu.

Si una entitat és molt difícil de classificar en una paraula o frase, llavors és hora d'utilitzar subtipus (entitats fills).

Si una entitat porta la seva pròpia vida, té atributs que descriuen el seu comportament i la seva aparença, així com les relacions amb altres objectes, podeu utilitzar amb seguretat no només un subtipus, sinó també un supertipus (entitat pare). 

Si descuideu aquesta regla, altres desenvolupadors es confondran amb el vostre model i no entendran completament les dades i les regles sobre com recopilar-les.

Els models conceptuals s'implementen utilitzant els lògics. Aquests models són com un full de ruta per al disseny de bases de dades físiques. En el model lògic, s'identifiquen les entitats de dades empresarials, es determinen els tipus de dades i es determina l'estat de la clau de regla que regeix les relacions entre les dades.

A continuació, es compara el model de dades lògiques amb la plataforma DBMS (sistema de gestió de bases de dades) preseleccionada i s'obté un model físic. Descriu com s'emmagatzemen les dades físicament.

4. Utilitzeu els tipus de dades adequats

Disseny de bases de dades. Bones pràctiques

L'ús d'un tipus de dades incorrecte pot provocar dades menys precises, dificultats per unir taules, dificultats per sincronitzar els atributs i mides de fitxers inflades.
Per garantir la integritat de la informació, un atribut ha de contenir només els tipus de dades que li siguin acceptables. Si s'introdueix l'edat a la base de dades, assegureu-vos que la columna emmagatzema nombres enters d'un màxim de 3 dígits.

Creeu un mínim de columnes buides amb un valor NULL. Si creeu totes les columnes com a NULL, això és un gran error. Si necessiteu una columna buida per realitzar una funció empresarial específica, quan les dades són desconegudes o encara no tenen sentit, no dubteu a crear-la. Al cap i a la fi, no podem omplir les columnes "Data de defunció" o "Data d'acomiadament" per avançat; no som predictors apuntant el cel amb els dits :-).

La majoria del programari de modelatge (ER/Studio, MySQL Workbench, SQL DBM, gliffy.com) data us permet crear prototips de regions de dades. Això garanteix no només el tipus de dades correcte, la lògica de l'aplicació i un bon rendiment, sinó que també es requereix el valor.

5. Anar natural

Disseny de bases de dades. Bones pràctiques

Quan decidiu quina columna d'una taula utilitzareu com a clau, tingueu en compte sempre quins camps pot editar l'usuari. No els trieu mai com a clau, una mala idea. Pot passar qualsevol cosa, però cal assegurar-se que sigui únic.

El millor és utilitzar una clau natural o empresarial. Té un significat semàntic, de manera que evitaràs la duplicació a la base de dades. 

A menys que la clau empresarial sigui única (nom, cognom, posició) i es repeteixi en diferents files de la taula o s'ha de canviar, la clau artificial generada s'ha de designar com a clau primària.

6. Normalitzar amb moderació

Disseny de bases de dades. Bones pràctiques

Per organitzar les dades de manera eficaç en una base de dades, cal seguir un conjunt de directrius i normalitzar la base de dades. Hi ha cinc formes normals a seguir.
Amb la normalització, eviteu la redundància i assegureu la integritat de les dades utilitzades a la vostra aplicació o lloc.

Com sempre, tot hauria de ser amb moderació, fins i tot la normalització. Si hi ha massa taules a la base de dades amb les mateixes claus úniques, aleshores us heu deixat portar i heu sobrenormalitzat la base de dades. Una normalització excessiva afecta negativament el rendiment de la base de dades.

7. Prova d'hora, prova sovint

Disseny de bases de dades. Bones pràctiques

El pla de proves i les proves adequades haurien de formar part del disseny de la base de dades.

La millor manera de provar la vostra base de dades és mitjançant la integració contínua. Simuleu un escenari de "dia a la vida d'una base de dades" i comproveu si es gestionen tots els casos extrems i quines interaccions dels usuaris són probables. Com més aviat trobeu errors, més estalviareu temps i diners.

Aquests són només set consells que podeu utilitzar per dissenyar una gran base de dades de productivitat i eficiència. Si els seguiu, evitareu la majoria de maldecaps en el futur. Aquests consells són només la punta de l'iceberg en el modelatge de bases de dades. Hi ha un gran nombre de trucs de vida. Quins feu servir?

Font: www.habr.com

Afegeix comentari