Designing an Efficient and Scalable Relational Database Schema: Principles of Design for Data Modeling

Designing an Efficient and Scalable Relational Database Schema: Principles of Design for Data Modeling

Copyright: © 2023 |Pages: 9
DOI: 10.4018/978-1-6684-9809-5.ch013
OnDemand:
(Individual Chapters)
Available
$37.50
No Current Special Offers
TOTAL SAVINGS: $37.50

Abstract

Relational databases are a critical component of modern software applications, providing a reliable and scalable method for storing and managing data. A well-designed database schema can enhance the performance and flexibility of applications, making them more efficient and easier to maintain. Data modeling is an essential process in designing a database schema, and it involves identifying and organizing data entities, attributes, and relationships. In this chapter, the authors discuss the principles of designing an efficient and scalable relational database schema, with a focus on data modeling techniques. They explore the critical aspects of normalization, data types, relationships, indexes, and denormalization, as well as techniques for optimizing database queries and managing scalability challenges. The principles discussed in this chapter can be applied to various database management systems and can be useful for designing a schema that meets the demands of modern data-intensive applications.
Chapter Preview
Top

Relational Database

In order to demonstrate the power of a relational database, we'll create a database for a business that wishes to handle its merchandise, clients, orders, and staff (Alberto Hernández Chillón et al.,2019). Figure 1 shows Simple Entity Relationship Data Model.

Figure 1.

Simple entity relationship data model

978-1-6684-9809-5.ch013.f01

Strategies for Schema design

When designing a database schema, there are several strategies that can be used to ensure that the resulting schema is efficient, scalable, and easy to maintain. Here are some common strategies for schema design:

Denormalization: Denormalization is the opposite of normalization, and involves adding redundant data to a database to improve performance. Denormalization can be useful for frequently accessed data that requires fast access times(Database Star).

Indexing: To increase the performance of queries, indexing includes establishing indexes on the columns of a table. Indexes can speed up query execution, but they can also make insert, update, and delete actions more laborious. The decision of which columns to index needs to be carefully thought out because it might significantly affect the database's performance.

Partitioning: Partitioning is the process of splitting a huge table into more manageable, smaller sections known as partitions. By minimizing the quantity of data that needs to be scanned, partitioning can enhance query performance. It can also make database management simpler by facilitating simpler backup and recovery (AWS).

Vertical partitioning: Based on the columns of a table, several tables are created by vertically partitioning the table. This can be helpful for tables with many columns because it can speed up queries by minimizing the amount of information that needs to be scanned.

Horizontal partitioning: Based on the rows of a table, several tables are created using horizontal partitioning. This can be helpful for tables with many rows because it can speed up queries by minimizing the amount of information that needs to be scanned.

Data archiving: Data archiving is the process of relocating data to a different storage system when it is no longer required for everyday activities. The amount of data that needs to be scanned is decreased, which can enhance the performance of searches.

Complete Chapter List

Search this Book:
Reset