The problem is that you are trying to establish the relationship in the database. You are not suppose to do this.
All you need to do is create the table. You establish the relationships with DW and WA data assist.
Who will add the company infromation will it be a front end user or admin?
Based on what you have described I think you will need the following.
1. You will first have to create a registration/ login using security assist.
This way if a user visits your website and decides they want to sign up to your company index they register first and can be redirected to a form so they can add their data.
In order to accomplish this you will need 2 additional tables if you do not have them - a user table and a user category table.
userID INT PRIMARY AI
companyID INT (do not establish the relationship in the database)
userCategoryID INT (you will need to create this table)
User category table
userCategoryID INT PRIMARY AI
sample data for the user category table
1. user (This is a basic registered user)
2. poweruser (These are users who have paid for additional features)
3. admin ( this is you as admin)
Based on your user category table security assist can create rules to only display certain database elements based on a users category.
If you want users to purchase you will also need ecart and universal email.
Hope this helps