Загрузка данных
-- СОЗДАНИЕ БАЗЫ ДАННЫХ (выполняется отдельно, затем подключайтесь к ней)
-- CREATE DATABASE ShopDatabase;
-- =====================================================
-- 1. ТАБЛИЦА: Товары и продажи
-- =====================================================
CREATE TABLE IF NOT EXISTS Products (
ID_tovara INTEGER PRIMARY KEY,
Naimenovanie_tovara VARCHAR(100),
Kategoriya VARCHAR(50),
Proizvoditel VARCHAR(100),
Shtrih_kod BIGINT,
Zakupochnaya_tsena NUMERIC(10,2),
Tsena_prodazhi NUMERIC(10,2),
Natsenka_prots INTEGER,
Ostatok_na_sklade INTEGER,
Prodano_za_mesyats INTEGER,
Vyruchka_za_mesyats NUMERIC(10,2),
Srok_godnosti_dney INTEGER,
NDS_prots INTEGER
);
INSERT INTO Products VALUES
(101, 'Молоко 1л', 'Молочные', 'ООО "МолПродукт"', 4601234567891, 45, 65, 44, 120, 450, 29250, 7, 20),
(102, 'Хлеб чёрный', 'Хлеб', 'Хлебозавод №3', 4601234567892, 25, 40, 60, 80, 620, 24800, 3, 20),
(103, 'Гречка 0.9кг', 'Бакалея', 'ТД "Крупяной"', 4601234567893, 55, 85, 55, 200, 310, 26350, 365, 20),
(104, 'Яблоки (кг)', 'Фрукты', 'Овощная база', 4601234567894, 60, 95, 58, 45, 180, 17100, 14, 20),
(105, 'Курица филе (кг)', 'Мясо', 'Мясокомбинат', 4601234567895, 180, 250, 39, 30, 120, 30000, 5, 20),
(106, 'Сыр Российский 200г', 'Молочные', 'Сырзавод №1', 4601234567896, 90, 130, 44, 65, 210, 27300, 30, 20),
(107, 'Масло подсолнечное 1л', 'Бакалея', 'Маслозавод', 4601234567897, 70, 110, 57, 95, 180, 19800, 180, 20),
(108, 'Печенье "Юбилейное"', 'Кондитерские', 'Кондитер №2', 4601234567898, 35, 55, 57, 140, 340, 18700, 180, 20),
(109, 'Чай чёрный 100г', 'Бакалея', 'Чайная компания', 4601234567899, 50, 80, 60, 55, 120, 9600, 365, 20),
(110, 'Сахар 1кг', 'Бакалея', 'Сахарный завод', 4601234567900, 45, 70, 56, 110, 280, 19600, 730, 20);
-- =====================================================
-- 2. ТАБЛИЦА: Расходы на товары
-- =====================================================
CREATE TABLE IF NOT EXISTS Expenses (
ID_rashoda INTEGER PRIMARY KEY,
ID_tovara INTEGER,
Data_zakupki DATE,
Zakuplennoe_kolichestvo INTEGER,
Obshaya_stoimost_zakupki NUMERIC(10,2),
Postavshik VARCHAR(100),
Nomer_nakladnoy VARCHAR(50),
Srok_oplaty_dney INTEGER,
Fakticheskaya_data_oplaty DATE,
Sposob_oplaty VARCHAR(50),
Primechanie VARCHAR(255)
);
INSERT INTO Expenses VALUES
(2001, 101, '2026-04-01', 500, 22500, 'ООО "МолПродукт"', 'НП-101/04', 14, '2026-04-10', 'Безналичный', '-'),
(2002, 102, '2026-04-05', 400, 10000, 'Хлебозавод №3', 'НП-102/04', 7, '2026-04-10', 'Наличный', '-'),
(2003, 103, '2026-04-10', 300, 16500, 'ТД "Крупяной"', 'НП-103/04', 30, '2026-05-05', 'Безналичный', '-'),
(2004, 104, '2026-04-12', 200, 12000, 'Овощная база', 'НП-104/04', 7, '2026-04-15', 'Наличный', 'Скидка 5%'),
(2005, 105, '2026-04-15', 100, 18000, 'Мясокомбинат', 'НП-105/04', 14, '2026-04-25', 'Безналичный', '-'),
(2006, 106, '2026-04-03', 150, 13500, 'Сырзавод №1', 'НП-106/04', 30, '2026-04-28', 'Безналичный', 'Акция 1+1'),
(2007, 107, '2026-04-07', 200, 14000, 'Маслозавод', 'НП-107/04', 14, '2026-04-18', 'Безналичный', '-'),
(2008, 108, '2026-04-09', 350, 12250, 'Кондитер №2', 'НП-108/04', 7, '2026-04-14', 'Наличный', '-'),
(2009, 109, '2026-04-14', 100, 5000, 'Чайная компания', 'НП-109/04', 30, '2026-05-12', 'Безналичный', '-'),
(2010, 110, '2026-04-18', 300, 13500, 'Сахарный завод', 'НП-110/04', 14, '2026-04-28', 'Безналичный', '-'),
(2011, 101, '2026-04-25', 600, 27000, 'ООО "МолПродукт"', 'НП-101/04-2', 14, '2026-05-08', 'Безналичный', 'Доп. закупка'),
(2012, 102, '2026-04-28', 450, 11250, 'Хлебозавод №3', 'НП-102/04-2', 7, '2026-05-05', 'Наличный', '-'),
(2013, 104, '2026-04-29', 180, 10800, 'Овощная база', 'НП-104/04-2', 7, '2026-05-06', 'Наличный', '-'),
(2014, 105, '2026-04-30', 80, 14400, 'Мясокомбинат', 'НП-105/04-2', 14, '2026-05-12', 'Безналичный', '-'),
(2015, 106, '2026-04-30', 120, 10800, 'Сырзавод №1', 'НП-106/04-2', 30, '2026-05-28', 'Безналичный', '-');
-- =====================================================
-- 3. ТАБЛИЦА: Поставщики
-- =====================================================
CREATE TABLE IF NOT EXISTS Suppliers (
ID_postavshika INTEGER PRIMARY KEY,
Naimenovanie VARCHAR(100),
INN BIGINT,
Telefon VARCHAR(20),
Adres VARCHAR(255),
Direktor VARCHAR(100),
Dogovor_nomer VARCHAR(50),
Data_dogovora DATE,
Otsrochka_platezha_dney INTEGER
);
INSERT INTO Suppliers VALUES
(1, 'ООО "МолПродукт"', 1234567890, '84951234567', 'г. Москва, ул. Тверская 10', 'Иванов И.И.', 'Д-01/24', '2024-01-10', 14),
(2, 'Хлебозавод №3', 1234567891, '84961234567', 'г. Москва, ул. Хлебная 5', 'Петров П.П.', 'Д-02/24', '2024-01-15', 7),
(3, 'ТД "Крупяной"', 1234567892, '84971234567', 'г. Москва, ул. Зерновая 12', 'Сидоров С.С.', 'Д-03/24', '2024-01-20', 30),
(4, 'Овощная база', 1234567893, '84981234567', 'г. Москва, ул. Овощная 3', 'Козлова К.К.', 'Д-04/24', '2024-01-25', 7),
(5, 'Мясокомбинат', 1234567894, '84991234567', 'г. Москва, ул. Мясная 8', 'Соколов С.А.', 'Д-05/24', '2024-02-01', 14),
(6, 'Сырзавод №1', 1234567895, '84901234567', 'г. Москва, ул. Сырная 1', 'Морозов М.И.', 'Д-06/24', '2024-02-05', 30),
(7, 'Маслозавод', 1234567896, '84911234567', 'г. Москва, ул. Масляная 7', 'Лебедев Л.В.', 'Д-07/24', '2024-02-10', 14),
(8, 'Кондитер №2', 1234567897, '84921234567', 'г. Москва, ул. Сладкая 4', 'Павлова П.А.', 'Д-08/24', '2024-02-15', 7),
(9, 'Чайная компания', 1234567898, '84931234567', 'г. Москва, ул. Чайная 9', 'Новикова Н.Н.', 'Д-09/24', '2024-02-20', 30),
(10, 'Сахарный завод', 1234567899, '84941234567', 'г. Москва, ул. Сахарная 2', 'Григорьева Г.В.', 'Д-10/24', '2024-02-25', 14);
-- =====================================================
-- 4. ТАБЛИЦА: Сотрудники
-- =====================================================
CREATE TABLE IF NOT EXISTS Employees (
ID_sotr INTEGER PRIMARY KEY,
FIO_sotrudnika VARCHAR(100),
Data_rozhdeniya DATE,
Pasport_seriya_nomer VARCHAR(20),
INN BIGINT,
SNILS VARCHAR(20),
Adres_prozhivaniya VARCHAR(255),
Telefon VARCHAR(20),
Email VARCHAR(100),
Obrazovanie VARCHAR(100),
Dolzhnost VARCHAR(100),
Oklad_rub NUMERIC(10,2),
Dokhod_v_den_rub NUMERIC(10,2),
Data_priema_na_rabotu DATE,
Nalichie_sudimosti VARCHAR(3),
Statya VARCHAR(255),
Data_sudimosti DATE,
Srok_pogasheniya VARCHAR(50)
);
INSERT INTO Employees VALUES
(301, 'Иванова Мария Петровна', '1985-03-15', '4510123456', 123456789012, '123-456-789 01', 'ул. Ленина 15, кв. 8', '89111234567', 'ivanova@magazin.ru', 'Высшее (экономист)', 'Директор', 75000, 2500, '2020-02-10', 'Нет', '-', NULL, '-'),
(302, 'Петров Сергей Алексеевич', '1990-07-22', '4512654321', 987654321098, '987-654-321 02', 'ул. Садовая 3, кв. 12', '89221234567', 'petrov@magazin.ru', 'Среднее спец.', 'Зав. складом', 50000, 1667, '2021-06-15', 'Нет', '-', NULL, '-'),
(303, 'Сидорова Анна Викторовна', '1995-01-10', '4515987123', 456123789456, '456-123-789 03', 'ул. Мира 7, кв. 5', '89331234567', 'sidorova@magazin.ru', 'Среднее', 'Кассир', 35000, 1167, '2022-09-01', 'Нет', '-', NULL, '-'),
(304, 'Кузнецов Дмитрий Игоревич', '2000-09-05', '4520321654', 789456123789, '789-456-123 04', 'ул. Пушкина 20, кв. 3', '89441234567', 'kuznetsov@magazin.ru', 'Среднее общее', 'Продавец', 35000, 1167, '2023-01-20', 'Нет', '-', NULL, '-'),
(305, 'Николаева Елена Владимировна', '1975-12-12', '4505741852', 147258369147, '147-258-369 05', 'ул. Лесная 8, кв. 1', '89551234567', 'nikolaeva@magazin.ru', 'Среднее', 'Уборщица', 25000, 833, '2019-03-05', 'Нет', '-', NULL, '-'),
(306, 'Соколов Алексей Андреевич', '1982-06-03', '4518963852', 369147258369, '369-147-258 06', 'пр. Победы 5, кв. 45', '89661234567', 'sokolov@magazin.ru', 'Высшее (менеджмент)', 'Зам. директора', 60000, 2000, '2018-08-11', 'Нет', '-', NULL, '-'),
(307, 'Козлова Татьяна Ивановна', '1988-11-20', '4522159753', 753951456753, '753-951-456 07', 'ул. Гагарина 12, кв. 7', '89771234567', 'kozlova@magazin.ru', 'Высшее (финансы)', 'Бухгалтер', 55000, 1833, '2019-01-20', 'Нет', '-', NULL, '-'),
(308, 'Морозов Иван Владимирович', '1992-07-14', '4525852741', 951753486951, '951-753-486 08', 'ул. Северная 9, кв. 33', '89881234567', 'morozov@magazin.ru', 'Среднее', 'Грузчик', 30000, 1000, '2022-07-14', 'Да', 'Ст. 158 ч.1 (кража)', '2015-03-12', '12.03.2020 (погашена)'),
(309, 'Лебедева Ольга Николаевна', '1987-04-25', '4508369258', 258147369258, '258-147-369 09', 'ул. Южная 4, кв. 2', '89991234567', 'lebedev@magazin.ru', 'Среднее спец.', 'Продавец-кассир', 35000, 1167, '2021-04-03', 'Нет', '-', NULL, '-'),
(310, 'Павлов Дмитрий Сергеевич', '1998-09-09', '4530741852', 951753123456, '951-753-123 10', 'ул. Цветочная 17, кв. 56', '89001234567', 'pavlov@magazin.ru', 'Среднее', 'Охранник', 40000, 1333, '2023-10-10', 'Нет', '-', NULL, '-'),
(311, 'Алексеева Дарья Сергеевна', '2002-05-15', '4535123789', 321654987321, '321-654-987 11', 'ул. Новая 2, кв. 18', '89123456789', 'stajer@magazin.ru', 'Среднее общее', 'Стажёр (продавец-кассир)', NULL, 900, '2026-05-01', 'Нет', '-', NULL, '-');
-- =====================================================
-- 5. ТАБЛИЦА: Семейное положение
-- =====================================================
CREATE TABLE IF NOT EXISTS FamilyStatus (
ID_sotr INTEGER PRIMARY KEY,
FIO_sotrudnika VARCHAR(100),
Semeynoe_polozhenie VARCHAR(50),
FIO_supruga VARCHAR(100),
Telefon_supruga VARCHAR(20),
Dop_info_o_seme VARCHAR(255),
Lgoty_sotrudnika VARCHAR(255),
Razmer_lgot_rub NUMERIC(10,2)
);
INSERT INTO FamilyStatus VALUES
(301, 'Иванова Мария Петровна', 'Замужем', 'Иванов Дмитрий Владимирович', '89011234567', 'Супруг работает', 'ДМС, оплата детсада, путёвка в лагерь', 8500),
(302, 'Петров Сергей Алексеевич', 'Женат', 'Петрова Ольга Игоревна', '89121234567', 'Супруга в декрете', 'Молочная кухня, бесплатные лекарства для ребёнка', 3500),
(303, 'Сидорова Анна Викторовна', 'Разведена', '-', '-', 'Одна воспитывает ребёнка', 'Налоговый вычет, субсидия на ЖКУ', 5200),
(304, 'Кузнецов Дмитрий Игоревич', 'Холост', '-', '-', '-', 'Нет', 0),
(305, 'Николаева Елена Владимировна', 'Вдова', '-', '-', 'Пенсия по потере кормильца', 'Дополнительный отпуск 3 дня', 2000),
(306, 'Соколов Алексей Андреевич', 'Женат', 'Соколова Наталья Павловна', '89331234567', 'Супруга работает', 'ДМС на всю семью, оплата секций', 11000),
(307, 'Козлова Татьяна Ивановна', 'Замужем', 'Козлов Михаил Юрьевич', '89441234567', 'Супруг ИП', 'Гибкий график, оплата обедов', 4000),
(308, 'Морозов Иван Владимирович', 'Женат', 'Морозова Екатерина Андреевна', '89551234567', 'Супруга в декрете', 'Бесплатное питание на работе', 2500),
(309, 'Лебедева Ольга Николаевна', 'Разведена', '-', '-', 'Одна воспитывает трёх детей', 'Ежемесячное пособие от магазина', 3000),
(310, 'Павлов Дмитрий Сергеевич', 'Холост (есть ребёнок)', '-', '-', 'Ребёнок живёт с матерью', 'Алименты (удержание из зп)', NULL),
(311, 'Алексеева Дарья Сергеевна', 'Не замужем', '-', '-', '-', 'Нет', 0);
-- =====================================================
-- 6. ТАБЛИЦА: Штрафы
-- =====================================================
CREATE TABLE IF NOT EXISTS Fines (
ID_shtrafa INTEGER PRIMARY KEY,
ID_sotrudnika INTEGER,
FIO_sotrudnika VARCHAR(100),
Dolzhnost VARCHAR(100),
Data_shtrafa DATE,
Tip_shtrafa VARCHAR(50),
Prichina_shtrafa VARCHAR(255),
Summa_shtrafa_rub NUMERIC(10,2),
Status_oplaty VARCHAR(50),
Komu_oplachen VARCHAR(100),
Primechanie VARCHAR(255)
);
INSERT INTO Fines VALUES
(7001, 304, 'Кузнецов Дмитрий Игоревич', 'Продавец', '2026-04-02', 'Опоздание', 'Опоздание на 45 минут без уважительной причины', 500, 'Оплачен', 'Касса магазина', 'Выговор устный'),
(7002, 308, 'Морозов Иван Владимирович', 'Грузчик', '2026-04-02', 'Опоздание', 'Опоздание на 45 минут', 500, 'Оплачен', 'Касса магазина', '-'),
(7003, 303, 'Сидорова Анна Викторовна', 'Кассир', '2026-04-02', 'Опоздание', 'Опоздание на 20 минут', 300, 'Оплачен', 'Касса магазина', '-'),
(7004, 311, 'Алексеева Дарья Сергеевна', 'Стажёр', '2026-05-01', 'Опоздание', 'Опоздание на 15 минут (стажёр)', 200, 'Не оплачен', '-', 'Первое предупреждение'),
(7005, 302, 'Петров Сергей Алексеевич', 'Зав. складом', '2026-04-02', 'Опоздание', 'Опоздание на 30 минут', 400, 'Оплачен', 'Касса магазина', '-'),
(7006, 309, 'Лебедева Ольга Николаевна', 'Продавец-кассир', '2026-04-03', 'Опоздание', 'Опоздание на 35 минут', 400, 'Оплачен', 'Касса магазина', '-'),
(7007, 310, 'Павлов Дмитрий Сергеевич', 'Охранник', '2026-04-02', 'Опоздание', 'Опоздание на 15 минут (ночная смена)', 300, 'Оплачен', 'Касса магазина', '-'),
(7008, 301, 'Иванова Мария Петровна', 'Директор', '2026-04-03', 'Уход раньше', 'Ушла на 30 минут раньше (личные дела)', 0, '-', '-', 'Без штрафа, по согласованию'),
(7009, 305, 'Николаева Елена Владимировна', 'Уборщица', '2026-04-03', 'Уход раньше', 'Ушла на 2 часа раньше к врачу', 0, '-', '-', 'Предоставила справку'),
(7010, 306, 'Соколов Алексей Андреевич', 'Зам. директора', '2026-04-03', 'Больничный', 'На больничном, опоздание на 1 час', 0, '-', '-', 'Больничный лист');
-- =====================================================
-- 7. ТАБЛИЦА: Дети сотрудников и льготы
-- =====================================================
CREATE TABLE IF NOT EXISTS ChildrenBenefits (
ID_rebenka INTEGER PRIMARY KEY,
ID_sotrudnika INTEGER,
FIO_sotrudnika VARCHAR(100),
Dolzhnost VARCHAR(100),
FIO_rebenka VARCHAR(100),
Data_rozhdeniya_rebenka DATE,
Vozrast_rebenka INTEGER,
Uchitsya VARCHAR(100),
Lgoty_na_rebenka VARCHAR(255),
Razmer_lgoty_na_rebenka NUMERIC(10,2),
Lichnye_lgoty_sotrudnika VARCHAR(255),
Razmer_lichnyh_lgot NUMERIC(10,2),
Semeynoe_polozhenie VARCHAR(50)
);
INSERT INTO ChildrenBenefits VALUES
(1, 301, 'Иванова Мария Петровна', 'Директор', 'София Иванова', '2019-05-12', 6, 'Школа (1 класс)', 'Налоговый вычет', 1400, 'ДМС, оплата детсада, путёвка в лагерь', 8500, 'Замужем'),
(2, 301, 'Иванова Мария Петровна', 'Директор', 'Артём Иванов', '2022-11-23', 3, 'Детский сад', 'Компенсация родительской платы 70%', 3500, 'ДМС, оплата детсада, путёвка в лагерь', 8500, 'Замужем'),
(3, 302, 'Петров Сергей Алексеевич', 'Зав. складом', 'Кирилл Петров', '2020-03-15', 5, 'Детский сад', 'Компенсация 50%', 2500, 'Молочная кухня, бесплатные лекарства', 3500, 'Женат'),
(4, 303, 'Сидорова Анна Викторовна', 'Кассир', 'Алина Сидорова', '2013-09-01', 12, 'Школа (6 класс)', 'Налоговый вычет + бесплатный проезд', 2000, 'Налоговый вычет, субсидия на ЖКУ', 5200, 'Разведена'),
(5, 306, 'Соколов Алексей Андреевич', 'Зам. директора', 'Максим Соколов', '2011-07-20', 14, 'Школа (8 класс)', 'Налоговый вычет', 1400, 'ДМС на всю семью, оплата секций', 11000, 'Женат'),
(6, 306, 'Соколов Алексей Андреевич', 'Зам. директора', 'Варвара Соколова', '2017-01-05', 8, 'Школа (2 класс)', 'Налоговый вычет', 1400, 'ДМС на всю семью, оплата секций', 11000, 'Женат'),
(7, 306, 'Соколов Алексей Андреевич', 'Зам. директора', 'Егор Соколов', '2025-03-10', 0, '-', 'Нет', 0, 'ДМС на всю семью, оплата секций', 11000, 'Женат'),
(8, 307, 'Козлова Татьяна Ивановна', 'Бухгалтер', 'Полина Козлова', '2015-11-11', 10, 'Школа (4 класс)', 'Налоговый вычет', 1400, 'Гибкий график, оплата обедов', 4000, 'Замужем'),
(9, 307, 'Козлова Татьяна Ивановна', 'Бухгалтер', 'Даниил Козлов', '2019-04-22', 6, 'Детский сад (подготов.)', 'Компенсация 60%', 2800, 'Гибкий график, оплата обедов', 4000, 'Замужем'),
(10, 308, 'Морозов Иван Владимирович', 'Грузчик', 'Денис Морозов', '2010-09-05', 15, 'Колледж', 'Налоговый вычет', 1400, 'Бесплатное питание на работе', 2500, 'Женат'),
(11, 308, 'Морозов Иван Владимирович', 'Грузчик', 'Алиса Морозова', '2020-12-17', 4, 'Детский сад', 'Компенсация 30%', 1500, 'Бесплатное питание на работе', 2500, 'Женат'),
(12, 309, 'Лебедева Ольга Николаевна', 'Продавец-кассир', 'Екатерина Лебедева', '2008-03-01', 17, 'Студентка (ВУЗ)', 'Налоговый вычет', 1400, 'Пособие от магазина на детей', 3000, 'Разведена'),
(13, 309, 'Лебедева Ольга Николаевна', 'Продавец-кассир', 'Илья Лебедев', '2016-07-14', 9, 'Школа (3 класс)', 'Налоговый вычет', 1400, 'Пособие от магазина на детей', 3000, 'Разведена'),
(14, 309, 'Лебедева Ольга Николаевна', 'Продавец-кассир', 'Надя Лебедева', '2023-12-09', 2, 'Дома с мамой', 'Нет', 0, 'Пособие от магазина на детей', 3000, 'Разведена'),
(15, 310, 'Павлов Дмитрий Сергеевич', 'Охранник', 'Виктория Павлова', '2022-06-03', 3, 'Не ходит', 'Алименты (удержание)', 10000, 'Нет', 0, 'Холост (есть ребёнок)');
-- =====================================================
-- 8. ТАБЛИЦА: Посещаемость
-- =====================================================
CREATE TABLE IF NOT EXISTS Attendance (
ID_zapisi INTEGER PRIMARY KEY,
ID_sotrudnika INTEGER,
FIO_sotrudnika VARCHAR(100),
Dolzhnost VARCHAR(100),
Data DATE,
Vremya_prikhoda TIME,
Vremya_ukhoda TIME,
Otrabotano_chasov NUMERIC(5,2),
Opazdanie_min INTEGER,
Ukhod_ranshe_min INTEGER,
Prichina_otsutstviya VARCHAR(255),
Tip_dnya VARCHAR(50)
);
INSERT INTO Attendance VALUES
(1001, 301, 'Иванова Мария Петровна', 'Директор', '2026-04-01', '09:00:00', '18:00:00', 8, 0, 0, '-', 'Рабочий'),
(1002, 301, 'Иванова Мария Петровна', 'Директор', '2026-04-02', '09:15:00', '18:00:00', 7.75, 15, 0, '-', 'Рабочий'),
(1003, 301, 'Иванова Мария Петровна', 'Директор', '2026-04-03', '09:00:00', '17:30:00', 7.5, 0, 30, 'Личные дела', 'Рабочий'),
(1004, 302, 'Петров Сергей Алексеевич', 'Зав. складом', '2026-04-01', '08:55:00', '17:55:00', 8, 0, 0, '-', 'Рабочий'),
(1005, 302, 'Петров Сергей Алексеевич', 'Зав. складом', '2026-04-02', '09:30:00', '17:55:00', 7.42, 30, 0, 'Пробки', 'Рабочий'),
(1006, 302, 'Петров Сергей Алексеевич', 'Зав. складом', '2026-04-03', '08:50:00', '17:55:00', 8.08, 0, 0, '-', 'Рабочий'),
(1007, 303, 'Сидорова Анна Викторовна', 'Кассир', '2026-04-01', '08:45:00', '17:45:00', 8, 0, 0, '-', 'Рабочий'),
(1008, 303, 'Сидорова Анна Викторовна', 'Кассир', '2026-04-02', '09:20:00', '17:45:00', 7.42, 20, 0, '-', 'Рабочий'),
(1009, 303, 'Сидорова Анна Викторовна', 'Кассир', '2026-04-03', '08:50:00', '17:45:00', 7.92, 0, 0, '-', 'Рабочий'),
(1010, 304, 'Кузнецов Дмитрий Игоревич', 'Продавец', '2026-04-01', '09:00:00', '18:00:00', 8, 0, 0, '-', 'Рабочий'),
(1011, 304, 'Кузнецов Дмитрий Игоревич', 'Продавец', '2026-04-02', '09:45:00', '18:00:00', 7.25, 45, 0, 'Проспал', 'Рабочий'),
(1012, 304, 'Кузнецов Дмитрий Игоревич', 'Продавец', '2026-04-03', '08:55:00', '18:00:00', 8.08, 0, 0, '-', 'Рабочий'),
(1013, 305, 'Николаева Елена Владимировна', 'Уборщица', '2026-04-01', '07:30:00', '16:30:00', 8, 0, 0, '-', 'Рабочий'),
(1014, 305, 'Николаева Елена Владимировна', 'Уборщица', '2026-04-02', '07:35:00', '16:30:00', 7.92, 5, 0, '-', 'Рабочий'),
(1015, 305, 'Николаева Елена Владимировна', 'Уборщица', '2026-04-03', '07:30:00', '14:30:00', 6, 0, 120, 'Ушла к врачу', 'Рабочий'),
(1016, 306, 'Соколов Алексей Андреевич', 'Зам. директора', '2026-04-01', '09:00:00', '18:00:00', 8, 0, 0, '-', 'Рабочий'),
(1017, 306, 'Соколов Алексей Андреевич', 'Зам. директора', '2026-04-02', '09:00:00', '18:00:00', 8, 0, 0, '-', 'Рабочий'),
(1018, 306, 'Соколов Алексей Андреевич', 'Зам. директора', '2026-04-03', '10:00:00', '18:00:00', 7, 60, 0, 'Больничный', 'Больничный'),
(1019, 307, 'Козлова Татьяна Ивановна', 'Бухгалтер', '2026-04-01', '09:00:00', '18:00:00', 8, 0, 0, '-', 'Рабочий'),
(1020, 307, 'Козлова Татьяна Ивановна', 'Бухгалтер', '2026-04-02', '09:00:00', '18:00:00', 8, 0, 0, '-', 'Рабочий'),
(1021, 307, 'Козлова Татьяна Ивановна', 'Бухгалтер', '2026-04-03', '09:10:00', '18:00:00', 7.83, 10, 0, '-', 'Рабочий'),
(1022, 308, 'Морозов Иван Владимирович', 'Грузчик', '2026-04-01', '08:30:00', '17:30:00', 8, 0, 0, '-', 'Рабочий'),
(1023, 308, 'Морозов Иван Владимирович', 'Грузчик', '2026-04-02', '09:15:00', '17:30:00', 7.25, 45, 0, '-', 'Рабочий'),
(1024, 308, 'Морозов Иван Владимирович', 'Грузчик', '2026-04-03', '08:30:00', '17:30:00', 8, 0, 0, '-', 'Рабочий'),
(1025, 309, 'Лебедева Ольга Николаевна', 'Продавец-кассир', '2026-04-01', '08:55:00', '17:55:00', 8, 0, 0, '-', 'Рабочий'),
(1026, 309, 'Лебедева Ольга Николаевна', 'Продавец-кассир', '2026-04-02', '08:50:00', '17:55:00', 8.08, 0, 0, '-', 'Рабочий'),
(1027, 309, 'Лебедева Ольга Николаевна', 'Продавец-кассир', '2026-04-03', '09:30:00', '17:55:00', 7.42, 35, 0, '-', 'Рабочий'),
(1028, 310, 'Павлов Дмитрий Сергеевич', 'Охранник', '2026-04-01', '20:00:00', '08:00:00', 11, 0, 0, 'Ночная смена', 'Рабочий'),
(1029, 310, 'Павлов Дмитрий Сергеевич', 'Охранник', '2026-04-02', '20:15:00', '08:00:00', 10.75, 15, 0, '-', 'Рабочий'),
(1030, 310, 'Павлов Дмитрий Сергеевич', 'Охранник', '2026-04-03', '20:00:00', '08:00:00', 11, 0, 0, 'Ночная смена', 'Рабочий'),
(1031, 311, 'Алексеева Дарья Сергеевна', 'Стажёр', '2026-05-01', '09:15:00', '18:00:00', 7.75, 15, 0, '-', 'Рабочий'),
(1032, 311, 'Алексеева Дарья Сергеевна', 'Стажёр', '2026-05-02', '09:00:00', '18:00:00', 8, 0, 0, '-', 'Рабочий');
-- =====================================================
-- 9. ТАБЛИЦА: Трудовая книжка и прошлая работа
-- =====================================================
CREATE TABLE IF NOT EXISTS WorkHistory (
ID_sotr INTEGER PRIMARY KEY,
FIO_sotrudnika VARCHAR(100),
Trudovaya_knizhka_seriya VARCHAR(20),
Trudovaya_knizhka_nomer VARCHAR(20),
Data_vydachi_trudovoy DATE,
Data_posledney_zapisi DATE,
Gde_hranitsya_trudovaya VARCHAR(255),
Primechanie_po_trudovoy VARCHAR(255),
FIO_s_proshlogo_mesta VARCHAR(100),
Telefon_proshlogo_rabotodatelya VARCHAR(20),
Adres_proshlogo_rabotodatelya VARCHAR(255),
Dolzhnost_na_proshlom_meste VARCHAR(100),
Period_raboty_s DATE,
Period_raboty_po DATE,
Prichina_uvolneniya VARCHAR(255)
);
INSERT INTO WorkHistory VALUES
(301, 'Иванова Мария Петровна', 'ТК-I', '1234567', '2005-03-01', '2020-02-10', 'В сейфе у директора', 'Вкладыш не вклеен', 'ООО "Продукт-Сервис"', '84951234567', 'г. Москва, ул. Тверская 10', 'Зам. директора', '2015-08-01', '2020-01-31', 'Переезд'),
(302, 'Петров Сергей Алексеевич', 'ТК-II', '2345678', '2010-08-15', '2021-06-15', 'В отделе кадров', '-', 'ИП "СкладЛогистик"', '84961234567', 'г. Москва, пр. Вернадского 5', 'Кладовщик', '2018-01-10', '2021-05-31', 'Зарплата ниже'),
(303, 'Сидорова Анна Викторовна', 'ТК-III', '3456789', '2013-03-20', '2022-09-01', 'В отделе кадров', '-', 'АО "ТоргМаг"', '84971234567', 'г. Москва, ул. Арбат 15', 'Продавец', '2019-06-01', '2022-08-15', 'Сокращение'),
(304, 'Кузнецов Дмитрий Игоревич', 'ТК-IV', '4567890', '2018-10-10', '2023-01-20', 'В отделе кадров', 'Первая работа', '-', '-', '-', '-', NULL, NULL, '-'),
(305, 'Николаева Елена Владимировна', 'ТК-V', '5678901', '1995-06-05', '2019-03-05', 'В отделе кадров', 'Ветхая книжка', 'МУП "Чистота"', '84981234567', 'г. Москва, ул. Строителей 3', 'Уборщица', '2010-04-01', '2019-02-28', 'Выход на пенсию'),
(306, 'Соколов Алексей Андреевич', 'ТК-VI', '6789012', '2004-09-12', '2018-08-11', 'В сейфе у директора', '-', 'ЗАО "Менеджмент Групп"', '84991234567', 'г. Москва, ул. Профсоюзная 20', 'Нач. отдела продаж', '2012-07-01', '2018-07-31', 'Собственное желание'),
(307, 'Козлова Татьяна Ивановна', 'ТК-VII', '7890123', '2009-12-25', '2019-01-20', 'В отделе кадров', '-', 'ООО "ФинансКонсалт"', '84901234567', 'г. Москва, ул. Мясницкая 7', 'Помощник бухгалтера', '2014-03-01', '2018-12-31', 'Переезд'),
(308, 'Морозов Иван Владимирович', 'ТК-VIII', '8901234', '2014-04-18', '2022-07-14', 'В отделе кадров', '-', 'ООО "СкладРесурс"', '84911234567', 'г. Москва, ул. Промышленная 8', 'Грузчик', '2019-02-01', '2022-06-30', 'Уволен по статье'),
(309, 'Лебедева Ольга Николаевна', 'ТК-IX', '9012345', '2008-06-30', '2021-04-03', 'В отделе кадров', 'Есть вкладыш', 'АО "Продукты365"', '84921234567', 'г. Москва, ул. Ленинская 12', 'Продавец-кассир', '2016-09-01', '2021-03-31', 'Смена места жительства'),
(310, 'Павлов Дмитрий Сергеевич', 'ТК-X', '123456', '2020-02-01', '2023-10-10', 'В отделе кадров', '-', 'ООО "Охрана Плюс"', '84931234567', 'г. Москва, ул. Безопасная 3', 'Охранник', '2021-03-01', '2023-09-30', 'Низкая зарплата'),
(311, 'Алексеева Дарья Сергеевна', 'ТК-XI', '1122334', '2023-06-01', '2026-05-01', 'В отделе кадров', 'Первая работа', '-', '-', '-', '-', NULL, NULL, '-');
-- =====================================================
-- 10. ТАБЛИЦА: Зарплаты и налоги
-- =====================================================
CREATE TABLE IF NOT EXISTS SalariesTaxes (
ID_nachisleniya INTEGER PRIMARY KEY,
ID_sotrudnika INTEGER,
Mesyats DATE,
Bazovaya_zarplata NUMERIC(10,2),
Premii NUMERIC(10,2),
Uderzhaniya_NDFL NUMERIC(10,2),
Zarplata_k_vydache NUMERIC(10,2),
Nalogi_za_sotrudnika NUMERIC(10,2)
);
INSERT INTO SalariesTaxes VALUES
(4001, 301, '2026-04-01', 75000, 5000, 8500, 71500, 21000),
(4002, 302, '2026-04-01', 50000, 3000, 6000, 47000, 14000),
(4003, 303, '2026-04-01', 35000, 2000, 3500, 33500, 9800),
(4004, 304, '2026-04-01', 35000, 1500, 4550, 31950, 9800),
(4005, 305, '2026-04-01', 25000, 500, 3250, 22250, 7000),
(4006, 306, '2026-04-01', 60000, 4000, 7200, 56800, 16800),
(4007, 307, '2026-04-01', 55000, 3000, 6400, 51600, 15400),
(4008, 308, '2026-04-01', 30000, 1000, 3900, 27100, 8400),
(4009, 309, '2026-04-01', 35000, 2000, 4550, 32450, 9800),
(4010, 310, '2026-04-01', 40000, 1500, 5200, 36300, 11200),
(4011, 311, '2026-04-01', NULL, 0, 0, 9000, 0);
-- =====================================================
-- 11. ТАБЛИЦА: Итоговая финансовая сводка
-- =====================================================
CREATE TABLE IF NOT EXISTS FinancialSummary (
Pokazatel VARCHAR(100),
Summa_rub NUMERIC(10,2)
);
INSERT INTO FinancialSummary VALUES
('Всего доходов', 1465000),
('Себестоимость товаров (закупка)', -940000),
('Фонд оплаты труда + налоги', -225000),
('Аренда', -120000),
('Коммунальные платежи', -35000),
('Охрана', -25000),
('Услуги банка', -8000),
('Хозяйственные расходы', -12000),
('IT и обслуживание касс', -5000),
('Чистая прибыль', 95000);
-- =====================================================
-- 12. ТАБЛИЦА: Прочие операционные затраты
-- =====================================================
CREATE TABLE IF NOT EXISTS OperatingCosts (
ID_zatraty INTEGER PRIMARY KEY,
Kategoriya VARCHAR(50),
Podkategoriya VARCHAR(50),
Opisanie VARCHAR(255),
Summa_rub NUMERIC(10,2),
Data DATE,
Period DATE,
Kontragent VARCHAR(100),
Sposob_oplaty VARCHAR(50),
Status_oplaty VARCHAR(50),
Otvetstvennyy VARCHAR(100)
);
INSERT INTO OperatingCosts VALUES
(5001, 'Аренда', 'Аренда помещения', 'Аренда торгового зала', 120000, '2026-04-01', '2026-04-01', 'ООО "ТоргПлощадь"', 'Безналичный', 'Оплачен', 'Иванова М.П.'),
(5002, 'Коммунальные', 'Электричество', 'Электроэнергия', 22000, '2026-04-15', '2026-04-01', 'ПАО "Мосэнергосбыт"', 'Безналичный', 'Оплачен', 'Петров С.А.'),
(5003, 'Коммунальные', 'Водоснабжение', 'Холодная вода', 8000, '2026-04-15', '2026-04-01', 'ООО "Мосводоканал"', 'Безналичный', 'Оплачен', 'Петров С.А.'),
(5004, 'Коммунальные', 'Отопление', 'Отопление', 5000, '2026-04-20', '2026-04-01', 'ООО "Теплосеть"', 'Безналичный', 'Оплачен', 'Петров С.А.'),
(5005, 'Охрана', 'ЧОП', 'Физическая охрана', 25000, '2026-04-30', '2026-04-01', 'ООО "Охрана-Сервис"', 'Безналичный', 'Оплачен', 'Соколов А.А.'),
(5006, 'Услуги банка', 'Эквайринг', 'Терминалы оплаты', 5000, '2026-04-30', '2026-04-01', 'ПАО "Сбербанк"', 'Безналичный', 'Оплачен', 'Козлова Т.И.'),
(5007, 'Услуги банка', 'РКО', 'Расчётно-кассовое', 3000, '2026-04-30', '2026-04-01', 'ПАО "Сбербанк"', 'Безналичный', 'Оплачен', 'Козлова Т.И.'),
(5008, 'Хозяйственные', 'Уборочный инвентарь', 'Перчатки, чистящие', 7000, '2026-04-10', '2026-04-01', 'ООО "ХозТовары"', 'Наличный', 'Оплачен', 'Николаева Е.В.'),
(5009, 'Хозяйственные', 'Упаковка', 'Пакеты, фасовка', 5000, '2026-04-12', '2026-04-01', 'ООО "УпакСервис"', 'Наличный', 'Оплачен', 'Кузнецов Д.И.'),
(5010, 'IT и кассы', 'Обслуживание ПО', 'Кассовая программа', 3000, '2026-04-20', '2026-04-01', 'ООО "КассаПро"', 'Безналичный', 'Оплачен', 'Соколов А.А.'),
(5011, 'IT и кассы', 'Ремонт', 'Диагностика касс', 2000, '2026-04-22', '2026-04-01', 'ИП "КомпьютерСервис"', 'Наличный', 'Оплачен', 'Соколов А.А.'),
(5012, 'Маркетинг', 'Реклама', 'Соцсети', 4000, '2026-04-05', '2026-04-01', 'ООО "Реклама24"', 'Безналичный', 'Оплачен', 'Иванова М.П.'),
(5013, 'Маркетинг', 'Вывески', 'Замена подсветки', 8000, '2026-04-25', '2026-04-01', 'ИП "ВывескаПро"', 'Наличный', 'Оплачен', 'Иванова М.П.'),
(5014, 'Транспорт', 'Доставка', 'Доставка от поставщиков', 6000, '2026-04-28', '2026-04-01', 'ООО "ЛогистПро"', 'Безналичный', 'Оплачен', 'Петров С.А.');
-- =====================================================
-- 13. ТАБЛИЦА: Доходы магазина
-- =====================================================
CREATE TABLE IF NOT EXISTS Income (
ID_dokhoda INTEGER PRIMARY KEY,
Istochnik_dokhoda VARCHAR(100),
Summa_rub NUMERIC(10,2),
Mesyats DATE
);
INSERT INTO Income VALUES
(6001, 'Розничные продажи', 1450000, '2026-04-01'),
(6002, 'Возврат тары (ящики)', 2500, '2026-04-01'),
(6003, 'Продажа просрочки', 4000, '2026-04-01'),
(6004, 'Доставка (заказы)', 8500, '2026-04-01');