Назначение первичного ключа в таблице базы данных состоит в том, чтобы идентифицировать поле (или поля), которые составляют значение, однозначно определяющее каждую запись в таблице. Типичными примерами являются CustomerID в таблице Customer; каждому клиенту присваивается уникальный идентификатор, и этот идентификатор можно использовать для связи клиента с другими таблицами (например, таблицей заказов).
Иногда существуют таблицы, в которых ни одно поле не будет содержать уникальное значение для каждой записи. В таких случаях более одного поля может быть установлено в качестве первичного ключа. В этих случаях комбинация значений в полях первичного ключа всегда должна быть уникальной.
Таким образом, на уровне базы данных это не связано с возможностью редактировать поле или нет.
Конечно, Википедия имеет некоторый контент по теме .