
ISMAIL A. answered 05/11/21
PhD in Computer Science. 20+ years of Experience.
The situation describes a graph-like, linked data. Therefore, the best fit for these types of data structures are NoSQL Graph Databases (Neo4J, GraphDB, FlockDB, etc.). You can surely design a complex schema (ERD) using traditional RDBMS, linking all entities via many-to-many connectors, but queries for traversing graph databases would come more natural after the data is stored. You describe WHAT you want and not HOW you want it. Graph databases also have performance optimizations for handling these types of data and queries.