An engineering application models assemblies as in-memory objects that use class inheritance and references between parts. The team wants to persist these objects directly, with the class hierarchy intact, instead of translating them into tables through a mapping layer. Which database model does this describe?
Select an answer to reveal the explanation.
Short Explanation
Think of it as saving the whole Lego model as-is instead of breaking it into bricks and sorting them into bins. An object-oriented database stores your objects, inheritance and references included, the way the code already sees them. The trap is the ORM answer, which is the very mapping layer the stem says the team wants to avoid.
Full Explanation
An object-oriented database stores data as objects that match the classes of an object-oriented programming language. Objects keep their attributes, their position in an inheritance hierarchy and their references to other objects, so the application can persist and reload an assembly graph without converting it into rows and foreign keys. This removes the impedance mismatch between the object model in memory and the storage model on disk. A relational database used with an ORM is exactly the translation approach the team is trying to avoid: the ORM maps classes to tables and references to joins, and inheritance has to be flattened into one of several table strategies. A column-oriented database stores values by column to accelerate analytic scans, which has nothing to do with preserving class hierarchies or object references. A key-value store could hold a serialized object as an opaque value, but it would not understand inheritance or navigate references between parts, so queries across the object graph would fall back to application code. Exam caveat: object-oriented databases are a niche choice compared with relational systems, but the objectives list them as a distinct NoSQL type defined by direct object persistence. Operational check: persist a subclass instance that references other parts, reload it in a new session, and confirm its type and references are intact.