I have an application in which x number clients will be accessing the same database at the same time. Each client will have y number of customers. The values for x and y are unknown. My problem is to design such an application so that any customer y(i) of client x(j) should not be able to access any data of the client x(k). In short, let's suppose I have 2 clients A and B. Client A has got 3 customers, namely A1, A2 and A3. Client B has got 4 customers, namely B1, B2, B3, B4. Now, (A1, A2 and A3) are in one group so they might be able to access limited amount of information among themselves. However, they never (I repeat NEVER) be able to access any information related to (B1, B2, B3 or B4), since they are in a different user group. How should I design the database in order to support the requirement. I don't want to create separate database for each customer.
Tags: Application, Client, concurrent, multiple