From 7ddc9fef2b8e9bbd370d68d44f0986345973b449 Mon Sep 17 00:00:00 2001 From: Yuriy Mishchuk Date: Wed, 22 Apr 2026 20:46:40 +0300 Subject: [PATCH] Normalize ShopDB to 3NF --- task.sql | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/task.sql b/task.sql index cc65344..2de0e08 100644 --- a/task.sql +++ b/task.sql @@ -21,6 +21,34 @@ CREATE TABLE ProductInventory ( ); -- Populate test data +CREATE TABLE Countries ( +ID INT AUTO_INCREMENT PRIMARY KEY, + Name VARCHAR(255) +); + +CREATE TABLE Products( +ID INT AUTO_INCREMENT PRIMARY KEY, +NAME VARCHAR(255) +); + +CREATE TABLE Warehouses( +ID INT AUTO_INCREMENT PRIMARY KEY, +Name VARCHAR(255), +Address VARCHAR(255), +CountryID INT, +FOREIGN KEY (CountryID) REFERENCES Countries(ID) +); + + +CREATE TABLE ProductInventory ( + ProductID INT, + WarehouseID INT, + Amount INT, + PRIMARY KEY (ProductID, WarehouseID), + FOREIGN KEY (ProductID) REFERENCES Products(ID), + FOREIGN KEY (WarehouseID) REFERENCES Warehouses(ID) +); + INSERT INTO Countries (ID,Name) VALUES (1, 'Country1');