• Saltar a la navegación principal
  • Saltar al contenido principal

DBA dixit

Recursos en línea 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

08/01/2021 by DBA

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

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

Copyright © 2023 · Wellness Pro on Genesis Framework · WordPress · Acceder