Claus bàsiques que faciliten la gestió de bases de dades

Les claus de la base de dades són la forma més senzilla de crear una base de dades relacional eficient

Com ja sabeu, les bases de dades utilitzen taules per organitzar la informació. (Si no teniu una familiaritat bàsica amb els conceptes de la base de dades, llegiu Què és una base de dades? ). Cada taula consta d'una sèrie de files, cadascuna de les quals correspon a un únic registre de base de dades. Llavors, com es mantenen les bases de dades directament tots aquests registres? És a través de l'ús de claus.

Claus primàries

El primer tipus de clau que tractarem és la clau principal . Cada taula de la base de dades ha de tenir una o més columnes designades com a clau principal . El valor que conté aquesta clau ha de ser únic per a cada registre de la base de dades.

Per exemple, suposem que tenim una taula anomenada Empleats que conté informació de personal per a cada empleat de la nostra empresa. Hem de seleccionar una clau principal adequada que identifiqui de forma exclusiva cada empleat. El primer pensament podria ser utilitzar el nom de l'empleat. Això no funcionaria molt bé perquè és concebible que contracteu dos empleats amb el mateix nom. Una millor opció pot ser utilitzar un número únic d'identificació d'empleat que assigneu a cada empleat quan hagueu contractat. Algunes organitzacions opten per utilitzar els números de la Seguretat Social (o identificadors governamentals similars) per a aquesta tasca ja que cada empleat ja té un i se'ls garanteix que són únics. Tanmateix, l'ús dels números de la Seguretat Social per a aquest propòsit és altament controvertit a causa de les preocupacions sobre la privadesa. (Si treballa per a una organització governamental, la utilització d'un número de la Seguretat Social pot ser fins i tot il·legal segons la Llei de privadesa de 1974.) Per aquest motiu, la majoria de les organitzacions s'han desplaçat a l'ús d'identificadors únics (ID d'empleat, ID d'estudiant, etc. ) que no comparteixen aquestes preocupacions sobre la privadesa.

Una vegada que decideixi sobre una clau primària i configureu la base de dades, el sistema de gestió de bases de dades farà valer la unicitat de la clau.

Si intenta inserir un registre en una taula amb una clau principal que duplica un registre existent, la inserció fallarà.

La majoria de bases de dades també són capaços de generar les seves claus principals. Microsoft Access, per exemple, es pot configurar per utilitzar el tipus de dades AutoNumber per assignar una ID única a cada registre de la taula. Tot i que és eficaç, es tracta d'una mala pràctica de disseny perquè us deixa un valor sense sentit en cada registre de la taula. Per què no utilitzar aquest espai per emmagatzemar alguna cosa útil?

Tecles Estrangeres

L'altre tipus és la clau externa , que s'utilitza per crear relacions entre taules. Les relacions naturals existeixen entre taules en la majoria d'estructures de bases de dades. Tornant a la base de dades dels nostres empleats, imagineu que volíem afegir una taula que contingués informació departamental a la base de dades. Aquesta nova taula es pot anomenar Departaments i contindria una gran quantitat d'informació sobre el departament en general. També volem incloure informació sobre els empleats del departament, però seria redundant tenir la mateixa informació en dues taules (empleats i departaments). En canvi, podem crear una relació entre les dues taules.

Suposem que la taula de departaments utilitza la columna Nom del departament com a clau principal. Per crear una relació entre les dues taules, afegirem una nova columna a la taula d'empleats anomenada Departament. A continuació, omplim el nom del departament al qual pertany cada empleat. També informem al sistema de gestió de bases de dades que la columna del Departament a la taula d'empleats és una clau externa que fa referència a la taula de departaments.

La base de dades aplicarà la integritat referencial assegurant que tots els valors de la columna Departaments de la taula d'empleats tinguin entrades corresponents a la taula de departaments.

Tingueu en compte que no hi ha cap restricció d'unicitat per a una clau externa. Podem (i molt probablement ho fem) tenir més d'un empleat que pertany a un únic departament. De la mateixa manera, no hi ha cap requisit que una entrada a la taula de departaments tingui una entrada corresponent a la taula d'empleats. És possible que tinguem un departament sense empleats.

Per obtenir més informació sobre aquest tema, llegiu Creant tecles estrangeres .