/
Ermoha
/
SqlDataDrivers
Обзор
Документация
Войти
/
Ermoha
/
SqlDataDrivers
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
CreateMarketDatabase.sql
274 строки
15 KB
ermoh
Добавьте файлы проекта.
26 май 2026, 22:28
26 май 2026, 22:28
b563253
Код
Авторство
О чём код?
IF DB_ID(N'Market') IS NOT NULL BEGIN ALTER DATABASE Market SET SINGLE_USER WITH ROLLBACK IMMEDIATE; DROP DATABASE Market; END GO CREATE DATABASE Market; GO USE Market; GO CREATE TABLE dbo.Roles ( RoleId INT IDENTITY(1,1) NOT NULL CONSTRAINT PK_Roles PRIMARY KEY, RoleName NVARCHAR(50) NOT NULL CONSTRAINT UQ_Roles_RoleName UNIQUE ); CREATE TABLE dbo.Users ( UserId INT IDENTITY(1,1) NOT NULL CONSTRAINT PK_Users PRIMARY KEY, RoleId INT NOT NULL, FullName NVARCHAR(150) NOT NULL, Login NVARCHAR(100) NOT NULL CONSTRAINT UQ_Users_Login UNIQUE, Password NVARCHAR(50) NOT NULL, CONSTRAINT FK_Users_Roles FOREIGN KEY (RoleId) REFERENCES dbo.Roles(RoleId) ); CREATE TABLE dbo.Categories ( CategoryId INT IDENTITY(1,1) NOT NULL CONSTRAINT PK_Categories PRIMARY KEY, CategoryName NVARCHAR(100) NOT NULL CONSTRAINT UQ_Categories_CategoryName UNIQUE ); CREATE TABLE dbo.Manufacturers ( ManufacturerId INT IDENTITY(1,1) NOT NULL CONSTRAINT PK_Manufacturers PRIMARY KEY, ManufacturerName NVARCHAR(100) NOT NULL CONSTRAINT UQ_Manufacturers_ManufacturerName UNIQUE ); CREATE TABLE dbo.Suppliers ( SupplierId INT IDENTITY(1,1) NOT NULL CONSTRAINT PK_Suppliers PRIMARY KEY, SupplierName NVARCHAR(100) NOT NULL CONSTRAINT UQ_Suppliers_SupplierName UNIQUE ); CREATE TABLE dbo.Units ( UnitId INT IDENTITY(1,1) NOT NULL CONSTRAINT PK_Units PRIMARY KEY, UnitName NVARCHAR(20) NOT NULL CONSTRAINT UQ_Units_UnitName UNIQUE ); CREATE TABLE dbo.Products ( ProductId INT IDENTITY(1,1) NOT NULL CONSTRAINT PK_Products PRIMARY KEY, Article NVARCHAR(20) NOT NULL CONSTRAINT UQ_Products_Article UNIQUE, ProductName NVARCHAR(100) NOT NULL, UnitId INT NOT NULL, Price DECIMAL(10,2) NOT NULL CONSTRAINT CK_Products_Price CHECK (Price >= 0), SupplierId INT NOT NULL, ManufacturerId INT NOT NULL, CategoryId INT NOT NULL, Discount INT NOT NULL CONSTRAINT CK_Products_Discount CHECK (Discount >= 0 AND Discount <= 100), Quantity INT NOT NULL CONSTRAINT CK_Products_Quantity CHECK (Quantity >= 0), Description NVARCHAR(MAX) NULL, PhotoPath NVARCHAR(260) NULL, CONSTRAINT FK_Products_Units FOREIGN KEY (UnitId) REFERENCES dbo.Units(UnitId), CONSTRAINT FK_Products_Suppliers FOREIGN KEY (SupplierId) REFERENCES dbo.Suppliers(SupplierId), CONSTRAINT FK_Products_Manufacturers FOREIGN KEY (ManufacturerId) REFERENCES dbo.Manufacturers(ManufacturerId), CONSTRAINT FK_Products_Categories FOREIGN KEY (CategoryId) REFERENCES dbo.Categories(CategoryId) ); CREATE TABLE dbo.PickupPoints ( PickupPointId INT IDENTITY(1,1) NOT NULL CONSTRAINT PK_PickupPoints PRIMARY KEY, Address NVARCHAR(250) NOT NULL ); CREATE TABLE dbo.OrderStatuses ( StatusId INT IDENTITY(1,1) NOT NULL CONSTRAINT PK_OrderStatuses PRIMARY KEY, StatusName NVARCHAR(50) NOT NULL CONSTRAINT UQ_OrderStatuses_StatusName UNIQUE ); CREATE TABLE dbo.Orders ( OrderId INT IDENTITY(1,1) NOT NULL CONSTRAINT PK_Orders PRIMARY KEY, StatusId INT NOT NULL, PickupPointId INT NOT NULL, CustomerUserId INT NULL, OrderDate DATE NULL, DeliveryDate DATE NULL, ReceiptCode INT NULL, CONSTRAINT FK_Orders_Statuses FOREIGN KEY (StatusId) REFERENCES dbo.OrderStatuses(StatusId), CONSTRAINT FK_Orders_PickupPoints FOREIGN KEY (PickupPointId) REFERENCES dbo.PickupPoints(PickupPointId), CONSTRAINT FK_Orders_Users FOREIGN KEY (CustomerUserId) REFERENCES dbo.Users(UserId) ); CREATE TABLE dbo.OrderItems ( OrderItemId INT IDENTITY(1,1) NOT NULL CONSTRAINT PK_OrderItems PRIMARY KEY, OrderId INT NOT NULL, ProductId INT NOT NULL, Quantity INT NOT NULL CONSTRAINT CK_OrderItems_Quantity CHECK (Quantity > 0), CONSTRAINT FK_OrderItems_Orders FOREIGN KEY (OrderId) REFERENCES dbo.Orders(OrderId) ON DELETE CASCADE, CONSTRAINT FK_OrderItems_Products FOREIGN KEY (ProductId) REFERENCES dbo.Products(ProductId) ); GO SET IDENTITY_INSERT dbo.Roles ON; INSERT INTO dbo.Roles (RoleId, RoleName) VALUES (1, N'Администратор'), (2, N'Менеджер'), (3, N'Авторизированный клиент'); SET IDENTITY_INSERT dbo.Roles OFF; SET IDENTITY_INSERT dbo.Users ON; INSERT INTO dbo.Users (UserId, RoleId, FullName, Login, Password) VALUES (1, 1, N'Никифорова Весения Николаевна', N'94d5ous@gmail.com', N'uzWC67'), (2, 1, N'Сазонов Руслан Германович', N'uth4iz@mail.com', N'2L6KZG'), (3, 1, N'Одинцов Серафим Артёмович', N'yzls62@outlook.com', N'JlFRCZ'), (4, 2, N'Степанов Михаил Артёмович', N'1diph5e@tutanota.com', N'8ntwUp'), (5, 2, N'Ворсин Петр Евгеньевич', N'tjde7c@yahoo.com', N'YOyhfR'), (6, 2, N'Старикова Елена Павловна', N'wpmrc3do@tutanota.com', N'RSbvHv'), (7, 3, N'Михайлюк Анна Вячеславовна', N'5d4zbu@tutanota.com', N'rwVDh9'), (8, 3, N'Ситдикова Елена Анатольевна', N'ptec8ym@yahoo.com', N'LdNyos'), (9, 3, N'Ворсин Петр Евгеньевич', N'1qz4kw@mail.com', N'gynQMT'), (10, 3, N'Старикова Елена Павловна', N'4np6se@mail.com', N'AtnDjr'); SET IDENTITY_INSERT dbo.Users OFF; SET IDENTITY_INSERT dbo.Categories ON; INSERT INTO dbo.Categories (CategoryId, CategoryName) VALUES (1, N'Женская обувь'), (2, N'Мужская обувь'); SET IDENTITY_INSERT dbo.Categories OFF; SET IDENTITY_INSERT dbo.Manufacturers ON; INSERT INTO dbo.Manufacturers (ManufacturerId, ManufacturerName) VALUES (1, N'Kari'), (2, N'Marco Tozzi'), (3, N'Рос'), (4, N'Rieker'), (5, N'Alessio Nesca'), (6, N'CROSBY'); SET IDENTITY_INSERT dbo.Manufacturers OFF; SET IDENTITY_INSERT dbo.Suppliers ON; INSERT INTO dbo.Suppliers (SupplierId, SupplierName) VALUES (1, N'Kari'), (2, N'Обувь для вас'); SET IDENTITY_INSERT dbo.Suppliers OFF; SET IDENTITY_INSERT dbo.Units ON; INSERT INTO dbo.Units (UnitId, UnitName) VALUES (1, N'шт.'); SET IDENTITY_INSERT dbo.Units OFF; INSERT INTO dbo.Products (Article, ProductName, UnitId, Price, SupplierId, ManufacturerId, CategoryId, Discount, Quantity, Description, PhotoPath) VALUES (N'А112Т4', N'Ботинки', 1, 4990.00, 1, 1, 1, 3, 6, N'Женские Ботинки демисезонные kari', N'Images\1.jpg'), (N'F635R4', N'Ботинки', 1, 3244.00, 2, 2, 1, 2, 13, N'Ботинки Marco Tozzi женские демисезонные, размер 39, цвет бежевый', N'Images\2.jpg'), (N'H782T5', N'Туфли', 1, 4499.00, 1, 1, 2, 4, 5, N'Туфли kari мужские классика MYZ21AW-450A, размер 43, цвет: черный', N'Images\3.jpg'), (N'G783F5', N'Ботинки', 1, 5900.00, 1, 3, 2, 2, 8, N'Мужские ботинки Рос-Обувь кожаные с натуральным мехом', N'Images\4.jpg'), (N'J384T6', N'Ботинки', 1, 3800.00, 2, 4, 2, 2, 16, N'B3430/14 Полуботинки мужские Rieker', N'Images\5.jpg'), (N'D572U8', N'Кроссовки', 1, 4100.00, 2, 3, 2, 3, 6, N'129615-4 Кроссовки мужские', N'Images\6.jpg'), (N'F572H7', N'Туфли', 1, 2700.00, 1, 2, 1, 2, 14, N'Туфли Marco Tozzi женские летние, размер 39, цвет черный', N'Images\7.jpg'), (N'D329H3', N'Полуботинки', 1, 1890.00, 2, 5, 1, 4, 4, N'Полуботинки Alessio Nesca женские 3-30797-47, размер 37, цвет: бордовый', N'Images\8.jpg'), (N'B320R5', N'Туфли', 1, 4300.00, 1, 4, 1, 2, 6, N'Туфли Rieker женские демисезонные, размер 41, цвет коричневый', N'Images\9.jpg'), (N'G432E4', N'Туфли', 1, 2800.00, 1, 1, 1, 3, 15, N'Туфли kari женские TR-YR-413017, размер 37, цвет: черный', N'Images\10.jpg'), (N'S213E3', N'Полуботинки', 1, 2156.00, 2, 6, 2, 3, 6, N'407700/01-01 Полуботинки мужские CROSBY', NULL), (N'E482R4', N'Полуботинки', 1, 1800.00, 1, 1, 1, 2, 14, N'Полуботинки kari женские MYZ20S-149, размер 41, цвет: черный', NULL), (N'S634B5', N'Кеды', 1, 5500.00, 2, 6, 2, 3, 0, N'Кеды Caprice мужские демисезонные, размер 42, цвет черный', NULL), (N'K345R4', N'Полуботинки', 1, 2100.00, 2, 6, 2, 2, 3, N'407700/01-02 Полуботинки мужские CROSBY', NULL), (N'O754F4', N'Туфли', 1, 5400.00, 2, 4, 1, 4, 18, N'Туфли женские демисезонные Rieker артикул 55073-68/37', NULL), (N'G531F4', N'Ботинки', 1, 6600.00, 1, 1, 1, 12, 9, N'Ботинки женские зимние ROMER арт. 893167-01 Черный', NULL), (N'J542F5', N'Тапочки', 1, 500.00, 1, 1, 2, 13, 0, N'Тапочки мужские Арт.70701-55-67син р.41', NULL), (N'B431R5', N'Ботинки', 1, 2700.00, 2, 4, 2, 2, 5, N'Мужские кожаные ботинки/мужские ботинки', NULL), (N'P764G4', N'Туфли', 1, 6800.00, 1, 6, 1, 15, 15, N'Туфли женские, ARGO, размер 38', NULL), (N'C436G5', N'Ботинки', 1, 10200.00, 1, 5, 1, 15, 9, N'Ботинки женские, ARGO, размер 40', NULL), (N'F427R5', N'Ботинки', 1, 11800.00, 2, 4, 1, 15, 11, N'Ботинки на молнии с декоративной пряжкой FRAU', NULL), (N'N457T5', N'Полуботинки', 1, 4600.00, 1, 6, 1, 3, 13, N'Полуботинки Ботинки черные зимние, мех', NULL), (N'D364R4', N'Туфли', 1, 12400.00, 1, 1, 1, 16, 5, N'Туфли Luiza Belly женские Kate-lazo черные из натуральной замши', NULL), (N'S326R5', N'Тапочки', 1, 9900.00, 2, 6, 2, 17, 15, N'Мужские кожаные тапочки "Профиль С.Дали"', NULL), (N'L754R4', N'Полуботинки', 1, 1700.00, 1, 1, 1, 2, 7, N'Полуботинки kari женские WB2020SS-26, размер 38, цвет: черный', NULL), (N'M542T5', N'Кроссовки', 1, 2800.00, 2, 4, 2, 18, 3, N'Кроссовки мужские TOFA', NULL), (N'D268G5', N'Туфли', 1, 4399.00, 2, 4, 1, 3, 12, N'Туфли Rieker женские демисезонные, размер 36, цвет коричневый', NULL), (N'T324F5', N'Сапоги', 1, 4699.00, 1, 6, 1, 2, 5, N'Сапоги замша Цвет: синий', NULL), (N'K358H6', N'Тапочки', 1, 599.00, 1, 4, 2, 20, 2, N'Тапочки мужские син р.41', NULL), (N'H535R5', N'Ботинки', 1, 2300.00, 2, 4, 1, 2, 7, N'Женские Ботинки демисезонные', NULL); SET IDENTITY_INSERT dbo.PickupPoints ON; INSERT INTO dbo.PickupPoints (PickupPointId, Address) VALUES (1, N'420151, г. Лесной, ул. Вишневая, 32'), (2, N'125061, г. Лесной, ул. Подгорная, 8'), (3, N'630370, г. Лесной, ул. Шоссейная, 24'), (4, N'400562, г. Лесной, ул. Зеленая, 32'), (5, N'614510, г. Лесной, ул. Маяковского, 47'), (6, N'410542, г. Лесной, ул. Светлая, 46'), (7, N'620839, г. Лесной, ул. Цветочная, 8'), (8, N'443890, г. Лесной, ул. Коммунистическая, 1'), (9, N'603379, г. Лесной, ул. Спортивная, 46'), (10, N'603721, г. Лесной, ул. Гоголя, 41'), (11, N'410172, г. Лесной, ул. Северная, 13'), (12, N'614611, г. Лесной, ул. Молодежная, 50'), (13, N'454311, г.Лесной, ул. Новая, 19'), (14, N'660007, г.Лесной, ул. Октябрьская, 19'), (15, N'603036, г. Лесной, ул. Садовая, 4'), (16, N'394060, г.Лесной, ул. Фрунзе, 43'), (17, N'410661, г. Лесной, ул. Школьная, 50'), (18, N'625590, г. Лесной, ул. Коммунистическая, 20'), (19, N'625683, г. Лесной, ул. 8 Марта'), (20, N'450983, г.Лесной, ул. Комсомольская, 26'), (21, N'394782, г. Лесной, ул. Чехова, 3'), (22, N'603002, г. Лесной, ул. Дзержинского, 28'), (23, N'450558, г. Лесной, ул. Набережная, 30'), (24, N'344288, г. Лесной, ул. Чехова, 1'), (25, N'614164, г.Лесной, ул. Степная, 30'), (26, N'394242, г. Лесной, ул. Коммунистическая, 43'), (27, N'660540, г. Лесной, ул. Солнечная, 25'), (28, N'125837, г. Лесной, ул. Шоссейная, 40'), (29, N'125703, г. Лесной, ул. Партизанская, 49'), (30, N'625283, г. Лесной, ул. Победы, 46'), (31, N'614753, г. Лесной, ул. Полевая, 35'), (32, N'426030, г. Лесной, ул. Маяковского, 44'), (33, N'450375, г. Лесной ул. Клубная, 44'), (34, N'625560, г. Лесной, ул. Некрасова, 12'), (35, N'630201, г. Лесной, ул. Комсомольская, 17'), (36, N'190949, г. Лесной, ул. Мичурина, 26'); SET IDENTITY_INSERT dbo.PickupPoints OFF; SET IDENTITY_INSERT dbo.OrderStatuses ON; INSERT INTO dbo.OrderStatuses (StatusId, StatusName) VALUES (1, N'Завершен'), (2, N'Новый'); SET IDENTITY_INSERT dbo.OrderStatuses OFF; SET IDENTITY_INSERT dbo.Orders ON; INSERT INTO dbo.Orders (OrderId, StatusId, PickupPointId, CustomerUserId, OrderDate, DeliveryDate, ReceiptCode) VALUES (1, 1, 1, 4, '2025-02-27', '2025-04-20', 901), (2, 1, 11, 1, '2022-09-28', '2025-04-21', 902), (3, 1, 2, 2, '2025-03-21', '2025-04-22', 903), (4, 1, 11, 3, '2025-02-20', '2025-04-23', 904), (5, 1, 2, 4, '2025-03-17', '2025-04-24', 905), (6, 1, 15, 1, '2025-03-01', '2025-04-25', 906), (7, 1, 3, 2, NULL, '2025-04-26', 907), (8, 2, 19, 3, '2025-03-31', '2025-04-27', 908), (9, 2, 5, 4, '2025-04-02', '2025-04-28', 909), (10, 2, 19, 4, '2025-04-03', '2025-04-29', 910); SET IDENTITY_INSERT dbo.Orders OFF; INSERT INTO dbo.OrderItems (OrderId, ProductId, Quantity) SELECT 1, ProductId, 2 FROM dbo.Products WHERE Article = N'А112Т4' UNION ALL SELECT 1, ProductId, 2 FROM dbo.Products WHERE Article = N'F635R4' UNION ALL SELECT 2, ProductId, 1 FROM dbo.Products WHERE Article = N'H782T5' UNION ALL SELECT 2, ProductId, 1 FROM dbo.Products WHERE Article = N'G783F5' UNION ALL SELECT 3, ProductId, 10 FROM dbo.Products WHERE Article = N'J384T6' UNION ALL SELECT 3, ProductId, 10 FROM dbo.Products WHERE Article = N'D572U8' UNION ALL SELECT 4, ProductId, 5 FROM dbo.Products WHERE Article = N'F572H7' UNION ALL SELECT 4, ProductId, 4 FROM dbo.Products WHERE Article = N'D329H3' UNION ALL SELECT 5, ProductId, 2 FROM dbo.Products WHERE Article = N'А112Т4' UNION ALL SELECT 5, ProductId, 2 FROM dbo.Products WHERE Article = N'F635R4' UNION ALL SELECT 6, ProductId, 1 FROM dbo.Products WHERE Article = N'H782T5' UNION ALL SELECT 6, ProductId, 1 FROM dbo.Products WHERE Article = N'G783F5' UNION ALL SELECT 7, ProductId, 10 FROM dbo.Products WHERE Article = N'J384T6' UNION ALL SELECT 7, ProductId, 10 FROM dbo.Products WHERE Article = N'D572U8' UNION ALL SELECT 8, ProductId, 5 FROM dbo.Products WHERE Article = N'F572H7' UNION ALL SELECT 8, ProductId, 4 FROM dbo.Products WHERE Article = N'D329H3' UNION ALL SELECT 9, ProductId, 5 FROM dbo.Products WHERE Article = N'B320R5' UNION ALL SELECT 9, ProductId, 1 FROM dbo.Products WHERE Article = N'G432E4' UNION ALL SELECT 10, ProductId, 5 FROM dbo.Products WHERE Article = N'S213E3' UNION ALL SELECT 10, ProductId, 5 FROM dbo.Products WHERE Article = N'E482R4'; GO