Las tablas son entidades mucho más complejas que las filas y la creación de tablas de administración es mucho más compleja que una inserción que debe cumplir con un modelo existente, la tabla. Es cierto que una declaración de creación de tabla es una operación SQL estándar, pero depende de crearlas dinámicamente huellas de malas decisiones de diseño.
Ahora, si solo crea uno o dos y eso es todo, o una base de datos completa dinámicamente, o desde un script una vez, eso podría estar bien. Pero si usted depende de tener que crear más y más tablas para manejar sus datos, también necesitará unirse cada vez más y consultar más y más. Un problema muy serio que encontré con una aplicación que hizo uso de la creación de tablas dinámicas es que una sola consulta de SQL Server solo puede incluir 255 tablas. Es una restricción incorporada. (Y eso es SQL Server, no CE.) Solo tomó unas pocas semanas en producción para alcanzar este límite, lo que resultó en una aplicación que no funcionaba.
Y si llega a editar las tablas, p. agregar/soltar columnas, entonces su dolor de cabeza de mantenimiento empeora aún más. También está la cuestión de vincular sus datos de DB a la lógica de su aplicación. Otro problema es actualizar las bases de datos de producción. Esto realmente sería un desafío si un DB hubiera estado creciendo con objetos dinámicamente y de repente necesitara actualizar el modelo.
Cuando necesite almacenar datos de una manera tan dinámica, la práctica estándar es hacer uso de EAV models. Tiene tablas fijas y sus datos se agregan dinámicamente como filas para que su esquema no tenga que cambiar. Hay inconvenientes, por supuesto, pero generalmente se piensa que es una mejor práctica.
es un tema interesante, pero no creo que sea una discusión para SO. Por otra parte, otras personas podrían pensar que es relevante ... –
@Mitch: estoy en total desacuerdo. El modelado de datos suele ser competencia de los desarrolladores, y por lo tanto de los programadores, en lugar de los DBA. Creo que hasta que haya un sitio SE dedicado al modelado de datos, esta pregunta encaja mejor aquí en lugar de cualquiera de los otros sitios SE existentes. –