Bueno, Leo se me ha adelantado con una buena explicación. Yo no te respondí antes porque era mi horario de trabajo, y la empresa no se pone muy contenta cuando uno usa la red para cosas personales.
A las cosas que te plantea Leonardo le agregaría algun detalle, por ejemplo, cuando creas un objeto que conceptualmente llamamos Entidad, es decir un una relación de dominios definida bajo un nombre, como Cliente, Usuario, Jugador, Vehiculo, etc., además de estar analizando en detalle los objetos y sus relaciones, estás definiendo los datos que le son propios (los
atributos, todos los cuales tienen un dominio o campo de existencia, donde los valores no son arbitrarios. Así, por ejemplo, el número que corresponde a una casa en una calle siempre será positivo, y jamás tendrá más de cinco cifras (o al menos no conozco ciudad donde pueda darse).
Esto es importante para definir el tipo de columna que usarás para almacenar tal información.
La importancia de elegir el tipo correcto es, entre otras cosas, para no desperdiciar espacio en disco, memoria en una consulta, o capacidad en una red, ya que usar datos de mayor capacidad de la necesaria resulta en bytes "basura".
¿De qué sirve usar un INT para una dirección, si con un SMALLINT tengo el rango que necesito? ¿Para qué usar un valor con signo, si sé que jamás tendré números negativos? ¿Para qué definir un TEXT, cuando la suma de bytes usando diversso tipos de columna, tal vez no llegue a los 200 Bytes?
La elección de las columnas es una parte importante del proceso de definición de las tablas, y surge de un buen análisis de cada entidad que interviene en el sistema. Reglas como la de no usar campos multivaluados, que Leonardo te mencionó, son parte de los fundamentos de las Bases de Datos.
Como sea, la correcta elección de los campos también impacta en las consultas, en la optimización de los índices, de las búsquedas.
Otra cosa que te aconsejo es que no confundas
representación de un dato con el
almacenamiento del dato. Esto es especialmente importante cuando trabajas con fechas o números. Las fechas no se almacenan como en castellano. Ni tan siquiera se almacenan como se escriben en inglés, sino en el formato que Leonardo te mostró. Pero eso no quiere decir que luego no puedas obtenerla en esa forma. Eso se hace con funciones propias de MySQL en las consultas.
No trates de inventar la rueda: Ya estáinventada, solo tienes que saber cuál es la rueda correcta.
Para que puedas ver los formatos de las columnas y sus rangos:
MySQL:: 11. Tipos de columna