10 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.

10.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.

10.2 Database Design

10.2.1 Normalization and denormalization

10.2.2 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

10.6.3 Securing data in transit

10.6.4 The principle of least privilege

10.7 Summary