You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请问我对支付相关数据表的数据库规范化设计是否正确?

支付相关数据表的规范化设计说明

咱们来梳理下这套支付相关数据表的规范化设计,从1NF到2NF的拆解如下:

1NF(第一范式)设计

第一范式要求每个属性都是原子性的,不能包含重复的属性组。这里的初始表结构为:

Payments(paymentid, courseid, userid, paymentoption, amount, paid date)

说明:paymentid 是该表的主键,唯一标识每一笔支付记录。

2NF(第二范式)设计

第二范式要求在满足1NF的基础上,消除非主属性对主键的部分依赖。这里将原表拆分为三个独立的表,具体如下:

  • Paymentsinfo 表:存储支付核心信息
    Paymentsinfo(paymentid, paymentoption, amount, courseid)
    
  • Paidcourseinfo 表:存储已支付课程的详情信息
    Paidcourseinfo(courseid, courseduration, paymentsid)
    
  • Payeeuserinfo 表:存储支付用户与对应课程的关联信息
    Payeeuserinfo(paymentid, userid, courseid)
    

补充说明:paymentid 作为原 Payments 表的主键,在拆分后的表中承担关联各表的作用;courseid 既是关联各表的外键,同时也是部分表主键的组成部分,以此确保数据的关联性和完整性。

内容的提问来源于stack exchange,提问作者dilupa chandrasekara

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 08:07:13