【发布时间】:2021-07-21 13:50:26
【问题描述】:
我有一个包含demographics 和consent 数据的父表。
父表如下所示
Person_id, Age, gender, Name, DOB, Consent_agreed, Agreed_share_phone_number, agreed_share_email
1 21 M FM , 10/1/90 N N N
2 23 F MF , 11/1/92 Y Y Y
我打算像下面这样存储数据
DEMO Table
Person_id, Age, gender, Name, DOB
111 21 M FM , 10/1/90
222 23 F MF , 11/1/92
CONSENT Table
Consent_Id Person_id Consent_agreed Phone_number email
1 111 N N N
2 222 Y Y Y
我创建了一个单独的同意表,因为一个人可能会随着时间的推移更新他的同意并且可能有多个记录。
我以这种方式对其进行标准化是否正确?
我应该如何决定是否在DEMO table 中提供consent_id。
DEMO表的列是否应如下所示,consent_id表示最新的同意状态或同意状态不应包含在演示表中
Person_id, Age, gender, Name, DOB, consent_id
【问题讨论】:
标签: sql postgresql database-design foreign-keys database-normalization