Programming and Software Development
Databases and SQL
Almost every application keeps its state in a database, and many of the hardest bugs a developer meets trace back to how that data was modelled. This topic treats databases as a builder uses them: the relational model, SQL, schema design, indexes and transactions, and the document and key-value stores chosen when tables fit badly. Querying data for analysis is its neighbour in the data field.
Why this topic exists: The relational model, SQL, schema design and the document and key-value stores next to it: the layer every application and every analyst stands on (SFIA Database design; DP-900 relational concepts).
For a developer, the database is where an application's truth lives. Code can be redeployed in minutes; data written under a careless schema stays wrong until someone migrates it, often while the system is running. Database work in this sense means deciding how records are shaped and related, writing the queries that read and change them, keeping those queries fast as volumes grow, and making sure that operations which belong together either all happen or none do.
Three shapes of store
| Model | Data looks like | Fits well | Strains when |
|---|---|---|---|
| Relational (PostgreSQL, MySQL, SQL Server) | Tables of typed columns linked by keys | Records with relationships and rules that must always hold | Schemas change on very large tables, or writes must spread across many machines |
| Document (MongoDB) | Self-contained JSON-like documents | Records read and written whole, with shapes that vary | Queries cut across documents, and integrity rules move into application code |
| Key-value | One value stored under each key | Sessions, counters and caching in front of a slower store | You need to search by anything other than the key |
Habits the schema remembers
- Model the entities and the rules first, and let the database enforce them with keys, constraints and types rather than trusting every caller.
- Normalise to remove duplicated facts, then denormalise only where a measured query needs it.
- Add indexes for the queries you actually run, knowing that each one makes writes slightly dearer.
- Wrap operations that must succeed together in a transaction.
- Pass user input as query parameters, never by pasting it into the SQL string.
- Keep schema changes as versioned migrations alongside the code.
- Store files in object storage and keep only their references in the database.
SFIA separates two strands of this work. Database design is about specifying and maintaining the mechanisms that store and retrieve data; data modelling and design is about capturing what the data means and communicating it. Developers do both, often without naming them. Microsoft's DP-900 frames the ground from the data side: it asks candidates to describe normalisation, recognise common SQL statements and database objects, contrast relational with non-relational stores, and distinguish transactional workloads from analytical ones. Application developers live mostly on the transactional side. freeCodeCamp's Relational Databases certificate is a practical, free way to put SQL to work in a real terminal.
The mistake that shows up in almost every first project is the query inside a loop: fetch a list, then fetch the details for each item one at a time. An object-relational mapper makes this easy to write and hard to see, and it works perfectly until the list holds ten thousand rows. Learn to read the query plan and to ask for what you need in one round trip. The neighbouring topics are back-end development and APIs, SQL for analysis on the analyst's side, and cloud storage and databases for the managed versions.
Next to this topic
- Programming fundamentalsOne language learned properly plus enough of the machine beneath it: variables, control flow, data structures, debugging and reading code (SFIA Programming/software development; MDN's getting-started modules).
- Programming languagesPython, JavaScript, Java, C#, C and C++, Go, TypeScript, Rust, Kotlin, Swift: what each is for and where it is hired, so the first choice is a career decision rather than a syntax preference (Udemy's Programming Languages shelf names the market).
- Web developmentHTML, CSS and JavaScript, then a framework and the browser's APIs: MDN's core and extension modules are the syllabus of the largest development field.
- Back-end development and APIsServers, frameworks, databases behind them and the HTTP and REST contracts between services (MDN server-side modules; DVA-C02; the freeCodeCamp back-end certificate).
- Mobile developmentiOS, Android and the cross-platform frameworks are their own toolchains, stores and review rules (SFIA Systems development; Udemy's Mobile shelf).
- Software engineering practiceVersion control, code review, testing habits, architecture, design patterns and clean code: the slow layer hiring quietly filters on (SFIA Systems and software lifecycle engineering; MDN version-control module).
- Software testing and QATesting as a discipline: the ISTQB Foundation syllabus v4.0.1 (fundamentals, testing through the lifecycle, static testing, analysis and design, managing test activities, tools) plus the automation frameworks (Selenium, Cypress, Playwright).
- DevOps, Git and CI/CDVersion control workflows, pipelines, containers for developers and the culture that joins build and run (AZ-400; GitHub Foundations and Actions; the cloud field owns infrastructure as code and operations).
- Game developmentEngines, graphics, physics and the design loop are a development field with its own tooling and job market (Udemy's Game Development shelf; SFIA Animation development).
- No-code and low-code developmentBuilding software without writing most of it (Bubble, Webflow, Zapier, Make, Airtable) is a recognised route into shipping products; Microsoft's Power Platform is the office-suite version of the same idea.
- AI-assisted developmentAssistants changed how fast plausible code appears, not what makes it correct; reading, testing and correcting generated code is now part of the craft (GitHub certifies Copilot use and, on its 2026 credentials page, agentic AI development).
Concepts to know
Glossary entries with the reason each one matters here.
- SQL
The topic's language.
- Caching
What sits in front of a database under load.
- Object Storage
Where files live when they do not belong in a database.
Certifications that test it
Vendor exams and free certificates; facts, cost and the preparation path are on each page, and the certifications hub has them all.
Tools of the trade
- SQL
The relational query language.
- PostgreSQL
The open-source relational database of record.
- MySQL
The web's default database.
- MongoDB
The document database most developers meet first.
- Microsoft SQL Server
Microsoft's relational database.
Frequently asked
- Should I learn SQL or a NoSQL database first?
- SQL. The relational model teaches the ideas every other store is reacting to, from keys and constraints to transactions, and most applications and data teams still depend on it. Document and key-value stores make more sense once you know what they trade away.
- PostgreSQL or MySQL?
- Both are mature open-source relational databases and either is a sound place to learn. The SQL you write is largely portable between them; pick the one your stack or hosting already uses and learn its specific features later.
- Do I still need SQL if I use an ORM?
- Yes. The mapper writes queries for you, but when something is slow or wrong you have to read what it generated, and some queries are clearer written by hand. Developers who understand the SQL underneath use mappers far more safely.
Courses in the directory
1,053 courses are filed here; the top 6 by our ranking, details and the provider link on each course page.
SQL for Healthcare
Udemy
Last reviewed 26 September 2026 · Getting Digital
