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