MySQL でモールのクーポン テーブル構造を設計するにはどうすればよいですか?
電子商取引の急速な発展に伴い、クーポンはユーザーを引き付けるための重要なマーケティング手法の 1 つになりました。ショッピング モール システムでは、クーポン テーブルの構造を適切に設計することが非常に重要です。この記事では、MySQL でモールのクーポン テーブル構造を設計する方法と、具体的なコード例を紹介します。
MySQL では、次のコード例を使用して、モールのクーポン情報を保存する coupons
という名前のテーブルを作成できます。クーポンとユーザー間のモールの関連付け
<pre class='brush:sql;toolbar:false;'>CREATE TABLE `coupons` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`name ` VARCHAR(100) NOT NULL,
`type` ENUM('full_reduction', 'discount', 'free_shipping') NOT NULL,
`value` DECIMAL(10,2) NOT NULL,
`min_amount` DECIMAL(10,2) DEFAULT 0,
`start_time` DATETIME NOT NULL,
`end_time` DATETIME NOT NULL,
`total_count` INT(11) NOT NULL,
`claimed_count` INT(11) NOT NULL DEFAULT 0,
PRIMARY KEY (`id`)
);</pre>
このテーブルでは、coupon_id は、
users テーブルと
coupons テーブルの一意の識別子をそれぞれ参照し、外部キーの関連付けを通じてデータの整合性を確保します。
このテーブルを通じて、ユーザーが受け取ったクーポンと使用されたクーポンを簡単にクエリできます。
モール クーポンの使用シナリオ
モール クーポンには多くの使用シナリオがあり、同時に複数の製品、カテゴリ、注文に適用できる場合があります。クーポンの使用状況を簡単に記録するには、<pre class='brush:sql;toolbar:false;'>CREATE TABLE `user_coupons` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`user_id` INT(11) NOT NULL,
`coupon_id` INT(11) NOT NULL,
`claimed_time` DATETIME NOT NULL,
`used_time` DATETIME DEFAULT NULL,
PRIMARY KEY (`id`),
INDEX (`user_id`),
INDEX (`coupon_id`),
FOREIGN KEY (`user_id`) REFERENCES `users` (`id`),
FOREIGN KEY (`coupon_id`) REFERENCES `coupons` (`id`)
);</pre>
このテーブルの coupons テーブルの一意の識別子
product_id を参照します。
category_id と
order_id は、それぞれ
products テーブル、
categories テーブル、および
orders テーブルを参照します。一意の識別子によってデータが取得されます。外部キーの関連付けによる整合性とクエリの利便性。
このテーブルを通じて、さまざまなシナリオでのクーポンの使用状況を記録できます。たとえば、クーポンは特定の製品または特定の注文にのみ適用されます。
以上がMySQL でモールのクーポン テーブル構造を設計するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。