Кстати, в огромная это сколько?
и это все пользователи? Совет, давайте им боле звучные названия в соответствии с предметной областью. Например, что это за пользователь-фирма? А покупатель может быть незарегистрированным пользователем? и т.п.
Всего будет 2 обычных пользователя: не зарегистрированный и авторизированный пользователь.
Авторизированный наследует функции не зарегистрированного пользователя, а именно, поиск, получение новостей и т.д., но не покупку товара.
И это будет сильно сказываться на наборе функций для каждой такой фирме?
Дело в том, что можно разделить эти фирмы тупо на 2 типа: купля-продажа и услуги.
Но например функции у интернет-провайдера и фирмы перевозчика грузов разные, хотя обе относится к типу услуг.
Все это нужно чтобы упростить работу пользователям-фирмы, и заниматься своей конкретной задачей, а не искать общие решения.
Различие обыкновенных пользователей от пользователей-фирма, заключается в том, что обычный пользователь может быть включен в фирму, и заниматься работой со своего аккаунта. В то время как пользовтаель-фирма обладает рядом специфичных функции в рамках выбранного типа.
Наверное проще будет сказать, что "фирма" это:
1) имеет свои спец. функции
2) пользователи системы, включаются в фирму