Что такое ограничения (constraints) в БД

Python Senior Без компании
Что такое ограничения (constraints) в БД
Ответы
Ограничения (constraints) в БД — это правила, которые применяются к данным в таблицах для обеспечения их целостности и согласованности. Основные типы: - **PRIMARY KEY** — уникальный идентификатор строки (не NULL, уникален) - **FOREIGN KEY** — связь между таблицами (ссылка на PRIMARY KEY другой таблицы) - **UNIQUE** — уникальность значений в столбце (кроме NULL) - **NOT NULL** — запрет на NULL-значения - **CHECK** — проверка значения по условию - **DEFAULT** — значение по умолчанию Пример с SQL: ``` CREATE TABLE users ( id INT PRIMARY KEY, email VARCHAR(255) UNIQUE NOT NULL, age INT CHECK (age >= 18), status VARCHAR(20) DEFAULT 'active' ); ``` В Python ORM (например, SQLAlchemy) ограничения задаются через параметры колонок: ``` from sqlalchemy import Column, Integer, String, CheckConstraint class User(Base): __tablename__ = 'users' id = Column(Integer, primary_key=True) email = Column(String(255), unique=True, nullable=False) age = Column(Integer, CheckConstraint('age >= 18')) ```