A database is a collection of related data organized in a way that supports easily processing the data
A Database Management System (DBMS) is software that provides the ability to create and manipulate a database
Examples of DBMSs: MySQL, PostgreSQL, MongoDB, Microsoft SQL Server, SQLite
A relational database models data as relations
A relation is organized as a table of columns and rows
Each column is also called an attribute
Each row is also called a record
Each row includes a unique key to identify that row
Data definition language: defines the data types and relationships among them
Data manipulation language: performs operations such as inserting, updating, or deleting data.
Query language: performs information retrieval
The Structured Query Language (SQL) combines the roles of all database languages into a single language for relational databases
SQL is a declarative programming language
A declarative programming language describes what computation should be performed not how to compute it
Normalization is a systematic approach to organizing relational database tables to eliminate data redundancy and data manipulation anomalies
Types of anomalies:
Update Anomaly
Insertion Anomaly
Deletions Anomaly