generated.sql 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. IF DB_ID('ToyWorldDb') IS NULL CREATE DATABASE ToyWorldDb;
  2. GO
  3. USE ToyWorldDb;
  4. GO
  5. IF OBJECT_ID('dbo.OrderItem','U') IS NOT NULL DROP TABLE dbo.OrderItem;
  6. IF OBJECT_ID('dbo.[Order]','U') IS NOT NULL DROP TABLE dbo.[Order];
  7. IF OBJECT_ID('dbo.Product','U') IS NOT NULL DROP TABLE dbo.Product;
  8. IF OBJECT_ID('dbo.[User]','U') IS NOT NULL DROP TABLE dbo.[User];
  9. IF OBJECT_ID('dbo.PickupPoint','U') IS NOT NULL DROP TABLE dbo.PickupPoint;
  10. IF OBJECT_ID('dbo.OrderStatus','U') IS NOT NULL DROP TABLE dbo.OrderStatus;
  11. IF OBJECT_ID('dbo.Category','U') IS NOT NULL DROP TABLE dbo.Category;
  12. IF OBJECT_ID('dbo.Manufacturer','U') IS NOT NULL DROP TABLE dbo.Manufacturer;
  13. IF OBJECT_ID('dbo.Supplier','U') IS NOT NULL DROP TABLE dbo.Supplier;
  14. IF OBJECT_ID('dbo.Unit','U') IS NOT NULL DROP TABLE dbo.Unit;
  15. IF OBJECT_ID('dbo.Role','U') IS NOT NULL DROP TABLE dbo.Role;
  16. GO
  17. CREATE TABLE dbo.Role (RoleId INT IDENTITY(1,1) CONSTRAINT PK_Role PRIMARY KEY, RoleName NVARCHAR(50) NOT NULL CONSTRAINT UQ_Role UNIQUE);
  18. CREATE TABLE dbo.Unit (UnitId INT IDENTITY(1,1) CONSTRAINT PK_Unit PRIMARY KEY, UnitName NVARCHAR(20) NOT NULL CONSTRAINT UQ_Unit UNIQUE);
  19. CREATE TABLE dbo.Supplier (SupplierId INT IDENTITY(1,1) CONSTRAINT PK_Supplier PRIMARY KEY, SupplierName NVARCHAR(100) NOT NULL CONSTRAINT UQ_Supplier UNIQUE);
  20. CREATE TABLE dbo.Manufacturer (ManufacturerId INT IDENTITY(1,1) CONSTRAINT PK_Manufacturer PRIMARY KEY, ManufacturerName NVARCHAR(100) NOT NULL CONSTRAINT UQ_Manufacturer UNIQUE);
  21. CREATE TABLE dbo.Category (CategoryId INT IDENTITY(1,1) CONSTRAINT PK_Category PRIMARY KEY, CategoryName NVARCHAR(100) NOT NULL CONSTRAINT UQ_Category UNIQUE);
  22. CREATE TABLE dbo.OrderStatus (StatusId INT IDENTITY(1,1) CONSTRAINT PK_OrderStatus PRIMARY KEY, StatusName NVARCHAR(50) NOT NULL CONSTRAINT UQ_OrderStatus UNIQUE);
  23. GO
  24. CREATE TABLE dbo.[User] (UserId INT IDENTITY(1,1) CONSTRAINT PK_User PRIMARY KEY, RoleId INT NOT NULL CONSTRAINT FK_User_Role REFERENCES dbo.Role(RoleId), FullName NVARCHAR(150) NOT NULL, Login NVARCHAR(100) NOT NULL CONSTRAINT UQ_User_Login UNIQUE, Password NVARCHAR(100) NOT NULL);
  25. CREATE TABLE dbo.PickupPoint (PickupPointId INT NOT NULL CONSTRAINT PK_PickupPoint PRIMARY KEY, PostalCode NVARCHAR(10) NOT NULL, City NVARCHAR(80) NOT NULL, Street NVARCHAR(120) NOT NULL, House NVARCHAR(20) NOT NULL);
  26. CREATE TABLE dbo.Product (ProductId INT IDENTITY(1,1) CONSTRAINT PK_Product PRIMARY KEY, Article NVARCHAR(10) NOT NULL CONSTRAINT UQ_Product_Article UNIQUE, Name NVARCHAR(255) NOT NULL, UnitId INT NOT NULL CONSTRAINT FK_Product_Unit REFERENCES dbo.Unit(UnitId), Price DECIMAL(10,2) NOT NULL CONSTRAINT CK_Price CHECK (Price>=0), SupplierId INT NOT NULL CONSTRAINT FK_Product_Supplier REFERENCES dbo.Supplier(SupplierId), ManufacturerId INT NOT NULL CONSTRAINT FK_Product_Manufacturer REFERENCES dbo.Manufacturer(ManufacturerId), CategoryId INT NOT NULL CONSTRAINT FK_Product_Category REFERENCES dbo.Category(CategoryId), Discount INT NOT NULL CONSTRAINT CK_Disc CHECK (Discount BETWEEN 0 AND 100), Stock INT NOT NULL CONSTRAINT CK_Stock CHECK (Stock>=0), Description NVARCHAR(MAX) NULL, Photo NVARCHAR(100) NULL);
  27. CREATE TABLE dbo.[Order] (OrderId INT NOT NULL CONSTRAINT PK_Order PRIMARY KEY, OrderDate DATE NULL, DeliveryDate DATE NULL, PickupPointId INT NOT NULL CONSTRAINT FK_Order_Pickup REFERENCES dbo.PickupPoint(PickupPointId), ClientUserId INT NULL CONSTRAINT FK_Order_User REFERENCES dbo.[User](UserId), ReceiveCode INT NULL, StatusId INT NOT NULL CONSTRAINT FK_Order_Status REFERENCES dbo.OrderStatus(StatusId));
  28. CREATE TABLE dbo.OrderItem (OrderItemId INT IDENTITY(1,1) CONSTRAINT PK_OrderItem PRIMARY KEY, OrderId INT NOT NULL CONSTRAINT FK_Item_Order REFERENCES dbo.[Order](OrderId) ON DELETE CASCADE, Article NVARCHAR(10) NOT NULL CONSTRAINT FK_Item_Product REFERENCES dbo.Product(Article), Quantity INT NOT NULL CONSTRAINT CK_Qty CHECK (Quantity>0), CONSTRAINT UQ_Item UNIQUE (OrderId, Article));
  29. GO
  30. INSERT INTO dbo.Role(RoleName) VALUES (N'Администратор');
  31. INSERT INTO dbo.Role(RoleName) VALUES (N'Менеджер');
  32. INSERT INTO dbo.Role(RoleName) VALUES (N'Авторизированный клиент');
  33. INSERT INTO dbo.Unit(UnitName) VALUES (N'шт.');
  34. INSERT INTO dbo.Supplier(SupplierName) VALUES (N'Pikeshop');
  35. INSERT INTO dbo.Supplier(SupplierName) VALUES (N'Playbig');
  36. INSERT INTO dbo.Supplier(SupplierName) VALUES (N'Knauf');
  37. INSERT INTO dbo.Supplier(SupplierName) VALUES (N'CHILITOY');
  38. INSERT INTO dbo.Supplier(SupplierName) VALUES (N'Vinylon');
  39. INSERT INTO dbo.Manufacturer(ManufacturerName) VALUES (N'ABSпластик');
  40. INSERT INTO dbo.Manufacturer(ManufacturerName) VALUES (N'BambiniFelici');
  41. INSERT INTO dbo.Manufacturer(ManufacturerName) VALUES (N'Junion');
  42. INSERT INTO dbo.Category(CategoryName) VALUES (N'Игровой набор');
  43. INSERT INTO dbo.Category(CategoryName) VALUES (N'Конструктор');
  44. INSERT INTO dbo.Category(CategoryName) VALUES (N'Детский музыкальный инструмент');
  45. INSERT INTO dbo.Category(CategoryName) VALUES (N'Машинка');
  46. INSERT INTO dbo.OrderStatus(StatusName) VALUES (N'Завершен');
  47. INSERT INTO dbo.OrderStatus(StatusName) VALUES (N'Новый');
  48. GO
  49. INSERT INTO dbo.[User](RoleId,FullName,Login,Password) VALUES ((SELECT RoleId FROM dbo.Role WHERE RoleName=N'Администратор'),N'Ворсин Петр Евгеньевич',N'94d5ous@gmail.com',N'uzWC67');
  50. INSERT INTO dbo.[User](RoleId,FullName,Login,Password) VALUES ((SELECT RoleId FROM dbo.Role WHERE RoleName=N'Администратор'),N'Старикова Елена Павловна',N'uth4iz@mail.com',N'2L6KZG');
  51. INSERT INTO dbo.[User](RoleId,FullName,Login,Password) VALUES ((SELECT RoleId FROM dbo.Role WHERE RoleName=N'Администратор'),N'Одинцов Серафим Артёмович',N'yzls62@outlook.com',N'JlFRCZ');
  52. INSERT INTO dbo.[User](RoleId,FullName,Login,Password) VALUES ((SELECT RoleId FROM dbo.Role WHERE RoleName=N'Менеджер'),N'Михайлюк Анна Вячеславовна',N'1diph5e@tutanota.com',N'8ntwUp');
  53. INSERT INTO dbo.[User](RoleId,FullName,Login,Password) VALUES ((SELECT RoleId FROM dbo.Role WHERE RoleName=N'Менеджер'),N'Ситдикова Елена Анатольевна',N'tjde7c@yahoo.com',N'YOyhfR');
  54. INSERT INTO dbo.[User](RoleId,FullName,Login,Password) VALUES ((SELECT RoleId FROM dbo.Role WHERE RoleName=N'Менеджер'),N'Никифорова Весения Николаевна',N'wpmrc3do@tutanota.com',N'RSbvHv');
  55. INSERT INTO dbo.[User](RoleId,FullName,Login,Password) VALUES ((SELECT RoleId FROM dbo.Role WHERE RoleName=N'Авторизированный клиент'),N'Степанов Михаил Артёмович',N'5d4zbu@tutanota.com',N'rwVDh9');
  56. INSERT INTO dbo.[User](RoleId,FullName,Login,Password) VALUES ((SELECT RoleId FROM dbo.Role WHERE RoleName=N'Авторизированный клиент'),N'Ворсин Петр Евгеньевич',N'ptec8ym@yahoo.com',N'LdNyos');
  57. INSERT INTO dbo.[User](RoleId,FullName,Login,Password) VALUES ((SELECT RoleId FROM dbo.Role WHERE RoleName=N'Авторизированный клиент'),N'Старикова Елена Павловна',N'1qz4kw@mail.com',N'gynQMT');
  58. INSERT INTO dbo.[User](RoleId,FullName,Login,Password) VALUES ((SELECT RoleId FROM dbo.Role WHERE RoleName=N'Авторизированный клиент'),N'Сазонов Руслан Германович',N'4np6se@mail.com',N'AtnDjr');
  59. INSERT INTO dbo.PickupPoint(PickupPointId,PostalCode,City,Street,House) VALUES (1,N'420151',N'Лесной',N'Вишневая',N'32');
  60. INSERT INTO dbo.PickupPoint(PickupPointId,PostalCode,City,Street,House) VALUES (2,N'125061',N'Лесной',N'Подгорная',N'8');
  61. INSERT INTO dbo.PickupPoint(PickupPointId,PostalCode,City,Street,House) VALUES (3,N'630370',N'Лесной',N'Шоссейная',N'24');
  62. INSERT INTO dbo.PickupPoint(PickupPointId,PostalCode,City,Street,House) VALUES (4,N'400562',N'Лесной',N'Зеленая',N'32');
  63. INSERT INTO dbo.PickupPoint(PickupPointId,PostalCode,City,Street,House) VALUES (5,N'614510',N'Лесной',N'Маяковского',N'47');
  64. INSERT INTO dbo.PickupPoint(PickupPointId,PostalCode,City,Street,House) VALUES (6,N'410542',N'Лесной',N'Светлая',N'46');
  65. INSERT INTO dbo.PickupPoint(PickupPointId,PostalCode,City,Street,House) VALUES (7,N'620839',N'Лесной',N'Цветочная',N'8');
  66. INSERT INTO dbo.PickupPoint(PickupPointId,PostalCode,City,Street,House) VALUES (8,N'443890',N'Лесной',N'Коммунистическая',N'1');
  67. INSERT INTO dbo.PickupPoint(PickupPointId,PostalCode,City,Street,House) VALUES (9,N'603379',N'Лесной',N'Спортивная',N'46');
  68. INSERT INTO dbo.PickupPoint(PickupPointId,PostalCode,City,Street,House) VALUES (10,N'603721',N'Лесной',N'Гоголя',N'41');
  69. INSERT INTO dbo.PickupPoint(PickupPointId,PostalCode,City,Street,House) VALUES (11,N'410172',N'Лесной',N'Северная',N'13');
  70. INSERT INTO dbo.PickupPoint(PickupPointId,PostalCode,City,Street,House) VALUES (12,N'614611',N'Лесной',N'Молодежная',N'50');
  71. INSERT INTO dbo.PickupPoint(PickupPointId,PostalCode,City,Street,House) VALUES (13,N'454311',N'Лесной',N'Новая',N'19');
  72. INSERT INTO dbo.PickupPoint(PickupPointId,PostalCode,City,Street,House) VALUES (14,N'660007',N'Лесной',N'Октябрьская',N'19');
  73. INSERT INTO dbo.PickupPoint(PickupPointId,PostalCode,City,Street,House) VALUES (15,N'603036',N'Лесной',N'Садовая',N'4');
  74. INSERT INTO dbo.PickupPoint(PickupPointId,PostalCode,City,Street,House) VALUES (16,N'394060',N'Лесной',N'Фрунзе',N'43');
  75. INSERT INTO dbo.PickupPoint(PickupPointId,PostalCode,City,Street,House) VALUES (17,N'410661',N'Лесной',N'Школьная',N'50');
  76. INSERT INTO dbo.PickupPoint(PickupPointId,PostalCode,City,Street,House) VALUES (18,N'625590',N'Лесной',N'Коммунистическая',N'20');
  77. INSERT INTO dbo.PickupPoint(PickupPointId,PostalCode,City,Street,House) VALUES (19,N'625683',N'Лесной',N'8 Марта',N'');
  78. INSERT INTO dbo.PickupPoint(PickupPointId,PostalCode,City,Street,House) VALUES (20,N'450983',N'Лесной',N'Комсомольская',N'26');
  79. INSERT INTO dbo.PickupPoint(PickupPointId,PostalCode,City,Street,House) VALUES (21,N'394782',N'Лесной',N'Чехова',N'3');
  80. INSERT INTO dbo.PickupPoint(PickupPointId,PostalCode,City,Street,House) VALUES (22,N'603002',N'Лесной',N'Дзержинского',N'28');
  81. INSERT INTO dbo.PickupPoint(PickupPointId,PostalCode,City,Street,House) VALUES (23,N'450558',N'Лесной',N'Набережная',N'30');
  82. INSERT INTO dbo.PickupPoint(PickupPointId,PostalCode,City,Street,House) VALUES (24,N'344288',N'Лесной',N'Чехова',N'1');
  83. INSERT INTO dbo.PickupPoint(PickupPointId,PostalCode,City,Street,House) VALUES (25,N'614164',N'Лесной',N'  Степная',N'30');
  84. INSERT INTO dbo.PickupPoint(PickupPointId,PostalCode,City,Street,House) VALUES (26,N'394242',N'Лесной',N'Коммунистическая',N'43');
  85. INSERT INTO dbo.PickupPoint(PickupPointId,PostalCode,City,Street,House) VALUES (27,N'660540',N'Лесной',N'Солнечная',N'25');
  86. INSERT INTO dbo.PickupPoint(PickupPointId,PostalCode,City,Street,House) VALUES (28,N'125837',N'Лесной',N'Шоссейная',N'40');
  87. INSERT INTO dbo.PickupPoint(PickupPointId,PostalCode,City,Street,House) VALUES (29,N'125703',N'Лесной',N'Партизанская',N'49');
  88. INSERT INTO dbo.PickupPoint(PickupPointId,PostalCode,City,Street,House) VALUES (30,N'625283',N'Лесной',N'Победы',N'46');
  89. INSERT INTO dbo.PickupPoint(PickupPointId,PostalCode,City,Street,House) VALUES (31,N'614753',N'Лесной',N'Полевая',N'35');
  90. INSERT INTO dbo.PickupPoint(PickupPointId,PostalCode,City,Street,House) VALUES (32,N'426030',N'Лесной',N'Маяковского',N'44');
  91. INSERT INTO dbo.PickupPoint(PickupPointId,PostalCode,City,Street,House) VALUES (33,N'450375',N'Лесной ул. Клубная',N'44',N'');
  92. INSERT INTO dbo.PickupPoint(PickupPointId,PostalCode,City,Street,House) VALUES (34,N'625560',N'Лесной',N'Некрасова',N'12');
  93. INSERT INTO dbo.PickupPoint(PickupPointId,PostalCode,City,Street,House) VALUES (35,N'630201',N'Лесной',N'Комсомольская',N'17');
  94. INSERT INTO dbo.PickupPoint(PickupPointId,PostalCode,City,Street,House) VALUES (36,N'190949',N'Лесной',N'Мичурина',N'26');
  95. INSERT INTO dbo.Product(Article,Name,UnitId,Price,SupplierId,ManufacturerId,CategoryId,Discount,Stock,Description,Photo) VALUES (N'PMEZMH',N'Детский игровой набор машинок Щенячий патруль / Dogs mini . 9 героев + 9 инерфионных машинок',(SELECT UnitId FROM dbo.Unit WHERE UnitName=N'шт.'),1414,(SELECT SupplierId FROM dbo.Supplier WHERE SupplierName=N'Pikeshop'),(SELECT ManufacturerId FROM dbo.Manufacturer WHERE ManufacturerName=N'ABSпластик'),(SELECT CategoryId FROM dbo.Category WHERE CategoryName=N'Игровой набор'),22,50,N'Детский набор машинок с героями мультсериала «Щенячий патруль» подойдет как для мальчиков, так и для девочек. В детский набор входит 9 фигурок щенков спасателей. ',N'1.jpg');
  96. INSERT INTO dbo.Product(Article,Name,UnitId,Price,SupplierId,ManufacturerId,CategoryId,Discount,Stock,Description,Photo) VALUES (N'BPV4MM',N'Конструктор Гарри Поттер Сова Букля 630 деталей совместим с lego harry potter, лего совместимый)',(SELECT UnitId FROM dbo.Unit WHERE UnitName=N'шт.'),771,(SELECT SupplierId FROM dbo.Supplier WHERE SupplierName=N'Playbig'),(SELECT ManufacturerId FROM dbo.Manufacturer WHERE ManufacturerName=N'ABSпластик'),(SELECT CategoryId FROM dbo.Category WHERE CategoryName=N'Конструктор'),15,26,N'Коллекционная модель Букля состоит из множества потрясающих элементов, а также специального механизма внутри. С его помощью можно плавно поднимать-опускать крылья птицы.',N'2.jpg');
  97. INSERT INTO dbo.Product(Article,Name,UnitId,Price,SupplierId,ManufacturerId,CategoryId,Discount,Stock,Description,Photo) VALUES (N'JVL42J',N'Музыкальные инструменты для детей, ксилофон, барабаны, развивающие игрушки, игрушки для детей',(SELECT UnitId FROM dbo.Unit WHERE UnitName=N'шт.'),2750,(SELECT SupplierId FROM dbo.Supplier WHERE SupplierName=N'Playbig'),(SELECT ManufacturerId FROM dbo.Manufacturer WHERE ManufacturerName=N'BambiniFelici'),(SELECT CategoryId FROM dbo.Category WHERE CategoryName=N'Детский музыкальный инструмент'),15,0,N'Откройте мир музыки для вашего ребенка с этой уникальной игрушкой! Это многофункциональное музыкальное чудо объединяет в себе всё, что нужно для творческого развития.',N'3.jpg');
  98. INSERT INTO dbo.Product(Article,Name,UnitId,Price,SupplierId,ManufacturerId,CategoryId,Discount,Stock,Description,Photo) VALUES (N'F895RB',N'Машинка игрушка диско шар светящаяся музыкальная',(SELECT UnitId FROM dbo.Unit WHERE UnitName=N'шт.'),368,(SELECT SupplierId FROM dbo.Supplier WHERE SupplierName=N'Knauf'),(SELECT ManufacturerId FROM dbo.Manufacturer WHERE ManufacturerName=N'ABSпластик'),(SELECT CategoryId FROM dbo.Category WHERE CategoryName=N'Машинка'),6,7,N'Светящаяся музыкальная машина с диско шаром переливается разными цветами, играет ритмичные мелодии, объезжает препятствия и крутится, поэтому с ней точно не будет скучно.',N'4.jpg');
  99. INSERT INTO dbo.Product(Article,Name,UnitId,Price,SupplierId,ManufacturerId,CategoryId,Discount,Stock,Description,Photo) VALUES (N'3XBOTN',N'Игровой набор Hot Wheels Action Loop Cyclone Challenge Track, с машинкой и удобным хранением, HTK16',(SELECT UnitId FROM dbo.Unit WHERE UnitName=N'шт.'),3426,(SELECT SupplierId FROM dbo.Supplier WHERE SupplierName=N'Knauf'),(SELECT ManufacturerId FROM dbo.Manufacturer WHERE ManufacturerName=N'BambiniFelici'),(SELECT CategoryId FROM dbo.Category WHERE CategoryName=N'Игровой набор'),10,21,N'Игровой набор Hot Wheels Action Loop Cyclone Challenge Track - это уникальная игра, которая позволит вам испытать себя и своих друзей в скорости и ловкости. Этот набор состоит из металлической дорожки с циклоном, которая создает потрясающий эффект и добавляет дополнительную сложность в игру.',N'5.jpg');
  100. INSERT INTO dbo.Product(Article,Name,UnitId,Price,SupplierId,ManufacturerId,CategoryId,Discount,Stock,Description,Photo) VALUES (N'3L7RCZ',N'Игровой набор с деревянными машинками Стройплощадка Кран-Паркс, Junion',(SELECT UnitId FROM dbo.Unit WHERE UnitName=N'шт.'),7400,(SELECT SupplierId FROM dbo.Supplier WHERE SupplierName=N'Knauf'),(SELECT ManufacturerId FROM dbo.Manufacturer WHERE ManufacturerName=N'Junion'),(SELECT CategoryId FROM dbo.Category WHERE CategoryName=N'Игровой набор'),15,0,N'Игровой набор «Стройплощадка Кран-Паркс Junion» — это большая игрушечная парковка с деревянными машинками и настоящим подъёмным краном, придуманная в Яндексе настоящими родителями.',N'6.jpg');
  101. INSERT INTO dbo.Product(Article,Name,UnitId,Price,SupplierId,ManufacturerId,CategoryId,Discount,Stock,Description,Photo) VALUES (N'S72AM3',N'Синтезатор детский с микрофоном 61 клавиша',(SELECT UnitId FROM dbo.Unit WHERE UnitName=N'шт.'),1749,(SELECT SupplierId FROM dbo.Supplier WHERE SupplierName=N'CHILITOY'),(SELECT ManufacturerId FROM dbo.Manufacturer WHERE ManufacturerName=N'Junion'),(SELECT CategoryId FROM dbo.Category WHERE CategoryName=N'Детский музыкальный инструмент'),10,35,N'Откройте для ребенка дверь в мир музыки с детским синтезатором! Этот компактный инструмент с микрофоном станет верным другом для юных музыкантов, помогая им развивать творческий потенциал и получать удовольствие от игры.',N'7.jpg');
  102. INSERT INTO dbo.Product(Article,Name,UnitId,Price,SupplierId,ManufacturerId,CategoryId,Discount,Stock,Description,Photo) VALUES (N'2G3280',N'Деревянный игровой набор JUNION Стройплощадка "Кран-Паркс" с подъёмным, строительным краном и машинками, 18 предметов, подвижные элементы',(SELECT UnitId FROM dbo.Unit WHERE UnitName=N'шт.'),1624,(SELECT SupplierId FROM dbo.Supplier WHERE SupplierName=N'Vinylon'),(SELECT ManufacturerId FROM dbo.Manufacturer WHERE ManufacturerName=N'Junion'),(SELECT CategoryId FROM dbo.Category WHERE CategoryName=N'Игровой набор'),9,20,N'Игровой набор «Стройплощадка Кран-Паркс Junion» — это большая игрушечная парковка с деревянными машинками и настоящим подъёмным краном, придуманная в Яндексе настоящими родителями.',N'8.jpg');
  103. INSERT INTO dbo.Product(Article,Name,UnitId,Price,SupplierId,ManufacturerId,CategoryId,Discount,Stock,Description,Photo) VALUES (N'MIO8YV',N'Музыкальная игрушка интерактивная Пульт, детский прорезыватель для малышей',(SELECT UnitId FROM dbo.Unit WHERE UnitName=N'шт.'),305,(SELECT SupplierId FROM dbo.Supplier WHERE SupplierName=N'Vinylon'),(SELECT ManufacturerId FROM dbo.Manufacturer WHERE ManufacturerName=N'BambiniFelici'),(SELECT CategoryId FROM dbo.Category WHERE CategoryName=N'Детский музыкальный инструмент'),9,31,N'Музыкальная игрушка интерактивная Пульт, детский прорезыватель для малышей',N'9.jpg');
  104. INSERT INTO dbo.Product(Article,Name,UnitId,Price,SupplierId,ManufacturerId,CategoryId,Discount,Stock,Description,Photo) VALUES (N'UER2QD',N'Большой набор опытов и экспериментов для детей 14 в 1',(SELECT UnitId FROM dbo.Unit WHERE UnitName=N'шт.'),2506,(SELECT SupplierId FROM dbo.Supplier WHERE SupplierName=N'Vinylon'),(SELECT ManufacturerId FROM dbo.Manufacturer WHERE ManufacturerName=N'BambiniFelici'),(SELECT CategoryId FROM dbo.Category WHERE CategoryName=N'Игровой набор'),8,27,N'Большой набор опытов и экспериментов для детей 14 в 1',N'10.jpg');
  105. INSERT INTO dbo.[Order](OrderId,OrderDate,DeliveryDate,PickupPointId,ClientUserId,ReceiveCode,StatusId) VALUES (1,'2025-02-27','2025-04-20',1,(SELECT TOP 1 u.UserId FROM dbo.[User] u JOIN dbo.Role rl ON u.RoleId=rl.RoleId WHERE u.FullName=N'Степанов Михаил Артёмович' ORDER BY CASE WHEN rl.RoleName=N'Авторизированный клиент' THEN 0 ELSE 1 END, u.UserId),901,(SELECT StatusId FROM dbo.OrderStatus WHERE StatusName=N'Завершен'));
  106. INSERT INTO dbo.OrderItem(OrderId,Article,Quantity) VALUES (1,N'PMEZMH',2);
  107. INSERT INTO dbo.OrderItem(OrderId,Article,Quantity) VALUES (1,N'BPV4MM',2);
  108. INSERT INTO dbo.[Order](OrderId,OrderDate,DeliveryDate,PickupPointId,ClientUserId,ReceiveCode,StatusId) VALUES (2,'2024-09-28','2025-04-21',11,(SELECT TOP 1 u.UserId FROM dbo.[User] u JOIN dbo.Role rl ON u.RoleId=rl.RoleId WHERE u.FullName=N'Ворсин Петр Евгеньевич' ORDER BY CASE WHEN rl.RoleName=N'Авторизированный клиент' THEN 0 ELSE 1 END, u.UserId),902,(SELECT StatusId FROM dbo.OrderStatus WHERE StatusName=N'Завершен'));
  109. INSERT INTO dbo.OrderItem(OrderId,Article,Quantity) VALUES (2,N'JVL42J',1);
  110. INSERT INTO dbo.OrderItem(OrderId,Article,Quantity) VALUES (2,N'F895RB',1);
  111. INSERT INTO dbo.[Order](OrderId,OrderDate,DeliveryDate,PickupPointId,ClientUserId,ReceiveCode,StatusId) VALUES (3,'2025-03-21','2025-04-22',2,(SELECT TOP 1 u.UserId FROM dbo.[User] u JOIN dbo.Role rl ON u.RoleId=rl.RoleId WHERE u.FullName=N'Старикова Елена Павловна' ORDER BY CASE WHEN rl.RoleName=N'Авторизированный клиент' THEN 0 ELSE 1 END, u.UserId),903,(SELECT StatusId FROM dbo.OrderStatus WHERE StatusName=N'Завершен'));
  112. INSERT INTO dbo.OrderItem(OrderId,Article,Quantity) VALUES (3,N'3XBOTN',10);
  113. INSERT INTO dbo.OrderItem(OrderId,Article,Quantity) VALUES (3,N'3L7RCZ',10);
  114. INSERT INTO dbo.[Order](OrderId,OrderDate,DeliveryDate,PickupPointId,ClientUserId,ReceiveCode,StatusId) VALUES (4,'2025-02-20','2025-04-23',11,(SELECT TOP 1 u.UserId FROM dbo.[User] u JOIN dbo.Role rl ON u.RoleId=rl.RoleId WHERE u.FullName=N'Сазонов Руслан Германович' ORDER BY CASE WHEN rl.RoleName=N'Авторизированный клиент' THEN 0 ELSE 1 END, u.UserId),904,(SELECT StatusId FROM dbo.OrderStatus WHERE StatusName=N'Завершен'));
  115. INSERT INTO dbo.OrderItem(OrderId,Article,Quantity) VALUES (4,N'S72AM3',5);
  116. INSERT INTO dbo.OrderItem(OrderId,Article,Quantity) VALUES (4,N'2G3280',4);
  117. INSERT INTO dbo.[Order](OrderId,OrderDate,DeliveryDate,PickupPointId,ClientUserId,ReceiveCode,StatusId) VALUES (5,'2025-03-17','2025-04-24',2,(SELECT TOP 1 u.UserId FROM dbo.[User] u JOIN dbo.Role rl ON u.RoleId=rl.RoleId WHERE u.FullName=N'Степанов Михаил Артёмович' ORDER BY CASE WHEN rl.RoleName=N'Авторизированный клиент' THEN 0 ELSE 1 END, u.UserId),905,(SELECT StatusId FROM dbo.OrderStatus WHERE StatusName=N'Завершен'));
  118. INSERT INTO dbo.OrderItem(OrderId,Article,Quantity) VALUES (5,N'MIO8YV',2);
  119. INSERT INTO dbo.OrderItem(OrderId,Article,Quantity) VALUES (5,N'UER2QD',2);
  120. INSERT INTO dbo.[Order](OrderId,OrderDate,DeliveryDate,PickupPointId,ClientUserId,ReceiveCode,StatusId) VALUES (6,'2025-03-01','2025-04-25',15,(SELECT TOP 1 u.UserId FROM dbo.[User] u JOIN dbo.Role rl ON u.RoleId=rl.RoleId WHERE u.FullName=N'Ворсин Петр Евгеньевич' ORDER BY CASE WHEN rl.RoleName=N'Авторизированный клиент' THEN 0 ELSE 1 END, u.UserId),906,(SELECT StatusId FROM dbo.OrderStatus WHERE StatusName=N'Завершен'));
  121. INSERT INTO dbo.OrderItem(OrderId,Article,Quantity) VALUES (6,N'PMEZMH',2);
  122. INSERT INTO dbo.OrderItem(OrderId,Article,Quantity) VALUES (6,N'BPV4MM',2);
  123. INSERT INTO dbo.[Order](OrderId,OrderDate,DeliveryDate,PickupPointId,ClientUserId,ReceiveCode,StatusId) VALUES (7,NULL,'2025-04-26',3,(SELECT TOP 1 u.UserId FROM dbo.[User] u JOIN dbo.Role rl ON u.RoleId=rl.RoleId WHERE u.FullName=N'Старикова Елена Павловна' ORDER BY CASE WHEN rl.RoleName=N'Авторизированный клиент' THEN 0 ELSE 1 END, u.UserId),907,(SELECT StatusId FROM dbo.OrderStatus WHERE StatusName=N'Завершен'));
  124. INSERT INTO dbo.OrderItem(OrderId,Article,Quantity) VALUES (7,N'JVL42J',1);
  125. INSERT INTO dbo.OrderItem(OrderId,Article,Quantity) VALUES (7,N'F895RB',1);
  126. INSERT INTO dbo.[Order](OrderId,OrderDate,DeliveryDate,PickupPointId,ClientUserId,ReceiveCode,StatusId) VALUES (8,'2025-03-31','2025-04-27',19,(SELECT TOP 1 u.UserId FROM dbo.[User] u JOIN dbo.Role rl ON u.RoleId=rl.RoleId WHERE u.FullName=N'Сазонов Руслан Германович' ORDER BY CASE WHEN rl.RoleName=N'Авторизированный клиент' THEN 0 ELSE 1 END, u.UserId),908,(SELECT StatusId FROM dbo.OrderStatus WHERE StatusName=N'Новый '));
  127. INSERT INTO dbo.OrderItem(OrderId,Article,Quantity) VALUES (8,N'3XBOTN',10);
  128. INSERT INTO dbo.OrderItem(OrderId,Article,Quantity) VALUES (8,N'3L7RCZ',10);
  129. INSERT INTO dbo.[Order](OrderId,OrderDate,DeliveryDate,PickupPointId,ClientUserId,ReceiveCode,StatusId) VALUES (9,'2025-04-02','2025-04-28',5,(SELECT TOP 1 u.UserId FROM dbo.[User] u JOIN dbo.Role rl ON u.RoleId=rl.RoleId WHERE u.FullName=N'Старикова Елена Павловна' ORDER BY CASE WHEN rl.RoleName=N'Авторизированный клиент' THEN 0 ELSE 1 END, u.UserId),909,(SELECT StatusId FROM dbo.OrderStatus WHERE StatusName=N'Новый '));
  130. INSERT INTO dbo.OrderItem(OrderId,Article,Quantity) VALUES (9,N'S72AM3',5);
  131. INSERT INTO dbo.OrderItem(OrderId,Article,Quantity) VALUES (9,N'2G3280',4);
  132. INSERT INTO dbo.[Order](OrderId,OrderDate,DeliveryDate,PickupPointId,ClientUserId,ReceiveCode,StatusId) VALUES (10,'2025-04-03','2025-04-29',19,(SELECT TOP 1 u.UserId FROM dbo.[User] u JOIN dbo.Role rl ON u.RoleId=rl.RoleId WHERE u.FullName=N'Сазонов Руслан Германович' ORDER BY CASE WHEN rl.RoleName=N'Авторизированный клиент' THEN 0 ELSE 1 END, u.UserId),910,(SELECT StatusId FROM dbo.OrderStatus WHERE StatusName=N'Новый '));
  133. INSERT INTO dbo.OrderItem(OrderId,Article,Quantity) VALUES (10,N'MIO8YV',2);
  134. INSERT INTO dbo.OrderItem(OrderId,Article,Quantity) VALUES (10,N'UER2QD',2);
  135. GO
  136. IF OBJECT_ID('dbo.vCatalog','V') IS NOT NULL DROP VIEW dbo.vCatalog;
  137. GO
  138. CREATE VIEW dbo.vCatalog AS SELECT p.Article, p.Photo AS [Фото], c.CategoryName AS [Категория товара], p.Name AS [Наименование товара], p.Description AS [Описание товара], m.ManufacturerName AS [Производитель], s.SupplierName AS [Поставщик], p.Price AS [Цена], u.UnitName AS [Единица измерения], p.Stock AS [Кол-во на складе], p.Discount AS [Действующая скидка] FROM dbo.Product p JOIN dbo.Category c ON p.CategoryId=c.CategoryId JOIN dbo.Manufacturer m ON p.ManufacturerId=m.ManufacturerId JOIN dbo.Supplier s ON p.SupplierId=s.SupplierId JOIN dbo.Unit u ON p.UnitId=u.UnitId;
  139. GO
  140. IF OBJECT_ID('dbo.vOrders','V') IS NOT NULL DROP VIEW dbo.vOrders;
  141. GO
  142. CREATE VIEW dbo.vOrders AS SELECT o.OrderId, STRING_AGG(oi.Article + N' x' + CAST(oi.Quantity AS nvarchar(10)), N', ') AS [Артикул заказа], st.StatusName AS [Статус заказа], (pp.PostalCode + ', г. ' + pp.City + ', ул. ' + pp.Street + ', д. ' + pp.House) AS [Адрес пункта выдачи], o.OrderDate AS [Дата заказа], o.DeliveryDate AS [Дата доставки] FROM dbo.[Order] o JOIN dbo.OrderStatus st ON o.StatusId=st.StatusId JOIN dbo.PickupPoint pp ON o.PickupPointId=pp.PickupPointId LEFT JOIN dbo.OrderItem oi ON oi.OrderId=o.OrderId GROUP BY o.OrderId, st.StatusName, pp.PostalCode, pp.City, pp.Street, pp.House, o.OrderDate, o.DeliveryDate;
  143. GO
  144. IF OBJECT_ID('dbo.vw_UsersLogin','V') IS NOT NULL DROP VIEW dbo.vw_UsersLogin;
  145. GO
  146. CREATE VIEW dbo.vw_UsersLogin AS SELECT u.UserId, u.FullName AS [ФИО], u.Login AS [Логин], u.Password AS [Пароль], r.RoleName AS [Роль] FROM dbo.[User] u JOIN dbo.Role r ON u.RoleId=r.RoleId;
  147. GO