diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000..ea7ed09
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,5 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Editor-based HTTP Client requests
+/httpRequests/
diff --git a/.idea/dbnavigator.xml b/.idea/dbnavigator.xml
new file mode 100644
index 0000000..1e070ee
--- /dev/null
+++ b/.idea/dbnavigator.xml
@@ -0,0 +1,463 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml
new file mode 100644
index 0000000..c52c0f4
--- /dev/null
+++ b/.idea/inspectionProfiles/Project_Default.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml
new file mode 100644
index 0000000..105ce2d
--- /dev/null
+++ b/.idea/inspectionProfiles/profiles_settings.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..28795c1
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 0000000..d4d7d12
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/rda_task_4_database_normalization.iml b/.idea/rda_task_4_database_normalization.iml
new file mode 100644
index 0000000..2ee1aa3
--- /dev/null
+++ b/.idea/rda_task_4_database_normalization.iml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..c8397c9
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/task.sql b/task.sql
index cc65344..0011e75 100644
--- a/task.sql
+++ b/task.sql
@@ -1,33 +1,52 @@
--- Create database and tables
-
+DROP DATABASE IF EXISTS ShopDB;
CREATE DATABASE ShopDB;
USE ShopDB;
CREATE TABLE Countries (
- ID INT,
+ ID INT AUTO_INCREMENT,
+ Name VARCHAR(50),
+ PRIMARY KEY (ID)
+);
+
+CREATE TABLE Products (
+ ID INT AUTO_INCREMENT,
Name VARCHAR(50),
PRIMARY KEY (ID)
);
+CREATE TABLE Warehouses (
+ ID INT AUTO_INCREMENT,
+ Name VARCHAR(50),
+ Address VARCHAR(50),
+ CountryID INT,
+ PRIMARY KEY (ID),
+ FOREIGN KEY (CountryID) REFERENCES Countries(ID) ON DELETE NO ACTION
+);
+
CREATE TABLE ProductInventory (
- ID INT,
- ProductName VARCHAR(50),
+ ID INT AUTO_INCREMENT,
+ ProductID INT,
+ WarehouseID INT,
WarehouseAmount INT,
- WarehouseName VARCHAR(50),
- WarehouseAddress VARCHAR(50),
- CountryID INT,
- FOREIGN KEY (CountryID) REFERENCES Countries(ID) ON DELETE NO ACTION,
- PRIMARY KEY (ID)
+ PRIMARY KEY (ID),
+ FOREIGN KEY (ProductID) REFERENCES Products(ID) ON DELETE CASCADE,
+ FOREIGN KEY (WarehouseID) REFERENCES Warehouses(ID) ON DELETE CASCADE
);
+
-- 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);
+INSERT INTO Countries (Name) VALUES
+ ('Country1'),
+ ('Country2');
+
+INSERT INTO Products (Name)
+ VALUES ('AwersomeProduct');
+
+INSERT INTO Warehouses (Name, Address, CountryID) VALUES
+ ('Warehouse-1', 'City-1, Street-1', 1),
+ ('Warehouse-2', 'City-2, Street-2', 2);
+
+INSERT INTO ProductInventory (ProductID, WarehouseID, WarehouseAmount) VALUES
+ (1, 1, 2),
+ (1, 2, 5);