что такое составной ключ

BestProg

Реляционные базы данных. Понятие ключа. Виды ключей. Отношения. Главная и подчиненная таблицы

В данной теме, на примере двух таблиц, определяются основные понятия реляционных баз данных, а именно:

Содержание

Поиск на других ресурсах:

Входные данные

Пусть задана база данных работников предприятия, которая состоит из двух таблиц. Первая таблица содержит данные о работнике. Вторая таблица содержит сведения о заработной плате работника.

Таблицы имеют следующую структуру.

Таблица «Работник». Содержит данные о работнике

что такое составной ключ. Смотреть фото что такое составной ключ. Смотреть картинку что такое составной ключ. Картинка про что такое составной ключ. Фото что такое составной ключ

Таблица «Зарплата». Содержит сведения о заработной плате работников.

что такое составной ключ. Смотреть фото что такое составной ключ. Смотреть картинку что такое составной ключ. Картинка про что такое составной ключ. Фото что такое составной ключ

Вопрос/ответ

1. Что такое первичный ключ в таблице базы данных? Для чего используются первичные ключи?

При работе с таблицами в реляционных базах данных, желательно (необходимо), чтобы каждая таблица имела так называемый первичный ключ.

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

Уникальность необходима во избежание неоднозначности, когда неизвестно к какой записи таблицы можно обратиться, если в таблице есть повторяющиеся записи (две записи имеют одинаковые значения во всех полях таблицы).

Пример. Для таблицы «Работник» можно ввести дополнительное поле, которое будет первичным ключом. Однако, поле (атрибут) «Табельный номер» также обеспечивает уникальность. Так как, теоретически, не может быть двух одинаковых табельных номеров. На практике могут быть случаи, что один и тот же табельный номер будет введен по ошибке и совпадут значения всех полей таблицы. В результате возникнут два одинаковых записи в таблице. Во избежание такой ошибки, лучше создать в таблице дополнительное поле-счетчик, которое обеспечит уникальность.

Также для таблицы «Зарплата» можно ввести дополнительное поле, которое будет первичным ключом.

2. Что такое отношение (связь) между таблицами (relationship)? Пример

Таблицы в реляционной модели данных могут иметь связи между собой. Такие связи называются отношениями. Для таблиц «Работник» и «Зарплата» можно установить связь по полю «Табельный номер».

Пример. Проанализируем таблицы «Работник» и «Зарплата». В этих таблицах можно установить отношение между таблицами на основе поля «Табельный номер». То есть, связь между таблицами происходит на основе поля (атрибуту) «Табельный номер».

Это означает следующее. Если нужно найти начисленную заработную плату в таблице «Зарплата» для работника Иванов И.И., то нужно выполнить следующие действия:

что такое составной ключ. Смотреть фото что такое составной ключ. Смотреть картинку что такое составной ключ. Картинка про что такое составной ключ. Фото что такое составной ключ

Рис. 1. Иллюстрация связи между таблицами. Табельный номер 2145 таблицы «Работник» отображается в таблице «Зарплата»

что такое составной ключ. Смотреть фото что такое составной ключ. Смотреть картинку что такое составной ключ. Картинка про что такое составной ключ. Фото что такое составной ключРис. 2. Связь (отношение) между полями таблиц

3. Что такое внешний ключ (foreign key)? Пример

Понятие «внешний ключ» есть важным при рассмотрении связанных таблиц.

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

Пример. Пусть между таблицами «Работник» и «Зарплата» существует взаимосвязь по полю «Табельный номер». В этом случае, поле «Табельный номер» таблицы «Работник» может быть первичным ключом, а поле «Табельный номер» таблицы «Зарплата» внешним ключом. Это означает, что значения поля «Табельный номер» таблицы «Зарплата» заменяются значениями поля «Табельный номер» таблицы «Работник».

4. Что такое рекурсивный внешний ключ?

Рекурсивный внешний ключ – это внешний ключ, который ссылается на одну и ту же таблицу, к которой он принадлежит. В этом случае поле (атрибут), которое соответствует внешнему ключу, есть ключом одного и того же отношения (связи).

5. Могут ли первичный и внешний ключи быть простыми или составными (сложными)?

Первичный, вторичный и внешний ключи могут быть как простыми так и составными (сложными). Простые ключи – это ключи, которые содержат только одно поле (один атрибут). Составные (сложные) ключи – это ключи, которые содержат несколько полей (атрибутов).

6. Какое отличие между искусственным и естественным ключом? Пример

Естественной ключ обеспечивает уникальность из самой сущности предметной области. Бывают случаи, когда значения записей некоторого поля (полей) таблицы есть уникальными. Это поле может быть естественным ключом.

Искусственный ключ вводится дополнительно для обеспечения уникальных значений. Чаще всего искусственный ключ есть полем типа счетчик (counter). В таком поле, при добавлении новой записи (строки) в таблицу, значение счетчика увеличивается на 1 (или другую величину). Если запись удалить из таблицы, то максимальное значение счетчика строк уже не уменьшается, а остается как есть. Как правило, за этим все следит система управления базами данных.

Пример. В таблице «Работник» естественном ключом есть поле (атрибут) «Табельный номер». Поле «Табельный номер» есть само по себе уникальным, так как не может быть двух работников с одинаковым табельным номером.

В таблице «Зарплата» значение во всех четырех полях могут случайно повториться. Поэтому, здесь целесообразно добавить дополнительное поле-счетчик, которое будет искусственным ключом. В этом случае таблица «Зарплата» с дополнительным полем может иметь приблизительно следующий вид:

что такое составной ключ. Смотреть фото что такое составной ключ. Смотреть картинку что такое составной ключ. Картинка про что такое составной ключ. Фото что такое составной ключ

где поле «Номер» есть искусственным ключом, который обеспечивает уникальность.

7. Какие существуют способы выбора первичного ключа?

Существует 3 способа выбора первичного ключа:

8. Что означают термины «главная таблица» (master) и «подчиненная таблица» (detail)?

Если между таблицами есть связь, то одна из них может быть главной (master), а другая подчиненной (detail). Главная таблица отображает все записи, которые помещаются в ней. Подчиненная таблица отображает только те записи, которые соответствуют значению ключа главной таблицы, который на данный момент есть активным (текущим). Если изменяется текущая запись главной таблицы, то изменяется множество доступных записей подчиненной таблицы.

Пример. Если рассмотреть таблицы «Работник» и «Зарплата», то таблица «Работник» есть главной, а таблица «Зарплата» есть подчиненной.

9. Какие существуют типы отношений (связей) между таблицами?

Существует 4 основных типа отношений между таблицами:

Пример. Если рассмотреть отношение между таблицами «Работник» и «Зарплата», то это отношения есть типа «один ко многим». Таблица «Работник» есть главной. Таблица «Зарплата» есть подчиненной.

Источник

Ключи SQL

что такое составной ключ. Смотреть фото что такое составной ключ. Смотреть картинку что такое составной ключ. Картинка про что такое составной ключ. Фото что такое составной ключ

В этой статье мы попробуем рассмотреть все, что касается ключей в SQL: для чего нужны, создание, ограничения ключей. В общем: будет скучно что такое составной ключ. Смотреть фото что такое составной ключ. Смотреть картинку что такое составной ключ. Картинка про что такое составной ключ. Фото что такое составной ключ

План на сегодня такой:

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

Если говорить простыми словами, то ключи в sql созданы для того, чтобы указать дополнительную функциональность столбца. Будь то уникальность или то, что столбец ссылается на другую таблицу (внешний ключ).

Первичный ключ

Столбец, который в базе данных должен быть уникальным помечают первичным ключом. Первичный ключ или primary key означает, что в таблице значение колонки primary key не может повторяться. Таким образом данный ключ позволяет однозначно идентифицировать запись в таблице не боясь при этом, что значение столбца повториться. Сразу пример: допустим у Вас есть таблица пользователей. В данной таблице есть поля: ФИО, год рождения, телефон. Как идентифицировать пользователя? Таким параметрам как ФИО и телефон доверять нельзя. Ведь у нас может быть несколько пользователей не только с одинаковой фамилией, но и с именем. Телефон может меняться со временем и пользователь с номером телефона может оказаться не тем кто у нас в базе данных.

Вот для этого и придумали первичный ключ. Один раз присвоили уникальный идентификатор и все. В mySql на примере которой мы выполняем все примеры из цикла статей по SQL поле AUTO_INCREMENT нельзя задать если не указать, что это первичный ключ.

К стати, в предыдущей теме мы уже познакомились с первичным ключом: что это такое и как его создавать. Синтаксис по созданию этого ключа Вы найдете в статье Создание, изменение, удаление таблиц SQL.

Думаю, что не стоит упоминать, что поле помеченное как первичный ключ не может быть пустым при создании записи.

Внешний ключ (foreign key)

Есть еще внешний ключ (foreign key). Его еще называют ссылочным. Он нужен для связывания таблиц между собой.

что такое составной ключ. Смотреть фото что такое составной ключ. Смотреть картинку что такое составной ключ. Картинка про что такое составной ключ. Фото что такое составной ключ

Если посмотреть на картинку выше, то внешним ключем будет поле поставщик в таблице обувь. Как правило, при создании таблицы задают колонку уникальных целочисленных значений. Как мы это делали когда создавали таблицу supplier.

что такое составной ключ. Смотреть фото что такое составной ключ. Смотреть картинку что такое составной ключ. Картинка про что такое составной ключ. Фото что такое составной ключ

Колонка supplier_id будет уникальна для каждой записи. Ее значение и будет выступать на мести колонки поставщик в таблице обувь. Предлагаю сразу и рассмотреть на примере как создается внешний ключ.

Создание внешнего ключа

что такое составной ключ. Смотреть фото что такое составной ключ. Смотреть картинку что такое составной ключ. Картинка про что такое составной ключ. Фото что такое составной ключ

Как видно на примере выше, синтаксис по созданию внешнего ключа довольно прост. Нужно в таблицу добавить поле, а после объявить это поле как внешний ключ и указать, куда он будет ссылаться. В данном случае поле supplier будет ссылаться на поле supplier_id в таблице supplier.

Составной ключ (composite key)

Что касается составного ключа — это несколько первичных ключей в таблице. Таким образом, создав composite key, уникальность записи будет проверяться по полям, которые объединенные в этот ключ.

Бывают ситуации, когда при вставке в таблицу нужно проверять запись на уникальность сразу по нескольким полям. Вот для этого и придуман составной ключ. Для примера я создам простую таблицу с composite key, чтобы показать синтаксис:

что такое составной ключ. Смотреть фото что такое составной ключ. Смотреть картинку что такое составной ключ. Картинка про что такое составной ключ. Фото что такое составной ключ

В примере выше два поля объединенные в составной ключ и в таблице не будет записей с этими одинаковыми полями.

Это все, что касается ключей в SQL. Это небольшое пособие — подготовка к статье связи sql где мы подробно рассмотрим как объединять таблицы, чтобы они составляли единую базу данных.

Источник

Для чего нужен составной ключ в mysql?

Простой 1 комментарий

что такое составной ключ. Смотреть фото что такое составной ключ. Смотреть картинку что такое составной ключ. Картинка про что такое составной ключ. Фото что такое составной ключ

Есть таблица статистики.
Поля

что такое составной ключ. Смотреть фото что такое составной ключ. Смотреть картинку что такое составной ключ. Картинка про что такое составной ключ. Фото что такое составной ключ

что такое составной ключ. Смотреть фото что такое составной ключ. Смотреть картинку что такое составной ключ. Картинка про что такое составной ключ. Фото что такое составной ключ

У меня например есть таблица «права доступа».

access (id,user_id,access_mode)
У одного пользователя не может быть два раза одно и тоже значение access_mode ( зачем допускать пользователя 2 раза к одному и тому же разделу сайта?)

Потому я использую двойной ключ (user_id,access_mode)

что такое составной ключ. Смотреть фото что такое составной ключ. Смотреть картинку что такое составной ключ. Картинка про что такое составной ключ. Фото что такое составной ключ

Артём, права разные есть. Для каждого пользователя может быть скольугодно разных прав.

Список прав хранится в другой таблице, и может меняться.

users (id,name)
access_modes (id,access_name)
access (user_id,access_mode_id)

access_modes:
1|может менять новости
2|может редактировать главную страницу
3|может удалять аккаунт
4|может забанить

что такое составной ключ. Смотреть фото что такое составной ключ. Смотреть картинку что такое составной ключ. Картинка про что такое составной ключ. Фото что такое составной ключ

что такое составной ключ. Смотреть фото что такое составной ключ. Смотреть картинку что такое составной ключ. Картинка про что такое составной ключ. Фото что такое составной ключ

Связка значение1-значение2 всегда уникально, хотя оба значения в любой колонке могут встречаться сколь угодно раз по отдельности.

что такое составной ключ. Смотреть фото что такое составной ключ. Смотреть картинку что такое составной ключ. Картинка про что такое составной ключ. Фото что такое составной ключ

что такое составной ключ. Смотреть фото что такое составной ключ. Смотреть картинку что такое составной ключ. Картинка про что такое составной ключ. Фото что такое составной ключ

что такое составной ключ. Смотреть фото что такое составной ключ. Смотреть картинку что такое составной ключ. Картинка про что такое составной ключ. Фото что такое составной ключ

что такое составной ключ. Смотреть фото что такое составной ключ. Смотреть картинку что такое составной ключ. Картинка про что такое составной ключ. Фото что такое составной ключ

Анатолий Цивилёв, Я это к чему. Нет связи между тем, составной индекс или нет и уникальный он или нет. Это теплое и мягкое и ни как это категории не сцеплены. Точно так же как не сцеплено создание ключей и fk в некоторых реализациях РСУБД.

Поэтому не стоит вводить в заблуждение автора и других читателей.

Составные ключи могут служить заменой специально вводимым идентификаторам.
Например есть таблица Пользователи вида Users(id, name) и таблица Фотки вида Photos(id, name).

Таблица содержащая фотки пользователей будет таблица UsersPhotos(user_id, photo_id). В данном случае эти два поля образуют составной ключ, эта связка будет уникальна и нет смысла вводить избыточный идентификатор, если этого не требует логика приложения.

что такое составной ключ. Смотреть фото что такое составной ключ. Смотреть картинку что такое составной ключ. Картинка про что такое составной ключ. Фото что такое составной ключ

Артём, это всего лишь абстрактный пример, как может использоваться.

Ниже я написал, как это используется у меня. Тут вы уже не засунете в таблицу users все их права.

Таблица содержащая фотки пользователей будет таблица UsersPhotos(user_id, photo_id). В данном случае эти два поля образуют составной ключ, эта связка будет уникальна и нет смысла вводить избыточный идентификатор, если этого не требует логика приложения.

Эта таблица нужна для поиска всех фотографий пользователя.
Следовательно, несмотря на то, что ключ здесь составной, но индекс нужен по user_id

вот я и не понимаю, проще же создать как и написано выше внешний ключ user_id в таблице Photos и через него связать с таблицей Users. Это разве не проще, чем создавать отдельную таблицу с таким составным ключом?

что такое составной ключ. Смотреть фото что такое составной ключ. Смотреть картинку что такое составной ключ. Картинка про что такое составной ключ. Фото что такое составной ключ

Следовательно, несмотря на то, что ключ здесь составной, но индекс нужен по user_id

что такое составной ключ. Смотреть фото что такое составной ключ. Смотреть картинку что такое составной ключ. Картинка про что такое составной ключ. Фото что такое составной ключ

А если мы имеет таблицу many-to-many, которая сопоставляет две других таблицы с естественными ключами, и выбрали для many-to-many составной ключ, являющийся, таким образом, комбинацией двух естественных ключей, то иногда получается вообще избавиться от лишнего JOIN при запросе, что очень неплохо, потому что самая важная информация уже есть в самом ключе.

Источник

Реляционный подход к построению инфологической модели

Типы связей. Свойства отношений

Отсутствие упорядоченности кортежей.

Отсутствие упорядоченности атрибутов. Для ссылки на значение атрибута всегда используется имя атрибута.

Атомарность значений атрибутов, т.е. среди значений домена не могут содержаться множества значений (отношения ).

В большинстве случаев любые две таблицы связаны отношением «один-ко-многим». Это означает, что любая запись в первой таблице может быть связана с несколькими записями во второй, однако любая запись второй таблицы связана только с одной записью в первой.

Пример 5.10 Дана совокупность информационных объектов, отражающих учебный процесс в вузе:

СТУДЕНТ (Номер, Фамилия, Имя, Отчество, Пол, Дата рождения, Группа ) СЕССИЯ (Номер, Оценка1, Оценка2, ОценкаЗ, Оценка4, Результат) СТИПЕНДИЯ (Результат, Процент ) ПРЕПОДАВАТЕЛЬ (Код преподавателя. Фамилия, Имя, Отчество)

Связь один к одному (1:1) предполагает, что в каждый момент времени одному экземпляру информационного объекта А соответствует не более одного экземпляра информационного объекта В и наоборот. Рисунок 5.5 иллюстрирует указанный тип отношения.

что такое составной ключ. Смотреть фото что такое составной ключ. Смотреть картинку что такое составной ключ. Картинка про что такое составной ключ. Фото что такое составной ключ

Пример 5.11 Примером связи 1:1 может служить связь между информационными объектами СТУДЕНТ и СЕССИЯ:

СТУДЕНТ СЕССИЯ Каждый студент имеет определенный набор экзаменационных оценок в сессию.

При связи один ко многим (1:М) одному экземпляру информационного объекта А соответствует 0, 1 или более экземпляров объекта В, но каждый экземпляр объекта В связан не более чем с 1 экземпляром объекта А. Графически данное соответствие имеет вид, представленный на рис. 5.6.

что такое составной ключ. Смотреть фото что такое составной ключ. Смотреть картинку что такое составной ключ. Картинка про что такое составной ключ. Фото что такое составной ключ

Пример 5.12 Примером связи 1 :М служит связь между информационными объектами СТИПЕНДИЯ и СЕССИЯ:

СТИПЕНДИЯ Связь многие ко многим (М:М) предполагает, что в каждый момент времени одному экземпляру информационного объекта А соответствует 0, 1 или более экземпляров объекта В и наоборот. На рис. 5.7 графически представлено указанное соответствие.

что такое составной ключ. Смотреть фото что такое составной ключ. Смотреть картинку что такое составной ключ. Картинка про что такое составной ключ. Фото что такое составной ключ

Пример 5.13 Примером данного отношения служит связь между информационными объектами СТУДЕНТ и ПРЕПОДАВАТЕЛЬ:

Один студент обучается у многих преподавателей, один преподаватель обучает многих студентов.

Простые и составные ключи

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

Если таблица не имеет единственного уникального поля, первичный ключ может быть составлен из нескольких полей, совокупность значений которых гарантирует уникальность. Так, имя, фамилия, отчество, номер паспорта, серия паспорта не могут быть первичными ключами по отдельности, так как могут оказаться одинаковыми у двух и более людей. Но не бывает двух личных документов одного типа с одинаковыми серией и номером. Поэтому в таблице, содержащей записи о людях, первичным ключом может быть набор полей, состоящий из типа личного документа, его серии и номера. Такой первичный ключ называют составным ключом

что такое составной ключ. Смотреть фото что такое составной ключ. Смотреть картинку что такое составной ключ. Картинка про что такое составной ключ. Фото что такое составной ключ

Например, связь между отношениями ОТДЕЛ и СОТРУДНИК создается путем копирования первичного ключа «Номер_отдела» из первого отношения во второе. Таким образом:

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

Если же между таблицами необходимо организовать связь » многие-ко-многим «, то в Access придется создать дополнительную таблицу пересечения, с помощью которой одна связь будет сведена к двум связям типа » один-ко-многим «.

Краткие итоги

Источник

9) Ключи СУБД

Какие ключи?

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

Пример:

ID сотрудникаИмяФамилия
11ЭндрюДжонсон
22ТомДерево
33Alexздоровый

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

В этом уроке вы узнаете:

Зачем нам нужен ключ?

Вот причины использования ключей в системе СУБД.

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

СУБД имеет следующие семь типов ключей, каждый из которых имеет свои различные функции:

Что такое супер ключ?

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

Пример:

EmpSSN EmpNum EmpName
9812345098AB05показанный
9876512345AB06Рослин
199937890AB07Джеймс

В приведенном выше примере имена EmpSSN и EmpNum являются суперключами.

Что такое первичный ключ?

PRIMARY KEY — это столбец или группа столбцов в таблице, которые уникально идентифицируют каждую строку в этой таблице. Первичный ключ не может быть дубликатом, то есть одно и то же значение не может появляться в таблице более одного раза. Таблица не может иметь более одного первичного ключа.

Правила определения первичного ключа:

Пример:

В следующем примере StudID является первичным ключом.

StudIDРолл №ИмяФамилияЭлектронное письмо
111ТомЦена abc@gmail.com
212НикРайт xyz@gmail.com
313DanaНатана mno@yahoo.com

Что такое альтернативный ключ?

ALTERNATE KEYS — это столбец или группа столбцов в таблице, которые однозначно идентифицируют каждую строку в этой таблице. Таблица может иметь несколько вариантов выбора первичного ключа, но в качестве первичного ключа может быть задан только один. Все ключи, которые не являются первичными ключами, называются альтернативными ключами.

Пример:

В этой таблице StudID, Roll No, Email могут стать первичным ключом. Но поскольку StudID является первичным ключом, Roll No, Email становится альтернативным ключом.

StudIDРолл №ИмяФамилияЭлектронное письмо
111ТомЦена abc@gmail.com
212НикРайт xyz@gmail.com
313DanaНатана mno@yahoo.com

Что такое ключ-кандидат?

CANDIDATE KEY — это набор атрибутов, которые однозначно идентифицируют кортежи в таблице. Ключ-кандидат — это супер-ключ без повторяющихся атрибутов. Первичный ключ должен быть выбран из возможных ключей. В каждой таблице должен быть хотя бы один ключ-кандидат. Таблица может иметь несколько ключей-кандидатов, но только один первичный ключ.

Свойства ключа-кандидата:

Пример: в данной таблице идентификатор студента, номер ролика и адрес электронной почты являются ключами-кандидатами, которые помогают нам однозначно идентифицировать запись студента в таблице.

StudIDРолл №ИмяФамилияЭлектронное письмо
111ТомЦена abc@gmail.com
212НикРайт xyz@gmail.com
313DanaНатана mno@yahoo.com

что такое составной ключ. Смотреть фото что такое составной ключ. Смотреть картинку что такое составной ключ. Картинка про что такое составной ключ. Фото что такое составной ключ

Что такое внешний ключ?

FOREIGN KEY — это столбец, который создает связь между двумя таблицами. Назначение внешних ключей заключается в поддержании целостности данных и возможности навигации между двумя различными экземплярами объекта. Он действует как перекрестная ссылка между двумя таблицами, так как ссылается на первичный ключ другой таблицы.

Пример:

DeptCode DEPTNAME
001Наука
002английский
005компьютер
ID учителя Fname Lname
B002Дэвидсигнализатор
B017СараДжозеф
B009МайкБрантон

В этом примере у нас есть два стола, учить и отдел в школе. Тем не менее, нет способа узнать, какой поиск работает в каком отделе.

В этой таблице, добавив внешний ключ в Deptcode к имени учителя, мы можем создать связь между двумя таблицами.

ID учителя DeptCode Fname Lname
B002002Дэвидсигнализатор
B017002СараДжозеф
B009001МайкБрантон

Эта концепция также известна как ссылочная целостность.

Что такое составной ключ?

КЛАВИША СОЕДИНЕНИЯ имеет два или более атрибута, которые позволяют однозначно распознавать конкретную запись. Возможно, что каждый столбец не может быть уникальным сам по себе в базе данных. Однако при объединении с другим столбцом или столбцами комбинация составных ключей становится уникальной. Целью составного ключа является уникальная идентификация каждой записи в таблице.

Пример:

№ заказа PorductID наименование товара Количество
B005JAP102459мышь5
B005DKT321573USB10
B005OMG446789ЖК монитор20
B004DKT321573USB15
B002OMG446789Лазерный принтер3

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

Что такое композитный ключ?

КОМПОЗИЦИОННЫЙ КЛЮЧ — это комбинация двух или более столбцов, которые однозначно идентифицируют строки в таблице. Комбинация столбцов гарантирует уникальность, хотя индивидуальная уникальность не гарантируется. Следовательно, они объединены, чтобы однозначно идентифицировать записи в таблице.

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

Что такое суррогатный ключ?

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

Fname Фамилия Время начала Время окончания
Эннкузнец9:0018:00
ДжекФрэнсис8:0017:00
АннаMcLean11:0020:00
показанныйWillam14:0023:00

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

Суррогатные ключи разрешены, когда

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *