Hi,
How to design tables to be best practise without repeating data ?
Why are you assuming that "best practice"
means "without repeating data"
?!?
In many cases (like database which is used for data warehouse) best practice means preparing the data for fast reporting. This is done by storing data after aggregation or ETL actions, which mean data which repeat the original data.
have you heard about indexes with include?!? This is a direct case of repeating data.
In other cases we might want to create a unique clustered index on a view which can improves query performance dramatically in some cases!
There are many cases that storing duplicate data is the right way to gain better performance. It might have a lot of other disadvantages and it will not always be the right way, but it might be.
i need to make design for data to be best practise and prevent repeating data
In order to design the database for best practice we need to fully know what are your practices or in other words, how do you use the data.
If we do not know how you use the data then we cannot design the database for best used