aboutsummaryrefslogtreecommitdiff
path: root/blog/content/notes/tech/about-relational-databases.gmi
blob: c66a530fe8d921ef6299a5416c2cec5893c181d4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# About relational databases

## What is a relation?

A common misconception is that the "relations" in a relational database are about relations between database tables.

Actually, the relations in a relational database are the tables.

A relation "relates" a set of values with another set of values.

For example, a relation can relate the name of a person with their birth date and birth place. For example:

(person name) => (birth date, birth place)
(Alice) => (1979-12-03, Barcelona)
(Bob) => (1995-03-04, Paris)
...

Many computer languages have similar concepts:

* Python mapping types such as dict
* C++ std::map
* Java java.util.Map
* C# System.Collections.Generic.Dictionary
* Javascript Object
* PHP arrays

Relations are a natural concept, so although non-relational data systems exist, most data can be stored as relations.