Untitled

 avatar
unknown
mysql
a year ago
3.5 kB
2
Indexable
CREATE TABLE `Customers`(
    `id` BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    `first_name` VARCHAR(255) NOT NULL,
    `last_name` VARCHAR(255) NOT NULL,
    `login` VARCHAR(255) NOT NULL,
    `password` VARCHAR(255) NOT NULL,
    `email` VARCHAR(255) NOT NULL,
    `is_subscribed_on_news` TINYINT(1) NOT NULL,
    `phone_number` VARCHAR(255) NOT NULL
);

CREATE TABLE `Products`(
    `id` BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    `title` VARCHAR(255) NOT NULL,
    `description` VARCHAR(255) NOT NULL,
    `price` DECIMAL(8, 2) NOT NULL,
    `quantity` INT NOT NULL,
    `vendor_code` VARCHAR(255) NOT NULL
);


CREATE TABLE `Categories`(
    `id` BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    `title` VARCHAR(255) NOT NULL
);

CREATE TABLE `Payments`(
    `id` BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    `customer_id` BIGINT NOT NULL,
    `payment_date` DATETIME NOT NULL,
    `payment_method` ENUM('') NOT NULL,
    `total_amount` DECIMAL(8, 2) NOT NULL,
    `is_in_credit` TINYINT(1) NOT NULL,
    FOREIGN KEY(`customer_id`) REFERENCES `Customers`(`id`)
);

CREATE TABLE `Shipments`(
    `id` BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    `customer_id` BIGINT NOT NULL,
    `shipment_date` DATETIME NOT NULL,
    `address` VARCHAR(255) NOT NULL,
    `city` VARCHAR(255) NOT NULL,
    `state` VARCHAR(255) NOT NULL,
    `country` VARCHAR(255) NOT NULL,
    `zip_code` INT NOT NULL,
    FOREIGN KEY(`customer_id`) REFERENCES `Customers`(`id`)
);

CREATE TABLE `Orders`(
    `id` BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    `order_date` DATETIME NOT NULL,
    `payment_id` BIGINT NOT NULL,
    `shipment_id` BIGINT NOT NULL,
    `customer_id` BIGINT NOT NULL,
    FOREIGN KEY(`payment_id`) REFERENCES `Payments`(`id`),
    FOREIGN KEY(`shipment_id`) REFERENCES `Shipments`(`id`),
    FOREIGN KEY(`customer_id`) REFERENCES `Customers`(`id`)
);


CREATE TABLE `Orders_Products`(
    `id` BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    `product_id` BIGINT NOT NULL,
    `order_id` BIGINT NOT NULL,
    `quantity` BIGINT NOT NULL,
    FOREIGN KEY(`product_id`) REFERENCES `Products`(`id`),
    FOREIGN KEY(`order_id`) REFERENCES `Orders`(`id`)
);



CREATE TABLE `Wishlist`(
    `id` BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    `customer_id` BIGINT NOT NULL,
    `product_id` BIGINT NOT NULL,
    FOREIGN KEY(`customer_id`) REFERENCES `Customers`(`id`),
    FOREIGN KEY(`product_id`) REFERENCES `Products`(`id`)
);

CREATE TABLE `Products_Categories`(
    `id` BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    `product_id` BIGINT NOT NULL,
    `category_id` BIGINT NOT NULL,
    FOREIGN KEY(`product_id`) REFERENCES `Products`(`id`),
    FOREIGN KEY(`category_id`) REFERENCES `Categories`(`id`)
);

CREATE TABLE `Carts`(
    `id` BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    `quantity` INT NOT NULL,
    `customer_id` BIGINT NOT NULL,
    `product_id` BIGINT NOT NULL,
    FOREIGN KEY(`customer_id`) REFERENCES `Customers`(`id`),
    FOREIGN KEY(`product_id`) REFERENCES `Products`(`id`)
);


CREATE TABLE `Reviews`(
    `id` BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    `title` VARCHAR(255) NOT NULL,
    `content` VARCHAR(255) NOT NULL,
    `customer_id` BIGINT NOT NULL,
    `product_id` BIGINT NOT NULL,
    FOREIGN KEY(`customer_id`) REFERENCES `Customers`(`id`),
    FOREIGN KEY(`product_id`) REFERENCES `Products`(`id`)
);
Leave a Comment