Heim >Datenbank >MySQL-Tutorial >MySQL-Tabellenentwurfspraxis: Erstellen Sie eine Coupon-Tabelle und eine Nutzungsdatensatztabelle
MySQL-Tabellenentwurfspraxis: Erstellen Sie eine Coupon-Tabelle und eine Nutzungsdatensatztabelle.
In vielen Geschäftsszenarien sind Coupons ein gängiges Werbemittel. Um die Nutzung von Coupons effektiv verwalten und verfolgen zu können, müssen wir eine Coupontabelle und eine Nutzungsdatensatztabelle entwerfen. Dieser Artikel führt Sie durch die Erstellung dieser beiden Tabellen und stellt entsprechende Codebeispiele bereit.
Coupon-Tabellendesign
Zuerst müssen wir eine Coupon-Tabelle erstellen, um alle verfügbaren Coupon-Informationen zu speichern. Das Folgende ist ein einfaches Designbeispiel für eine Coupontabelle:
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;
Im obigen Design haben wir die folgenden Felder verwendet:
id
: die eindeutige Kennung des Coupons, unter Verwendung einer automatisch inkrementierenden Ganzzahl als der Primärschlüssel. 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
: Der Code des Gutscheins, normalerweise eine Zeichenfolge aus Zeichen oder Zahlen.
Rabatt
: Der Rabattbetrag oder das Rabattverhältnis des Coupons. valid_from
: Datum und Uhrzeit des Beginns der Gültigkeit des Gutscheins.
valid_to
: Datum und Uhrzeit des Gültigkeitsendes des Gutscheins. created_at
: Die Erstellungszeit des Coupons, automatisch generiert mit der MySQL-Funktion CURRENT_TIMESTAMP.
id
: Verwenden Sie die eindeutige Kennung des Datensatzes mit einem Auto -Inkrementierende Ganzzahl als Primärschlüssel. 🎜coupon_id
: Die ID des Coupons, entsprechend dem Feld id
in der Coupontabelle. 🎜user_id
: Die ID des Benutzers, der den Coupon verwendet hat. 🎜used_at
: Die Nutzungsdauer des Gutscheins. 🎜Um die Konsistenz und Integrität der Daten sicherzustellen, haben wir außerdem zwei Fremdschlüsseleinschränkungen erstellt, die das Feld coupon_id
mit dem Feld coupon
verbinden Tabelle Verknüpfen Sie das Feld id
und das Feld user_id
mit dem Feld id
in der Tabelle user
. Dadurch wird sichergestellt, dass jeder Nutzungsdatensatz gültig ist. 🎜🎜Mit dem oben genannten Tabellendesign können wir die Verwendung von Gutscheinen einfach verwalten und verfolgen. Sie können die Tabelle entsprechend den tatsächlichen Anforderungen erweitern und optimieren, um sie an verschiedene Geschäftsszenarien anzupassen. 🎜🎜Zusammenfassung🎜🎜In diesem Artikel zeigen wir den Lesern die Designideen eines vollständigen Coupon-Managementsystems, indem wir eine Coupon-Tabelle erstellen und das MySQL-Tabellendesign der Datensatztabelle verwenden. Durch ein vernünftiges Tabellenstrukturdesign und Fremdschlüsseleinschränkungen können wir die Verwendung von Gutscheinen effektiv verwalten und verfolgen. Ich hoffe, dass dieser Artikel den Lesern bei der tatsächlichen Entwicklung hilfreich sein wird. 🎜Das obige ist der detaillierte Inhalt vonMySQL-Tabellenentwurfspraxis: Erstellen Sie eine Coupon-Tabelle und eine Nutzungsdatensatztabelle. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!