Загрузка данных


CREATE TABLE images (
    id INT PRIMARY KEY AUTO_INCREMENT,          -- Код изображения
    name VARCHAR(255) NOT NULL,                 -- Название изображения
    image_data LONGBLOB NOT NULL                -- Данные избражения
);

CREATE TABLE employees (
    id INT PRIMARY KEY AUTO_INCREMENT,           -- Код сотрудника
    first_name VARCHAR(255) NOT NULL,            -- Имя сотрдуника
    second_name VARCHAR(255) NOT NULL,           -- Фамилия сотрудника
    login VARCHAR(255) NOT NULL,                 -- Логин сотрудника
    passwd VARCHAR(255) NOT NULL,                -- Пароль сотрудника
    post VARCHAR(255) NOT NULL                   -- Должность сотрудника
);

CREATE TABLE pickup_points (
    id INT PRIMARY KEY AUTO_INCREMENT,           -- Код пунтка выдачи
    address VARCHAR(255) NOT NULL                -- Адрес пункта выдачи
);

CREATE TABLE suppliers (
    id INT PRIMARY KEY AUTO_INCREMENT,           -- Код поставщика
    name VARCHAR(255) NOT NULL                   -- Наименование поставщика
);

CREATE TABLE manufacturers (
    id INT PRIMARY KEY AUTO_INCREMENT,           -- Код производителя
    name VARCHAR(255) NOT NULL                   -- Наименование производителя
);

CREATE TABLE categories (
    id INT PRIMARY KEY AUTO_INCREMENT,           -- Код категории
    name VARCHAR(255) NOT NULL                   -- Наименование категории
);

CREATE TABLE products (
    id INT PRIMARY KEY AUTO_INCREMENT,          -- Код продукта
    name VARCHAR(255) NOT NULL,                 -- Название продукта
    unit VARCHAR(255) NOT NULL,                 -- Еденица измерения продукта
    price DECIMAL(10,2) NOT NULL,               -- Стоймость продукта
    supplier_id INT,                            -- Код поставщика
    manufacturer_id INT,                        -- Код производителя
    category_id INT,                            -- Код категории
    discount INT DEFAULT 0 NOT NULL,            -- Действующая скида на продукт
    description TEXT,                           -- Описание продукта
    photo_id INT,                               -- Код изображения

    -- Внешние ключи
    FOREIGN KEY (supplier_id) REFERENCES suppliers(id),
    FOREIGN KEY (manufacturer_id) REFERENCES manufacturers(id),
    FOREIGN KEY (category_id) REFERENCES categories(id),
    FOREIGN KEY (photo_id) REFERENCES images(id)
);

-- CREATE TABLE orders (
--     id INT PRIMARY KEY AUTO_INCREMENT,          -- Код заказа
--     artuqule VARCHAR(255) NOT NULL,             -- Артикуль чего-то ???
--     delivery_date DATE NOT NULL,                -- Дата доставки
--     pickup_id INT,                              -- Код пункта вычади
--     first_name VARCHAR(255) NOT NULL,           -- Имя получателя
--     second_name VARCHAR(255) NOT NULL,          -- Фамилия получателя
--     get_code VARCHAR(255) NOT NULL,             -- Код для получения
--     order_status VARCHAR(255) NOT NULL,         -- Статус доставки

--     -- Внешние ключи
--     FOREIGN KEY (pickup_id) REFERENCES pickup_points(id)
-- );


CREATE TABLE orders (
    id INT PRIMARY KEY AUTO_INCREMENT,
    employee_id INT NOT NULL,                      -- Код сотрудника, оформившего заказ
    pickup_point_id INT NOT NULL,                  -- Код пункта выдачи
    order_date DATETIME DEFAULT CURRENT_TIMESTAMP, -- Дата заказа

    -- Внешние ключи
    FOREIGN KEY (employee_id) REFERENCES employees(id),
    FOREIGN KEY (pickup_point_id) REFERENCES pickup_points(id)
);

CREATE TABLE order_items (
    id INT PRIMARY KEY AUTO_INCREMENT,
    order_id INT NOT NULL,                     -- Код заказа
    product_id INT NOT NULL,                   -- Код продукта
    quantity INT NOT NULL DEFAULT 1,           -- Количество товара

    -- Внешние ключи
    FOREIGN KEY (order_id) REFERENCES orders(id),
    FOREIGN KEY (product_id) REFERENCES products(id)
);