Busca en nuestra revista

lunes, 3 de octubre de 2016

Llaves: algo más que abrir y cerrar

Las llaves, en el mundo real son objetos que permiten el acceso a lugares y cosas guardados. De forma que solo quienes tienen esa llave pueden ingresar u obtener los objetos. El término llave en computación no dista mucho de este concepto, de hecho por eso se usa ese nombre: llave, aunque en inglés, el término “key” significa, además de llave, clave o tecla.



Para el caso de las bases de datos, hay dos tipos importantes de llaves: las primarias o principales y las foráneas. Las primarias sirven para distinguir un registro de otros, de forma que estos sean únicos (como las llaves en un llavero. Normalmente se tiene una única llave en todo el llavero.) Una llave primaria, en una base de datos puede estar formada por un solo campo (que es el mismo para todos los registros de la tabla) o por varios campos, de forma que la combinación de datos contenidos por estos campos para  todos los registros debe ser única, además de que todos los campos que formal la llave deben tener algún valor, por lo que no se permite el uso de valores NULOs.
Por ejemplo, en páginas de registro de usuarios podría ser una llave primaria el par usuario-contraseña, donde el usuario está en texto plano (puede leerse sin problemas) y la contraseña está encriptada (en posteriores publicaciones trataremos el asunto). Una de las ventajas de tener una llave primaria es la rapidez de acceso a la información, ya que si se hacen búsquedas basadas en esta llave, el base de datos localiza el registro mucho más rápido que si no existiera o no se utilizara. Otra ventaja viene al unirse a una llave foránea.
Una llave foránea es una o más columnas que coinciden en su definición con las que forman a una llave primaria en otra tabla. Esto hace que los registros almacenados en la tabla que tiene la llave foránea tengan relación con los datos almacenados en la tabla principal (la tabla principal, en la relación, se denomina simplemente “independiente”, “maestra”, “padre” o “madre”, mientas que la otra se denomina “dependiente”, “secundaria”, “esclava” o “hija”), de esta forma, obtener datos de la tabla dependiente, a través de un registro en la tabla independiente es mucho más rápido, adicional a esto, se puede obligar a la base de datos para que exista un registro en la tabla padre y que no se puedan eliminar registros de la tabla principal cuando existan registros en la tabla hija que dependan de esta.
Las llaves principal y foránea ayudan a lograr que las bases de datos contengan menos datos repetidos y que la información se mantenga consistente y tenga sentido.
La combinación de llaves define que las relaciones entre las tablas involucradas sean de la siguiente forma:
  • Por cada registro de la tabla principal pueden haber ninguno, uno o muchos registros en la tabla secundaria
  • Por cada registro en la tabla principal SOLO pueda haber UN registro en la tabla secundaria
  • Por cada registro en la tabla principal puedan haber varios registros en la tabla secundaria y TAMBIÉN (complicado de implementar sin uso de tablas extras) por cada registro en la tabla secundaria puede haber varios registros en la tabla primaria
En las siguientes publicaciones se terminará de abordar este tema para seguir con los índices y las vistas
¿Dudas, preguntas y sugerencias? En comentarios (abajo de la publicación) o al correo 
admin@msg-fs.com. No te pierdas nuestros “Twits” en https://twitter.com/MSG_FS y nuestra página en face: https://www.facebook.com/SernaSistemas

No hay comentarios.:

Publicar un comentario