Primer
1. What Is A Relational Database?
A relational database organises a collection of data into tables. A table is a two-dimensional structure with rows and columns. Rows are often also referred to as records and columns as fields or attributes.
Relationships can be established between tables by specifying how a value in a column of one table matches the values in a column of a second table.
2. What IS A DBMS?
A Database Management System (DBMS) is a software program used to manage and maintain a database.
Strictly speaking, a DBMS for a relational database is called a Relational Database Management System (RDBMS), but use of the shorter from is widespread.
Typically, a DBMS will use its own proprietary format for persisting databases (e.g. to disk) and provde a standard interface for interacting with those files.
3. How Do DBMSs Differ?
A client-server DBMS typically manages the databases on its server side and provides an SQL interface via client software. These may be installed on entirely separate computers with a network connection between them.
An embedded DBMS provides both interface and database management in the same software package. Typically, both the software and any database files reside on the same computer.
4. What is SQL?
Structured Query Language (SQL) is a language for managing data within a relational database. It is a standard adopted by both the American National Standard Institute (ANSI) and the International Organisation for Standardisation (ISO).
Any modern DBMS will provide an SQL interface for interaction with a database under its management, regardless of how that database is persisted.
5. What DBMS Can I Use?
There are many relational DBMSs on the market today. Here are some of the more well known:
5.1. Client-Server
- PostgreSQL (Open Source)
- MySQL (Open Source)
- Oracle (Commercial)
- Microsoft SQL Server (Commercial)
5.2. Embedded
- SQLite (Open Source)
- Microsoft Access (Commercial)
6. What Else Do I Need To Know?
Although any modern DBMS will implement standard SQL, all of them go way beyond the standard to provide more advanced capabilities. Unfortunately, those enhancements are not standardised and will not port from one DBMS to another.
For example, here is an article written by the author of this tutorial on how to update the contents of one table based on the content of another in an Oracle database. None of the techniques described in that article would execute successfully on any other DBMS.