Existe un Tipo de dato correo Para algún motor como lo existe un tipo de fecha que es date
Saludos...
En algunas bases de datos por ejemplo Sybase, SQL Anywhere, SqlServer, Oracle, existen tipos de datos definidos por usuarios (USER DEFINED DATA TYPE).
En este tipo de dato tu defines la data con validaciones específicas para el valor... por ejemplo...
si defino un tipo de dato "FECHA_MENOR_IGUAL_HOY", defino un "data type" que es de tipo fecha con la regla de validación que la fecha contenida no puede ser mayor a la fecha actual.... un caso "fecha de nacimiento"·...
En este caso que te atañe, definirías un campo varchar (o char) de N longitud en minúsculas y que contenga la arroba (@) y al menos 1 punto ".".
Esto como te digo, lo consigues en bases de datos de MUY ALTO NIVEL.
Espero que te sirva.