Методы создания связи «многие к одному» внешнего ключа в SQL с примерами кода

Чтобы создать связь «многие к одному» по внешнему ключу в SQL, вам потребуются две таблицы, внешний ключ одной из которых будет ссылаться на первичный ключ другой таблицы. Вот несколько способов добиться этого, а также примеры кода:

  1. Метод 1: использование оператора CREATE TABLE:

    CREATE TABLE Customers (
    customer_id INT PRIMARY KEY,
    customer_name VARCHAR(50)
    );
    CREATE TABLE Orders (
    order_id INT PRIMARY KEY,
    order_date DATE,
    customer_id INT,
    FOREIGN KEY (customer_id) REFERENCES Customers(customer_id)
    );
  2. Метод 2: использование оператора ALTER TABLE:

    CREATE TABLE Customers (
    customer_id INT PRIMARY KEY,
    customer_name VARCHAR(50)
    );
    CREATE TABLE Orders (
    order_id INT PRIMARY KEY,
    order_date DATE,
    customer_id INT
    );
    ALTER TABLE Orders
    ADD CONSTRAINT fk_customer
    FOREIGN KEY (customer_id) REFERENCES Customers(customer_id);
  3. Метод 3. Определение встроенного внешнего ключа:

    CREATE TABLE Customers (
    customer_id INT PRIMARY KEY,
    customer_name VARCHAR(50)
    );
    CREATE TABLE Orders (
    order_id INT PRIMARY KEY,
    order_date DATE,
    customer_id INT REFERENCES Customers(customer_id)
    );
  4. Метод 4. Использование ключевого слова CONSTRAINT:

    CREATE TABLE Customers (
    customer_id INT PRIMARY KEY,
    customer_name VARCHAR(50)
    );
    CREATE TABLE Orders (
    order_id INT PRIMARY KEY,
    order_date DATE,
    customer_id INT,
    CONSTRAINT fk_customer FOREIGN KEY (customer_id) REFERENCES Customers(customer_id)
    );

Все эти методы достигают одного и того же результата: создают связь «многие к одному» внешнего ключа между таблицами «Клиенты» и «Заказы», ​​где несколько заказов могут быть связаны с одним клиентом.