asite
sureagavo į
Nocturne
Pagalbos del picerijos duomenu bazes schemos
Gruodžio 6, 2020
Picos, KitiPatiekalai, Padažai sumetam į vieną lentelę "products" ir susirišam su kategorijom. Kategorijose susikursi "Picos", "Kiti Patiekalai", "Padažai" ir t.t. (parent_id pridėtas, jeigu prireiks subkategorijų tarkim picoms). Į užsakymą galės dėt kiek nori produktų (order_items lentelė). SQL:
CREATE TABLE `clients` (
`id` int PRIMARY KEY AUTO_INCREMENT,
`name` varchar(255),
`surname` varchar(255),
`phone` varchar(255),
`address` varchar(255),
`created_at` datetime DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE `deliverers` (
`id` int PRIMARY KEY AUTO_INCREMENT,
`name` varchar(255),
`surname` varchar(255),
`phone` varchar(255),
`created_at` datetime DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE `order_items` (
`order_id` int,
`product_id` int,
`quantity` int DEFAULT 1
);
CREATE TABLE `orders` (
`id` int PRIMARY KEY AUTO_INCREMENT,
`client_id` int NOT NULL,
`deliverer_id` int,
`status` varchar(255),
`created_at` datetime DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE `products` (
`id` int PRIMARY KEY AUTO_INCREMENT,
`category_id` int,
`name` varchar(255),
`price` float,
`description` text,
`created_at` datetime DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE `categories` (
`id` int PRIMARY KEY AUTO_INCREMENT,
`name` varchar(255),
`description` text,
`parent_id` int DEFAULT null,
`created_at` datetime DEFAULT CURRENT_TIMESTAMP
);
ALTER TABLE `order_items` ADD FOREIGN KEY (`order_id`) REFERENCES `orders` (`id`);
ALTER TABLE `order_items` ADD FOREIGN KEY (`product_id`) REFERENCES `products` (`id`);
ALTER TABLE `orders` ADD FOREIGN KEY (`client_id`) REFERENCES `clients` (`id`);
ALTER TABLE `orders` ADD FOREIGN KEY (`deliverer_id`) REFERENCES `deliverers` (`id`);
ALTER TABLE `products` ADD FOREIGN KEY (`category_id`) REFERENCES `categories` (`id`);
ALTER TABLE `categories` ADD FOREIGN KEY (`parent_id`) REFERENCES `categories` (`id`);