Разлика между външен ключ и първичен ключ

Съдържание:

Разлика между външен ключ и първичен ключ
Разлика между външен ключ и първичен ключ

Видео: Разлика между външен ключ и първичен ключ

Видео: Разлика между външен ключ и първичен ключ
Видео: Начальный курс SQL.Первичный ключ и внешний ключ Типы связей между таблицами 2024, Ноември
Anonim

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

Колона или набор от колони, които могат да се използват за идентифициране или достъп до ред или набор от редове в база данни, се нарича ключ. Първичен ключ в релационна база данни е комбинация от колони в таблица, които уникално идентифицират ред от таблицата. Външен ключ в релационна база данни е поле в таблица, което съответства на първичния ключ на друга таблица. Външният ключ се използва за пресичане на референтни таблици.

Разлика между външен ключ и първичен ключ - Резюме на сравнението
Разлика между външен ключ и първичен ключ - Резюме на сравнението
Разлика между външен ключ и първичен ключ - Резюме на сравнението
Разлика между външен ключ и първичен ключ - Резюме на сравнението

Какво е външен ключ?

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

Разлика между външен ключ и първичен ключ
Разлика между външен ключ и първичен ключ
Разлика между външен ключ и първичен ключ
Разлика между външен ключ и първичен ключ

Фигура 01: Съпоставяне на външен ключ

В стандарта ANSI SQL ограничението FOREIGN KEY дефинира външни ключове. Освен това е възможно да се дефинират външните ключове при създаването на самата таблица. Една таблица може да има множество външни ключове и те могат да препращат към различни таблици.

Какво е първичен ключ?

Първичният ключ е колона или комбинация от колони, която уникално дефинира ред в таблица на релационна база данни. Една таблица може да има най-много един първичен ключ. Първичният ключ налага неявното ограничение NOT NULL. Следователно колона с първичен ключ не може да има NULL стойности в нея. Първичният ключ може да бъде нормален атрибут в таблицата, който е гарантирано уникален, като номер на социална осигуровка, или може да бъде уникална стойност, генерирана от системата за управление на базата данни, като глобален уникален идентификатор (GUID) в Microsoft SQL Server.

Ключова разлика между външен ключ и първичен ключ
Ключова разлика между външен ключ и първичен ключ
Ключова разлика между външен ключ и първичен ключ
Ключова разлика между външен ключ и първичен ключ

Фигура 02: Първичен ключ

Освен това, ограничението PRIMARY KEY в стандарта ANSI SQL дефинира първични ключове. Също така е възможно да се дефинира първичен ключ при създаването на таблицата. В допълнение към това SQL позволява първичният ключ да бъде съставен от една или повече колони и всяка колона, която е включена в първичния ключ, е имплицитно дефинирана като NOT NULL. Но някои системи за управление на бази данни изискват колоните с първичен ключ да бъдат изрично NOT NULL.

Каква е разликата между външен ключ и първичен ключ?

Външен ключ срещу първичен ключ

Външният ключ е колона или група от колони в таблица на релационна база данни, която осигурява връзка между данни в две таблици. Първичният ключ е специална колона в таблица на релационна база данни или комбинация от множество колони, която позволява уникалното идентифициране на всички записи в таблицата.
NULL
Чуждият ключ приема NULL стойност. Стойността на първичния ключ не може да бъде NULL.
Брой клавиши
Таблицата може да има множество външни ключове. Таблицата може да има само един първичен ключ.
Дублиране
Кортежите могат да имат дублирана стойност за атрибут на външен ключ. Два кортежа в релация не могат да имат дублиращи се стойности за атрибут на първичен ключ.

Резюме – Външен ключ срещу първичен ключ

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

Препоръчано: