• Saltar a la navegación principal
  • Saltar al contenido principal
  • Saltar a la barra lateral principal
  • Skip to footer

DBA dixit

Recursos para el administrador y el desarrollador de bases de datos

  • Lo básico
  • SQL
  • Administración
  • Herramientas
  • Buenas prácticas
  • Performance & Tuning
Usted está aquí: Inicio / Lo básico / Llaves secundarias

Llaves secundarias

Las llaves secundarias son aquellas llaves candidatas que no se eligieron como llave primaria, es decir, tienen todas las características para ser claves primarias (le dan unicidad al registro), pero que por alguna razón no fueron tomadas como tal debido a que hubo otra que cumplía mejor con ese objetivo (ta y como se vió en el artículo de las llaves primarias)

Cuando se escoge, dentro de las llaves candidatas, a la que se quedará como llave primaria, las demás, por tanto, son las secundarias. A estas llaves secundarias se configuran dentro de las tablas dándoles la propiedad de UNIQUE y pueden utilizarse como llaves foráneas en otras tablas (aunque lo común es que se utilicen las llaves primarias).

CREATE TABLE peliculas 
(
    clave smallint PRIMARY KEY,     --LLave primaria
    titulo varchar(100) NOT NULL,   --No permite valores nulos
    director varchar (100) NULL,    --Si permite valores nulos
    genero varchar(100) NULL,       --Si permite valores nulos
    anoEstreno   smallint DEFAULT 2000 NULL CHECK (anoEstreno > 1900), --Si permite valores nulos, por default es 2000 y solo permite valores mayores a 1900
    anoGrabacion smallint NULL,     --Si permite valores nulos
    anoEdicion   smallint NULL,     --Si permite valores nulos
    clasificacion varchar(20) NULL DEFAULT 'A', --Si permite valores nulos y el default es 'A'
    protagonistas varchar (300) NULL DEFAULT '',--Si permite valores nulos y el default es una cadena vacía

CONSTRAINT unique_tituloUnico UNIQUE (titulo,anoEstreno)

);

Una vez que se definen como UNIQUE las llaves secundarias, todos los registros de la tabla no podrán tener valores duplicados en dichas claves secundarias (en el ejemplo SQL de arriba, la combinación de campos titulo+anoEstreno será único). No habrá manera de que dos registros tengan valores duplicados en campos UNIQUE.

Publicado en: Buenas prácticas, Lo básico

Barra lateral principal

Categorías

  • Administración (15)
  • Buenas prácticas (16)
  • Herramientas (3)
  • Lo básico (30)
  • Performance & Tuning (13)
  • SQL (37)

Entradas recientes

  • FULL OUTER join
  • Inner join
  • Right join
  • Left Join en SQL
  • Transferir datos de Excel a SQL Server
  • Funciones matemáticas en SQL Server
  • Vistas actualizables en SQL Server
  • Creación, modificación y eliminación de bases de datos
  • Funciones de agregación en SQL
  • Joins en SQL Server

Footer

  • Lo básico
  • SQL
  • Administración
  • Herramientas
  • Buenas prácticas
  • Performance & Tuning

Copyright © 2025 · Acceder