Приложения

Сила иностранных ключей в реляционных базах данных

Разработчики баз данных широко используют ключи при разработке реляционных баз данных . Среди наиболее распространенных из этих ключей первичные ключи и внешние ключи. Внешний ключ базы данных — это поле в реляционной таблице, которое соответствует столбцу первичного ключа другой таблицы. Чтобы понять, как работает внешний ключ, давайте подробнее рассмотрим идею реляционной базы данных.

Некоторые основы реляционных баз данных

В реляционной базе данных данные хранятся в таблицах, содержащих строки и столбцы, что упрощает поиск и управление. За концепцией реляционной базы данных стоит серьезная математика (реляционная алгебра, предложенная EF Codd в IBM в 1970 году), но это не тема этой статьи. 

Для практических целей (и нематематиков) реляционная база данных хранит связанные данные в строках и столбцах. Далее — и вот где это становится интересным — большинство баз данных спроектированы так, чтобы данные в одной таблице могли получить доступ к данным в другой таблице. Эта способность создавать отношения между таблицами является реальной силой реляционной базы данных. 

Использование иностранных ключей

Большинство таблиц, особенно в больших и сложных базах данных, имеют первичные ключи. Таблицы, предназначенные для доступа к другим таблицам, также должны иметь внешний ключ.

Чтобы использовать широко цитируемую базу данных Northwinds, вот выдержка из таблицы Product:

Идантификационный номер продукта Наименование товара CategoryID QuantityPerU Цена за единицу товара
1 Chai 1 10 коробок х 20 мешков 18,00
2 Чанг 1 Бутылки на 24 — 12 унций 19,00
3 Анисовый сироп 2 12 — 550 мл флаконы 10,00
4 Cajun Приправа шеф-повара Антона 2 Банки на 48 — 6 унций 22,00
5 Шеф-повар Антон Гамбо Микс 2 36 коробок 21,35
6 Бабушкин Бойзенберри Спред 2 Банки на 12 — 8 унций 25,00
7 Органические сушеные груши дяди Боба 7 12 — 1 фунт фунтов. 30,00
Выдержка таблицы продуктов базы данных Northwind

ProductID столбец является первичным ключом этой таблицы. Он присваивает уникальный идентификатор каждому продукту.

Эта таблица также содержит столбец внешнего ключа CategoryID . Каждый продукт в таблице Product ссылается на запись в таблице Categories, которая определяет категорию этого продукта.

Обратите внимание на этот отрывок из таблицы категорий базы данных:

CategoryID CategoryName Описание
1 напитки Безалкогольные напитки, кофе, чай, пиво и эль
2 Приправы Сладкие и соленые соусы, приправы, спреды и приправы
3 Кондитерские изделия Десерты, конфеты и сладкое печенье
5 молочные продукты Брынза
Выдержка таблицы категорий базы данных Нортвинда
Похожие посты
Приложения

34 лучших бесплатных программных инструмента для резервного копирования

Приложения

Лучшие онлайн-инструменты для встреч

Приложения

11 лучших бесплатных почтовых аккаунтов

Приложения

7 бесплатных языков программирования для обучения детей кодированию