Skip to content

Commit 1834bad

Browse files
authored
Merge pull request #53589 from MicrosoftDocs/NEW-sql-dev-module-1
[Design and implement database objects] new module
2 parents 31381a1 + 589f720 commit 1834bad

25 files changed

Lines changed: 1285 additions & 0 deletions
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
### YamlMime:ModuleUnit
2+
uid: learn.wwl.design-implement-database-objects.introduction
3+
title: Introduction
4+
metadata:
5+
title: Introduction
6+
description: "Introduction to designing and implementing database objects"
7+
ms.date: 02/24/2026
8+
author: JulianePadrao
9+
ms.author: jupadrao
10+
ms.topic: unit
11+
azureSandbox: false
12+
labModal: false
13+
durationInMinutes: 3
14+
content: |
15+
[!include[](includes/1-introduction.md)]
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
### YamlMime:ModuleUnit
2+
uid: learn.wwl.design-implement-database-objects.knowledge-check
3+
title: Module assessment
4+
metadata:
5+
ai_generated_module_assessment: true
6+
title: Module assessment
7+
description: "Knowledge check for designing and implementing database objects"
8+
ms.date: 02/24/2026
9+
author: JulianePadrao
10+
ms.author: jupadrao
11+
ms.topic: unit
12+
module_assessment: true
13+
azureSandbox: false
14+
labModal: false
15+
durationInMinutes: 5
16+
quiz:
17+
questions:
18+
- content: "You need to create a table to store user profile data that changes over time. You want to maintain a full history of changes without creating a separate history table manually. Which table type should you implement?"
19+
choices:
20+
- content: "In-memory optimized table"
21+
isCorrect: false
22+
explanation: "Incorrect. In-memory optimized tables are designed for high-performance scenarios, not for automatic change tracking. Use a temporal table instead."
23+
- content: "Temporal table"
24+
isCorrect: true
25+
explanation: "Correct. Temporal tables automatically maintain full history of changes without requiring manual history table management."
26+
- content: "Graph table"
27+
isCorrect: false
28+
explanation: "Incorrect. Graph tables are designed for storing hierarchical and relationship data, not for tracking changes over time."
29+
- content: "External table"
30+
isCorrect: false
31+
explanation: "Incorrect. External tables reference data stored outside the database."
32+
- content: "You need to design a table that will store product information. The ProductID must uniquely identify each row, and the Category must not allow null values. Which constraints should you implement?"
33+
choices:
34+
- content: "PRIMARY KEY on ProductID and DEFAULT on Category"
35+
isCorrect: false
36+
explanation: "Incorrect. A DEFAULT constraint provides a default value, not a NOT NULL restriction. Use a NOT NULL constraint instead."
37+
- content: "UNIQUE constraint on ProductID and CHECK constraint on Category"
38+
isCorrect: false
39+
explanation: "Incorrect. ProductID should have a PRIMARY KEY constraint for uniqueness and to serve as the table identifier."
40+
- content: "PRIMARY KEY on ProductID and NOT NULL on Category"
41+
isCorrect: true
42+
explanation: "Correct. PRIMARY KEY ensures uniqueness of ProductID, and NOT NULL ensures Category always has a value."
43+
- content: "FOREIGN KEY on ProductID and UNIQUE constraint on Category"
44+
isCorrect: false
45+
explanation: "Incorrect. FOREIGN KEY is used to reference another table, not for the primary identifier."
46+
- content: "You have a large sales table with millions of rows. You want to improve query performance and maintenance by splitting the table data based on date ranges. Which feature should you implement?"
47+
choices:
48+
- content: "Clustered index"
49+
isCorrect: false
50+
explanation: "Incorrect. While a clustered index can improve query performance, it doesn't split data physically. Use partitioning instead."
51+
- content: "JSON columns"
52+
isCorrect: false
53+
explanation: "Incorrect. JSON columns are for storing semi-structured data, not for physically splitting table data."
54+
- content: "Table partitioning"
55+
isCorrect: true
56+
explanation: "Correct. Partitioning allows you to split large tables into smaller, manageable pieces based on specified ranges."
57+
- content: "In-memory optimization"
58+
isCorrect: false
59+
explanation: "Incorrect. In-memory optimization improves performance but doesn't physically split data."
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
### YamlMime:ModuleUnit
2+
uid: learn.wwl.design-implement-database-objects.summary
3+
title: Summary
4+
metadata:
5+
title: Summary
6+
description: "Summary of designing and implementing database objects"
7+
ms.date: 02/24/2026
8+
author: JulianePadrao
9+
ms.author: jupadrao
10+
ms.topic: unit
11+
azureSandbox: false
12+
labModal: false
13+
durationInMinutes: 3
14+
content: |
15+
[!include[](includes/11-summary.md)]
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
### YamlMime:ModuleUnit
2+
uid: learn.wwl.design-implement-database-objects.understanding-platform-choices
3+
metadata:
4+
title: Understand your SQL Server-based platform choices
5+
description: "Learn about the different Microsoft SQL platforms and how database object design varies across Azure SQL Database, Azure SQL Managed Instance, SQL Server on Azure VMs, and SQL Database in Microsoft Fabric."
6+
ms.date: 02/24/2026
7+
author: JulianePadrao
8+
ms.author: jupadrao
9+
ms.topic: unit
10+
title: Understand your SQL Server-based platform choices
11+
durationInMinutes: 6
12+
content: |
13+
[!include[](includes/2-understanding-platform-choices.md)]
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
### YamlMime:ModuleUnit
2+
uid: learn.wwl.design-implement-database-objects.design-implement-tables
3+
title: Build effective tables
4+
metadata:
5+
title: Build effective tables
6+
description: "Learn how to design and implement tables with appropriate data types, sizes, and indexes"
7+
ms.date: 02/24/2026
8+
author: JulianePadrao
9+
ms.author: jupadrao
10+
ms.topic: unit
11+
azureSandbox: false
12+
labModal: false
13+
durationInMinutes: 8
14+
content: |
15+
[!include[](includes/3-design-implement-tables.md)]
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
### YamlMime:ModuleUnit
2+
uid: learn.wwl.design-implement-database-objects.design-implement-indexes
3+
title: Optimize with indexes
4+
metadata:
5+
title: Optimize with indexes
6+
description: "Learn how to design and implement rowstore and columnstore indexes for optimal query performance"
7+
ms.date: 02/24/2026
8+
author: JulianePadrao
9+
ms.author: jupadrao
10+
ms.topic: unit
11+
azureSandbox: false
12+
labModal: false
13+
durationInMinutes: 8
14+
content: |
15+
[!include[](includes/4-design-implement-indexes.md)]
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
### YamlMime:ModuleUnit
2+
uid: learn.wwl.design-implement-database-objects.specialized-table-types
3+
title: Use specialized table types
4+
metadata:
5+
title: Use specialized table types
6+
description: "Learn how to implement in-memory, temporal, external, LEDGER, and GRAPH tables"
7+
ms.date: 02/24/2026
8+
author: JulianePadrao
9+
ms.author: jupadrao
10+
ms.topic: unit
11+
azureSandbox: false
12+
labModal: false
13+
durationInMinutes: 12
14+
content: |
15+
[!include[](includes/5-specialized-table-types.md)]
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
### YamlMime:ModuleUnit
2+
uid: learn.wwl.design-implement-database-objects.design-implement-constraints
3+
title: Enforce data integrity with constraints
4+
metadata:
5+
title: Enforce data integrity with constraints
6+
description: "Learn how to design and implement database constraints including primary key, foreign key, unique, CHECK, and DEFAULT"
7+
ms.date: 02/24/2026
8+
author: JulianePadrao
9+
ms.author: jupadrao
10+
ms.topic: unit
11+
azureSandbox: false
12+
labModal: false
13+
durationInMinutes: 12
14+
content: |
15+
[!include[](includes/6-design-implement-constraints.md)]
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
### YamlMime:ModuleUnit
2+
uid: learn.wwl.design-implement-database-objects.design-implement-json
3+
title: Manage JSON columns and indexes
4+
metadata:
5+
title: Manage JSON columns and indexes
6+
description: "Learn how to design and implement JSON columns and indexes for semi-structured data"
7+
ms.date: 02/24/2026
8+
author: JulianePadrao
9+
ms.author: jupadrao
10+
ms.topic: unit
11+
azureSandbox: false
12+
labModal: false
13+
durationInMinutes: 8
14+
content: |
15+
[!include[](includes/7-design-implement-json.md)]
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
### YamlMime:ModuleUnit
2+
uid: learn.wwl.design-implement-database-objects.design-implement-partitioning
3+
title: Partition tables for scale
4+
metadata:
5+
title: Partition tables for scale
6+
description: "Learn how to design and implement partitioning strategies for tables and indexes"
7+
ms.date: 02/24/2026
8+
author: JulianePadrao
9+
ms.author: jupadrao
10+
ms.topic: unit
11+
azureSandbox: false
12+
labModal: false
13+
durationInMinutes: 13
14+
content: |
15+
[!include[](includes/8-design-implement-partitioning.md)]

0 commit comments

Comments
 (0)