MySQL 테이블 디자인 실습: 쿠폰 테이블 및 사용 기록 테이블 만들기
많은 비즈니스 시나리오에서 쿠폰은 일반적인 홍보 도구입니다. 쿠폰 사용을 효과적으로 관리하고 추적하기 위해서는 쿠폰 테이블과 사용 기록 테이블을 디자인해야 합니다. 이 문서에서는 이러한 두 테이블을 만드는 방법을 안내하고 해당 코드 예제를 제공합니다.
쿠폰 테이블 디자인
먼저 사용 가능한 모든 쿠폰 정보를 저장할 쿠폰 테이블을 생성해야 합니다. 다음은 기본 쿠폰 테이블 디자인 예입니다.
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;
위 디자인에서는 다음 필드를 사용했습니다.
id
: 자동 증가 정수를 사용하여 쿠폰의 고유 식별자입니다. 기본 키.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
: 쿠폰 코드로, 일반적으로 문자나 숫자로 구성된 문자열입니다.
할인
: 쿠폰의 할인 금액 또는 할인 비율입니다.
valid_from
: 쿠폰의 유효 시작 날짜 및 시간입니다.
valid_to
: 쿠폰의 유효 기간 종료 날짜 및 시간입니다.
created_at
: MySQL의 CURRENT_TIMESTAMP 함수를 사용하여 자동으로 생성된 쿠폰 생성 시간입니다.
id
: 자동을 사용하여 레코드의 고유 식별자를 사용합니다. -기본 키로 정수를 증가시킵니다.
coupon_id
: 쿠폰 테이블의
id
필드에 해당하는 쿠폰 ID입니다.
user_id
: 쿠폰을 사용한 사용자의 ID입니다.
used_at
: 쿠폰 사용 시간입니다. 데이터의 일관성과 무결성을 보장하기 위해
coupon_id
필드를
coupon
와 연결하는 두 개의 외래 키 제약 조건도 만들었습니다. table
user_id
필드의
id
필드를
user
테이블의
id
필드와 연결합니다. 이렇게 하면 모든 사용 기록이 유효해집니다. 위의 테이블 디자인을 사용하면 쿠폰 사용을 쉽게 관리하고 추적할 수 있습니다. 실제 요구 사항에 따라 테이블을 확장하고 최적화하여 다양한 비즈니스 시나리오에 적응할 수 있습니다. Summary이 기사에서는 쿠폰 테이블을 생성하고 레코드 테이블의 MySQL 테이블 디자인을 사용하여 완전한 쿠폰 관리 시스템의 디자인 아이디어를 독자들에게 보여줍니다. 합리적인 테이블 구조 설계와 외래 키 제약 조건을 통해 쿠폰 사용을 효과적으로 관리하고 추적할 수 있습니다. 이 글이 독자들의 실제 개발에 도움이 되기를 바랍니다.
위 내용은 MySQL 테이블 설계 실습: 쿠폰 테이블 및 사용 기록 테이블 생성의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!