stringtranslate.com

Llave unica

En los sistemas de gestión de bases de datos relacionales , una clave única es una clave candidata . Todas las claves candidatas de una relación pueden identificar de forma única los registros de la relación, pero sólo una de ellas se utiliza como clave principal de la relación. Las claves candidatas restantes se denominan claves únicas porque pueden identificar de forma única un registro en una relación. Las claves únicas pueden constar de varias columnas. Las claves únicas también se denominan claves alternativas . Las claves únicas son una alternativa a la clave principal de la relación. En SQL, las claves únicas tienen asignada una UNIQUE restricción para evitar duplicados (una entrada duplicada no es válida en una columna única). Las claves alternativas se pueden usar como clave principal al realizar una selección de una sola tabla o al filtrar en una cláusula donde , pero normalmente no se usan para unir varias tablas.

Resumen

Las claves proporcionan los medios para que los usuarios de bases de datos y el software de aplicación identifiquen, accedan y actualicen información en una tabla de base de datos. Puede haber varias claves en una tabla determinada. Por ejemplo, en una tabla de empleados, tanto el número de empleado como el nombre de inicio de sesión son individualmente únicos. La aplicación de una restricción clave (es decir, una restricción de unicidad) en una tabla también es una característica de integridad de los datos de la base de datos. El DBMS evita actualizaciones que provocarían valores clave duplicados y, por lo tanto, garantiza que las tablas siempre cumplan con las reglas deseadas de unicidad. Por lo tanto, la selección adecuada de claves al diseñar una base de datos es un aspecto importante de la integridad de la base de datos.

Una tabla de base de datos relacional puede tener una o más claves únicas disponibles (formalmente denominadas claves candidatas ). Una de esas claves por tabla puede designarse como clave principal ; otras claves se denominan claves alternativas .

Cualquier clave puede constar de uno o más atributos. Por ejemplo, un número de seguro social podría ser una clave de atributo único para un empleado; una combinación de número de vuelo y fecha podría ser una clave que consta de dos atributos para un vuelo programado.

Hay varios tipos de claves utilizadas en el modelado y las implementaciones de bases de datos.

En la definición más básica, "una clave es un identificador único", [1] por lo que la clave única es un pleonasmo . Las claves que están dentro de su entidad de origen son únicas dentro de esa entidad. Las claves que migran a otra entidad pueden ser únicas o no, según el diseño y cómo se utilizan en la otra tabla. Las claves externas pueden ser la clave principal en otra tabla; por ejemplo, un ID de persona puede convertirse en el ID de empleado en la tabla de empleados. En este caso, EmployeeID es a la vez una clave externa y la clave principal única, lo que significa que las tablas tienen una relación 1:1. En el caso de que la entidad personal contuviera la identificación del padre biológico, no se esperaría que la identificación del padre fuera única porque un padre puede tener más de un hijo.

A continuación se muestra un ejemplo de una clave principal que se convierte en una clave externa en una tabla relacionada. El ID migra de la tabla Autor a la tabla Libro.

Esquema de tabla de autor :  Autor ( DNI , Nombre , Dirección , Nacimiento )   Esquema de la tabla del libro :  Libro ( ISBN , AuthorID , Título , Editorial , Precio )    

Aquí, el ID sirve como clave principal en la tabla 'Autor', pero también el ID de autor sirve como clave externa en la tabla 'Libro'. La clave externa sirve como vínculo y, por lo tanto, como conexión entre las dos tablas relacionadas en esta base de datos de ejemplo.

En una base de datos relacional, una clave candidata identifica de forma única cada fila de valores de datos en una tabla de base de datos. Una clave candidata comprende una sola columna o un conjunto de columnas en una única tabla de base de datos. No hay dos filas o registros de datos distintos en una tabla de base de datos que puedan tener el mismo valor de datos (o combinación de valores de datos) en esas columnas de clave candidatas, ya que no se utilizan valores NULL. Dependiendo de su diseño, una tabla de base de datos puede tener muchas claves candidatas, pero como máximo se puede distinguir una clave candidata como clave principal.

Se aplica una restricción clave al conjunto de tuplas en una tabla en cualquier momento dado. Una clave no es necesariamente un identificador único en la población de todas las instancias posibles de tuplas que podrían almacenarse en una tabla, pero implica una regla de integridad de datos que no debe permitir duplicados en la tabla de la base de datos. Algunos posibles ejemplos de claves son los números de seguridad social , los ISBN , los números de matrícula de vehículos o los nombres de inicio de sesión de los usuarios.

En principio, cualquier clave puede estar referenciada por claves externas. Algunos DBMS SQL solo permiten una restricción de clave externa contra una clave primaria, pero la mayoría de los sistemas permitirán que una restricción de clave externa haga referencia a cualquier clave de una tabla.

Definición de claves en SQL

La definición de claves en SQL:

 ALTER TABLE < identificador de tabla > ADD [ CONSTRAINT < identificador de restricción > ] { CLAVE PRIMARIA | ÚNICO } ( < nombre de columna > [ { , < nombre de columna > } ... ] )                          

Asimismo, las claves se pueden definir como parte de la CREATE TABLEdeclaración SQL.

 CREAR TABLA nombre_tabla ( id_col INT , col2 CARÁCTER VARIABLE ( 20 ), key_col SMALLINT NOT NULL , ... RESTRICCIÓN key_unique ÚNICO ( key_col ), ... )                  
 CREAR TABLA nombre_tabla ( id_col INT CLAVE PRIMARIA , col2 CARÁCTER VARIABLE ( 20 ), ... key_col PEQUEÑO NO NULO ÚNICO , ... )                  

Diferencias entre restricción de clave primaria y restricción única

Restricción de clave primaria

  1. Una clave principal no puede permitir valores nulos (no se puede definir una clave principal en columnas que permitan valores nulos).
  2. Cada tabla no puede tener más de una clave principal.
  3. En algunos RDBMS, una clave primaria genera un índice agrupado de forma predeterminada.

Restricción única

  1. Se puede definir una restricción única en las columnas que permiten valores nulos, en cuyo caso las filas que incluyen valores nulos pueden no ser realmente únicas en el conjunto de columnas definidas por la restricción.
  2. Cada tabla puede tener múltiples restricciones únicas.
  3. En algunos RDBMS, una restricción única genera un índice no agrupado de forma predeterminada.

Tenga en cuenta que, a diferencia de la restricción PRIMARY KEY, una restricción UNIQUE no implica NOT NULL para las columnas que participan en la restricción. Se debe especificar NOT NULL para convertir las columnas en una clave. Es posible imponer restricciones ÚNICAS en columnas que aceptan valores NULL, pero el estándar SQL establece que la restricción no garantiza la unicidad de las columnas que aceptan valores NULL (la unicidad no se aplica a las filas en las que alguna de las columnas contiene un valor NULL).

Según el estándar SQL [2], una restricción única no impone la unicidad en presencia de valores nulos y, por lo tanto, puede contener varias filas con combinaciones idénticas de valores nulos y no nulos; sin embargo, no todos los RDBMS implementan esta característica según el estándar SQL. [3] [4]

Ver también

Referencias

  1. ^ Awad, Elias (1985), Análisis y diseño de sistemas, segunda edición , Richard D. Irwin, Inc., ISBN 0-256-02824-9
  2. ^ Resumen de ANSI/ISO/IEC SQL Archivado el 25 de abril de 2012 en Wayback Machine.
  3. ^ "Restricciones - Material de referencia de la base de datos SQL - Aprenda SQL, lea un manual de SQL, siga un tutorial de SQL o aprenda a estructurar una consulta SQL". www.sql.org . Consultado el 16 de agosto de 2018 .
  4. ^ "Comparación de diferentes implementaciones de SQL". troels.arvin.dk . Consultado el 16 de agosto de 2018 .

enlaces externos