Is it a good practise to have my tables in different files.
Say i am having 10 master tables.
Can i create tables each one on 10 secondary files(.ndf) in a single filegroup so that the data writing and reading will be faster?
If I understand you correctly, by creating 10 ndf data files in the same filegroup you will have no control as to where the tables will sit within each of those files, SQL Server will spread out the data pages as required. To separate out tables you would need to make use of filegroups. I'm not saying this is good or bad, just unusual unless you have large tables that you know you can segregate out and/or maybe making use of table partitioning and/or using for backup purposes and/or for extreme performance issues or reasons.
Paul Randal did a blog to do with multiple data diles (other than TempDB), see link below...
If you're I/O bound, start with the log files. Put them in separate filegroups, preferably on separate spindles.
not sure what you're saying here, but if you are talking of transaction log files, they cannot participate in filegroups and the transactions cannot be separated by table, and it is very rare that you whould make use of multiple transaction logs files for a database. Again, Paul Randal has written a blog about why multiple transaction logs are not necessarily a good idea...
Hope this helps