Déjà, il faut comprendre le principe d'une base de données...ça éviterait d'écrire "Si je fait par exemple une table par sujet" ^^
Pour résumer brièvement :
- Ma base de données
|__ tables 1
|___|__entree de ma table 1
|___|__entree de ma table 1
|___|__entree de ma table 1
|__ tables 2
|___|__entree de ma table 2
|___|__entree de ma table 2
|___|__entree de ma table 2
|___|__entree de ma table 2
|___|__entree de ma table 2
Donc une base de données de type mysql est un ensemble de table dans lequelles sont stockées de données, qu'on appelle "entrée". Une entrée est constituée des attribus définissant ta table.
Créer alors une table/sujet devient donc simplement stupide et dénoué de sens
En ce qui concerne la quantité de données enregistrées dans une table, dans l'hypothèse où ta structure de données (mld : modèle logique de données) est cohérente, alors tu ne pourras pas faire autrement que d'avoir un grand nombre de données dans ta table. A savoir que suivant le type de base de données (mysql, postgresql, sqlite, oracle), les algos pour interagir avec les données sont différents donc suivant le type de données manipulée, et la quantité, les performances sont différentes.
Sqlite : modèle logique de donnée simple car c'est du sql version lite. Pas trop de données dedans sinon ça deviendra gênant.
Mysql : pas mal quand il s'agit de peu de données, ou quand il y en a un grand nombre (enfin, tout est relatif). A savoir que la version 5 s'approche des perf de postgresql
Postgresql : parfait pour un grand nombre de données, ses algos sont performants. Par contre, à éviter quand il y en a pas beaucoup, il faut privilégier mysql.
Oracle : payant, mais très puissant. Je n'ai pas eu l'occaz' de tester 