ホームページ > データベース > mysql チュートリアル > MySQL でモールのユーザー コレクション テーブル構造を設計するにはどうすればよいですか?

MySQL でモールのユーザー コレクション テーブル構造を設計するにはどうすればよいですか?

王林
リリース: 2023-10-31 09:25:53
オリジナル
1067 人が閲覧しました

MySQL でモールのユーザー コレクション テーブル構造を設計するにはどうすればよいですか?

MySQL でモールのユーザー コレクション テーブル構造を設計するにはどうすればよいですか?

モールのデータベースを設計する場合、ユーザーの収集は重要な機能の 1 つです。ユーザーは、興味のある製品をお気に入りに追加して、簡単に閲覧したり、後で購入したりできます。この記事では、MySQL でモールのユーザー コレクション テーブル構造を設計する方法と、具体的なコード例を紹介します。

1. 要件分析
テーブル構造を設計する前に、まずユーザー コレクションのニーズを分析する必要があります。具体的には、次の側面を考慮する必要があります。

  1. ユーザー ID: 各ユーザーは一意の ID 識別を持っています。
  2. 製品 ID: 各製品には一意の ID 識別があります。
  3. 追加時刻: ユーザーが製品をお気に入りに追加した時刻。
  4. ステータス: お気に入り内の項目はユーザーによってキャンセルされる可能性があるため、現在のステータスを示すフィールドが必要です。

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='ユーザーのお気に入りテーブル';

各フィールドの意味を説明します:

  1. id: 主キー ID。一意性を確保するために自動インクリメント主キーを使用します。
  2. user_id: ユーザー テーブル内の ID に関連付けられたユーザー ID。
  3. product_id: 製品テーブルの ID に関連付けられた製品 ID。
  4. add_time: 時間を追加します。datetime 型を使用して特定の時間を保存します。
  5. status: ステータス。現在の収集ステータスを示すために使用されます。デフォルトは、有効を意味する 1、無効を意味する 0 です。

3. コード例

  1. ユーザーお気に入りテーブルの作成:

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='ユーザーのお気に入りテーブル';

  1. ユーザーのお気に入りレコードを追加:

INSERT INTO user_favorite (user_id, product_id, add_time )
VALUES (1, 1001, '2022-01-01 10:00:00');

  1. ユーザーのコレクション レコードのクエリ:

SELECT product_id, add_time FROM user_favorite
WHERE user_id = 1 AND status = 1;

  1. 製品のお気に入りをキャンセル:

UPDATE user_favorite SET status = 0
WHERE user_id = 1 AND product_id = 1001;

上記のコード例は、ユーザー収集テーブルの作成、収集レコードの追加、ユーザーの収集レコードのクエリ、および製品の収集のキャンセル方法を示しています。

概要:
ユーザー コレクション テーブルの構造を設計するときは、ユーザー ID、製品 ID、時間やステータスの追加などのフィールドを考慮する必要があります。テーブル構造を適切に設計し、インデックスを使用することで、データベースのクエリ効率を向上させることができます。同時に、実際の使用においては、ビジネス ニーズに応じてテーブルを最適化および拡張できます。

注: 上記のサンプル コードは参考用であり、具体的な実装は実際の状況に応じて調整する必要があります。

以上がMySQL でモールのユーザー コレクション テーブル構造を設計するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート