modeler database-design sql-server-2008

database-design - sql server database modeler



¿Existe tal cosa como demasiadas mesas? (9)

2147483648 tablas o más pueden ser problemáticas con algunos motores. 9223372036854775808 tablas o más pueden ser problemáticas con ciertas otras.

(Pero si su pregunta significaba si existe un cierto número n de modo que un diseño de base de datos con> n tablas debe ser necesariamente defectuoso, entonces no).

He estado buscando stackoverflow durante aproximadamente una hora y no pude encontrar ningún tema relacionado, por lo que me disculpo si esta es una pregunta duplicada.

Mi pregunta es la siguiente. ¿Hay un punto en el que hay demasiadas tablas en una base de datos? ¿Incluso si la estructura está bien organizada, pensada y facilita perfectamente la intención del diseño? Tengo una base de datos que se acerca rápidamente a 40 tablas, unas 10 principales y más de 30 tablas auxiliares (tablas de unión, tablas de "enumeración", etc.).

¿Soy solo un mal desarrollador, o debería estar intentando algo diferente? Me parece que son muchos, realmente me da miedo ver cómo afectará el rendimiento del proyecto. He hecho mucha condensación cuando es posible, agrupé cosas similares cuando fue posible, etc.

La base de datos está construida en SQL Server 2008.


Debes tener exactamente tantas tablas como necesites; ni mas ni menos.

Uno de los sistemas en los que estoy trabajando en estos días tiene 143 tablas, porque ese es exactamente el número requerido para resolver el problema.


En mi propio trabajo tengo alrededor de 60 tablas y parece que no mucho. Creo que lo principal es la forma en que se organiza el almacén de datos (relaciones entre tablas, etc.), la cantidad de consultas que necesita para recuperar la información necesaria y lo simple que pueden ser sus datos. Representar como objetos de negocio en su aplicación.


Hay demasiadas tablas, pero 40 no es nada como ese número. Y cuando las personas comienzan a toparse con los límites de los productos, generalmente es el momento en el que necesitan repensar su diseño.

Para el servidor SQL, los límites de capacidad máxima le indican que una base de datos puede contener ~ 2000000000 tablas (si no contiene nada más, no tiene PK ni restricciones de ningún tipo, etc.). No hace falta decir que si alcanzas este límite, entonces estás haciendo algo mal (por ejemplo, has decidido tener 1 mesa por cliente y de alguna manera has ganado muchos clientes)


LOL nuestra base de datos principal tiene más de 700 tablas, no he trabajado con una base de datos tan pequeña que solo tenía 40 tablas en años y años.

Siempre que tenga las tablas que necesita y que estén correctamente normalizadas, estará bien.

He visto más problemas de rendimiento causados ​​por muy pocas tablas que demasiadas.


Parece que estás haciendo tu mejor esfuerzo para normalizar tu base de datos. Eso es bueno. Muchas veces surgen problemas porque no hay suficientes tablas.


Puede colocar todos los datos de sus tablas reales en una tabla. La segunda tabla puede contener solo sus ''nombres de tabla'', y la aplicación seguirá funcionando.

Pero este no es el punto aquí.
Las tablas son algún tipo de estructura organizativa. Son una especie de cajones.

¿Tengo demasiados cajones?

Depende…


Realmente depende de la complejidad de la aplicación que está intentando implementar. Las cosas como los sistemas de contabilidad son bastante intensas y se han alcanzado fácilmente en más de 40 mesas.


Sin saber nada sobre su base de datos específica, diría que no, no está utilizando demasiadas tablas. Los problemas del mundo real y las necesidades comerciales pueden apuntar fácilmente a un esquema que es al menos tan grande como el suyo. Creo que la verdadera pregunta es si su diseño es adecuado para su problema.