SQL первичного ключа
w3big.comLatest web development tutorials
Предыдущий: SQL UNIQUE ограничение
Далее: SQL Ограничение внешнего ключа
SQL первичного ключа
PRIMARY KEY ограничение однозначно идентифицирует каждую запись в таблице базы данных.
Первичный ключ должен содержать уникальные значения.
Первичный ключ столбец не может содержать NULL значения.
Каждая таблица должна иметь первичный ключ, и каждая таблица может иметь только один первичный ключ.
SQL PRIMARY KEY ограничение CREATE TABLE когда
Следующий SQL, когда «Лица» таблица была создана, чтобы создать ограничение первичного ключа на столбце «p_id»:
MySQL:
CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
PRIMARY KEY (P_Id)
)
SQL Server / Oracle / MS Access:
CREATE TABLE Persons
(
P_Id int NOT NULL PRIMARY KEY,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)
Для того, чтобы назвать ограничения первичного ключа, и задают множество столбцов первичного ключа, используйте следующий синтаксис SQL:
MySQL / SQL Server / Oracle / MS Access:
CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
City varchar(255),
CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName)
)
Примечание: В приведенном выше примере, только один первичный ключ первичный ключ (pk_PersonID). Тем не менее, значение pk_PersonID состоит из двух колонок (p_id и LastName) их.
SQL PRIMARY KEY ограничение ALTER TABLE при
Когда таблица была создана, создать ограничение первичного ключа для столбца в «p_id», пожалуйста, используйте следующий SQL:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ADD PRIMARY KEY (P_Id)
Для того, чтобы назвать ограничения первичного ключа, и задают множество столбцов первичного ключа, используйте следующий синтаксис SQL:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ADD CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName)
Примечание: Если вы используете оператор ALTER TABLE , чтобы добавить первичный ключ, необходимо объявить столбец первичного ключа не содержит значение NULL (первый созданный в таблице).
Отмена ограничения PRIMARY KEY
Чтобы удалить ограничение первичного ключа, используйте следующий SQL:
MySQL:
ALTER TABLE Persons
DROP PRIMARY KEY
SQL Server / Oracle / MS Access:
ALTER TABLE Persons
DROP CONSTRAINT pk_PersonID
Предыдущий: SQL UNIQUE ограничение
Далее: SQL Ограничение внешнего ключа
w3big. com | HTML курс | Web курс | Web Tutorial
Что такое первичный ключ?
Управление данными- Кинза Ясар, Технический писатель
Первичный ключ, также называемый первичным ключевым словом, представляет собой столбец в таблице реляционной базы данных, отличающийся для каждой записи. Это уникальный идентификатор, например номер водительского удостоверения, номер телефона с кодом города или идентификационный номер автомобиля (VIN). Реляционная база данных должна иметь только один первичный ключ. Каждая строка данных должна иметь значение первичного ключа, и ни одна из строк не может быть нулевой.
Выбор первичного ключа в реляционной базе данных часто зависит от предпочтений администратора. Можно изменить первичный ключ для данной базы данных, когда меняются конкретные потребности пользователей. Например, люди в городе могут быть однозначно идентифицированы по номерам их водительских прав в одном приложении, но в другой ситуации может быть удобнее идентифицировать их по номерам телефонов.
Важность первичных ключейПервичный ключ занимает особое место в таблице данных системы управления реляционной базой данных (RDBMS), такой как сервер SQL или база данных Oracle. Каждый объект в модели данных должен иметь первичный ключ, который должен основываться на одном атрибуте или группе атрибутов.
Ниже перечислены основные преимущества первичного ключа:
- помогает идентифицировать уникальные данные, такие как идентификатор клиента;
- предотвращает дублирование записей в таблице;
- помогает обновить или удалить только определенные записи;
- помогает гарантировать, что поля не пусты;
- помогает установить отношения между таблицами; и
- обеспечивает доступность на уровне строк.
Первичный ключ имеет решающее значение для работы РСУБД. Одна таблица содержит тысячи записей, включая дубликаты. Поэтому крайне важно использовать первичный ключ или тесно связанный с ним внешний ключ, чтобы гарантировать, что ни одна запись никогда не дублируется и всегда однозначно идентифицируется.
Ниже приведены несколько распространенных примеров первичных ключей:
Номер социального страхования (SSN). граждан США получают уникальные идентификационные номера социального страхования, которые можно использовать в качестве первичного ключа в реляционной базе данных. Некоторые организации предпочитают использовать SSN, так как он уже есть у каждого сотрудника и из-за их уникальности. Однако из соображений конфиденциальности использование SSN может быть спорным.
Идентификационный номер автомобиля (VIN).
VIN — хороший пример первичного ключа для реляционной базы данных для системы регистрации транспортных средств, поскольку никакие два транспортных средства не могут иметь одинаковый VIN. Первичный ключ однозначно идентифицирует идентификатор сотрудника, который соответствует конкретному сотруднику.Номер водительского удостоверения. Водительские права являются примерами первичных ключей, поскольку они могут официально идентифицировать каждого пользователя как лицензированного водителя и его почтовый адрес в базе данных Департамента транспортных средств.
Студенческий билет. Учащимся обычно присваивается уникальный идентификатор, известный как студенческий билет. Поскольку каждый идентификатор студента отличается для каждого студента, его можно использовать в качестве первичного ключа для таблицы базы данных.
Автоматически сгенерированный номер. Это может быть автоматически сгенерированный ключ при вставке новой записи в таблицу.
Как выбрать надежный первичный ключНадежные первичные ключи — основа эффективной структуры базы данных. Разработчики баз данных должны помнить о следующих передовых методах при попытке создать первичный ключ:
- Длина. Первичный ключ должен быть коротким и по возможности состоять из одного столбца.
- Тип данных. Тип данных первичного ключа должен быть числовым, целым или коротким символом фиксированной ширины.
- Уникальность. Первичный ключ должен иметь уникальное значение, что означает, что никакая другая строка в таблице не имеет такого же значения в столбце.
- Простота. При создании первичного ключа следует использовать основные атрибуты, такие как целые числа или короткие строки символов. Избегайте специальных символов, пробелов и дифференциального использования заглавных букв, чтобы избежать путаницы.
- Стабильность. Столбцы в первичном ключе и значения, составляющие первичный ключ, не должны изменяться. Например, если какой-либо столбец будет удален из первичного ключа, комбинация перестанет быть уникальной.
- Ненулевое значение данных. Значение данных первичного ключа не должно быть нулевым и оставаться постоянным во времени.
- Актуальность. Значение данных, используемое для первичного ключа, должно оставаться актуальным. Например, через пять лет оно должно означать то же самое, что и сегодня.
Ключи — это основные элементы, используемые для формирования связи между двумя таблицами внутри реляционной базы данных. Между тремя типами ключей базы данных — первичными, составными и внешними ключами — существуют резкие различия, что доказывает сложную природу стандартов реляционных баз данных.
Ниже приведены основные характеристики первичного ключа, составного ключа и внешнего ключа:
Первичный ключ
- Данные в определенном столбце всегда уникальны.
- Таблица базы данных может иметь только один первичный ключ.
- Уникально идентифицирует запись в таблице реляционной базы данных.
- Значение первичного ключа нельзя удалить из древовидной структуры или родительской таблицы.
- Недопустимые нулевые значения.
Составной ключ
- Этот тип первичного ключа состоит из двух или более атрибутов, например нескольких столбцов.
- Типы данных разных столбцов могут отличаться друг от друга.
- Он становится составным ключом, когда для уникальной идентификации каждой строки в таблице используется более одного столбца.
Внешний ключ
- Связывает две таблицы вместе. Это означает, что внешний ключ в одной таблице может ссылаться на первичный ключ другой таблицы.
- В таблице может быть более одного внешнего ключа.
- Столбец внешнего ключа принимает нулевое значение.
- Может создать в таблице отношение родитель-потомок.
- В столбце внешнего ключа могут храниться повторяющиеся значения.
Ключи базы данных являются неотъемлемыми компонентами реляционной базы данных и используются для идентификации атрибутов для сортировки и организации данных. Узнайте о восьми типах ключей базы данных, о том, для чего они используются, и о различиях между ними.
Последнее обновление: октябрь 2022 г.
Продолжить чтение О первичном ключе (основное ключевое слово)- SQL, NoSQL и NewSQL: как они сравниваются?
- Как настроить базу данных MySQL в Linux
- Сравнение баз данных с открытым исходным кодом для выбора правильного инструмента
- Передовой опыт для облачных систем управления базами данных
- Границы между хранением структурированных и неструктурированных данных стираются
Сравнение СУБД и РСУБД: ключевые отличия
Автор: Крейг Стедманвнешний ключ
Автор: Бен ЛуткевичЯзык определения данных (DDL)
Автор: Рахул АватиКлючи СУБД: определено 8 типов ключей
Автор: Марк Уайтхорн
- Избавьтесь от путаницы между расширенной и прогнозной аналитикой
Расширенная и предиктивная аналитика иногда используются как взаимозаменяемые термины. Пользователям необходимо понимать отличия …
- Эффективность бизнеса — место, с которого можно начать с генеративного ИИ
Повышение эффективности — одно из основных преимуществ больших языковых моделей, поэтому для предприятий это один из самых простых способов начать …
- Ажиотаж вокруг генеративного ИИ превращается в реальность в данных и аналитике
Организации уже начинают применять эту технологию к своим операциям с данными, помогая расширить использование аналитики до более …
- AWS Control Tower стремится упростить управление несколькими учетными записями
Многие организации изо всех сил пытаются управлять своей огромной коллекцией учетных записей AWS, но Control Tower может помочь. Услуга автоматизирует…
- Разбираем модель ценообразования Amazon EKS
В модели ценообразования Amazon EKS есть несколько важных переменных. Покопайтесь в цифрах, чтобы убедиться, что вы развернули службу…
- Сравните EKS и самоуправляемый Kubernetes на AWS
Пользователи AWS сталкиваются с выбором при развертывании Kubernetes: запускать его самостоятельно на EC2 или позволить Amazon выполнять тяжелую работу с помощью EKS. См…
- 4 шаблона статей базы знаний
Базы знаний могут улучшить клиентский опыт и производительность сотрудников, но организации могут не знать, с чего начать. Откройте для себя четыре шаблона …
- 4 важных навыка лидера по управлению знаниями
Программам
KM нужен лидер, который может мотивировать сотрудников изменить свой распорядок дня. Этому лидеру нужен долгосрочный настрой и …
- Чем занимается руководитель управления знаниями?
В группы управления знаниями часто входят ИТ-специалисты и авторы контента. Но во главе им нужен центральный лидер, чтобы…
- Oracle ставит перед собой высокие национальные цели в области ЭУЗ с приобретением Cerner
Приобретя Cerner, Oracle нацелилась на создание национальной анонимной базы данных пациентов — дорога, заполненная …
- Благодаря Cerner Oracle Cloud Infrastructure получает импульс
Oracle планирует приобрести Cerner в рамках сделки на сумму около 30 миллиардов долларов. Второй по величине поставщик электронных медицинских карт в США может вдохнуть новую жизнь в …
- Верховный суд встал на сторону Google в иске о нарушении авторских прав на Oracle API
Верховный суд постановил 6-2, что API-интерфейсы Java, используемые в телефонах Android, не подпадают под действие американского закона об авторском праве, в связи с чем …
- Миграция SAP S/4HANA требует тщательного управления данными
Работа с данными — один из самых сложных аспектов миграции S/4HANA, поскольку клиенты должны решить, на какие данные перемещать . ..
- Arista отказывается от электронных таблиц и электронной почты в пользу SAP IBP
Поскольку быстрый рост опережает процессы цепочки поставок на основе электронных таблиц Arista Networks, компания внедрила цифровое снабжение …
- Новости SAP Sapphire 2023, тенденции и анализ
Конференция подтверждает мнение клиентов SAP о том, что будущее за облачными технологиями, путем демонстрации облачных продуктов, услуг и …
против уникального ключа — в чем разница?
Первичный ключ и уникальный ключ. Это действительно не о том или другом. На самом деле вам может понадобиться как первичный ключ, так и уникальный ключ в вашей таблице. В этой статье мы узнаем разницу между первичным ключом и уникальным ключом и почему оба важны для поддержания структуры реляционной базы данных.
Все примеры для этого урока основаны на Microsoft SQL Server Management Studio и базе данных AdventureWorks2012. Почему бы не изучить SQL Server с помощью моего бесплатного руководства «Начало работы с SQL Server »?
Прежде чем мы перейдем к различиям, давайте убедимся, что поняли определения первичных и уникальных ключей. Сначала мы займемся первичным ключом.
Первичный ключ и внешний ключ — Содержание
- Первичные ключи
- Уникальные ключи
- Сравнение первичного ключа и уникального ключа
Первичные ключи
Основная цель первичного ключа — предоставить средства для идентификации каждой записи в таблице.
Первичный ключ позволяет идентифицировать строку, используя данные в строке. Первичный ключ может основываться на одном или нескольких столбцах, таких как имя и фамилия; однако во многих проектах первичный ключ представляет собой автоматически сгенерированное число из столбца идентификаторов.
Все системы управления реляционными базами данных поддерживают первичные ключи. Это фундаментальная концепция. Таблица базы данных действительно считается реляционной и находится в первой нормальной форме после определения первичного ключа.
ОграничениеPRIMARY KEY используется в SQL Server для определения первичных ключей таблицы.
Первичный ключ имеет следующие характеристики:
- Для таблицы может быть только один первичный ключ.
- Первичный ключ состоит из одного или нескольких столбцов.
- Первичный ключ обеспечивает целостность объекта таблицы.
- Недопустимы столбцы NULL.
- Первичный ключ однозначно идентифицирует строку.
- Первичные ключи по умолчанию приводят к созданию уникальных индексов CLUSTERED.
Как видите, первичный ключ — это главный ключ таблицы. Его основная цель состоит в том, чтобы идентифицировать каждую строку.
Как насчет уникальных ключей?
Подробнее: Нормализация базы данных — на понятном английском языке >>
Уникальные ключи
Другим названием уникального ключа является ограничение уникальности. Чтобы обеспечить уникальность строк в базе данных, используйте уникальное ограничение. Логично, но подождите!
Разве мы уже не делаем это с первичным ключом? Да, есть, но в таблице может быть несколько наборов столбцов, которые вы хотите сделать уникальными.
Таблица сотрудников ниже:
Предполагая, что EmployeeID является первичным ключом, мы можем захотеть поместить уникальное ограничение на GovernmentNumber, чтобы гарантировать, что каждый сотрудник имеет свой собственный номер.
В SQL Server уникальный ключ имеет следующие характеристики:
- В таблице может быть определен ноль или более уникальных ключей.
- Уникальные ключи по умолчанию приводят к НЕКЛАСТЕРНЫМ уникальным индексам.
- Один или несколько столбцов составляют уникальный ключ.
- Допускается один столбец NULL для каждого уникального ключа.
- Ограничения внешнего ключа могут ссылаться на уникальные ограничения
Сравнение первичного ключа и уникального ключа
Основная задача первичного ключа — однозначно идентифицировать строку в таблице. Причудливое название для этого — целостность сущности. Это важная работа. Чтобы таблица была действительно реляционной, в ней должен быть определен первичный ключ.
Итак, если первичный ключ однозначно идентифицирует строки, то зачем заморачиваться с уникальными ключами?
Ну а основная работа уникального ключа позволяет вам размещать дополнительные уникальные условия на ваших колонках. В нашем примере выше мы видим, что хотя первичный ключ таблицы сотрудников определен как EmployeeID, есть возможность обеспечить уникальность для GovernmentNumber.
Так почему бы просто не использовать GovernmentNumber в качестве первичного ключа?
Хороший вопрос! Причина, по которой я бы этого не сделал, заключается в том, что GovernmentNumber генерируется другой организацией за пределами вашей базы данных. Что произойдет, если номер не будет уникальным? Аналитика ID утверждает, что в 2010 году 20 миллионов американцев имеют несколько номеров социального страхования, связанных с их именем.