Primary key sql: SQL PRIMARY KEY Constraint

ПЕРВИЧНЫЙ КЛЮЧ SQL — javatpoint

следующий>> <<предыдущая

Столбец или столбцы называются первичным ключом (ПК) , который однозначно идентифицирует каждую строку в таблице .

Если вы хотите создать первичный ключ, вы должны определить ограничение PRIMARY KEY при создании или изменении таблицы.

Если в качестве первичного ключа используется несколько столбцов, он называется составным первичным ключом .

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

С точки зрения производительности, меньше данных означает, что база данных может работать быстрее.


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

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


Основное преимущество первичного ключа:

Основное преимущество этой уникальности в том, что мы получаем быстрый доступ .

В Oracle первичный ключ не может содержать более 32 столбцов.


Первичный ключ SQL для одного столбца:

Следующая команда SQL создает ПЕРВИЧНЫЙ КЛЮЧ в столбце «S_Id» при создании таблицы «students».

MySQL:

СОЗДАТЬ ТАБЛИЦУ студентов ( S_Id целое НЕ НУЛЕВОЕ, Фамилия varchar (255) НЕ NULL, Имя varchar (255), Адрес varchar (255), Городской варчар (255), ПЕРВИЧНЫЙ КЛЮЧ (S_Id) )

SQL Server, Oracle, MS Доступ:

СОЗДАТЬ ТАБЛИЦУ студентов ( S_Id int NOT NULL ПЕРВИЧНЫЙ КЛЮЧ, Фамилия varchar (255) НЕ NULL, Имя varchar (255), Адрес varchar (255), Городской варчар (255), )


Первичный ключ SQL для нескольких столбцов:

MySQL, SQL Server, Oracle, MS Доступ:

СОЗДАТЬ ТАБЛИЦУ студентов ( S_Id целое НЕ НУЛЕВОЕ, Фамилия varchar (255) НЕ NULL, Имя varchar (255), Адрес varchar (255), Городской варчар (255), ОГРАНИЧЕНИЕ pk_StudentID ПЕРВИЧНЫЙ КЛЮЧ (S_Id, Фамилия) )

Примечание: следует отметить, что в приведенном выше примере есть только один ПЕРВИЧНЫЙ КЛЮЧ (pk_StudentID). Однако он состоит из двух столбцов (S_Id и LastName).


Первичный ключ SQL на ALTER TABLE

Если таблица уже создана и вы хотите создать ограничение PRIMARY KEY для столбца «S_Id», вы должны использовать следующий SQL:

Первичный ключ в одном столбце:

ИЗМЕНИТЬ ТАБЛИЦУ студентов ДОБАВИТЬ ПЕРВИЧНЫЙ КЛЮЧ (S_Id)

Первичный ключ для нескольких столбцов:

ИЗМЕНИТЬ ТАБЛИЦУ студентов ДОБАВИТЬ ОГРАНИЧЕНИЕ pk_StudentID ПЕРВИЧНЫЙ КЛЮЧ (S_Id, Фамилия)

При использовании оператора ALTER TABLE для добавления первичного ключа столбцы первичного ключа не должны содержать значений NULL (при первом создании таблицы).


Как УДАЛИТЬ ограничение ПЕРВИЧНОГО КЛЮЧА?

Если вы хотите DROP (удалить) ограничение первичного ключа, вы должны использовать следующий синтаксис:

MySQL:

ИЗМЕНИТЬ ТАБЛИЦУ студентов УДАЛИТЬ ПЕРВИЧНЫЙ КЛЮЧ

SQL Server/Oracle/MS Access:

ИЗМЕНИТЬ ТАБЛИЦУ студентов УДАЛИТЬ ОГРАНИЧЕНИЕ pk_StudentID

Следующая темаВнешний ключ SQL

<<пред. следующий>>

Что такое первичный ключ?

Управление данными

От

  • Кинза Ясар, Технический писатель

Что такое первичный ключ?

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

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

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

Важность первичных ключей

Первичный ключ занимает особое место в таблице данных системы управления реляционной базой данных (RDBMS), такой как сервер SQL или база данных Oracle. Каждый объект в модели данных должен иметь первичный ключ, который должен основываться на одном атрибуте или группе атрибутов.

Ниже перечислены основные преимущества первичного ключа:

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

Примеры первичных ключей

Первичный ключ имеет решающее значение для работы РСУБД. Одна таблица содержит тысячи записей, включая дубликаты. Поэтому крайне важно использовать первичный ключ или тесно связанный с ним внешний ключ, чтобы гарантировать, что ни одна запись никогда не дублируется и всегда однозначно идентифицируется.

Ниже приведены несколько распространенных примеров первичных ключей:

Номер социального страхования (SSN). гражданам США выдаются уникальные идентификационные номера социального страхования, которые можно использовать в качестве первичного ключа в реляционной базе данных. Некоторые организации предпочитают использовать SSN, так как он уже есть у каждого сотрудника и из-за их уникальности. Однако из соображений конфиденциальности использование SSN может быть спорным.

Идентификационный номер автомобиля (VIN). VIN является хорошим примером первичного ключа для реляционной базы данных для системы регистрации транспортных средств, поскольку никакие два транспортных средства не могут иметь одинаковый VIN.

Первичный ключ однозначно идентифицирует идентификатор сотрудника, который соответствует конкретному сотруднику.

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

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

Автоматически сгенерированный номер. Это может быть автоматически сгенерированный ключ при вставке новой записи в таблицу.

Как выбрать надежный первичный ключ

Надежные первичные ключи — основа эффективной структуры базы данных. Разработчики баз данных должны помнить о следующих передовых методах при попытке создать первичный ключ:

  • Длина. Первичный ключ должен быть коротким и по возможности состоять из одного столбца.
  • Тип данных. Тип данных первичного ключа должен быть числовым, целым или коротким символом фиксированной ширины.
  • Уникальность. Первичный ключ должен иметь уникальное значение, что означает, что никакая другая строка в таблице не имеет такого же значения в столбце.
  • Простота. При создании первичного ключа следует использовать основные атрибуты, такие как целые числа или короткие строки символов. Избегайте специальных символов, пробелов и дифференциального использования заглавных букв, чтобы избежать путаницы.
  • Стабильность. Столбцы в первичном ключе и значения, составляющие первичный ключ, не должны изменяться. Например, если какой-либо столбец будет удален из первичного ключа, комбинация перестанет быть уникальной.
  • Ненулевое значение данных. Значение данных первичного ключа не должно быть нулевым и оставаться постоянным во времени.
  • Актуальность. Значение данных, используемое для первичного ключа, должно оставаться актуальным. Например, через пять лет оно должно означать то же самое, что и сегодня.

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

Ключи — это основные элементы, используемые для формирования связи между двумя таблицами внутри реляционной базы данных. Между тремя типами ключей базы данных — первичными, составными и внешними ключами — существуют резкие различия, что доказывает сложную природу стандартов реляционных баз данных.

Ниже приведены основные характеристики первичного ключа, составного ключа и внешнего ключа:

Первичный ключ
  • Данные в определенном столбце всегда уникальны.
  • Таблица базы данных может иметь только один первичный ключ.
  • Уникально идентифицирует запись в таблице реляционной базы данных.
  • Значение первичного ключа нельзя удалить из древовидной структуры или родительской таблицы.
  • Недопустимы нулевые значения.
Составной ключ
  • Этот тип первичного ключа состоит из двух или более атрибутов, например нескольких столбцов.
  • Типы данных разных столбцов могут отличаться друг от друга.
  • Он становится составным ключом, когда для уникальной идентификации каждой строки в таблице используется более одного столбца.
Внешний ключ
  • Связывает две таблицы вместе. Это означает, что внешний ключ в одной таблице может ссылаться на первичный ключ другой таблицы.
  • В таблице может быть более одного внешнего ключа.
  • Столбец внешнего ключа принимает нулевое значение.
  • В таблице может быть установлена ​​связь родитель-потомок.
  • В столбце внешнего ключа могут храниться повторяющиеся значения.
Определены три типа ключей базы данных

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

Последнее обновление: октябрь 2022 г.

Продолжить чтение О первичном ключе (основное ключевое слово)
  • SQL, NoSQL и NewSQL: как они сравниваются?
  • Как настроить базу данных MySQL в Linux
  • Сравнение баз данных с открытым исходным кодом для выбора правильного инструмента
  • Передовой опыт для облачных систем управления базами данных
  • Границы между хранением структурированных и неструктурированных данных стираются
Копать глубже в управлении базой данных
  • Сравнение СУБД и РСУБД: ключевые отличия

    Автор: Крейг Стедман

  • внешний ключ

    Автор: Бен Луткевич

  • Язык определения данных (DDL)

    Автор: Рахул Авати

  • Ключи СУБД: определено 8 типов ключей

    Автор: Марк Уайтхорн

Бизнес-аналитика

  • Интеллектуальные решения меняют операции в разных отраслях

    Интеллектуальные решения для принятия решений ускоряют процесс эффективного предоставления данных лицам, принимающим решения, улучшая операции во всех . ..

  • Snowflake приобретает инструменты Mobilize.net для облегчения миграции в облако

    Поставщик приобрел SnowConvert, набор инструментов, предназначенных для автоматизации некоторых обременительных работ по кодированию, необходимых для переноса данных …

  • Qlik представляет дорожную карту для аналитики и инструментов интеграции данных

    Поставщик планирует расширить возможности подключения к приложениям SaaS, чтобы пользователи могли интегрировать данные из большего количества источников и добавлять новые …

ПоискAWS

  • AWS Control Tower стремится упростить управление несколькими учетными записями

    Многие организации изо всех сил пытаются управлять своей огромной коллекцией учетных записей AWS, но Control Tower может помочь. Услуга автоматизирует…

  • Разбираем модель ценообразования Amazon EKS

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

  • Сравните EKS и самоуправляемый Kubernetes на AWS

    Пользователи AWS сталкиваются с выбором при развертывании Kubernetes: запустить его самостоятельно на EC2 или позволить Amazon выполнить тяжелую работу с помощью EKS. См…

Управление контентом

  • Как перейти на систему управления медиаактивами

    Что такое управление медиаактивами и что оно может сделать для вашей организации? Это похоже на управление цифровыми активами, но оно нацелено на …

  • Какие бывают системы управления знаниями?

    Чтобы понять различные типы систем управления знаниями, организации должны знать о различных типах …

  • 10 лучших программных продуктов PIM в 2023 году Системы PIM

    могут поставляться как отдельные продукты, но многие из них подходят для более крупных цифровых платформ. Лучшие продукты PIM включают …

ПоискOracle

  • Oracle ставит перед собой высокие национальные цели в области ЭУЗ с приобретением Cerner

    Приобретя Cerner, Oracle нацелилась на создание национальной анонимной базы данных пациентов — дорога, заполненная …

  • Благодаря Cerner Oracle Cloud Infrastructure получает импульс

    Oracle планирует приобрести Cerner в рамках сделки на сумму около 30 миллиардов долларов. Второй по величине поставщик электронных медицинских карт в США может вдохнуть новую жизнь в …

  • Верховный суд встал на сторону Google в иске о нарушении авторских прав на Oracle API

    Верховный суд постановил 6-2, что API-интерфейсы Java, используемые в телефонах Android, не подпадают под действие американского закона об авторском праве, в связи с чем …

ПоискSAP

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

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

Оставить комментарий

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *