9 Relational Databases

 

This chapter covers:

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

In this chapter we will improve 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 it 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.

9.1 Banning Books ordering system

We have learnt in previous chapters that Azure Storage is a great place for storing your data, such as the digital copies of Banning Books’ products. While Azure Storage is ideal for a range of data types, there are still plenty of solutions and services for other data types.

9.2 Database Design

9.2.1 Normalization and denormalization

9.2.2 Banning Books ordering schema

9.3 Choosing the right database service

9.3.1 Azure SQL Database

9.3.2 Azure Database for MySQL

9.3.3 Azure Database for PostgreSQL

9.3.4 Choosing a database for Banning Books

9.4 Performance tuning

9.4.1 Indexing and automatic tuning

9.4.2 Query optimization

9.4.3 Partitioning

9.4.4 Scaling

9.5 Disaster recovery

9.5.1 Geo-Replication

9.5.2 Failover groups

9.6 Database security

9.6.1 Authentication via Entra ID

9.6.2 Securing data at rest

9.6.3 Securing data in transit

9.6.4 The principle of least privilege

9.7 Summary