Search code examples
many-to-manyerd

is this ERD correct and how to do normalization?


Is it correct not to make relationship between some entities? and how do we do normalization to reach to this diagram ?

enter image description here


Solution

  • It's not wrong to have multiple ERDs that aren't connected, but normally most/everything involved in a single system will end up related.

    Administrators are normally handled as users with most/all permissions enabled, not as distinct entity sets. Advertisements may well be disconnected, though though they often end up related when advertisers want to target specific groups of users or the system needs to log impressions or clicks. As for the other parts, it's difficult to say if they should be related or not without better understanding the situation you're modeling.

    Normalization is normally done after a conceptual ERD is translated to a logical relational model, not directly on an ERD or in the process of creating one. Understanding how entity sets, attributes and relationships translate to domains, relations and dependencies may invite one to try normalizing directly in the ERD, but a problem with this approach is that the entity-relationship model isn't a complete and consistent logical model, and so some relations may not be representable in an ERD.

    One problem with your use of notation is that you indicate foreign keys as weak key attributes. Weak keys are a different concept from foreign keys, foreign keys aren't normally shown in an ERD. Second, I would make services_providers a relationship and add a relationship between it and services_requests (a relationship on a relationship turns the latter into an associative entity) instead of relating it directly to services.