RE:400 campos en base de datos
Secundo el comentario de Cecilia y de Hércules, 400 campos en una tabla es algo abismalmente mal diseñado.
Lo más exagerado que he visto es una tabla que registra los eventos hechos sobre una BD desde una aplicación y lo que tiene son 10 campos de cada uno de los siguientes tipos de datos: varchar, char, int, money, float y datetime, además de otros campos que identifican al usuario, la transacción en cuestión y otras cosas.
Además, en el primer lugar donde trabajé se manejaba una tabla de 130 campos y yo en ese entonces sin experiencia un completo novato, ví que era posible hacer de una tabla de 130 una tabla con apenas 15 campos y N registros relacionados.