From 8988bf02c014d9d4a12de53f777d5f93019c27d9 Mon Sep 17 00:00:00 2001 From: Augusto Gunsch Date: Wed, 27 Jul 2022 20:34:39 +0200 Subject: [PATCH] Add database schema SQL --- database/schema.sql | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 database/schema.sql diff --git a/database/schema.sql b/database/schema.sql new file mode 100644 index 0000000..20fb8e5 --- /dev/null +++ b/database/schema.sql @@ -0,0 +1,42 @@ +CREATE DATABASE `products`; + +USE `products`; + +CREATE TABLE `product` ( + `id` int unsigned NOT NULL AUTO_INCREMENT, + `name` varchar(100) NOT NULL, + `price` float NOT NULL, + `sku` varchar(100) NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `sku` (`sku`) +) + +CREATE TABLE `book` ( + `id` int unsigned NOT NULL AUTO_INCREMENT, + `weight` float NOT NULL, + `product_id` int unsigned NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `book_UN` (`product_id`), + CONSTRAINT `book_FK` FOREIGN KEY (`product_id`) REFERENCES `product` (`id`) +) + +CREATE TABLE `dvd` ( + `id` int unsigned NOT NULL AUTO_INCREMENT, + `product_id` int unsigned NOT NULL, + `size` int unsigned NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `dvd_UN` (`product_id`), + CONSTRAINT `dvd_FK` FOREIGN KEY (`product_id`) REFERENCES `product` (`id`) +) + +CREATE TABLE `furniture` ( + `id` int unsigned NOT NULL AUTO_INCREMENT, + `product_id` int unsigned NOT NULL, + `width` float NOT NULL, + `height` float NOT NULL, + `length` float NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `furniture_UN` (`product_id`), + CONSTRAINT `furniture_FK` FOREIGN KEY (`product_id`) REFERENCES `product` (`id`) +) +