ako tih 5 firmi deli neke iste podatke, onda sve firme treba da budu u jednoj bazi ... cak stavise, logicno je da jedna aplikacija koja radi jednu stvar drzi stvari u jednoj bazi tako da "vise baza" u 99% slucajeva nije dobro resenje...
e sad, sto se pitanja tice da li je bolje da imas *po jednu* TABELU za svaku firmu, ili da imas *jednu* tabelu za *sve* firme a da ih odvajas sa company_id ili tako necim odgovor, jaaaako uproscen:
1.ako koristis mysql 5.0 i manji
1.1 ako je sadrzaj "velik" u odnosu na ram
1.1.1 ako ih ima manje od par hiljada
- bolje da ih podelis u vise tabela
1.1.2 ako ih ima vise od par hiljada
- bolje u jednoj tabeli
1.2 ako sadrzaj nije prevelik
1.2.1 ako imas ceste upite koji idu nad vise kompanija
- bolje da su u jednoj tabeli
1.2.2 ako nemas ceste upite koji idu nad vise
- bolje da su u vise tabela
2. ako koristis mysql 5.1 ili veci
- stavis u jednu tabelu i particionises data po company_id (pogledaj
http://www.mysql.rs/2010/06/particionisanje-podataka/ )
generalno, pravljenje data modela je ozbiljan posao tako da je neophodno sagledati mnogo vise od "da li je bolje ovo ili ono" posto silver bullet ne postoji, za svaki projekat moze da se "dooptimizuje" model u odnosu na neke generalne smernice i ta "sitna dooptimizacija" moze da dovede i do 1000x vecih performansi (ja sam imao desetine primera, sto klijenata sto prijatelja, koji su imali "dobar db model" koji je blagom dooptimizacijom doneo preko 40-50 puta vece performanse) ali neki uprosten odgovor na tvoje pitanje je - koristi 5.1 ili 5.5 i partitioning