Как для поля добавить ограничение на вводимые данные?

В PostgreSQL для добавления ограничения на вводимые данные в поле таблицы вы можете использовать несколько различных методов. Вот несколько примеров:

1. Ограничение NOT NULL:
Это ограничение гарантирует, что в поле будет введено непустое значение. Если вы хотите, чтобы поле было обязательным для заполнения, то можно добавить ограничение NOT NULL при создании таблицы или с использованием команды ALTER TABLE.

Пример использования:

   CREATE TABLE my_table (
     id SERIAL PRIMARY KEY,
     name VARCHAR(100) NOT NULL
   );

2. Ограничение UNIQUE:
Ограничение UNIQUE гарантирует, что в поле будет введено уникальное значение, то есть оно не будет повторяться в других строках таблицы. Вы можете добавить ограничение UNIQUE при создании таблицы или с использованием команды ALTER TABLE.

Пример использования:

   CREATE TABLE my_table (
     id SERIAL PRIMARY KEY,
     email VARCHAR(255) UNIQUE
   );

3. Ограничение CHECK:
Ограничение CHECK позволяет задать условие, которое должно выполняться для всех значений в поле. Если условие не выполняется, то значение не будет принято. Вы можете добавить ограничение CHECK при создании таблицы или с использованием команды ALTER TABLE.

Пример использования:

   CREATE TABLE my_table (
     id SERIAL PRIMARY KEY,
     age INTEGER CHECK (age >= 18)
   );

4. Ограничение FOREIGN KEY:
Ограничение FOREIGN KEY используется для создания связи между двумя таблицами на основе значений полей. Оно гарантирует, что значения в поле соответствуют значениям в связанной таблице. Вы можете добавить ограничение FOREIGN KEY при создании таблицы или с использованием команды ALTER TABLE.

Пример использования:

   CREATE TABLE orders (
     order_id SERIAL PRIMARY KEY,
     customer_id INTEGER,
     FOREIGN KEY (customer_id) REFERENCES customers(customer_id)
   );

Все эти ограничения могут быть использованы как в процессе создания таблицы, так и при изменении уже существующих таблиц с помощью команды ALTER TABLE. Создание и использование таких ограничений помогает обеспечить целостность данных и защитить базу данных от неправильных или нежелательных значений.