Setup the user for edit/view permission to assigned one assigned entity of three (tables) available
Your question is ambiguous. Do you wish for a user to see all rows in one table, but only one of the three tables? Should a user be limited to only certain rows within a table? Must this be enforced within the schema or is it OK to use other aspects of the application and infrastructure? Anyway, here are some ideas.

Most DBMS have quite fine grained permission systems. It may be possible to GRANT just the permission required on each table.

Create views that expose just the correct tables, columns or rows. Grant permissions on the views but not the underlying tables.

Write stored procedures for each read &amp; write. Grant access to these SPs but not the tables. Alternatively, let everyone execute all SPs but have the code reject unauthorised actions. Triggers can achieve a similar end.

In the application have separate screens for each read or write action for each entity type. Limit access to the screens through the authorisation system.

For a SQL-only solution for row-level access, add further tables, each keyed by userid and the store or business or corporation id. There will be one further column which is the permission granted. For each statement touching a base table join to this permission table and qualify on the userid and action. If the user does not have rights zero rows will be affected.

These permission tables can get big. It may be useful to put users into groups and assign rights to the groups. If there are rules to control which, say, stores a user sees these can be modelled instead of the naive approach above. The precise table definitions will depend on how the rules normalise. This can get quite tricky and will require a lot of testing.