1. Ієрархічний підхід до організації баз даних. Ієрархічні бази даних мають форму дерев з дугами-зв'язками і вузлами-елементами даних. Ієрархічна структура передбачала нерівноправність між даними - одні жорстко підпорядковані іншим. Подібні структури, безумовно, чітко задовольняють вимогам багатьох, але далеко не всіх реальних завдань.
2. Мережева модель даних. У мережевих БД поряд з вертикальними реалізовані і горизонтальні зв'язки. Однак успадковані багато недоліків ієрархічної і головний з них, необхідність чітко визначати на фізичному рівні зв'язку даних і настільки ж чітко слідувати цій структурі зв'язків при запитах до бази.
3. Реляційна модель. Реляційна модель з'явилася внаслідок прагнення зробити базу даних якомога більш гнучкою. Дана модель надала простий і ефективний механізм підтримки зв'язків даних.
По перше. всі дані в моделі представляються у вигляді таблиць і тільки таблиць. Реляційна модель - єдина з усіх забезпечує однаковість представлення даних. І суті, і зв'язку цих самих сутностей представляються в моделі абсолютно однаково - таблицями. Правда, такий підхід ускладнює розуміння сенсу зберігається в базі даних інформації, і, як наслідок, маніпулювання цією інформацією.
Уникнути труднощів маніпулювання дозволяє другий елемент моделі - реляційно-повний мову (відзначимо, що мова є невід'ємною частиною будь-якої моделі даних, без нього модель не існує). Повнота мови в додатку до реляційної моделі означає, що він повинен виконувати будь-яку операцію реляційної алгебри або реляційного числення (повнота останніх доведена математично Е.Ф. Коддом). Більш того, мова повинна описувати будь-який запит у вигляді операцій з таблицями, а не з їх рядками. Одним з таких мов є SQL.
Третій елемент реляційної моделі вимагає від реляційної моделі підтримки деяких обмежень цілісності. Одне з таких обмежень стверджує, що кожен рядок в таблиці повинна мати якийсь унікальний ідентифікатор, званий первинним ключем. Друге обмеження накладається на цілісність посилань між таблицями. Воно стверджує, що атрибути таблиці, що посилаються на первинні ключі інших таблиць, повинні мати одне зі значень цих первинних ключів.