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`) +) +