MySQL에서 쇼핑몰의 제품 테이블 구조를 어떻게 디자인하나요?
MySQL은 다양한 유형의 웹사이트와 애플리케이션에서 널리 사용되는 일반적으로 사용되는 관계형 데이터베이스 관리 시스템입니다. 쇼핑몰의 상품 테이블 구조를 디자인할 때에는 상품 속성, 분류, 재고 등의 요소를 고려해야 합니다. 다음은 MySQL에서 쇼핑몰의 상품 테이블 구조를 디자인하는 방법을 자세히 소개하고 구체적인 코드 예시를 제시한다.
CREATE TABLE IF NOT EXISTS `product` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `name` VARCHAR(100) NOT NULL, `price` DECIMAL(10,2) NOT NULL, `description` TEXT, `image` VARCHAR(255), PRIMARY KEY (`id`) ) ENGINE=InnoDB;
CREATE TABLE IF NOT EXISTS `category` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `name` VARCHAR(100) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB;
CREATE TABLE IF NOT EXISTS `product_category` ( `product_id` INT(11) NOT NULL, `category_id` INT(11) NOT NULL, PRIMARY KEY (`product_id`, `category_id`), FOREIGN KEY (`product_id`) REFERENCES `product` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, FOREIGN KEY (`category_id`) REFERENCES `category` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB;
CREATE TABLE IF NOT EXISTS `stock` ( `product_id` INT(11) NOT NULL, `quantity` INT(11) NOT NULL, PRIMARY KEY (`product_id`), FOREIGN KEY (`product_id`) REFERENCES `product` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB;
위 코드의 product_id
열은 제품 테이블의 기본 키이며 외래 키를 통해 재고 테이블과 관련됩니다. product_id
列是商品表的主键,通过外键关联到库存表。
name
和price
列添加索引,为分类表的name
列添加索引,为库存表的product_id
name
및 price
열에 인덱스를 추가할 수 있고, 제품 테이블의 name
열에 인덱스를 추가할 수 있습니다. 분류 테이블, 인벤토리 테이블의 name
열에 인덱스를 추가합니다. code>product_id 열에 인덱스를 추가합니다. ALTER TABLE `product` ADD INDEX `idx_product_name` (`name`); ALTER TABLE `product` ADD INDEX `idx_product_price` (`price`); ALTER TABLE `category` ADD INDEX `idx_category_name` (`name`); ALTER TABLE `stock` ADD INDEX `idx_stock_product_id` (`product_id`);
위 내용은 MySQL에서 쇼핑몰의 상품 테이블 구조를 어떻게 디자인하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!