Ответ
Уникальный ключ (первичный ключ, primary key) — это атрибут или минимальный набор атрибутов таблицы, однозначно идентифицирующий каждую её запись (строку). Его значение должно быть уникальным и не равным NULL для всех строк в таблице.
Примеры в iOS-технологиях:
1. Core Data (атрибут с флагом): В модели данных (.xcdatamodeld) для атрибута устанавливается свойство "Primary Key".
// Entity "User" с атрибутом "id" как первичным ключом
@NSManaged public var id: UUID
2. Realm:
import RealmSwift
class User: Object {
@Persisted(primaryKey: true) var _id: ObjectId // Авто-генерируемый
// ИЛИ
@Persisted(primaryKey: true) var userId: String // Пользовательский
}
3. SQLite (прямой запрос):
CREATE TABLE Users (
id INTEGER PRIMARY KEY AUTOINCREMENT, -- Искусственный ключ
email TEXT UNIQUE NOT NULL -- Естественный ключ
);
Зачем он нужен?
- Гарантия уникальности: Исключает дублирование записей.
- Связи между таблицами: Используется как внешний ключ (foreign key) для создания отношений "один-ко-многим".
- Эффективный поиск: Индексируется по умолчанию, что ускоряет операции
SELECT,UPDATE,DELETEпо ключу. - Типы ключей:
- Естественный (Natural): Имеет смысл в предметной области (email, паспорт).
- Суррогатный (Surrogate): Искусственный идентификатор без бизнес-смысла (UUID, автоинкрементное число).