Structured, semi-structured and unstructured data
Every storage decision starts with the shape of the data. DP-900 expects you to recognise the three shapes quickly and match each to the right Azure service.
Structured data
Structured data follows a fixed schema: every row has the same columns, each with a defined type. It lives in tables, and the classic home is a relational database such as Azure SQL Database.
Vocabulary the exam uses:
- Entity: the thing you describe, such as a customer or an order.
- Row (record): one instance of an entity.
- Column (attribute, field): one property shared by all rows.
- Cell: the value at one row and column.
Semi-structured data
Semi-structured data has some organisation, but no rigid schema. Items carry their own labels, so two items in the same collection can have different attributes.
Common formats:
- JSON: keys and values, widely used by APIs.
- XML: nested tags.
- Key-value and graph data: also described as semi-structured.
{ "id": 1, "name": "Ana", "phone": "555-0100" }
{ "id": 2, "name": "Ivo" }
The second record has no phone and that is perfectly valid. Typical stores are Azure Cosmos DB and Azure Table storage.
Unstructured data
Unstructured data has no model at all. It is stored as files: images, video, audio, PDFs, Word documents, log text. You can store and retrieve it, but you cannot query inside it with SQL without extra processing.
The usual Azure home is Azure Blob Storage. For a shared drive mapped from Windows or Linux over the SMB protocol, use Azure Files.
Quick comparison
| Type | Schema | Example | Azure fit |
|---|---|---|---|
| Structured | Fixed | Sales table | Azure SQL Database |
| Semi-structured | Flexible, self-describing | JSON documents | Azure Cosmos DB |
| Unstructured | None | Photos, PDFs, video | Azure Blob Storage |
Schema on write and schema on read
Relational systems use schema on write: data must match the table definition before it is saved. Data lakes and many analytics tools use schema on read: raw data is stored as it is, and structure is applied when you query it. This difference reappears when you study OLTP versus analytics and ETL versus ELT.
Exam traps
- JSON, XML and YAML are semi-structured, not unstructured. Only raw files such as images and video are unstructured.
- A row is an instance; a column is an attribute. People swap them under pressure.
- A CSV file looks tabular, yet the file itself carries no enforced schema, so read the scenario to see how it is described.
- Azure Blob Storage is for unstructured objects, while Azure Files is the answer when the wording says “mapped drive” or “file share”.
Practice questions
Choose an answer, then review the explanation to check your understanding.
1. A file holds customer records as JSON. Some records contain a phone number and some do not. How is this data classified?
Show answer
Answer: B.JSON uses keys to describe each item but does not enforce one fixed schema, so it is semi-structured.
2. A company stores thousands of scanned contracts and product photos. Which Azure service is the best fit?
Show answer
Answer: B.Images and documents are unstructured data and belong in object storage such as Azure Blob Storage.
3. In a table of employees, what represents one individual instance of an employee?
Show answer
Answer: B.A row (record) is one instance of the entity. A column is an attribute shared by all rows.
4. Which statement describes structured data?
Show answer
Answer: B.Structured data adheres to a fixed schema, which is why relational databases and SQL work so well with it.