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


USE master;
GO
ALTER DATABASE Почта SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
GO
DROP DATABASE Почта;
GO
CREATE DATABASE Почта;
GO
USE Почта;
GO

CREATE TABLE Почтовые_отделения
(
    Код_почтового_отделения int IDENTITY(1,1) PRIMARY KEY,
    Адрес                   nvarchar(200) NOT NULL,
    Город                   nvarchar(100) NOT NULL,
    Район                   nvarchar(100) NOT NULL,
    Индекс                  nvarchar(10)  NOT NULL,
    Телефон                 nvarchar(20)  NULL
);
GO

CREATE TABLE Прием_корреспонденции
(
    Код_приема               int IDENTITY(1,1) PRIMARY KEY,
    Код_почтового_отделения  int           NOT NULL,
    Трек_номер                nvarchar(20)  NOT NULL,
    Дата_и_время_приема       datetime      NOT NULL,
    Объявленная_ценность      decimal(10,2) NULL,
    Итоговая_стоимость_отправки decimal(10,2) NULL,
    Оплачено                 bit           NOT NULL DEFAULT 0,
    Дата_и_время_отправки     datetime      NULL,

    CONSTRAINT FK_Прием_Отделение FOREIGN KEY (Код_почтового_отделения)
        REFERENCES Почтовые_отделения (Код_почтового_отделения)
        ON UPDATE CASCADE
        ON DELETE CASCADE
);
GO

CREATE TABLE Списание_корреспонденции
(
    Код_списания                int IDENTITY(1,1) PRIMARY KEY,
    Трек_номер                   nvarchar(20) NOT NULL,
    Корреспонденция_утилизирована bit         NOT NULL DEFAULT 0
);
GO

INSERT INTO Почтовые_отделения (Адрес, Город, Район, Индекс, Телефон) VALUES
('ул. Ленина, 1',   'Москва', 'Центральный', '101000', '+7 495 200-00-01'),
('ул. Мира, 15',    'Москва', 'Северный',    '101001', '+7 495 200-00-02'),
('пр-т Гагарина, 8','Москва', 'Южный',       '101002', '+7 495 200-00-03');
GO

INSERT INTO Прием_корреспонденции (Код_почтового_отделения, Трек_номер, Дата_и_время_приема, Объявленная_ценность, Итоговая_стоимость_отправки, Оплачено, Дата_и_время_отправки) VALUES
(1, 'TN-0001', '20260105 09:00', 500,  120, 1, NULL),
(1, 'TN-0001', '20260112 10:15', 500,  120, 1, NULL),
(1, 'TN-0001', '20260120 11:30', 500,  120, 1, NULL),
(1, 'TN-0002', '20260106 08:20', 1000, 200, 1, '20260107 09:00'),
(2, 'TN-0003', '20260107 12:00', 300,  90,  1, '20260108 10:00'),
(2, 'TN-0004', '20260108 14:10', 700,  150, 1, NULL),
(2, 'TN-0004', '20260115 09:45', 700,  150,