A database is an organized collection of structured data stored and accessed electronically from a computer system. To work with this data efficiently, applications rely on a Database Management System, or DBMS, which provides the software layer for storage, retrieval, and administration. When the data is organized into tables that are related to one another through keys, the system is called a Relational Database Management System, or RDBMS. Popular relational engines include PostgreSQL, Oracle, and Microsoft SQL Server.
Databases come in many shapes beyond the relational model. The two broad families are relational databases, which use SQL and a fixed schema (for example, MySQL), and non-relational databases, often called NoSQL, which include document stores like MongoDB and wide-column stores like Cassandra. Specialized forms such as hierarchical, network, and graph databases serve particular use cases where relationships or hierarchies are central.
SQL, the Structured Query Language, is the standard language for managing relational databases. It is organized into sublanguages, including Data Definition Language for schemas, Data Manipulation Language for working with data, and Data Control Language for permissions. While there is an ANSI SQL standard, real-world systems implement their own dialects, such as MySQL, PostgreSQL, SQLite, Oracle SQL, and T-SQL from SQL Server. PostgreSQL tracks the standard closely, whereas MySQL adds convenient extensions like GROUP BY shortcuts.