Courseiva
Describe core data conceptseasyMultiple ChoiceObjective-mapped

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?”

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 →

How Courseiva writes practice questions · Editorial policy

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.