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


-- Включение поддержки внешних ключей (актуально для SQLite)
PRAGMA foreign_keys = ON;

-- 1. Таблица departments (Отделы)
CREATE TABLE departments (
    id INTEGER PRIMARY KEY,
    name TEXT NOT NULL UNIQUE,
    budget NUMERIC(12, 2) DEFAULT 0.00,
    location TEXT
);

-- 2. Таблица employees (Сотрудники)
CREATE TABLE employees (
    id INTEGER PRIMARY KEY,
    first_name TEXT NOT NULL,
    last_name TEXT NOT NULL,
    email TEXT UNIQUE NOT NULL,
    hire_date DATE DEFAULT CURRENT_DATE,
    salary NUMERIC(10, 2) CHECK (salary > 0),
    department_id INTEGER,
    is_remote INTEGER DEFAULT 0 CHECK (is_remote IN (0, 1)),
    tech_stack TEXT,
    FOREIGN KEY (department_id) REFERENCES departments(id)
);

-- 3. Таблица tasks (Задачи)
CREATE TABLE tasks (
    id INTEGER PRIMARY KEY,
    title TEXT NOT NULL,
    employee_id INTEGER,
    status TEXT CHECK (status IN ('new', 'in_progress', 'done')),
    priority INTEGER CHECK (priority >= 1 AND priority <= 5),
    deadline DATE,
    FOREIGN KEY (employee_id) REFERENCES employees(id)
);