Las claves principales desempeñan un papel importante en las bases de datos relacionales al reforzar la integridad de los datos y permitir una recuperación de datos exitosa. Además, las claves principales pueden ser referenciadas por otro tipo de clave para definir relaciones entre tablas en bases de datos relacionales.
Los ejemplos citados a menudo de claves principales que se encuentran en varias bases de datos incluyen:
Antes de explorar los detalles de las claves principales, es útil comprender los sistemas de bases de datos relacionales y los roles que desempeñan las claves, como las claves principales, dentro del diseño de bases de datos.
Las bases de datos relacionales albergan datos estructurados en varias tablas, con puntos de datos relacionados en diferentes tablas. Dichas bases de datos se gestionan a través de sistemas de gestión de bases de datos relacionales (RDBMS) como IBM Db2, Oracle Database, Microsoft SQL Server y sistemas de bases de datos de código abierto como PostgreSQL y mySQL.
El lenguaje de consulta estructurado (SQL) es un lenguaje de programación común que se utiliza para las interacciones con bases de datos, aunque algunos sistemas de gestión de bases de datos admiten otros lenguajes.
En el contexto de las bases de datos, una clave es una columna o una colección ordenada de columnas que se emplea para identificar filas de datos en una tabla. Las claves ayudan a organizar las bases de datos mostrando relaciones entre tablas relacionadas, identificando registros únicos y garantizando la precisión e integridad de los datos. Estos beneficios soportan consultas exitosas y eficientes de SQL database.
Una clave principal, también conocida como clave principal de SQL, proporciona un identificador único a cada registro asociado con un valor de clave principal. Las características importantes de las claves principales incluyen:
Una clave principal puede ser una columna existente dentro de una sola tabla, en cuyo caso se conoce como clave natural. Sin embargo, a veces no hay una sola columna en la tabla que cumpla la restricción de clave principal, la regla de clave principal que indica que los valores deben ser únicos y no nulos.
En tales circunstancias, puede generar una nueva columna de valores únicos, no derivada de los datos existentes de la tabla, para que sirva de clave principal. Esta clave principal generada artificialmente se conoce como clave sustituta.
Los sistemas de gestión de bases de datos relacionales suelen tener la capacidad de generar valores únicos para una columna, que luego se pueden utilizar como clave sustituta. Un ejemplo es la función de incremento automático de mySQL.
Las claves principales también pueden ser claves compuestas, lo que significa que constan de más de una sola columna de valores.
Las claves principales compuestas (combinaciones únicas de columnas que pueden usar para identificar registros) pueden servir como alternativa a la generación de claves sustitutas. Por ejemplo, una columna de apellidos de clientes podría combinar con una columna que contenga fechas de nacimiento para formar una clave principal compuesta.
SQL admite una variedad de tipos de datos, que van desde marcas de tiempo (representaciones de fechas y horas) hasta varchar (cadenas de caracteres de longitud variable). Pero no todos los tipos de datos son una buena opción para las claves principales.
A menudo se recomienda que las columnas que contienen valores numéricos, especialmente enteros, se utilicen como claves principales, ya que los sistemas de gestión de bases de datos relacionales suelen procesarlas más rápidamente.
Otras claves utilizadas en la gestión de bases de datos incluyen:
Las claves principales son un subconjunto de claves únicas. Las claves únicas siguen lo que se conoce como restricción única: la regla de que los valores de una clave son válidos solo si son únicos. Si bien todas las claves principales son claves únicas, no todas las claves únicas son claves principales. Esto se debe a que, a diferencia de las claves principales, las claves únicas pueden incluir valores nulos.
Las claves candidatas son claves que podrían servir como claves principales porque contienen valores únicos y no valores nulos. La diferencia entre claves principales y claves candidatas es que una tabla existente puede tener varias claves candidatas, pero solo una clave principal.
Las superclaves son similares a las claves principales compuestas en que pueden incluir varias columnas y utilizarse para identificar registros. Sin embargo, las superclaves también pueden incluir más columnas o información de la estrictamente necesaria para identificar de forma única un registro, mientras que las claves principales compuestas no incluyen más columnas o datos de los necesarios.
Una clave externa en una tabla se refiere a una clave principal específica en otra tabla para definir una relación entre las tablas. Por ejemplo, una clave externa en una tabla con información de pedidos de clientes puede hacer referencia a una columna de clave principal de ID de clientes únicos que forma parte de otra tabla que contiene datos de clientes. De esta manera, un pedido de un cliente determinado puede vincularse a información importante sobre ese cliente, como su dirección de correo electrónico y fecha de nacimiento.
Para comprender cómo las claves principales y las claves externas definen las relaciones entre tablas en bases de datos relacionales, es útil considerar las restricciones de integridad referencial.
Las restricciones de integridad referencial, también conocidas como restricciones referenciales o restricciones de clave externa, son reglas que requieren que los valores de clave externa en una tabla coincidan con los valores de clave principal en otra tabla.
Por ejemplo, en una base de datos de empleados, una restricción de integridad referencial puede especificar que cada empleado de la tabla EMPLOYEE debe ser afiliada a un departamento de la compañía existente enumerado en la tabla DEPARTMENT.
En este caso, la clave principal de la tabla DEPARTMENT es una columna que almacena números de departamento únicos, mientras que la clave externa de la tabla EMPLOYEE es una columna que almacena los mismos números de departamento únicos. Estas columnas coincidentes significan que las tablas se adhieren a la restricción de clave externa.
Dado que la tabla DEPARTMENT alberga la clave principal a la que hace referencia la clave externa de la tabla EMPLOYEE, se considera que la clave EMPLOYEE tiene una dependencia de la tabla DEPARTMENT. A su vez, la tabla DEPARTMENT se considera la "tabla principal" en esta relación de tabla.
Las restricciones de integridad referencial pueden bloquear la inserción de datos erróneos en las bases de datos. Estas restricciones, por ejemplo, impedirían que un usuario agregara un registro de empleado a la tabla EMPLEADO (como se muestra a continuación) si el número de departamento de ese registro de empleado no existiera en la TABLA DEPARTAMENTO.
Los sistemas de gestión de bases de datos relacionales pueden crear o requerir la creación de un índice único que corresponda a cada clave principal de la base de datos. En el contexto del diseño de bases de datos, un índice es un conjunto de punteros que hacen referencia a filas de una tabla. Los índices se pueden emplear para mejorar el rendimiento, incluida la optimización de la recuperación de datos.
El modelado de datos proporciona una representación visual de un esquema de base de datos, o un proyecto técnico para las relaciones de datos entre las tablas de una base de datos. Los modelos de datos pueden incluir información sobre las claves principales y las claves externas que se emplean para mantener esas relaciones.
Las sentencias SQL son comandos que se emplean para interactuar con bases de datos relacionales. Bajo la sintaxis SQL, las claves principales para las tablas se pueden asignar o agregar mediante instrucciones CREATE TABLE o ALTER TABLE.
Por ejemplo, considere una declaración CREATE TABLE para una tabla de nombres de empleados llamada EMP utilizando Db2 de IBM. Los nombres de las columnas son ID (para ID de empleado), FIRSTNME y LASTNAME (con máximos de 15 caracteres para cada uno). Cuando se selecciona ID como clave principal, la declaración podría verse así:
En las sentencias ALTER TABLE (para tablas existentes) en Db2, una cláusula empleada para agregar una clave principal es ADD PRIMARY KEY, mientras que las claves foráneas se agregan a través de ADD CONSTRAINT en combinación con una referencia a la tabla principal.
Utilice las soluciones de bases de datos de IBM para satisfacer las distintas necesidades de carga de trabajo en la nube híbrida.
Explore IBM Db2, una base de datos relacional que ofrece alto rendimiento, escalabilidad y fiabilidad para almacenar y gestionar datos estructurados. Está disponible como SaaS en IBM Cloud o para autoalojamiento.
Desbloquee el valor de los datos empresariales con IBM Consulting y cree una organización impulsada por insights que ofrezca ventajas empresariales.