Я новичок в СУБД, и я все еще изучаю теорию.
Я действительно запутался с этим ключевым бизнесом, и после поиска в Google я сузил его до двух ключей, которые я не получаю (первичный и супер ключ).
У меня есть несколько вопросов по СУБД. Буду признателен, если вы сможете мне за них ответить.
1) В чем разница между Первичным ключом и Супер ключом в СУБД? Высоко ценю, если вы можете использовать подробный пример, чтобы объяснить правильно
2) ключ может Первичный ключ и супер как уже несколько столбцов объединяются в первичный ключ и супер ключ?
3) Является ли первичный ключ поднабором суперключа или наоборот?
Ответы:
Супер Ключ просто неминимальное кандидат ключа , то есть один с дополнительными столбцами не строго необходимых для обеспечения уникальности ряда.
Первичный ключ является минимальным кандидатом ключ , который должен сказать , что все столбцы учредительных строго требуется для того , чтобы обеспечить уникальность.
Как разработчик / дизайнер баз данных с 30-летним опытом, я никогда не слышал термин Super Key, пока не увидел этот вопрос и не нашел его. Концепция Super Key кажется более уместной для темы производительности и разработки физической схемы, поскольку она напрямую соответствует концепции уникального некластеризованного индекса с дополнительными столбцами для улучшенного покрытия запросов.
источник
Супер Ключи: Супер ключ обозначает суперсет ключа. Супер Ключ - это набор из одного или нескольких атрибутов, которые взяты вместе и могут однозначно идентифицировать все другие атрибуты.
Например, у нас есть таблица
Таким образом, в этой таблице мы можем иметь
Как наш супер ключ. Каждый супер-ключ может однозначно идентифицировать каждый кортеж (запись).
Ключи-кандидаты Ключи-кандидаты - это супер-ключи, которые не имеют избыточных атрибутов. Другими словами, ключи-кандидаты - это минимальные супер-ключи. Например, на рисунке выше
Эти два ключа могут быть ключами-кандидатами, поскольку остальные ключи имеют избыточные атрибуты. Значения в записи супер ключа (BookId, BookName) могут быть однозначно идентифицированы с помощью просто bookid, и, следовательно, Bookname является избыточным атрибутом.
Первичный ключ: это кандидатный ключ, который выбирается разработчиком базы данных для идентификации сущностей в наборе сущностей. ИЛИ Ключ, который используется для уникальной идентификации каждой записи, называется первичным ключом.
Сверху ключи-кандидаты любой может быть первичным ключом. А другой, который не выбран в качестве первичного ключа, будет известен как альтернативный ключ
источник
alternative key
этоsecondary key
они одинаковы. Отличный ответ!От этого ответа stackoverflow.com мой :
Из этого stackoverflow.com мой ответ о данной таблице:
(Как я там прокомментировал: «Четырех жирных предложений для FD, hold, superkey и CK было бы достаточно».)
(Таблица с пустым CK должна содержать не более одной строки. Набор столбцов, определенный пустым набором, должен иметь одинаковое значение subrow в каждой строке.)
источник
Ключ Ключ - это одно или комбинация нескольких полей. Его цель - получить доступ или извлечь строки данных из таблицы в соответствии с требованием. Ключи определены в таблицах для быстрого и плавного доступа к хранимым данным или их последовательности. Они также используются для создания ссылок между различными таблицами.
Типы ключей Следующие таблицы или отношения будут использоваться для определения различных типов ключей.
Первичный ключ Атрибут или комбинация атрибутов, однозначно идентифицирующая строку или запись в отношении, называется первичным ключом.
Вторичный ключ Поле или комбинация полей, которые являются основой для поиска, называется вторичным ключом. Вторичный ключ является неуникальным полем. Одно значение вторичного ключа может относиться ко многим записям.
Ключ-кандидат или альтернативный ключ Отношение может иметь только один первичный ключ. Он может содержать множество полей или комбинацию полей, которые можно использовать в качестве первичного ключа. Одно поле или комбинация полей используется в качестве первичного ключа. Поля или комбинации полей, которые не используются в качестве первичного ключа, известны как ключ-кандидат или альтернативный ключ.
Составной ключ или составной ключ Первичный ключ, состоящий из двух или более атрибутов, называется составным ключом.
Ключ сортировки или управления Поле или комбинация полей, которые используются для физической последовательности хранимых данных, называемых ключом сортировки. Он также известен как ключ управления.
Суперключ представляет собой комбинацию атрибутов , которые могут быть однозначно использованы для идентификации записи в базе данных. В таблице может быть много суперключей. Ключи-кандидаты представляют собой особую группу суперключей, в которых нет никакой посторонней информации.
Пример для супер ключа: представьте таблицу с полями Name, Age, SSN и <Phone Extension>. Эта таблица имеет много возможных суперключей. Три из них - это SSN, добавочный номер телефона и имя. Из перечисленных, только SSN является ключом-кандидатом, так как остальные содержат информацию, необязательную для уникальной идентификации записей.
Внешний ключ Внешний ключ - это атрибут или комбинация атрибутов в отношении, значение которого соответствует первичному ключу в другом отношении. Таблица, в которой создается внешний ключ, называется зависимой таблицей. Таблица, к которой относится внешний ключ, называется родительской таблицей.
для минимального супер ключа обратитесь по этой ссылке, там более понятен http://www.answers.com/topic/superkey-1
источник