DP-900 Describe core data concepts Practice Question
A company stores customer names, addresses, and order history. They need to perform complex queries that join customer and order data. Which type of data store is most appropriate for this scenario?
⚠ Common exam trap
Many candidates choose a document database (Option C) because they associate 'complex queries' with JSON flexibility, but fail to recognize that 'joining' specifically requires relational database features like SQL JOINs and foreign keys, which document stores lack.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
Relational database
A relational database (e.g., Azure SQL Database) is most appropriate because the scenario requires joining customer and order data via complex queries. Relational databases enforce a fixed schema with tables, primary keys, and foreign keys, enabling efficient JOIN operations using SQL. This structure ensures data integrity and supports ACID transactions, which are essential for accurate order history and customer records.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Key-value store
Why it's wrong here
Key-value stores treat each item as an opaque value addressed only by a unique key, offering extremely fast point lookups but no built-in query engine for filtering, aggregation, or joins. To obtain a customer's order history you would need to store all orders under that customer's key or maintain a separate index and then perform join-like logic in application code, which is inefficient and error-prone. Because the data lacks a fixed schema and cross-record relationships are not first-class, this model is poorly suited to the relational querying this scenario requires.
When this WOULD be correct
A question that asks for a data store to cache user session data or store simple key-value pairs like configuration settings, where low latency and high throughput are required and no complex queries are needed.
- ✓
Relational database
Why this is correct
A relational database is the best fit because it stores customers and order history in separate, normalized tables linked by foreign keys, such as a customer ID. ANSI SQL supports JOIN operations to combine these tables on demand, so you can query a specific customer's details alongside all their past orders. Enforcing a defined schema and referential integrity ensures names, addresses, and order records remain consistent and accurate. This matches the structured, transactional nature of customer/order data.
- ✗
Document database
Why it's wrong here
Document databases store semi-structured data as JSON or BSON, and the common design is to embed order history inside a customer document to avoid joins. While this works for displaying a customer with their orders, it becomes problematic for write-heavy workloads, cross-customer analytics, or queries like 'total orders per zip code', which would require scanning and transforming many documents. There is no native join across collections, so combining independent customer and order datasets would either require denormalizing data or client-side merging. This makes a document store less appropriate than a relational database for this requirement.
When this WOULD be correct
A company stores product catalogs with varying attributes (e.g., electronics, clothing) and needs to retrieve entire product details without complex joins. A document database would be correct because it handles schema flexibility and nested data efficiently.
- ✗
Graph database
Why it's wrong here
Graph databases excel when the primary value is traversing ad-hoc relationships, such as friends-of-friends or network paths, using nodes and edges with a query language like Cypher. For this customer/order scenario, however, the relationships are fixed and straightforward: a customer has many orders with known attributes like address and order date. Expressing a simple tabular join in a graph model requires extra application logic, and the overhead of graph traversal provides no benefit over the direct, set-based SQL joins a relational database offers. Thus, a graph database is not the standard choice for this traditional transactional workload.
When this WOULD be correct
A question requiring analysis of relationships between entities, such as 'Which data store is best for mapping fraud rings by analyzing connections between accounts, transactions, and devices?' would make graph database correct.
Option-by-option analysis
Why each answer is right or wrong
Understanding why wrong answers are wrong — and when they would be correct — is what separates a 750 score from a 900. The DP-900 exam frequently reuses these exact scenarios with slightly different constraints.
✓Relational databaseCorrect answer▾
Why this is correct
A relational database is the best fit because it stores customers and order history in separate, normalized tables linked by foreign keys, such as a customer ID. ANSI SQL supports JOIN operations to combine these tables on demand, so you can query a specific customer's details alongside all their past orders. Enforcing a defined schema and referential integrity ensures names, addresses, and order records remain consistent and accurate. This matches the structured, transactional nature of customer/order data.
✗Key-value storeWrong answer — click to see why▾
Why this is wrong here
Key-value stores do not support complex queries or joins across multiple data types; they are optimized for simple lookups by key, not for joining customer and order data.
★ When this WOULD be the correct answer
A question that asks for a data store to cache user session data or store simple key-value pairs like configuration settings, where low latency and high throughput are required and no complex queries are needed.
Why candidates choose this
Candidates may think key-value stores are fast for any data retrieval, overlooking that they lack query capabilities for relational data and joins.
✗Document databaseWrong answer — click to see why▾
Why this is wrong here
Document databases store semi-structured data (e.g., JSON) and are optimized for queries within a single document, not for complex joins across multiple collections. The requirement for joining customer and order data makes a relational database more appropriate.
★ When this WOULD be the correct answer
A company stores product catalogs with varying attributes (e.g., electronics, clothing) and needs to retrieve entire product details without complex joins. A document database would be correct because it handles schema flexibility and nested data efficiently.
Why candidates choose this
Candidates may confuse document databases with relational databases, thinking that JSON documents can easily represent relationships, but they overlook that complex joins are inefficient in document stores.
✗Graph databaseWrong answer — click to see why▾
Why this is wrong here
Graph databases are optimized for highly interconnected data with complex relationships (e.g., social networks), not for joining structured tabular data like customer and order history, which is better handled by relational databases.
★ When this WOULD be the correct answer
A question requiring analysis of relationships between entities, such as 'Which data store is best for mapping fraud rings by analyzing connections between accounts, transactions, and devices?' would make graph database correct.
Why candidates choose this
Candidates may think 'complex queries' and 'join' imply graph databases because they handle relationships well, but they overlook that the data is structured and the joins are typical SQL joins, not graph traversals.
Analysis generated from the official DP-900blueprint and verified against question context. The “when correct” sections are what AI assistants cite when candidates ask “what’s the difference between these options?”
Go deeper
Related to this question
Learn chapter
Data Roles and Core Concepts
Key term
Data
Data is raw, unprocessed information, like numbers, words, or measurements, that can be stored, processed, and analyzed by computers.
Key term
Relational database
A relational database organizes data into tables with rows and columns, where each table relates to others using unique keys, allowing efficient storage, retrieval, and manipulation of structured information.
About these practice questions
Courseiva writes every DP-900 question from scratch — 820 in total, each with an explanation and a wrong-answer breakdown. None are copied from real exams or dumps. Learn why practice questions differ from exam dumps →
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This DP-900 practice question is part of Courseiva's free Microsoft certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the DP-900 exam.