From 91466585998ecd6b2ea98bc04ec6889849903eea Mon Sep 17 00:00:00 2001 From: Olexandr Date: Tue, 5 May 2026 14:58:38 +0300 Subject: [PATCH 1/3] Create ShopDB database with Products, Customers, Orders tables --- task.sql | 35 ++++++++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/task.sql b/task.sql index 0a66d93..272c8c7 100644 --- a/task.sql +++ b/task.sql @@ -1 +1,34 @@ -# Write your SQL code for the database creation here. Good luck! +CREATE DATABASE ShopDB; +USE ShopDB; + +CREATE TABLE Products ( + ID INT AUTO_INCREMENT PRIMARY KEY, + Name VARCHAR(50), + Description VARCHAR(100), + Price INT, + WarehouseAmount INT +); + +CREATE TABLE Customers ( + ID INT AUTO_INCREMENT PRIMARY KEY, + FirstName VARCHAR(50), + LastName VARCHAR(50), + Email VARCHAR(50), + Address VARCHAR(100) +); + +CREATE TABLE Orders ( + ID INT AUTO_INCREMENT PRIMARY KEY, + CustomerID INT, + Date DATE, + FOREIGN KEY (CustomerID) REFERENCES Customers(ID) ON DELETE SET NULL +); + +CREATE TABLE OrderItems ( + ID INT AUTO_INCREMENT PRIMARY KEY, + OrderID INT, + ProductID INT, + FOREIGN KEY (OrderID) REFERENCES Orders(ID) ON DELETE SET NULL, + FOREIGN KEY (ProductID) REFERENCES Products(ID) ON DELETE SET NULL +); + From d63411938cd02137f18c9480f1df091c358dd7c5 Mon Sep 17 00:00:00 2001 From: KostiukOleksandr Date: Wed, 6 May 2026 18:50:39 +0300 Subject: [PATCH 2/3] Create indexes for ShopDB --- task.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/task.sql b/task.sql index 272c8c7..ef023e8 100644 --- a/task.sql +++ b/task.sql @@ -1,4 +1,4 @@ -CREATE DATABASE ShopDB; +-- CREATE DATABASE ShopDB; USE ShopDB; CREATE TABLE Products ( From 7b28c4ba66bc3762e46ebbfed8c27c4b5778958a Mon Sep 17 00:00:00 2001 From: KostiukOleksandr Date: Wed, 6 May 2026 19:09:05 +0300 Subject: [PATCH 3/3] Complete ShopDB with tables and indexes --- task.sql | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/task.sql b/task.sql index ef023e8..f80cb73 100644 --- a/task.sql +++ b/task.sql @@ -1,4 +1,4 @@ --- CREATE DATABASE ShopDB; +CREATE DATABASE IF NOT EXISTS ShopDB; USE ShopDB; CREATE TABLE Products ( @@ -32,3 +32,8 @@ CREATE TABLE OrderItems ( FOREIGN KEY (ProductID) REFERENCES Products(ID) ON DELETE SET NULL ); +CREATE INDEX Email ON Customers(Email); +CREATE INDEX Name ON Products(Name); +CREATE INDEX CustomerID ON Orders(CustomerID); +CREATE INDEX OrderID ON OrderItems(OrderID); +CREATE INDEX ProductID ON OrderItems(ProductID);