You cant answer the question like this.
Maybe one simple rule don't create tables where a lot of columns are empty for a the most of the records.
If you can insert (usefull) data in every column than it make sense to create tables with a more columns .
number of rows:
There are people on the net with more than 100.000 records in a table without problems