chapter ten

10 Relational databases

 

This chapter covers

  • Designing a relational database schema for use as an ordering system
  • Comparing several relational database options on Azure
  • Creating an Azure SQL database
  • Handling performance tuning, disaster recovery, and database security

In this chapter, we’ll improve the Banning Books ordering system by implementing a relational database. Relational databases are a fundamental part of modern computing and data management. They provide a way to store and organize large amounts of data in a structured and efficient manner, making the data easy to retrieve, manipulate, and analyze. Whether you’re running a small business or a large enterprise, a relational database can help you manage your data in a way that is scalable, cost effective, and secure.

In cloud computing, relational databases are especially important because they provide a way to manage data in a distributed environment. By using a cloud-based relational database, you can store and access data from anywhere in the world using a variety of devices and applications. This makes it easier to collaborate with others, streamline business processes, and gain insights from your data.

10.1 The Banning Books ordering system

10.2 Database design

10.2.1 Normalization and denormalization

10.2.2 The Banning Books ordering schema

10.3 Choosing the right database service

10.3.1 Azure SQL Database

10.3.2 Azure Database for MySQL

10.3.3 Azure Database for PostgreSQL

10.3.4 Choosing a database for Banning Books

10.4 Performance tuning

10.4.1 Indexing and Automatic Tuning

10.4.2 Query optimization

10.4.3 Partitioning

10.4.4 Scaling

10.5 Disaster recovery

10.5.1 Geo-replication

10.5.2 Failover groups

10.6 Database security

10.6.1 Authentication via Entra ID

10.6.2 Securing data at rest