2) разных типов данных
3) чисел
4) символов
Простой первичный ключ состоит из одного поля, или атрибута, значение которого однозначно идентифицирует каждую запись таблицы. В медицинской информационной системе таким полем может быть идентификатор пациента, номер лабораторного исследования или код медицинской карты. Для первичного ключа обязательны уникальность значений и отсутствие неопределённых значений NULL; это обеспечивает однозначное обращение к конкретной записи.
Критерий простоты определяется не типом данных, а количеством полей, входящих в ключ. Если уникальность записи обеспечивается сочетанием двух и более атрибутов, например идентификатора пациента и даты исследования, ключ является составным. Числовой или символьный формат значения сам по себе не влияет на классификацию: первичный ключ может иметь тип INTEGER, UUID, CHAR или другой допустимый тип данных.
Использование первичного ключа поддерживает целостность базы данных и предотвращает дублирование сведений о пациентах, результатах обследований и эпизодах лечения. На первичный ключ могут ссылаться внешние ключи в других таблицах, формируя связи между сущностями медицинской информационной системы. Поэтому правильным является вариант, указывающий на одно поле.
| Элемент базы данных | Количество полей | Основной признак | Пример в медицинской системе |
|---|---|---|---|
| Простой первичный ключ | Одно | Уникально идентифицирует запись; значения не повторяются и не равны NULL | patient_id |
| Составной первичный ключ | Два и более | Уникальность достигается сочетанием нескольких атрибутов | patient_id + examination_date |
| Кандидатный ключ | Одно или несколько | Минимальный набор полей, способный однозначно идентифицировать запись | Номер полиса или номер медицинской карты |
| Уникальный ключ | Обычно одно или несколько | Запрещает дублирование, но не обязательно является главным идентификатором таблицы | Уникальный номер лабораторного образца |
| Внешний ключ | Одно или несколько | Ссылается на первичный ключ другой таблицы и обеспечивает ссылочную целостность | patient_id в таблице посещений |
| Недопустимый первичный ключ | Любое | Содержит повторы, NULL или не обеспечивает однозначную идентификацию записи | Фамилия пациента как единственный идентификатор |
Выбор простого первичного ключа упрощает связи между таблицами, индексацию и поиск данных. Для его значения часто используют автоматически генерируемый числовой идентификатор или UUID, не содержащий клинической информации. Фамилия, дата рождения или диагноз не подходят в качестве самостоятельного ключа, поскольку могут совпадать, изменяться или отсутствовать. В медицинских базах данных корректно заданный ключ повышает надёжность идентификации пациента и снижает риск смешения записей.
