Tipos de llaves

Reglas de integridad

Llaves Primarias (clave primaria)

En el diseño de bases de datos relacionales, se llama clave primaria o clave principal a un campo o a una combinación de campos que identifica de forma única a cada fila de una tabla. Una clave primaria comprende de esta manera una columna o conjunto de columnas. No puede haber dos filas en una tabla que tengan la misma clave primaria.

https://es.wikipedia.org/wiki/Clave_primaria

Llaves primarias simples

Primary Keys pueden ser simples (o sea, una sola columna actúa como Primary Key).

create table tipo_documento
(
    sigla            varchar(10) primary key,
    nombre_documento varchar(100),
    estado           varchar(40)
);

Llaves primarias compuestas

Primary Keys pueden ser compuestas (o sea, dos o más columnas actúan como Primary Key).

create table factura(
    anio_factura int,
    numero_factura int,
    total double,
    primary key (anio_factura, numero_factura)
);

Llaves primarias Naturales( business key o domain key)

create table estudiante(
    tipo_documento varchar(10),
    numero_documento varchar(50),
    nombres varchar(200),
    apellidos varchar(200),
    password varchar(256),
    primary key (tipo_documento, numero_documento)
);

Llaves primarias sustitutas(surrogates key o subrogada)

create table estudiante2
(
    id               int auto_increment,      # 4 bytes
    tipo_documento   varchar(10) not null ,             # 11 bytes
    numero_documento varchar(50) not null ,             # 51 bytes
    nombres          varchar(200),
    apellidos        varchar(200),
    password         varchar(256),
    primary key (id),
    unique (tipo_documento, numero_documento) # 62 bytes insert, update
);

Llaves Foráneas

Una llave foránea es una campo que referencia a una llave primaria en otra tabla o la misma

create table curso(
    ficha int,
    cantidad_estudiantes int not null,
    estado varchar(40) not null ,
    primary key (ficha)
);

create table estudiante(
    tipo_documento varchar(10) not null,
    numero_documento varchar(50) not null,
    nombres varchar(200) not null ,
    apellidos varchar(200) not null ,
    password varchar(256) not null ,
    ficha int not null,
    constraint pk_estudiante primary key (tipo_documento, numero_documento),
    constraint fk_curso foreign key (ficha) references curso(ficha)
);

la llave foránea se puede codificar de la siguiente forma

constraint pk_estudiante primary key (tipo_documento, numero_documento)

Última actualización