Disseny per principiants informatica

Solo disponible en BuenasTareas
  • Páginas : 6 (1405 palabras )
  • Descarga(s) : 4
  • Publicado : 1 de marzo de 2010
Leer documento completo
Vista previa del texto
Un cas pràctic i intuïtiu de disseny de bases de dades (adreçat a principiants)

El tema de disseny de bases de dades, està basat en una sèrie de regles que més que indicar-nos com dissenyar, ens indiquen el que cal evitar. Per un principiant es molt difícil desenvolupar un projecte a partir de regles restrictives. En aquest exemple intentarem aconseguir un bon disseny d’un cas realsimplificat, a partir d’un model inicial deficient.

Imaginem que intentem definir una base de dades d’una petita empresa que ven productes a clients i vol guardar les dades de cada transacció realitzada. Insistim que la primera aproximació que mostrarem, seria pròpia d’una persona amb nivell zero de disseny que ni tan sol sap que una base de dades està formada per un conjunt de taules i que aquestes espoden relacionar entre si.
El model que mostrarem, es el típic lloc de venda que emet factura amb dades del client i per tant no s’ajusta al model de botiga en la que es ven, sense demanar dades del comprador. (Es important que el disseny s’adapti al model de negoci i no a la inversa!)

Per aquest principiant el següent model, podria semblar satisfactori (restringim el número de camps per nocomplicar l’exemple).

Una primer model amb una sola taula (molt llunyà de la correcció...)

|Data |Hora |Venedor |
|Codi_client|
|Codi_factura |Codi_client |Codi_producte |Quantitat |Data |Hora |Venedor | |
| | || | | | | |
| | | | | | | | |

En aquest segon exemple disposem d’unataula de clients (amb dades força estables), d’una de productes (que també imaginarem estable) i de la tercera taula de vendes que cal imaginar que augmenta de files contínuament. Les dues primeres taules les podem considerar correctes per un primer intent de disseny (tot i que es evident que falten camps com cognom del client, el seu NIF, el telèfon, etc.)

Però la tercera taula de VENDES, torna apresentar defectes importants. Imaginem el cas freqüent de que arriba un client i compra més d’un producte, que cal introduir en una mateixa factura. En aquest cas ens trobaríem que si un client ens compra en una mateixa visita 5 productes, cal repetir el codi factura en 5 línies, la data en 5 línies i l’hora també. Aquest inconvenient complica la feina, pot donar lloc a errades i siaprofundíssim en el tema de disseny, veuríem que viola regles concretes de disseny.

Un tercer model quasi real

Deixaríem les taules DADES CLIENTS i DADES PRODUCTES com a valides i dividirem la taula de VENDES en dues taules. Una que contindrà les dades de la factura (Codi_Factura, Codi_Client, Data, Hora, Venedor) i una segona taula que denominarem DETALLS que conté els camps Codi_producte i Quantitat itambé el Codi_Factura. A continuació il·lustrem com s’omplirien les dues taules, si introduïm dues factures (de 2 productes i de 3 la segona).

|FACTURA | |DETALLS de la factura |

Codi_factura |Codi_client |Data...
tracking img