From 456c505d7a083e8c2dfcef27f3daaa34062c863c Mon Sep 17 00:00:00 2001 From: Dmytro Date: Tue, 31 Mar 2026 19:53:42 +0200 Subject: [PATCH 1/9] solution1 --- task.sql | 58 ++++++++++++++++++++++++++++++-------------------------- 1 file changed, 31 insertions(+), 27 deletions(-) diff --git a/task.sql b/task.sql index cc65344..661e455 100644 --- a/task.sql +++ b/task.sql @@ -1,33 +1,37 @@ --- Create database and tables +CREATE DATABASE ShopDB -CREATE DATABASE ShopDB; USE ShopDB; -CREATE TABLE Countries ( - ID INT, - Name VARCHAR(50), - PRIMARY KEY (ID) -); +Create Table Countries ( + ID INT AUTO_INCREMENT, + PRIMARY KEY (ID), + NAME VARCHAR(50) +) -CREATE TABLE ProductInventory ( - ID INT, - ProductName VARCHAR(50), - WarehouseAmount INT, +CREATE TABLE Warehouses ( + ID INT AUTO_INCREMENT, + PRIMARY KEY (ID), WarehouseName VARCHAR(50), - WarehouseAddress VARCHAR(50), + WarehouseAddress VARCHAR(50), CountryID INT, - FOREIGN KEY (CountryID) REFERENCES Countries(ID) ON DELETE NO ACTION, - PRIMARY KEY (ID) -); - --- Populate test data - -INSERT INTO Countries (ID,Name) - VALUES (1, 'Country1'); -INSERT INTO Countries (ID,Name) - VALUES (2, 'Country2'); - -INSERT INTO ProductInventory (ID,ProductName,WarehouseAmount,WarehouseName,WarehouseAddress,CountryID) - VALUES (1, 'AwersomeProduct', 2, 'Warehouse-1', 'City-1, Street-1',1); -INSERT INTO ProductInventory (ID,ProductName,WarehouseAmount,WarehouseName,WarehouseAddress,CountryID) - VALUES (2, 'AwersomeProduct', 5, 'Warehouse-2', 'City-2, Street-2',2); + FOREIGN KEY (CountryID) REFERENCES Countries(ID) ON DELETE NO ACTION +) + +CREATE TABLE ProductInventory ( + ID INT AUTO_INCREMENT, + PRIMARY KEY (ID), + Name VARCHAR(50), + Amount INT, + WarehouseID INT, + FOREIGN KEY (WarehouseID) REFERENCES Warehouses(ID) ON DELETE NO ACTION +) + +INSERT INTO Countries (NAME) + VALUES ('Country1'), ('Country2'); + + +INSERT INTO Warehouses (WarehouseName, WarehouseAddress, CountryID) + VALUES ('Warehouse-1', 'City-1, Street-1', 1), ('Warehouse-2', 'City-2, Street-1', 2); + +INSERT INTO ProductInventory (Name, Amount, WarehouseID) + VALUES ('Product-1', 2, 1), ('Product-2', 5, 2) From b3b844e33f76a9ce81ea0ea8b611f80d5e6b3117 Mon Sep 17 00:00:00 2001 From: Dmytro Date: Tue, 31 Mar 2026 19:56:43 +0200 Subject: [PATCH 2/9] solution2 --- task.sql | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/task.sql b/task.sql index 661e455..6f16be3 100644 --- a/task.sql +++ b/task.sql @@ -1,4 +1,4 @@ -CREATE DATABASE ShopDB +CREATE DATABASE ShopDB; USE ShopDB; @@ -6,7 +6,7 @@ Create Table Countries ( ID INT AUTO_INCREMENT, PRIMARY KEY (ID), NAME VARCHAR(50) -) +); CREATE TABLE Warehouses ( ID INT AUTO_INCREMENT, @@ -15,7 +15,7 @@ CREATE TABLE Warehouses ( WarehouseAddress VARCHAR(50), CountryID INT, FOREIGN KEY (CountryID) REFERENCES Countries(ID) ON DELETE NO ACTION -) +); CREATE TABLE ProductInventory ( ID INT AUTO_INCREMENT, @@ -24,7 +24,7 @@ CREATE TABLE ProductInventory ( Amount INT, WarehouseID INT, FOREIGN KEY (WarehouseID) REFERENCES Warehouses(ID) ON DELETE NO ACTION -) +); INSERT INTO Countries (NAME) VALUES ('Country1'), ('Country2'); @@ -34,4 +34,4 @@ INSERT INTO Warehouses (WarehouseName, WarehouseAddress, CountryID) VALUES ('Warehouse-1', 'City-1, Street-1', 1), ('Warehouse-2', 'City-2, Street-1', 2); INSERT INTO ProductInventory (Name, Amount, WarehouseID) - VALUES ('Product-1', 2, 1), ('Product-2', 5, 2) + VALUES ('Product-1', 2, 1), ('Product-2', 5, 2); From 726e40e7112c46434b89673483eea5971ce82dcc Mon Sep 17 00:00:00 2001 From: Dmytro Date: Tue, 31 Mar 2026 20:12:43 +0200 Subject: [PATCH 3/9] solution3 --- task.sql | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/task.sql b/task.sql index 6f16be3..1287e35 100644 --- a/task.sql +++ b/task.sql @@ -17,15 +17,22 @@ CREATE TABLE Warehouses ( FOREIGN KEY (CountryID) REFERENCES Countries(ID) ON DELETE NO ACTION ); +CREATE TABLE Product ( + ID INT AUTO_INCREMENT, + PRIMARY KEY (ID), + Name VARCHAR(50) +); CREATE TABLE ProductInventory ( ID INT AUTO_INCREMENT, PRIMARY KEY (ID), - Name VARCHAR(50), Amount INT, WarehouseID INT, - FOREIGN KEY (WarehouseID) REFERENCES Warehouses(ID) ON DELETE NO ACTION + FOREIGN KEY (WarehouseID) REFERENCES Warehouses(ID) ON DELETE NO ACTION, + ProductId INT, + FOREIGN KEY (ProductId) REFERENCES Product(ID) ON DELETE CASCADE ); + INSERT INTO Countries (NAME) VALUES ('Country1'), ('Country2'); @@ -33,5 +40,10 @@ INSERT INTO Countries (NAME) INSERT INTO Warehouses (WarehouseName, WarehouseAddress, CountryID) VALUES ('Warehouse-1', 'City-1, Street-1', 1), ('Warehouse-2', 'City-2, Street-1', 2); -INSERT INTO ProductInventory (Name, Amount, WarehouseID) - VALUES ('Product-1', 2, 1), ('Product-2', 5, 2); +INSERT INTO Product (Name) + VALUES ('Product-1'), ('Product-2'); + +INSERT INTO ProductInventory (WarehouseID, ProductID, Amount) + VALUES (1, 1, 2), (1, 1, 2); + + From 5cb1c3b7d141cfcd74d883b5d92a8f5eb742b040 Mon Sep 17 00:00:00 2001 From: Dmytro Date: Tue, 31 Mar 2026 22:49:27 +0200 Subject: [PATCH 4/9] solution4 --- task.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/task.sql b/task.sql index 1287e35..f5a051a 100644 --- a/task.sql +++ b/task.sql @@ -1,4 +1,4 @@ -CREATE DATABASE ShopDB; +DROP DATABASE IF EXISTS ShopDB; USE ShopDB; From c2cf9b799f8f257cb545f0a25c327e9df5b2c958 Mon Sep 17 00:00:00 2001 From: Dmytro Date: Tue, 31 Mar 2026 22:50:47 +0200 Subject: [PATCH 5/9] solution 5 --- task.sql | 1 + 1 file changed, 1 insertion(+) diff --git a/task.sql b/task.sql index f5a051a..4f963ad 100644 --- a/task.sql +++ b/task.sql @@ -1,4 +1,5 @@ DROP DATABASE IF EXISTS ShopDB; +CREATE DATABASE ShopDB; USE ShopDB; From ef19a5c883ebfcf499ee784e7f24b0fb79329a8b Mon Sep 17 00:00:00 2001 From: Dmytro Date: Tue, 31 Mar 2026 22:54:04 +0200 Subject: [PATCH 6/9] solution 6 --- task.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/task.sql b/task.sql index 4f963ad..631420c 100644 --- a/task.sql +++ b/task.sql @@ -45,6 +45,6 @@ INSERT INTO Product (Name) VALUES ('Product-1'), ('Product-2'); INSERT INTO ProductInventory (WarehouseID, ProductID, Amount) - VALUES (1, 1, 2), (1, 1, 2); + VALUES (1, 1, 2), (2, 2, 5); From 4b7b3167305cf256cb289318e87f398138274e67 Mon Sep 17 00:00:00 2001 From: Dmytro Date: Wed, 1 Apr 2026 13:37:58 +0200 Subject: [PATCH 7/9] solution 7 --- task.sql | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/task.sql b/task.sql index 631420c..d27826d 100644 --- a/task.sql +++ b/task.sql @@ -1,7 +1,7 @@ -DROP DATABASE IF EXISTS ShopDB; -CREATE DATABASE ShopDB; +DROP DATABASE IF EXISTS ShopDB; --Dropping Database if database exists +CREATE DATABASE ShopDB; --Recreating Database -USE ShopDB; +USE ShopDB; --using just created database Create Table Countries ( ID INT AUTO_INCREMENT, @@ -45,6 +45,6 @@ INSERT INTO Product (Name) VALUES ('Product-1'), ('Product-2'); INSERT INTO ProductInventory (WarehouseID, ProductID, Amount) - VALUES (1, 1, 2), (2, 2, 5); - + VALUES (1, 1, 2), (2, 2, 5); --creating 2 non identical records in Database +-- all suggestions have been realised into the script code \ No newline at end of file From ba21dd9f1d6e00bbf275a303325ca2cc0f4de41b Mon Sep 17 00:00:00 2001 From: Dmytro Date: Wed, 1 Apr 2026 13:41:20 +0200 Subject: [PATCH 8/9] sol7 --- task.sql | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/task.sql b/task.sql index d27826d..4a878c5 100644 --- a/task.sql +++ b/task.sql @@ -1,7 +1,10 @@ -DROP DATABASE IF EXISTS ShopDB; --Dropping Database if database exists -CREATE DATABASE ShopDB; --Recreating Database +DROP DATABASE IF EXISTS ShopDB; +--Dropping Database if database exists +CREATE DATABASE ShopDB; +--Recreating Database -USE ShopDB; --using just created database +USE ShopDB; +--using just created database Create Table Countries ( ID INT AUTO_INCREMENT, @@ -45,6 +48,7 @@ INSERT INTO Product (Name) VALUES ('Product-1'), ('Product-2'); INSERT INTO ProductInventory (WarehouseID, ProductID, Amount) - VALUES (1, 1, 2), (2, 2, 5); --creating 2 non identical records in Database + VALUES (1, 1, 2), (2, 2, 5); +--creating 2 non identical records in Database -- all suggestions have been realised into the script code \ No newline at end of file From f4fe43a8482d5e8ef684f45eb30cc5a56285d7d8 Mon Sep 17 00:00:00 2001 From: Dmytro Date: Wed, 1 Apr 2026 13:43:14 +0200 Subject: [PATCH 9/9] all suggestions were implemented --- task.sql | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/task.sql b/task.sql index 4a878c5..bc3864f 100644 --- a/task.sql +++ b/task.sql @@ -1,10 +1,10 @@ DROP DATABASE IF EXISTS ShopDB; ---Dropping Database if database exists + CREATE DATABASE ShopDB; ---Recreating Database + USE ShopDB; ---using just created database + Create Table Countries ( ID INT AUTO_INCREMENT, @@ -49,6 +49,3 @@ INSERT INTO Product (Name) INSERT INTO ProductInventory (WarehouseID, ProductID, Amount) VALUES (1, 1, 2), (2, 2, 5); ---creating 2 non identical records in Database - --- all suggestions have been realised into the script code \ No newline at end of file