効率的な MySQL モール テーブル構造を設計するにはどうすればよいですか?
MySQL は現在最も人気のあるリレーショナル データベース管理システムの 1 つであり、さまざまなショッピング モール プラットフォームで広く使用されています。データベースのテーブル構造を適切に設計すると、システムのパフォーマンスとスケーラビリティを向上させることができます。この記事では、効率的な MySQL モール テーブル構造を設計する方法を紹介し、具体的なコード例を添付します。
1. 商品テーブル
モールシステムにおいて、商品は核となるデータの一つです。商品を管理・運用するには、まず商品テーブルを作成する必要があります。以下は、単純な製品テーブルのコード例です。
CREATE TABLE products (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
Price DECIMAL(10, 2 ) NOT NULL,
説明テキスト,
在庫 INT NOT NULL,
category_id INT NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
この表には、製品名、価格、説明、在庫など、製品に関する基本情報が含まれています。同時に、商品カテゴリ情報(category_id)、作成時刻、更新時刻も含まれます。
2. 分類テーブル
製品を分類およびフィルタリングするには、分類テーブルを作成する必要があります。以下は、単純な分類テーブルのコード例です。
CREATE TABLEcategories (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
parent_id INT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
分類テーブルには、分類の名前と親分類の ID が含まれています。マルチレベルの分類階層は、親 ID を使用して実装できます。
3. 注文テーブル
モール システムにおけるもう 1 つの重要なデータは注文データです。ユーザーの購入を記録するには、注文テーブルを作成する必要があります。以下は、単純な注文テーブルのコード例です。
CREATE TABLEorders (
id INT AUTO_INCREMENT PRIMARY KEY,
user_id INT NOT NULL,
total_amount DECIMAL(10, 2) NOT NULL ,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
注文テーブルには、ユーザー ID (user_id) や注文の基本情報が含まれています。合計注文金額 (total_amount)。
4. 注文商品テーブル
注文に商品情報を記録するためには、注文商品テーブルを設計する必要があります。以下は、単純な注文商品テーブルのコード例です。
CREATE TABLE order_products (
id INT AUTO_INCREMENT PRIMARY KEY,
order_id INT NOT NULL,
product_id INT NOT NULL,
数量 INT NOT NULL,
価格 DECIMAL(10, 2) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
Order item table には、注文 ID (order_id)、製品 ID (product_id)、数量 (quantity)、価格 (price) などの情報が含まれます。
5. ユーザーテーブル
モールシステムには、ユーザー情報を管理するためのユーザーテーブルも必要です。以下は、単純なユーザー テーブルのコード例です。
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(100) NOT NULL,
password VARCHAR(100) NOT NULL,
email VARCHAR(100) NOT NULL UNIQUE,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
ユーザー テーブルには、基本的なユーザーの情報 ユーザー名、パスワード、電子メールなどの情報。
上記は、シンプルだが効率的な MySQL モール テーブル構造の設計例です。テーブル構造を適切に設計し、インデックス付けや関連付けなどの操作を実行することにより、システムのパフォーマンスとスケーラビリティを向上させることができます。もちろん、実際のアプリケーションでは、特定のニーズに応じて柔軟に調整および最適化する必要もあります。
以上が効率的な MySQL モール テーブル構造を設計するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。