aboutsummaryrefslogtreecommitdiff
path: root/blog/content/notes/tech/about-relational-databases.gmi
diff options
context:
space:
mode:
Diffstat (limited to 'blog/content/notes/tech/about-relational-databases.gmi')
-rw-r--r--blog/content/notes/tech/about-relational-databases.gmi27
1 files changed, 27 insertions, 0 deletions
diff --git a/blog/content/notes/tech/about-relational-databases.gmi b/blog/content/notes/tech/about-relational-databases.gmi
new file mode 100644
index 00000000..c66a530f
--- /dev/null
+++ b/blog/content/notes/tech/about-relational-databases.gmi
@@ -0,0 +1,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.