Restricciones de tabla

Primary Key

Sirve para definir la clave primaria después de las columnas.

 [CONSTRAINT [constraint_name]] PRIMARY KEY [ USING BTREE | HASH ] (index_col_name, ...)
  • La convención que usaremos para estas constraints es pk_{nombreTabla}.

  • Algoritmo: BTREE y HASH.

Ejemplo con clave primaria compuesta

CREATE TABLE Modulo(
    Titulo VARCHAR(10) NOT NULL,
    Curso INT NOT NULL,
    Nombre VARCHAR(30) NOT NULL,
    PRIMARY KEY(Titulo, Curso, Nombre)
);

Índices

Sirve para crear índices en columnas. Los índices se utilizan para optimizar consultas

 INDEX index_name [ USING BTREE | HASH ] (index_col_name, ...)
  • La convención será idx_{nombreTabla}_{columnas}

  • Algoritmo: BTREE y HASH.

Ejemplo

Unique Index

Sirve para establecer unas columnas cuya combinación de valores es única.

  • La convención será idx_{nombreTabla}_{columnas}

  • Algoritmo: BTREE y HASH.

Ejemplo

Checks

Permite realizar ciertas comprobaciones simples sobre los datos de la tabla. Si un check hace referencia únicamente a una columna, se puede indicar inline en su propia definición:

Otra sintaxis alternativa es incluir los checks después de las definiciones de las columnas:

Un check puede referirse a varias columnas, en cuyo caso es obligarotio poner esta comprobación al final, no inline:

Se pueden hacer expresiones un poco más complejas, por ejemplo:

Last updated