Database design: 4 types of users but have different functionality , separate or one table?
A simple design you can go for is to choose three tables

Table MasterUser

UserId - PK - Identity(auto increment) 
phone
mail


Table AdminNormalUser

UserId -- Pk of this table and UserId of `MasterUser`
FirstName
LastName


Table CompanyPorviderUser

UserId -- Pk of this table and UserId of `MasterUser`
CompanyName
Fax 


This design will give you a unique Id to each user, no matter a Admin, Normal, Company or provider user, which is a requirement for application that will use these tables, And it will get rid of columns with NULL values.