ホームページ データベース mysql チュートリアル MySQLでの食料品ショッピングシステムの推奨商品テーブル設計方法

MySQLでの食料品ショッピングシステムの推奨商品テーブル設計方法

Nov 01, 2023 am 11:49 AM
mysql 食料品ショッピングシステム 推奨製品テーブルの設計方法

MySQLでの食料品ショッピングシステムの推奨商品テーブル設計方法

MySQL での食品ショッピング システムの推奨商品テーブル設計方法

インターネットの発展に伴い、オンラインで食品を購入する人が増えています。ユーザーのショッピング体験を向上させるために、多くのショッピング プラットフォームはユーザーの購入記録や好みに基づいて対応する商品を推奨します。この記事では、MySQL で食料品ショッピング システムの推奨商品テーブルを設計する方法と、具体的なコード例を紹介します。

食料品ショッピング システムの推奨商品リストを設計する前に、まずいくつかの概念と要件を明確にする必要があります。推奨商品テーブルの機能は、ユーザーの購入履歴や好みに基づいて、ユーザーが興味を持ちそうな商品を推奨することです。この機能を実装するには、ユーザーと商品の関連情報を格納する推奨商品テーブルを作成する必要があります。

まず、ユーザーと製品間の関連情報を保存するための、recommendance という名前のテーブルを作成します。このテーブルのフィールドには、ユーザー ID (user_id) と製品 ID (product_id) を含めることができ、推奨時間 (recommend_time) などの他の補助フィールドを追加することもできます。

CREATE TABLE の推奨事項 (

id int NOT NULL AUTO_INCREMENT,
user_id int NOT NULL,
product_id int NOT NULL,
recommend_time datetime NOT NULL,
PRIMARY KEY (id),
INDEX user_id_index (user_id),
INDEX product_id_index (product_id)
ログイン後にコピー

);

ユーザーの購入記録と好みは、注文テーブルやユーザー好みのテーブルなどの他のテーブルから取得できます。ここでは、order という名前の注文テーブルがすでに存在し、注文テーブルのフィールドには注文 ID (order_id)、ユーザー ID (user_id)、製品 ID (product_id) などが含まれていると仮定します。

CREATE TABLE order (

order_id int NOT NULL AUTO_INCREMENT,
user_id int NOT NULL,
product_id int NOT NULL,
order_time datetime NOT NULL,
PRIMARY KEY (order_id),
INDEX user_id_index (user_id),
INDEX product_id_index (product_id)
ログイン後にコピー

);

ユーザーが製品の購入を注文すると、トリガーを通じて推奨製品テーブルに購入レコードを挿入できます。またはストアド プロシージャの中間。以下は、ユーザーが注文したときに購入レコードを推奨製品テーブルに自動的に挿入するトリガーの例です。

DELIMITER //

CREATE TRIGGER after_insert_order
AFTER INSERT ON order
FOR EACH ROW
BEGIN

INSERT INTO recommendation (user_id, product_id, recommend_time)
VALUES (NEW.user_id, NEW.product_id, NOW());
ログイン後にコピー

END//

DELIMITER ;

上記のトリガーを通じて、新しい注文が注文テーブルに挿入されると、それに応じて新しいレコードが推奨製品テーブルに挿入されます。

ユーザーの購入履歴に基づいて商品をレコメンドするだけでなく、ユーザーの好みに基づいて商品をレコメンドすることもできます。製品に対するユーザーの好みの評価が含まれる、preference という名前のユーザー好みのテーブルがすでに存在すると仮定します。

CREATE TABLE プリファレンス (

id int NOT NULL AUTO_INCREMENT,
user_id int NOT NULL,
product_id int NOT NULL,
rating int NOT NULL,
PRIMARY KEY (id),
INDEX user_id_index (user_id),
INDEX product_id_index (product_id)
ログイン後にコピー

);

ユーザーのプリファレンスに基づいて製品の推奨を実装するには、協調フィルタリング アルゴリズムに基づくメソッドを使用して、おすすめ商品表 ユーザー間の関連情報。以下は、ユーザー間の関連情報に基づいて推奨製品レコードを挿入するストアド プロシージャの例です。

DELIMITER //

CREATE PROCEDURE generated_recommendation()
BEGIN

DECLARE i, j INT;
DECLARE user1_id, user2_id, product_id INT;
DECLARE similarity FLOAT;

-- 定义游标
DECLARE cur CURSOR FOR
    SELECT user_id, product_id FROM preference;
DECLARE CONTINUE HANDLER FOR NOT FOUND
    SET done = 1;

-- 循环遍历用户
OPEN cur;
read_loop: LOOP
    FETCH cur INTO user1_id, product_id;
    IF done THEN
        LEAVE read_loop;
    END IF;

    -- 查询与当前用户喜好相似的其他用户
    SELECT user_id, rating INTO user2_id, similarity
    FROM preference
    WHERE user_id != user1_id
    ORDER BY ABS(rating - (SELECT rating FROM preference WHERE user_id = user1_id))
    LIMIT 5;

    -- 插入推荐商品记录
    INSERT INTO recommendation (user_id, product_id, recommend_time)
    SELECT user2_id, product_id, NOW()
    FROM preference
    WHERE user_id = user1_id;

END LOOP;
CLOSE cur;
ログイン後にコピー

END//

DELIMITER ;

スルー上記のストアドプロセスでは、ユーザー間の嗜好の類似性に基づいて推奨製品レコードを挿入できます。このようにして、ユーザーが推奨製品をクエリするとき、推奨製品テーブルから対応するレコードを取得するだけで済みます。

要約すると、この記事では、MySQL で食料品ショッピング システムの推奨商品テーブルを設計する方法を紹介し、具体的なコード例を示します。ユーザーの購買履歴や嗜好を分析することで、ユーザーに適した商品を推奨し、ユーザーのショッピング体験を向上させることができます。もちろん、実際のニーズや特定のアプリケーションシナリオに応じて、上記の方法に基づいて対応する修正や調整を行うことができます。

以上がMySQLでの食料品ショッピングシステムの推奨商品テーブル設計方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Laravelは紹介例 Laravelは紹介例 Apr 18, 2025 pm 12:45 PM

Laravelは、Webアプリケーションを簡単に構築するためのPHPフレームワークです。次のような強力な機能を提供します。インストール:Laravel CLIを作曲家にグローバルにインストールし、プロジェクトディレクトリにアプリケーションを作成します。ルーティング:ルート/web.phpのURLとハンドラーの関係を定義します。ビュー:リソース/ビューでビューを作成して、アプリケーションのインターフェイスをレンダリングします。データベース統合:MySQLなどのデータベースとのすぐ外側の統合を提供し、移行を使用してテーブルを作成および変更します。モデルとコントローラー:モデルはデータベースエンティティを表し、コントローラーはHTTP要求を処理します。

MySQLおよびPHPMYADMIN:コア機能と関数 MySQLおよびPHPMYADMIN:コア機能と関数 Apr 22, 2025 am 12:12 AM

MySQLとPHPMyAdminは、強力なデータベース管理ツールです。 1)MySQLは、データベースとテーブルを作成し、DMLおよびSQLクエリを実行するために使用されます。 2)PHPMyAdminは、データベース管理、テーブル構造管理、データ操作、ユーザー許可管理のための直感的なインターフェイスを提供します。

MySQL対その他のプログラミング言語:比較 MySQL対その他のプログラミング言語:比較 Apr 19, 2025 am 12:22 AM

他のプログラミング言語と比較して、MySQLは主にデータの保存と管理に使用されますが、Python、Java、Cなどの他の言語は論理処理とアプリケーション開発に使用されます。 MySQLは、データ管理のニーズに適した高性能、スケーラビリティ、およびクロスプラットフォームサポートで知られていますが、他の言語は、データ分析、エンタープライズアプリケーション、システムプログラミングなどのそれぞれの分野で利点があります。

Laravel Frameworkインストール方法 Laravel Frameworkインストール方法 Apr 18, 2025 pm 12:54 PM

記事の概要:この記事では、Laravelフレームワークを簡単にインストールする方法について読者をガイドするための詳細なステップバイステップの指示を提供します。 Laravelは、Webアプリケーションの開発プロセスを高速化する強力なPHPフレームワークです。このチュートリアルは、システム要件からデータベースの構成とルーティングの設定までのインストールプロセスをカバーしています。これらの手順に従うことにより、読者はLaravelプロジェクトのための強固な基盤を迅速かつ効率的に築くことができます。

MySQLの外国キーの目的を説明してください。 MySQLの外国キーの目的を説明してください。 Apr 25, 2025 am 12:17 AM

MySQLでは、外部キーの機能は、テーブル間の関係を確立し、データの一貫性と整合性を確保することです。外部キーは、参照整合性チェックとカスケード操作を通じてデータの有効性を維持します。パフォーマンスの最適化に注意し、それらを使用するときに一般的なエラーを避けてください。

mysqlとmariadbを比較対照します。 mysqlとmariadbを比較対照します。 Apr 26, 2025 am 12:08 AM

MySQLとMariaDBの主な違いは、パフォーマンス、機能、ライセンスです。1。MySQLはOracleによって開発され、Mariadbはフォークです。 2. Mariadbは、高負荷環境でパフォーマンスを向上させる可能性があります。 3.MariaDBは、より多くのストレージエンジンと機能を提供します。 4.MySQLは二重ライセンスを採用し、MariaDBは完全にオープンソースです。既存のインフラストラクチャ、パフォーマンス要件、機能要件、およびライセンスコストを選択する際に考慮する必要があります。

MySQL:データベース、phpmyAdmin:管理インターフェイス MySQL:データベース、phpmyAdmin:管理インターフェイス Apr 29, 2025 am 12:44 AM

MySQLとPHPMyAdminは、次の手順を通じて効果的に管理できます。1。データベースの作成と削除:PHPMyAdminをクリックして完了します。 2。テーブルの管理:テーブルを作成し、構造を変更し、インデックスを追加できます。 3。データ操作:データの挿入、更新、削除、SQLクエリの実行をサポートします。 4。データのインポートとエクスポート:SQL、CSV、XML、およびその他の形式をサポートします。 5。最適化と監視:最適化可能なコマンドを使用してテーブルを最適化し、クエリアナライザーと監視ツールを使用してパフォーマンスの問題を解決します。

SQL対MySQL:2つの関係を明確にします SQL対MySQL:2つの関係を明確にします Apr 24, 2025 am 12:02 AM

SQLはリレーショナルデータベースを管理するための標準言語であり、MySQLはSQLを使用するデータベース管理システムです。 SQLは、CRUD操作を含むデータベースと対話する方法を定義しますが、MySQLはSQL標準を実装し、ストアドプロシージャやトリガーなどの追加機能を提供します。

See all articles