Back to questions
Junior — Middle
66
Можно ли создать уникальный составной индекс в базе данных?
Answer from AI
sobes.tech AI
Да, в базах данных можно создать уникальный составной индекс, который обеспечивает уникальность комбинации значений нескольких столбцов.
Например, в SQL:
CREATE UNIQUE INDEX idx_unique_name_email ON users (name, email);
Это гарантирует, что в таблице users не будет двух строк с одинаковой комбинацией name и email.
Составной уникальный индекс полезен, когда уникальность не определяется одним полем, а комбинацией нескольких.
В ORM, например в SQLAlchemy (Python), это можно задать так:
from sqlalchemy import UniqueConstraint
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
name = Column(String)
email = Column(String)
__table_args__ = (
UniqueConstraint('name', 'email', name='uix_name_email'),
)
Таким образом, уникальный составной индекс — стандартная практика для обеспечения уникальности по нескольким колонкам.