Pratique de conception de tables MySQL : créer une table de coupons et une table d'enregistrement d'utilisation
Dans de nombreux scénarios commerciaux, les coupons sont un outil promotionnel courant. Afin de gérer et de suivre efficacement l'utilisation des coupons, nous devons concevoir un tableau de coupons et un tableau d'enregistrement d'utilisation. Cet article vous explique comment créer ces deux tables et fournit des exemples de code correspondants.
Conception de la table des coupons
Tout d'abord, nous devons créer une table des coupons pour stocker toutes les informations disponibles sur les coupons. Voici un exemple de conception de table de coupons de base :
CREATE TABLE `coupon` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `code` VARCHAR(50) NOT NULL, `discount` DECIMAL(10,2) NOT NULL, `valid_from` DATETIME NOT NULL, `valid_to` DATETIME NOT NULL, `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`), UNIQUE KEY `code_UNIQUE` (`code`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
Dans la conception ci-dessus, nous avons utilisé les champs suivants :
id
: l'identifiant unique du coupon, en utilisant un entier auto-incrémenté comme la clé primaire. id
:优惠券的唯一标识,使用自增整数作为主键。code
:优惠券的代码,通常是一串字符或数字。discount
:优惠券的折扣金额或折扣比例。valid_from
:优惠券的有效开始日期和时间。valid_to
:优惠券的有效结束日期和时间。created_at
:优惠券的创建时间,使用MySQL的CURRENT_TIMESTAMP函数自动生成。使用记录表设计
接下来,我们需要创建一张使用记录表,用于记录每个优惠券的使用情况。以下是一个基本的使用记录表设计示例:
CREATE TABLE `coupon_usage` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `coupon_id` INT(11) NOT NULL, `user_id` INT(11) NOT NULL, `used_at` DATETIME NOT NULL, PRIMARY KEY (`id`), KEY `coupon_id_idx` (`coupon_id`), KEY `user_id_idx` (`user_id`), CONSTRAINT `coupon_id_fk` FOREIGN KEY (`coupon_id`) REFERENCES `coupon` (`id`), CONSTRAINT `user_id_fk` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
在上面的设计中,我们使用了以下字段:
id
:使用记录的唯一标识,使用自增整数作为主键。coupon_id
:优惠券的ID,与优惠券表中的id
字段相对应。user_id
:使用优惠券的用户的ID。used_at
:优惠券的使用时间。为了确保数据的一致性和完整性,我们还创建了两个外键约束,将coupon_id
字段与coupon
表中的id
字段关联起来,将user_id
字段与user
表中的id
code
: Le code du coupon, généralement une chaîne de caractères ou de chiffres.
remise
: le montant de la remise ou le taux de remise du coupon. valid_from
: La date et l'heure de début de validité du coupon.
valid_to
: La date et l'heure de fin de validité du coupon. created_at
: L'heure de création du coupon, générée automatiquement à l'aide de la fonction CURRENT_TIMESTAMP de MySQL.
id
: utilisez l'identifiant unique de l'enregistrement, en utilisant un auto -incrémenter un entier comme clé primaire. 🎜coupon_id
: L'ID du coupon, correspondant au champ id
dans la table des coupons. 🎜user_id
: L'identifiant de l'utilisateur qui a utilisé le coupon. 🎜used_at
: La durée d'utilisation du coupon. 🎜Afin d'assurer la cohérence et l'intégrité des données, nous avons également créé deux contraintes de clé étrangère, reliant le champ coupon_id
au coupon
table Associez le champ id
et associez le champ user_id
au champ id
dans la table user
. Cela garantit que chaque enregistrement d’utilisation est valide. 🎜🎜Grâce à la conception du tableau ci-dessus, nous pouvons facilement gérer et suivre l'utilisation des coupons. Vous pouvez étendre et optimiser le tableau en fonction des besoins réels pour vous adapter à différents scénarios commerciaux. 🎜🎜Résumé🎜🎜Dans cet article, nous montrons aux lecteurs les idées de conception d'un système complet de gestion de coupons en créant une table de coupons et en utilisant la conception de table MySQL de la table d'enregistrement. Grâce à une conception raisonnable de la structure des tables et aux contraintes des clés étrangères, nous pouvons gérer et suivre efficacement l'utilisation des coupons. J'espère que cet article sera utile aux lecteurs dans le développement réel. 🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!