This is the Entity Relationship Diagram I have created for my web application (based on Oracle APEX project). Two type of users can sign up and login and each user has his/her own profile and privileges (Webbeheerder & Expert).

But the problem is how can I make a table called "TypeUser" for example and when the user wants to sign up, he will be asked what kind of user he/she is. So no separate sign up/login pages for each group/type user. I know there must come a new table, but I don’t know how should I exactly solve this.

I'll appreciate your help and suggestions. Thanks a lot.

PS. Any other suggestions about this data model of a web application where Web masters can share the link of their website and ask Web designers for feedback. Web designers can comment on a link and rate it. Each of these user groups can view the other's profile ( so there's also a dedicated profile page)? Improvements?

Thanks again!

enter image description here


Incorporating the the answer of LironCareto results in the following diagram:

enter image description here

  • A table called TypeUser? Just store the user level in your current User table and let the front end take care of the privileges/access each user has to this and that. Or for working with the datasets create Views and set permissions over them instead of the tables.
    – Nelson
    Sep 30, 2015 at 12:57
  • TypeUser is kinda weird, but you can say it like this in Dutch (same as UserType). Thanks for your reply.
    – Aziz Az
    Sep 30, 2015 at 13:45
  • 1
    please do not change the question that you have posed.
    – miracle173
    Sep 30, 2015 at 14:24

1 Answer 1


Why do you have two separated tables? Your model is faulty by design. You don't need in this case two different tables. Just create one table for user accounts and a different one for user account type.

  • Thanks for your reply. I have just edited my diagram. Can you take a look at it now? You mean like this?
    – Aziz Az
    Sep 30, 2015 at 13:42
  • The new model fits perfectly your needs, and it is simpler and easier to manage. Additionally, the code to insert data there is simpler as well, as you don't need to "decide" which table you have to write in. :) Oct 2, 2015 at 12:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.