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 exitosa de los mismos. 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 más citados de claves principales que se encuentran en varias bases de datos incluyen:
Antes de explorar las particularidades de las claves principales, es útil comprender los sistemas de bases de datos relacionales y las funciones que desempeñan claves como las primarias 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 utilizado para las interacciones de bases de datos, aunque algunos sistemas de administració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 utilizada para identificar filas de datos en una tabla. Las claves ayudan a organizar las bases de datos mostrando las relaciones entre tablas relacionadas, identificando registros únicos y garantizando la precisión e integridad de los datos. Estos beneficios permiten consultas de base de datos SQL eficaces y exitosas.
Una clave principal, también conocida como clave principal SQL, proporciona un identificador único a cada registro asociado con un valor de clave principal. Entre las características importantes de las claves principales se 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 con la restricción de clave principal, la regla de clave principal de que los valores deben ser únicos y no nulos.
En estas circunstancias, se puede generar una nueva columna de valores únicos, no derivados de los datos existentes de la tabla, para que sirva como clave principal. Esta clave principal generada artificialmente se conoce como clave sustituta.
Los sistemas de gestión de bases de datos relacionales suelen ofrecer la capacidad de generar valores únicos para una columna, que luego pueden utilizarse como clave sustituta, esta característica es una de las capacidades. Un ejemplo es la característica 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 utilizarse para identificar registros, pueden servir como alternativa a la generación de claves sustitutas. Por ejemplo, una columna de apellidos de clientes podría emparejarse 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 la marca 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 primarias.
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 solo son válidos si son únicos. Aunque 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 ningún valor nulo. La diferencia entre claves principales y claves candidatas es que una tabla existente puede tener varias claves candidatas, pero solo una clave primaria.
Las superclaves son similares a las claves principales compuestas en el sentido de 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 hace referencia a una clave primaria 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 este modo, un pedido de un cliente determinado puede estar vinculado a información importante sobre ese cliente, como su dirección de correo electrónico y su 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 de una tabla coincidan con los valores de clave principal de 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 EMPLEADO debe ser miembro de un departamento existente de la empresa enumerado en la tabla DEPARTAMENTO.
En este caso, la clave principal de la tabla DEPARTAMENTO es una columna que almacena números de departamento únicos, mientras que la clave externa de la tabla EMPLEADO 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.
Como la tabla DEPARTAMENTO contiene la clave principal a la que hace referencia la clave externa de la tabla EMPLEADO, se considera que la clave EMPLEADO depende de la tabla DEPARTMENTO. A su vez, la tabla DEPARTAMENTO se considera la “tabla padre” en esta relación de tablas.
Las restricciones de integridad referencial pueden bloquear las inserciones de datos erróneos en las bases de datos. Estas restricciones, por ejemplo, impedirían a un usuario añadir un registro de empleado a la tabla EMPLEADO (como se muestra a continuación) si el número de departamento en ese registro de empleado no existiera en TABLA DE 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 las filas de una tabla. Los índices se pueden utilizar 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 plan de 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 utilizan para mantener esas relaciones.
Las instrucciones SQL son comandos que se utilizan para interactuar con bases de datos relacionales. En la sintaxis SQL, las claves primarias de las tablas pueden asignarse o añadirse mediante las instrucciones CREATE TABLE o ALTER TABLE.
Por ejemplo, considere una instrucción CREATE TABLE para una tabla de nombres de empleados llamada EMP utilizando Db2 de IBM. Los nombres de las columnas son ID (para el ID del empleado), y FIRSTNAME y LASTNAME (con un máximo de 15 caracteres para cada uno). Cuando se selecciona ID como clave principal, la instrucción podría tener este aspecto:
En las instrucciones ALTER TABLE (para tablas existentes) en Db2, una cláusula utilizada para agregar una clave principal es ADD PRIMARY KEY, mientras que las claves externas 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 conocimientos que ofrezca ventajas empresariales.