Подтвердить что ты не робот

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

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

В чем именно отличия между клавишами, суперклассом, минимальным суперключем, ключом-кандидатом и первичным ключом?

4b9b3361

Ответ 1

Здесь я копирую и вставляю часть информации, которую я собрал

Ключ Ключ - это одно или комбинация нескольких полей. Его цель - получить доступ или извлечь строки данных из таблицы в соответствии с требованием. Ключи определены в таблицах для быстрого и плавного доступа к хранимым данным или их последовательности. Они также используются для создания ссылок между различными таблицами.

Типы ключей

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

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

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

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

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

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

Пример для супер ключа: Представьте себе таблицу с полями <Name>, <Age>, <SSN> и <Phone Extension>. Эта таблица имеет много возможных суперключей. Три из них - <SSN>, <Phone Extension, Name> и <SSN, Name>. Из перечисленных только ключ-кандидат <SSN>, поскольку остальные содержат информацию, необязательную для уникальной идентификации записей.

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

Ответ 2

Мне всегда было сложно запомнить все ключи; поэтому я держу нижеследующие заметки удобными, надеюсь, что они помогут кому-то! Дайте мне знать, если это можно улучшить.

  • Ключ: атрибут или комбинация атрибутов, которые уникально идентифицируют сущность/запись в реляционной таблице.

  • PK: единственный ключ, который является уникальным и не является нулевым. Это один из ключи кандидата.

  • Внешний ключ: FK - это ключ в одной таблице (дочерний элемент), который однозначно идентифицирует строку другой таблицы (родителя). FK не является уникальным в дочерней таблице. Это ключ-кандидат в родительской таблице. Ссылочная целостность сохраняется, поскольку значение в FK присутствует как значение в PK в родительской таблице, иначе оно равно NULL.

  • Уникальный ключ: уникальный ключ, который может быть или не быть NULL

  • Естественный ключ: ПК в OLTP. Это может быть ПК в OLAP.

  • Суррогатный ключ. Это суррогатная ПК в OLAP, действующая как заменить PK в OLTP. Искусственный ключ, созданный внутри OLAP.

  • Составной ключ: ПК, состоящий из нескольких атрибутов

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

  • Ключ кандидата: ключ-кандидат может быть однозначно использован для идентифицировать запись базы данных без каких-либо посторонних данных. Они не Нулевая и уникальная. Это минимальный супер-ключ.

  • Альтернативный ключ. Ключ-кандидат, который не является первичным ключом, называется альтернативным ключом.

  • Ключ-кандидат с посторонними данными. Учтите, что может использоваться для идентификации записи в таблице Employee, но кандидат достаточно одного ключа для этой задачи. Так становится посторонними данными.

Обратите внимание, что PK, внешний ключ, уникальный ключ, естественный ключ, суррогатный ключ, Компонентный ключ определяется как объекты базы данных; где ключ Natural является ПК в OLTP и может быть ПК в целевом OLAP. Для остальных от ключей, до дизайнера/архитектора БД, чтобы решить, уникальные/не-нулевые/ссылочные ограничения целостности должны применяться принудительно или нет.

Ниже я попытался использовать теорию множеств для упрощения представления членства ключей w.r.t. друг друга.

key = { All of the below keys   }
PK  = { PK  }
Foreign Key = { Key with Not Null constraint    }
Unique Key  = { {Candidate Key/s}, {attributes containing NULL} }
Natural key = { PK  }
Surrogate Key   = { PK  }
Composite Key   = { PK  }
Super Key   = { {Candidate Key/s}, {Candidate Key/s with Extraneous data}   }
Candidate Key   = { PK, {Alternate Key/s}   }
Alternate Key   = { {Candidate Keys} - PK   }
Candidate Key/s with Extraneous data    = {     }

Я кратко изложил это ниже:

Database Keys

Примечания: an-overview-of-the-database-keys-primary-key-composite-key-surrogate-key-et-al

Ответ 3

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

Ответ 4

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

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

Составной ключ. Когда ключ-кандидат состоит из нескольких атрибутов.

Основной ключ. Ключ-кандидат, выбранный для однозначного определения кортежей внутри отношения.

Альтернативный ключ - Ключ-кандидат, который не является первичным ключом.

Внешний ключ. Атрибут или набор атрибутов в отношении, которое соответствует ключу-кандидату некоторого отношения.

Ответ 5

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

  • Ключ: набор из ≥ 1 столбцов.
  • Superkey: ключ, который key ключ-кандидат.
    • Следовательно, суперключ должен содержать> 1 столбца.
    • Минимальный суперключКлюч-кандидат: ключ, который может однозначно идентифицировать каждую строку в таблице.
    • Первичный ключ: выбранный ключ-кандидат для этого.
    • Вторичный ключ/Альтернативный ключ: ключ-кандидат не выбран для этого.
  • Ключ поиска: ключ, используемый для поиска записей.
  • Составной ключ или составной ключ: ключ с> 1 столбцом.
    • Обычно подразумевается "составной первичный ключ", хотя "составной альтернативный ключ" - тоже вещь.
  • Сортировать или управляющий ключ: ключ, используемый для физической последовательности сохраненных данных.
  • Внешний ключ Ключ в одной таблице, соответствующий первичному ключу другой таблицы.
    • Таблица, в которой находится внешний ключ, называется зависимой таблицей.
    • Таблица, на которую ссылается внешний ключ, называется родительской таблицей.

Ответ 6

SUPER KEY:

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

КАНДИДАТНЫЙ КЛЮЧ:

  • Минимальный супер ключ - это ключ-кандидат.
  • Может быть один или несколько
  • Потенциальные первичные ключи
  • не null
  • или набор атрибутов для уникальной идентификации записей в DB

ПЕРВИЧНЫЙ КЛЮЧ:

  • один из ключей-кандидатов, который используется для однозначного определения записей в БД

  • не null

Ответ 7

Супер ключ: Супер-ключ - это набор из одного или нескольких атрибутов, значения которых однозначно определяют кортеж в отношении.

Ключ кандидата: Ключ кандидата может быть определен как минимальное подмножество супер ключа. В некоторых случаях ключ-кандидат не может быть один, поскольку только один атрибут является минимальным подмножеством. Пример,

Сотрудник (id, ssn, name, addrress)

Здесь ключ-кандидат (id, ssn), потому что мы можем легко идентифицировать кортеж, используя либо id, либо ssn. Althrough, минимальное подмножество супер ключа - либо id, либо ssn. но оба они могут рассматриваться как кандидат.

Основной ключ: Первичный ключ является одним из ключей кандидата.

Пример: Студент (Id, Name, Dept, Result)

Здесь

Super Key: {Id, Id + Name, Id + Name + Dept}, потому что супер ключ имеет атрибуты.

Ключ кандидата: Идентификатор, потому что Id является минимальным подмножеством супер ключ.

Первичный ключ: Идентификатор, потому что Id является одним из ключей кандидата

Ответ 8

  Ключ-кандидат: Ключ-кандидат может быть определен как минимальный набор атрибутов, который может быть уникальным Определить кортеж известен как ключ-кандидат. Например, STUD_NO ниже СТУДЕНЧЕСКИЕ ОТНОШЕНИЯ.

  • Значение ключа-кандидата уникально и не равно нулю для каждого кортежа.
  • В отношении может быть более одного ключа-кандидата. Например, STUD_NO, а также STUD_PHONE оба являются ключами-кандидатами для отношение СТУДЕНТ.
  • Ключ-кандидат может быть простым (имеющим только один атрибут) или составным. Например, {STUD_NO, COURSE_NO} является составным
    ключ-кандидат для отношения STUDENT_COURSE.

enter image description here

Super Key: набор атрибутов, которые могут однозначно идентифицировать кортеж, называется Super Key. Например, STUD_NO, (STUD_NO, STUD_NAME) и т.д. Добавление нулевого или более атрибутов в ключ-кандидат генерирует супер ключ. Ключ-кандидат - это супер-ключ, но наоборот не правда. Первичный ключ: может быть несколько ключей-кандидатов в отношение, из которого можно выбрать первичный ключ. Например, STUD_NO, как и STUD_PHONE, являются кандидатами в ключи для отношений STUDENT, но STUD_NO может быть выбран в качестве первичного ключа (только один из много ключей-кандидатов).

Альтернативный ключ: Ключ-кандидат, отличный от первичного, называется альтернативным ключом. Например, STUD_NO и STUD_PHONE оба являются ключи-кандидаты для отношения STUDENT, но STUD_PHONE будет альтернативным ключ (только один из множества возможных ключей).

Внешний ключ: если атрибут может принимать только те значения, которые представить как значения какого-либо другого атрибута, это будет внешний ключ атрибут, к которому он относится. Отношение, которое в настоящее время ссылка называется ссылочным отношением и соответствующим атрибутом называется ссылочным атрибутом и отношение, которое относится к ссылочное отношение называется ссылочным отношением и соответствующим Атрибут называется ссылочным атрибутом. Ссылочный атрибут ссылочный атрибут должен быть первичным ключом. Например, STUD_NO в STUDENT_COURSE - это внешний ключ для STUD_NO в отношении STUDENT.

Ответ 9

суперключ

A superkey is a combination of attributes that can be uniquely used to identify a 
database record. A table might have many superkeys.Candidate keys are a special subset
of superkeys that do not have any extraneous information in them.

Examples: Imagine a table with the fields <Name>, <Age>, <SSN> and <Phone Extension>.
This table has many possible superkeys. Three of these are <SSN>, <Phone Extension, Name>
and <SSN, Name>.Of those listed, only <SSN> is a **candidate key**, as the others
contain information not necessary to uniquely identify records.