sql >> Base de Datos >  >> RDS >> Sqlserver

Diseño de base de datos y recuperación de datos de una tabla pesada

No te quedes con tu diseño actual. Tus grupos repetitivos son incómodos y autolimitantes... ¿Qué sucede cuando alguien sube 151 veces? Normalice esta tabla para que tenga uno de cada tipo por fila en lugar de 150. No necesitará mapear de esta manera, ya que puede seleccionar SAPDATA desde positioncol sin preocuparse si es 1-150.

Probablemente desee una tabla PROJECTS con una ID, una tabla PROJECT_UPLOADS con una ID y un FK para la tabla PROJECTS. Esta tabla tendría Position, SourceDate, Formula y IsActive dado su caso de uso anterior.

Entonces podrías hacer cosas como

seleccione p.name, pu.position de PROYECTOS p unión interna PROJECT_UPLOADS pu on pu.projectid =p.id WHERE pu.position ='SAPDATA'

etc.