Skip to main content

Силата на чуждестранните ключове в релационни бази данни

Иван Васильевич меняет профессию (комедия, реж. Леонид Гайдай, 1973 г.) (Може 2025)

Иван Васильевич меняет профессию (комедия, реж. Леонид Гайдай, 1973 г.) (Може 2025)
Anonim

Дизайнерите на бази данни използват широко ключовете при разработването на релационни бази данни. Сред най-честите от тези клавиши са първичните ключове и чуждите ключове. Външен ключ на база данни е поле в релационна таблица, която съвпада с колоната за първичен ключ на друга таблица. За да разберем как работи чужд ключ, нека да разгледаме по-отблизо идеята за релационна база данни.

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

В релационна база данни данните се съхраняват в таблици, съдържащи редове и колони, което улеснява търсенето и манипулирането. Съществува сериозна математика зад концепцията за релационна база данни (релационна алгебра, предложена от E.F.

Codd в IBM през 1970 г.), но това не е темата на тази статия.

За практически цели (и не-математици) релационна база данни съхранява свързаните данни в редове и колони. Освен това - и тук става интересно - повечето бази данни са проектирани така, че данните в една таблица да имат достъп до данните в друга таблица. Тази способност за създаване на отношения между таблици е истинската мощ на релационна база данни.

Използване на чужди ключове

Повечето таблици, особено тези в големи, сложни бази данни, имат първични ключове. Таблиците, предназначени за достъп до други таблици, също трябва да имат чужд ключ.

За да използвате често цитираната база данни на Northwinds, тук е извлечение от продуктовата таблица:

Извадката от таблицата за продуктите на Northwind Database
Идентификация на продуктаИме на продуктаCategoryIdQuantityPerUЕдинична цена
1Chai110 кутии х 20 торби18.00
2Чанг124 - 12 унция бутилки19.00
3Анасонен сироп212 - 550 ml бутилки10.00
4Готвач на Антон Cajun подправка2Буркани от 48 до 6 унции22.00
5Готвач на Антон Гъмбо микс236 кутии21.35
6Бъзънбери на баба се разпространи2Буркани от 12 до 8 унции25.00
7Органичните сушени круши на чичо Боб712 - 1 lb pkgs.30.00

Най- Идентификация на продукта колоната е първичният ключ на тази таблица. Тя придава уникален идентификационен номер на всеки продукт.

Тази таблица съдържа и колона с чужди ключове, CategoryId, Всеки продукт в таблицата с продуктите препраща към запис в таблицата с категории, която определя категорията на продукта.

Обърнете внимание на този откъс от таблицата с категории в базата данни:

Таблица с отрязъци за категориите в Northwind Database
CategoryIdИме на категорияописание
1напиткиБезалкохолни напитки, кафе, чай, бира и алергии
2подправкиСладки и солени сосове, благоухания, спрейове и подправки
3ConfectionsДесерти, бонбони и сладкиши
5Млечни продуктиСирена

Колоната CategoryId е първичният ключ на тази колона. (Няма чуждестранен ключ, защото няма нужда да има достъп до друга таблица.) Всеки чужд ключ в таблицата с продуктите се свързва с първичен ключ в таблицата с категории. Например, продуктът Chai получава категория "Напитки", а ароматът на анасон е в категорията "Подправки".

Този вид свързване създава безброй начини за използване и повторно използване на данните в релационна база данни.