A relational database organizes data into tables which can be linked together based on data that is common in each table. Each table can have one or more columns with unique identifiers (primary key) that point to an id column in another table (foreign key) which forms the relationship between the two tables. ## Relational Database Advantages - Easier to do complex queries - Referential integrity enforced by the system - Updates are fast because all data is on one machine - Supports atomic transactions ## Relational Database Disadvantages - Harder to scale ([[Vertical Scaling|vertical scaling]]) - More effort required to design data structures ## Relational Database Use Cases - Payment/Booking System - Enterprise resource planning (ERP) system - Customer Relationship Management (CRM) system - SaaS application - Ecommerce and Web - Web frameworks - Traditional applications %% wiki footer: Please don't edit anything below this line %% ## This note in GitHub <span class="git-footer">[Edit In GitHub](https://github.dev/data-engineering-community/data-engineering-wiki/blob/main/Concepts/Relational%20Database.md "git-hub-edit-note") | [Copy this note](https://raw.githubusercontent.com/data-engineering-community/data-engineering-wiki/main/Concepts/Relational%20Database.md "git-hub-copy-note")</span> <span class="git-footer">Was this page helpful? [👍](https://tally.so/r/mOaxjk?rating=Yes&url=https://dataengineering.wiki/Concepts/Relational%20Database) or [👎](https://tally.so/r/mOaxjk?rating=No&url=https://dataengineering.wiki/Concepts/Relational%20Database)</span>