Rumah >pangkalan data >tutorial mysql >Amalan reka bentuk jadual MySQL: Cipta jadual kupon dan jadual rekod penggunaan

Amalan reka bentuk jadual MySQL: Cipta jadual kupon dan jadual rekod penggunaan

WBOY
WBOYasal
2023-07-01 23:33:402295semak imbas

Amalan reka bentuk jadual MySQL: Buat jadual kupon dan jadual rekod penggunaan

Dalam banyak senario perniagaan, kupon ialah alat promosi biasa. Untuk mengurus dan menjejaki penggunaan kupon dengan berkesan, kami perlu mereka bentuk jadual kupon dan jadual rekod penggunaan. Artikel ini membimbing anda melalui cara membuat kedua-dua jadual ini dan menyediakan contoh kod yang sepadan.

Reka bentuk meja kupon

Pertama, kita perlu mencipta jadual kupon untuk menyimpan semua maklumat kupon yang ada. Berikut ialah contoh reka bentuk jadual kupon asas:

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;

Dalam reka bentuk di atas, kami menggunakan medan berikut:

  • id: pengecam unik kupon, menggunakan integer kenaikan automatik sebagai kunci utama.
  • 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表中的idkod: Kod kupon, biasanya rentetan aksara atau nombor.

diskaun: Jumlah diskaun atau nisbah diskaun kupon.

valid_from: Tarikh dan masa mula sah kupon.

valid_to: Tarikh dan masa tamat sah kupon.

created_at: Masa penciptaan kupon, dijana secara automatik menggunakan fungsi CURRENT_TIMESTAMP MySQL.

Reka bentuk jadual rekod penggunaan

Seterusnya, kita perlu mencipta jadual rekod penggunaan untuk merekodkan penggunaan setiap kupon. Berikut ialah contoh asas menggunakan reka bentuk jadual rekod: 🎜rrreee🎜Dalam reka bentuk di atas, kami menggunakan medan berikut: 🎜🎜🎜id: Gunakan pengecam unik rekod, menggunakan auto -menambah integer sebagai kunci utama . 🎜coupon_id: ID kupon, sepadan dengan medan id dalam jadual kupon. 🎜user_id: ID pengguna yang menggunakan kupon. 🎜digunakan_di: Masa penggunaan kupon. 🎜Untuk memastikan ketekalan dan integriti data, kami juga mencipta dua kekangan kunci asing, menghubungkan medan coupon_id dengan kupon jadual Kaitkan medan id dan kaitkan medan user_id dengan medan id dalam jadual user. Melakukan ini memastikan bahawa setiap rekod penggunaan adalah sah. 🎜🎜Dengan reka bentuk jadual di atas, kami boleh mengurus dan menjejaki penggunaan kupon dengan mudah. Anda boleh mengembangkan dan mengoptimumkan jadual mengikut keperluan sebenar untuk menyesuaikan diri dengan senario perniagaan yang berbeza. 🎜🎜Ringkasan🎜🎜Dalam artikel ini, kami menunjukkan kepada pembaca idea reka bentuk sistem pengurusan kupon yang lengkap dengan mencipta jadual kupon dan menggunakan reka bentuk jadual MySQL bagi jadual rekod. Melalui reka bentuk struktur jadual yang munasabah dan kekangan utama asing, kami boleh mengurus dan menjejaki penggunaan kupon dengan berkesan. Saya harap artikel ini akan membantu pembaca dalam pembangunan sebenar. 🎜

Atas ialah kandungan terperinci Amalan reka bentuk jadual MySQL: Cipta jadual kupon dan jadual rekod penggunaan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn