此数据库规范化是否正确

时间:2018-05-30 09:23:35

标签: mysql mysql-workbench database-normalization

我有付款/付款信息和用户信息的付款表, 我按以下方式对它们进行了规范化:

1NF的付款:

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

2NF:

  • Paymentsinfo(Paymentid, paymentoption, amount, courseid)

  • Paidcourseinfo(courseid, courseduration, paymentsid)

  • Payeeuserinfo(paymentid, userid, courseid)

Paymentid-PK付款 课程ID是外键和主键

1 个答案:

答案 0 :(得分:0)

我假设每付一次付款, paymentid 就不同了,即使它是针对相同的课程(当两个不同的学生申请同一课程时)或者2,同一用户付款(当同一用户支付2种不同的课程时)。

这意味着 paymentid 是候选键,因为候选键中只有一个属性,这意味着没有部分功能依赖,因此您的所有关系都在 2NF