Виды ключей и история развития
Эволюция замков и ключей берет свое начало с давних времен. Один из самых древних ключей, деревянный и очень простой от штифтового замка, археологи обнаружили в гробнице фараона Рамсеса II Великого (XIII в. до н. э.).Замки и ключи прошли путь от простых деревянных до металлических и электронных.
На современном рынке очень много производителей замков, но все они используют типы ключей проверенные годами. Например “английский” – ключ с зубчиками (бывает односторонний и двухсторонний), применяется для цилиндрового механизма (личинки). Финский ключ (“финка”) полукруглый профиль, впервые разработанный фирмой Abloy, от дискового замка. Получил широкое распространение в советское время.
Сувальдный ключ, так же один из древних представителей рода. Ключ представляет собой шток с бородкой (флажком) на которой сделаны выступы подталкивающие пластины в механизме замка.Сувальдные ключи часто используют в сейфовых замках. Такие ключи на поясе носили купцы и тюремщики.
Еще одня разновидность – это реечные ключи, которые очень любили делать на советских заводах, своими руками. Ключ – рейка, с косыми нарезами в основании. В СССР это был “гаражный” ключ.
Вертикальный (перфорированный) ключ, более современный вариант для цилиндрового замка. “Вертикалка” – имеет на плоскости (профиле) ключа углубления, в которые попадают пины (“солдатики”) цилиндра замка, ключ выглядит как перфокарта.
Современные производители замков предлагают усовершенствованные модели ключей, например “интерактивные”, ключи со встроенным в профиль магнитом, который также контактирует с цилиндром замка, повышая секретность.
Также в современном мире используются электронные ключи, например для домофона и прочих электронных систем доступа. Это могут быть “таблетки”, “магнитики”, “метки”, “чипы”, как их только не называют, а также карточки.
С недавнего времени появились механические ключи со встроенными чипами (электронными ключами), по аналогии с автомобильными.
И не забудем про кодовые “ключи”, от кодового замка, состоящего из набора цифр, который можно хранить у себя в голове.
Автомобильные ключи представлены классическими видами, а также современными разработками. Классические ключи – металлические, с анлийским лезвием и вертикального типа (“змейка”), всевозможных профилей. Для удобства( чтобы не рвал карман))) используются ключи в выкидном корпусе.
Производители автомобилей постоянно совершенствуют системы безопасности. Так с 1995 года в автомобильных ключах используются чипы – электронные ключи или ключи (чипы) иммобилайзера, повышающие противоугонные свойства автомобиля, отверткой уже не заведешь))
Сегодня в автомобилях широко распространен безключевой запуск, система keyless go, где ключ представлен в виде карты или удобного брелока (“смарт-ключ”,”SMART-KEY”) , который достаточно носить в кармане, зажигание автомобиля включается нажатием кнопки START/STOP или специальным барашком.
Адрес мастерской:
г. Орел, ул. Красина, 37
(Территория автоцентра «Красино»)

Реляционные базы данных. Понятие ключа. Виды ключей. Отношения. Главная и подчиненная таблицы
В данной теме, на примере двух таблиц, определяются основные понятия реляционных баз данных, а именно:
- первичный ключ,
- внешний ключ,
- простой и составной ключ,
- отношение, типы отношений,
- искусственный и естественный ключи,
- главная (master) и подчиненная (detail) таблицы.
Содержание
- Входные данные
- Вопрос/ответ
- 1. Что такое первичный ключ в таблице базы данных? Для чего используются первичные ключи?
- 2. Что такое отношение (связь) между таблицами (relationship)? Пример
- 3. Что такое внешний ключ (foreign key)? Пример
- 4. Что такое рекурсивный внешний ключ?
- 5. Могут ли первичный и внешний ключи быть простыми или составными (сложными)?
- 6. Какое отличие между искусственным и естественным ключом? Пример
- 7. Какие существуют способы выбора первичного ключа?
- 8. Что означают термины «главная таблица» (master) и «подчиненная таблица» (detail)?
- 9. Какие существуют типы отношений (связей) между таблицами?
- Связанные темы
Входные данные
Пусть задана база данных работников предприятия, которая состоит из двух таблиц. Первая таблица содержит данные о работнике. Вторая таблица содержит сведения о заработной плате работника.
Таблицы имеют следующую структуру.
Таблица «Работник». Содержит данные о работнике
Таблица «Зарплата». Содержит сведения о заработной плате работников.
Вопрос/ответ
1. Что такое первичный ключ в таблице базы данных? Для чего используются первичные ключи?
При работе с таблицами в реляционных базах данных, желательно (необходимо), чтобы каждая таблица имела так называемый первичный ключ.
Первичный ключ – это поле, которое используется для обеспечения уникальности данных в таблице. Это означает, что значение (информация) в поле первичного ключа в каждой строке (записи) таблицы может быть уникальным.
Уникальность необходима во избежание неоднозначности, когда неизвестно к какой записи таблицы можно обратиться, если в таблице есть повторяющиеся записи (две записи имеют одинаковые значения во всех полях таблицы).
Пример. Для таблицы «Работник» можно ввести дополнительное поле, которое будет первичным ключом. Однако, поле (атрибут) «Табельный номер» также обеспечивает уникальность. Так как, теоретически, не может быть двух одинаковых табельных номеров. На практике могут быть случаи, что один и тот же табельный номер будет введен по ошибке и совпадут значения всех полей таблицы. В результате возникнут два одинаковых записи в таблице. Во избежание такой ошибки, лучше создать в таблице дополнительное поле-счетчик, которое обеспечит уникальность.
Также для таблицы «Зарплата» можно ввести дополнительное поле, которое будет первичным ключом.
2. Что такое отношение (связь) между таблицами (relationship)? Пример
Таблицы в реляционной модели данных могут иметь связи между собой. Такие связи называются отношениями. Для таблиц «Работник» и «Зарплата» можно установить связь по полю «Табельный номер».
Пример. Проанализируем таблицы «Работник» и «Зарплата». В этих таблицах можно установить отношение между таблицами на основе поля «Табельный номер». То есть, связь между таблицами происходит на основе поля (атрибуту) «Табельный номер».
Это означает следующее. Если нужно найти начисленную заработную плату в таблице «Зарплата» для работника Иванов И.И., то нужно выполнить следующие действия:
- найти табельный номер работника Иванов И.И. в таблице «Работник». Значение табельного номера равно 7585,
- в таблице «Зарплата» найти все значения, которые равны 7585 (табельный номер),
- выбрать из таблицы «Зарплата» все значения поля «Начислено», которые соответствуют табельному номеру 7585.
Рис. 1. Иллюстрация связи между таблицами. Табельный номер 2145 таблицы «Работник» отображается в таблице «Зарплата»
Рис. 2. Связь (отношение) между полями таблиц
3. Что такое внешний ключ (foreign key)? Пример
Понятие «внешний ключ» есть важным при рассмотрении связанных таблиц.
Внешний ключ – это одно или несколько полей (атрибутов), которые являются первичными в другой таблице и значение которых заменяется значениями первичного ключа другой таблицы.
Пример. Пусть между таблицами «Работник» и «Зарплата» существует взаимосвязь по полю «Табельный номер». В этом случае, поле «Табельный номер» таблицы «Работник» может быть первичным ключом, а поле «Табельный номер» таблицы «Зарплата» внешним ключом. Это означает, что значения поля «Табельный номер» таблицы «Зарплата» заменяются значениями поля «Табельный номер» таблицы «Работник».
4. Что такое рекурсивный внешний ключ?
Рекурсивный внешний ключ – это внешний ключ, который ссылается на одну и ту же таблицу, к которой он принадлежит. В этом случае поле (атрибут), которое соответствует внешнему ключу, есть ключом одного и того же отношения (связи).
5. Могут ли первичный и внешний ключи быть простыми или составными (сложными)?
Первичный, вторичный и внешний ключи могут быть как простыми так и составными (сложными). Простые ключи – это ключи, которые содержат только одно поле (один атрибут). Составные (сложные) ключи – это ключи, которые содержат несколько полей (атрибутов).
6. Какое отличие между искусственным и естественным ключом? Пример
Естественной ключ обеспечивает уникальность из самой сущности предметной области. Бывают случаи, когда значения записей некоторого поля (полей) таблицы есть уникальными. Это поле может быть естественным ключом.
Искусственный ключ вводится дополнительно для обеспечения уникальных значений. Чаще всего искусственный ключ есть полем типа счетчик (counter). В таком поле, при добавлении новой записи (строки) в таблицу, значение счетчика увеличивается на 1 (или другую величину). Если запись удалить из таблицы, то максимальное значение счетчика строк уже не уменьшается, а остается как есть. Как правило, за этим все следит система управления базами данных.
Пример. В таблице «Работник» естественном ключом есть поле (атрибут) «Табельный номер». Поле «Табельный номер» есть само по себе уникальным, так как не может быть двух работников с одинаковым табельным номером.
В таблице «Зарплата» значение во всех четырех полях могут случайно повториться. Поэтому, здесь целесообразно добавить дополнительное поле-счетчик, которое будет искусственным ключом. В этом случае таблица «Зарплата» с дополнительным полем может иметь приблизительно следующий вид:
где поле «Номер» есть искусственным ключом, который обеспечивает уникальность.
7. Какие существуют способы выбора первичного ключа?
Существует 3 способа выбора первичного ключа:
- использовать поле-инкремент (поле-счетчик) как искусственный ключ,
- выбрать из данных одно поле, которое может обеспечить уникальность,
- выбрать из данных несколько полей, которые могут обеспечить уникальность. В этом случае ключ еще будет называться сложным (составным).
8. Что означают термины «главная таблица» (master) и «подчиненная таблица» (detail)?
Если между таблицами есть связь, то одна из них может быть главной (master), а другая подчиненной (detail). Главная таблица отображает все записи, которые помещаются в ней. Подчиненная таблица отображает только те записи, которые соответствуют значению ключа главной таблицы, который на данный момент есть активным (текущим). Если изменяется текущая запись главной таблицы, то изменяется множество доступных записей подчиненной таблицы.
Пример. Если рассмотреть таблицы «Работник» и «Зарплата», то таблица «Работник» есть главной, а таблица «Зарплата» есть подчиненной.
9. Какие существуют типы отношений (связей) между таблицами?
Существует 4 основных типа отношений между таблицами:
- «один к одному». В этом случае каждой записи одной таблицы соответствует только одна запись другой таблицы,
- «один ко многим». Это когда одной записи главной таблицы (master) соответствует несколько записей подчиненной таблицы (detail). То есть, каждой записи, которая есть первичным ключом одной таблицы, соответствует несколько записей связанной таблицы,
- «много к одному». Это когда нескольким записям главной таблицы отвечает одна запись подчиненной таблицы,
- «много ко многим». Это когда в обоих таблицах существует несколько взаимосвязанных записей.
Пример. Если рассмотреть отношение между таблицами «Работник» и «Зарплата», то это отношения есть типа «один ко многим». Таблица «Работник» есть главной. Таблица «Зарплата» есть подчиненной.

Какие типы ключей используются в СУБД?
Каковы различные типы ключей в РСУБД? Приложите примеры с ответом.
Из здесь и здесь: (после того, как я googled ваш заголовок)
- Альтернативный ключ. Альтернативным ключом является любой ключ кандидата, который не выбран как первичный ключ.
- Ключ кандидата – ключ-кандидат – поле или комбинация полей, которые могут действовать как поле первичного ключа для этой таблицы, чтобы однозначно идентифицировать каждую запись в этой таблице.
- Составной ключ – составной ключ (также называемый составным ключом или конкатенированным ключом) – это ключ, состоящий из двух или более атрибутов.
- Первичный ключ – первичный ключ – это значение, которое может использоваться для идентификации уникальной строки в таблице. С ним связаны атрибуты. Примерами первичных ключей являются номера социального страхования (связанные с конкретным лицом) или ISBN (связанные с конкретной книгой). В реляционной модели данных первичный ключ – это ключ-кандидат, выбранный в качестве основного метода однозначной идентификации кортежа в отношении.
- Superkey. Суперклас определен в реляционной модели как набор атрибутов переменной отношения (relvar), для которой он содержит, что во всех отношениях, назначенных этой переменной, нет двух разных кортежей (строк), которые имеют одинаковые значения для атрибутов в этом наборе. Эквивалентно суперклассу можно также определить как набор атрибутов relvar, на котором все атрибуты relvar функционально зависимы.
- Внешний ключ – внешний ключ (FK) – поле или группа полей в записи базы данных, которая указывает на поле ключа или группу полей, образующих ключ другой записи базы данных в некоторой (обычно другой) таблице. Обычно внешний ключ в одной таблице относится к первичному ключу (PK) другой таблицы. Таким образом могут быть сделаны ссылки для связывания информации вместе, и она является важной частью нормализации базы данных.
(I) Супер ключ. Атрибут или комбинация атрибута, который используется для идентификации записей однозначно, называется Super Key. В таблице может быть много супер-ключей.
например. супер ключа
- ID
- Идентификатор, имя
- ID, адрес
- ID, Department_ID
- ID, Зарплата
- Имя, адрес
- Имя, адрес, Department_ID
Таким образом, любая комбинация, которая может однозначно идентифицировать записи, будет Super Key.
(II) Ключ кандидата. Его можно определить как минимальный Super Key или неприводимый Super Key. Другими словами, атрибут или комбинация атрибута, который однозначно идентифицирует запись, но ни один из ее собственных подмножеств не может однозначно идентифицировать записи.
например. Ключа кандидата
Для приведенной выше таблицы у нас есть только два ключа-кандидата (т.е. неприводимый супер-ключ), используемый для однозначного определения записей из таблицы. ID-ключ может однозначно идентифицировать запись, и аналогичная комбинация имени и адреса может однозначно идентифицировать запись, но ни имя, ни адрес не могут использоваться для однозначного определения записей, поскольку возможно, что у нас есть два сотрудника с похожим именем или двумя сотрудниками из тот же дом.
(III) Основной ключ. Ключ кандидата, который используется разработчиком базы данных для уникальной идентификации каждой строки в таблице, называется основным ключом. Первичный ключ может состоять из одного или нескольких атрибутов таблицы.
например. основного ключа. Разработчик базы данных может использовать один из ключей кандидата в качестве основного ключа. В этом случае у нас есть “ID” и “Name, Address” в качестве ключа-кандидата, мы будем рассматривать ключ “ID” в качестве основного ключа, так как другой ключ представляет собой комбинацию из нескольких атрибутов.
(IV) Внешний ключ. Внешний ключ является атрибутом или комбинацией атрибута в одной базовой таблице, которая указывает на ключ-кандидат (как правило, это первичный ключ) другой таблицы. Целью внешнего ключа является обеспечение ссылочной целостности данных, то есть допускаются только значения, которые должны отображаться в базе данных.
например. внешнего ключа. Давайте рассмотрим, что у нас есть другая таблица, то есть таблица отделов с атрибутами “Department_ID”, “Department_Name”, “Manager_ID”, “Location_ID” с идентификатором Department_ID в качестве основного ключа. Теперь атрибут Department_ID таблицы Employee (зависимая или дочерняя таблица) может быть определен как внешний ключ, поскольку он может ссылаться на атрибут Department_ID в таблице Departments (ссылка или родительская таблица), значение внешнего ключа должно соответствовать существующему значению в родительская таблица или NULL.
(V) Композитный ключ. Если мы используем несколько атрибутов для создания Первичного ключа, то Первичный ключ называется Composite Key (также называемым Compound Key или Concatenated Key).
например. из Composite Key, если мы использовали “Имя, адрес” в качестве основного ключа, то это будет наш составной ключ.
(VI) Альтернативный ключ. Альтернативным ключом может быть любой из клавиш-кандидатов, кроме основного ключа.
например. Альтернативного ключа – “Имя, адрес”, поскольку он является единственным другим ключом кандидата, который не является Первичным ключом.
(VII) Вторичный ключ. Атрибуты, которые не являются даже Super Key, но могут использоваться для идентификации записей (не уникальных), называются вторичным ключом.
например. Вторичного ключа могут быть Имя, Адрес, Зарплата, Департамент_ID и т.д., поскольку они могут идентифицировать записи, но они могут быть не уникальными.

Станьте первым!