A document store database (also known as a document-oriented database, aggregate database, or simply document store or document database) is a database that uses a document-oriented model to store data. Document store databases store each record and its associated data within a single document.
It is safe to say that the EAV/CR database model is bad. No, it's not. It's just that they're an inefficient usage of relational databases. A purely key/value store works great with this model. Now, to your real question: How to store various attributes and keep them searchable? Just use EAV. In your case it would be a single extra table.
The entity-relationship model (or ER model) is a way of graphically representing the logical relationships of entities (or objects) in order to create a database>.
Relational Database Vs. Hierarchical Database. ... While the hierarchical model is a suitable one for ... Relational databases have no problems with many-to-one or ...
In addition to the object database model, other non-SQL models have emerged in contrast to the relational model: The graph database model, which is even more flexible than a network model, allowing any node to connect with any other.
An object-oriented database is a database that subscribes to a model with information represented by objects. Object-oriented databases are a niche offering in the relational database management system (RDBMS) field and are not as successful or well-known as mainstream database engines.
In the relational model, all data must be stored in relations (tables), and each relation consists of rows and columns. Each relation must have a header and body. The header is simply the list of columns in the relation. The body is the set of data that actually populates the relation, organized into rows. You can extrapolate that the junction of one column and one row will result in a unique value - this value is called a tuple.
A star schema really lies at the intersection of the relational model of data and the dimensional model of data. It's really a way of starting with a dimensional model, and mapping it into SQL tables that somewhat resemble the SQL tables you get if you start from a relational model.