Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Design de banco de dados e recuperação de dados de uma tabela pesada


Não fique com seu design atual. Seus grupos de repetição são pesados ​​e autolimitados... O que acontece quando alguém faz uploads 151 vezes? Normalize esta tabela para que você tenha um de cada tipo por linha em vez de 150. Você não precisará mapear dessa maneira, pois pode selecionar SAPDATA do positioncol sem se preocupar se for 1-150.

Você provavelmente quer uma tabela PROJECTS com um ID, uma tabela PROJECT_UPLOADS com um ID e um FK para a tabela PROJECTS. Esta tabela teria Position, SourceDate, Formula e IsActive de acordo com seu caso de uso acima.

Então você poderia fazer coisas como

selecione p.name, pu.position de PROJECTS p internal join PROJECT_UPLOADS pu on pu.projectid =p.id WHERE pu.position ='SAPDATA'

etc.