Hola Alfonzo Torres,
¿Cuál es tu duda concretamente?
Tu pregunta va dirigida a lo que es tablas, pero en la descripción apuntas a los tipos de datos para los CAMPOS. Eso confunde, ¿Qué quieres? ¿Que no entiendes? Por favor explícate apropiadamente.
El tipo de dato a asignar en cada CAMPO depende de las necesidades, del tipo de información que se almacenará. No va un tipo porqué si... y ahora va este... ¡No!, el tipo debe ser el adecuado a las circunstancias. Por ejemplo: si se tiene pensando llevar un registro de la información personal de una persona, algunos de los posibles campos serán Nombre, Apellido, DNI, Dirección, Teléfono. ¿Te parecería adecuado que el campo Nombre sea numérico? Por supuesto que no... este debe ser alfanumérico: VARCHAR o CHAR comunmente; es evidente que para DNI se requiere de un campo numérico: INTEGER quizá.
Y guía no hay... ¡el tipo a asignar se obtiene de un análisis del caso!
Cualquier manual o tutorial e incluso la misma ayuda que viene con SQL Server tiene información sobre los tipos de datos. La diferencia entre VARCHAR y CHAR es que el primero es variable, se le asigna un tamaño máximo de caracteres. Por ejemplo: VARCHAR(30) hará que el campo tenga un tamaño desde 0 a 30 caracteres, dependiendo del contenido. Mientras que con CHAR(30) se reservan exactamente los 30, por más que el contenido ocupe menos.
TEXT se emplea para guardar contenido de texto largo (si no me equivoco en forma binaria y es un subtipo de BLOB); MONEY es el tipo que ofrece SQL Server diseñado para guardar números con formato de moneda y operaciones de tipo monetarias a fin de no perder precisión. Es decir, algo como $123,45 por dar un ejemplo. No recuerdo bien como es el formato en SQL Server (hace tiempo que no lo uso), creo que este tipo tiene para almacenar 2 o 4 decimales cuanto mucho.
Revisa la documentación, allí está bien aclarado esto.
Saludos,