Корректна ли эта база данных? - PullRequest
0 голосов
/ 30 мая 2018

У меня есть таблицы платежей с payment / paymentinfo и userinfo, я их нормализовал следующим образом:

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 платежей Идентификатор курса - это внешний ключ и первичный ключ

1 Ответ

0 голосов
/ 04 июня 2018

Я предполагаю, что для каждого оплаченного платежа paymentid отличается, даже если он для одного и того же курса (, когда 2 разных студента подают заявку на один и тот же курс ) или когда 2 платежаодним и тем же пользователем (, когда один и тот же пользователь оплачивает 2 разных курса ).

Это означает, что в paymentid указан ключ-кандидат, и поскольку в ключе-кандидате только один атрибут,это означает отсутствие частичной функциональной зависимости и, следовательно, все ваши отношения находятся в 2NF .

...