Достаточно часто встречается ситуация, когда хранить всю базу данных в одной таблице неудобно и нерационально. Таблица содержит большое количество полей, различные записи дублирую друг друга, что увеличивает информационный объем данных и замедляет процедуры ее обработки.
Пример.
| Номер | Наименование | Описание | Поставщик | Адрес | Цена (руб) |
| Накопитель | 3.5", 2000Гб, | Фирма 1 | Адрес 1 | ||
| Накопитель | 3.5", 2000Гб, | Фирма 2 | Адрес 2 | ||
| Монитор | 21.5” | Фирма 1 | Адрес 1 | ||
| Монитор | 21.5” | Фирма 2 | Адрес 2 | ||
| Клавиатура | 112кл | Фирма 1 | Адрес 1 | ||
| Клавиатура | 112кл | Фирма 2 | Адрес 2 | ||
| Мышь | Notebook -Mouse | Фирма 1 | Адрес 1 | ||
| Мышь | Notebook -Mouse | Фирма 2 | Адрес 2 |
Структура базы данных должна быть такой, чтобы при работе с ней требовалось вводить в нее как можно меньше данных. Если ввод каких-то данных приходится повторять неоднократно, базу делают из нескольких связанных таблиц. Структуру каждой таблицы разрабатывают отдельно.
В данном примере таблицы записи дублируют друг друга. Причина дублирования в следующем. Комплектующие компьютера имеют два неотъемлемых свойства: Наименование и Описание. Свойствами поставщика являются: Поставщик, Адрес, Цена. Наиболее удобно разделить исходную таблицу на две: Комплектующие и Поставщики.
В результате база данных будет состоять из двух связанных таблиц. Для того, чтобы связи между таблицами работали надежно, и по записи из одной таблицы можно было однозначно найти записи в другой таблице, необходимо предусмотреть в таблице уникальные поля.
Каждая таблица должна содержать хотя бы одно уникальное поле, ключевое поле, содержимое которого уникально для каждой записи в этой таблице (Код комплектующих и Код постащика).
Таблица Комплектующие
| Код комплектующих | Наименование | Описание |
| К1 | Накопитель | 3.5", 2000Гб, |
| К2 | Монитор | 21.5” |
| К3 | Клавиатура | 112кл |
| К4 | Мышь | Notebook -Mouse |
Таблица Поставщики
| Код поставщика | Поставщик | Адрес |
| П1 | Фирма1 | Адрес1 |
| П2 | Фирма2 | Адрес2 |
Связывание таблиц.
После создания различных таблиц, содержащих данные, относящиеся к различным аспектам базы данных, необходимо обеспечить целостность базы данных. Для этого необходимо связать таблицы между собой.
Всего имеются три типа связей (отношений):
Один-к-одному,






