MySQL でモールの商品テーブル構造を設計するにはどうすればよいですか?
MySQL は、さまざまな種類の Web サイトやアプリケーションで広く使用されている、一般的に使用されるリレーショナル データベース管理システムです。モールの商品テーブル構造を設計するときは、商品の属性、分類、在庫などの要素を考慮する必要があります。以下では、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
列は、製品テーブルの主キーであり、在庫に関連しています。外部キーを介したテーブル。
name
列と price
列にインデックスを追加したり、分類テーブルの name
列にインデックスを追加したりできます。そして、在庫テーブルの 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 でモールの商品テーブル構造を設計する手順とコード例です。実際のアプリケーションでは、特定のニーズに応じて適切な調整や最適化を行うこともできます。同時に、製品レビューや製品属性など、ビジネス ニーズに応じて他のテーブルやフィールドを追加することもできます。
以上がMySQL でモールの商品テーブル構造を設計するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。