Restricciones en MYSQL
Unsigned (UN)
indica que si el campo contiene un numero este no podrá ser negativo, haciendo que sea más óptimo, al tener un menor rango de números. Solo si estas 100% seguro de que no podrá tener negativos.
Zero Filled (ZF)
si el campo es numérico, rellena con 0 todas las posiciones a la izquierda para completar hasta su longitud máxima.
Auto increment (AI)
si el campo es numérico, aumenta en uno su valor, viene bien para campos tipo id numéricos.
Gererated Column (G)
básicamente, se refiere a que podemos generar esta columna a partir de otras, por ejemplo, el resultado de multiplicar un campo por otro, podemos indicarle si queremos guardar ese valor (stored) o no(virtual).
Primary key (PK)
indica si la columna es la que define al registro, este debe ser único en la tabla y sera obligatorio de escribir. Si es numérico es buena idea unirlo con Auto Increment (AI). Estará asociado con NN.
Not Null (NN)
indica que una columna no puede estar vacía, haciendola obligatoria.
Unique index (UQ)
indica que la columna debe ser única, es como el primary key pero sin sus restricciones.
Binary colunm
indica que la columna contendrá un valor binario