If I read your question, you are suggesting that each company has its own schema. This means two things:
- If you decide to implement a basic change in the schema (ie not a change that one company requests), then you will have to implement this change in all the schemae.
- You will probably have to implement different logic in your front end program for each company.
Better you should develop one schema for the entire database; each table would have a field called 'CompanyID' which naturally would define to which company each row belongs. This field would be a foreign key to the Companies table.