Relational databases can be conceptualized as a set of spreadsheets (tables) linked together by shared columns (attributes) amongst the tables. Using relational databases (rather than simply using spreadsheets) can help keep data more organized and reduce data redundancy, which is particularly useful at times when data needs to be updated or deleted. Database management systems are software applications used to make database management and user interaction easier.
Non-relational databases (NoSQL) provide means of accessing data that cannot be stored in a relational format. NoSQL databases such as MongoDB are particularly useful for "large volumes of rapidly changing structured, semi-structured, and unstructured data," "agile sprints, quick schema iteration, and frequent code pushes," "object-oriented programming that is easy to use and flexible," and "geographically distributed scale-out architecture instead of expensive, monolithic architecture."
SQL (sometimes pronounced see-quil) is a programming language used for databases. Databases can be stored and queried from a number of open-source and proprietary software that use variants of SQL such as MySQL, MS SQL Server, SQLite, and PostgreSQL. Most of the SQL syntax is shared among these database types, but some have additional functionality.