La importancia de una clave principal

Por steven lacher
La importancia de una clave principal
blueprint image by Igor Zhorov from Fotolia.com

Los sistemas de bases de datos relacionales modernos se utilizan para introducir, organizar e informar sobre todo tipo de datos. Antes de considerar qué tipo de software que puedes utilizar, debes comprender las diversas formas en que los datos podrían ser organizados. En 1978, el Dr. Peter Pin-Shan Chen, del MIT, escribió un papel crucial sobre entender las entidades de datos y las relaciones entre ellos. Uno de los conceptos clave de este modelo "entidad-relación" es el uso de una clave principal.

Bases de datos

Una base de datos no es más que una lista de información. Un elemento individual en una base de datos se llama una entidad o registro. Las entidades pueden referirse a objetos y personas del mundo real, como un producto o un estudiante. También puede hacer referencia a conceptos abstractos, como un evento o una compra. En un sistema relacional, las entidades similares se agrupan juntas en una colección llamada tabla.

Entidades y relaciones

En una base de datos, algunas entidades tienen relaciones con otras entidades. Existen tres diferentes tipos principales de relaciones en el modelo del Dr. Chen: el uno-a-uno, el uno-a-muchos y muchos-a-muchos. Por ejemplo, una clase puede reunirse en un salón en particular de una lista de aulas. Sin embargo, esa clase tiene muchos estudiantes. Cada uno de los estudiantes a su vez, está inscrito en muchas clases diferentes.

Tipos de claves

Lo que conecta cada una de estas tablas de entidades es el uso de claves. Las claves identifican registros para formar relaciones. Una clave "primaria" en un registro de la tabla identifica ese registro. Cuando se utiliza esta clave como valor del campo en un registro en una tabla diferente, se conoce como una tabla de registros de clases que puede contener los siguientes campos, por ejemplo, "la clave externa": un número de registro de identificación o ID, un número de ID de estudiante y un número de ID de clase. El carné de estudiante y el ID de clase en tal caso serían claves externas utilizadas para atar ese registro de inscripción de nuevo a un estudiante individual o clase en su propia tabla separada. Sin teclas, estas relaciones no se pueden mantener.

Restricciones de una clave principal

Hay reglas específicas para designar una pieza individual de información, o campo, como clave principal. Las claves principales siempre deben contener un valor. Ellas no pueden estar vacías. Las claves primarias deben ser únicas dentro de la tabla de esa entidad. Los valores de clave principal no deben cambiar. Todas estas normas son, por razones prácticas, de sentido común. Por ejemplo, una tabla de los estudiantes de una escuela podría contener muchos estudiantes diferentes llamados "Juan Gonzalez". En este caso, un nombre no sería una buena opción para una clave principal, ya que sería imposible distinguir únicamente cuál "Juan Gonzalez" buscas. Una mejor práctica es tener un número único de identificación generado por el sistema, creado en el momento que el registro se introduce.

Beneficios

Utilizando el modelo de entidad-relación, seleccionar las claves principales, establecer claves externas y disponer la estructura general de su base de datos en una serie de diagramas entidad-relación son ciertamente procesos difíciles. Hacer este trabajo antes de tiempo te proporciona un modelo lógico para comenzar realmente a crear tu base de datos en el paquete de software de tu elección.

Las bases de datos construidas usando la técnica de diagramas ER, y las que utilizan las claves principales para establecer relaciones, son mucho más propensas a contar los datos de forma precisa y eficiente. En el ejemplo anterior de una base de datos de registro de estudiantes, una pequeña tabla con los registros de inscripción está muy bien organizada, usando menos espacio que repetir alguno de los elementos de campo de otras tablas y hace la entrada más sencilla para el usuario final, lo que les permite elegir selecciones de otras tablas por ID.