MySQL でモールのユーザー コレクション テーブル構造を設計するにはどうすればよいですか?
モールのデータベースを設計する場合、ユーザーの収集は重要な機能の 1 つです。ユーザーは、興味のある製品をお気に入りに追加して、簡単に閲覧したり、後で購入したりできます。この記事では、MySQL でモールのユーザー コレクション テーブル構造を設計する方法と、具体的なコード例を紹介します。
1. 要件分析
テーブル構造を設計する前に、まずユーザー コレクションのニーズを分析する必要があります。具体的には、次の側面を考慮する必要があります。
2. テーブル構造の設計
上記の要件に基づいて、次のユーザー好みのテーブル構造を設計できます:
CREATE TABLE user_favorite
(
id
int(11) NOT NULL AUTO_INCREMENT COMMENT '主キー ID',
user_id
int(11) NOT NULL COMMENT 'ユーザー ID',
product_id
int(11) NOT NULL COMMENT '製品 ID',
add_time
datetime NOT NULL COMMENT '追加時刻',
status
tinyint(1) NOT NULL DEFAULT '1' COMMENT 'ステータス、1 は有効、0 は無効を意味します',
PRIMARY KEY (id
),
KEY user_id
(user_id)
),
KEY product_id
(product_id
)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='ユーザーのお気に入りテーブル';
各フィールドの意味を説明します:
3. コード例
CREATE TABLE user_favorite
(
id
int(11) NOT NULL AUTO_INCREMENT COMMENT '主キー ID',
user_id
int(11) NOT NULL COMMENT 'ユーザー ID',
product_id
int(11) NOT NULL COMMENT '製品 ID',
add_time
datetime NOT NULL COMMENT '追加時刻',
status
tinyint(1) NOT NULL DEFAULT ' 1' COMMENT 'ステータス、1 は有効、0 は無効を意味します',
PRIMARY KEY (id
),
KEY user_id
(user_id
) ,
KEY product_id
(product_id
)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='ユーザーのお気に入りテーブル';
INSERT INTO user_favorite
(user_id
, product_id
, add_time
)
VALUES (1, 1001, '2022-01-01 10:00:00');
SELECT product_id
, add_time
FROM user_favorite
WHERE user_id
= 1 AND status
= 1;
UPDATE user_favorite
SET status
= 0
WHERE user_id
= 1 AND product_id
= 1001;
上記のコード例は、ユーザー収集テーブルの作成、収集レコードの追加、ユーザーの収集レコードのクエリ、および製品の収集のキャンセル方法を示しています。
概要:
ユーザー コレクション テーブルの構造を設計するときは、ユーザー ID、製品 ID、時間やステータスの追加などのフィールドを考慮する必要があります。テーブル構造を適切に設計し、インデックスを使用することで、データベースのクエリ効率を向上させることができます。同時に、実際の使用においては、ビジネス ニーズに応じてテーブルを最適化および拡張できます。
注: 上記のサンプル コードは参考用であり、具体的な実装は実際の状況に応じて調整する必要があります。
以上がMySQL でモールのユーザー コレクション テーブル構造を設計するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。