Первичный ключ: различия между версиями
[отпатрулированная версия] | [непроверенная версия] |
Содержимое удалено Содержимое добавлено
→Простые и составные ключи: ФИО тут не при чём |
|||
Строка 18:
Первичный ключ может состоять из информационных полей таблицы (то есть полей, содержащих полезную информацию об описываемых объектах). Такой первичный ключ называют '''естественным ключом'''. Теоретически, естественный ключ всегда можно сформировать, в этом случае мы получим т. н. [[интеллектуальный ключ]]. На практике, однако, использование естественных ключей наталкивается на определённые сложности:
* '''Низкая эффективность''' — Естественный ключ
* '''Необходимость каскадных изменений''' — При изменении значения поля, входящего в естественный ключ, оказывается необходимым изменить значение поля не только в данной таблице, но и во всех таблицах, связанных с данной, в противном случае все ссылки на данную запись окажутся некорректными. В сложных базах данных таких связанных таблиц может быть очень много, и всегда остаётся опасность упустить из виду какую-то из них. При добавлении новых связанных таблиц приходится добавлять согласующие изменения во все места программ, где правится исходная таблица.
* '''Несоответствие реальности''' — Допустим, например, что первичный ключ в таблице — данные личного документа. В такую таблицу окажется невозможным внести человека, о документах которого нет информации в момент добавления записи, а на практике такая необходимость может возникнуть.
|