Database design 3NF表的验证

Database design 3NF表的验证,database-design,normalization,Database Design,Normalization,我设计了这个表,想知道它是否是3NF,我假设它是因为所有的非主键freld都不是传递地依赖主键,而是想要你的想法,如果我遗漏了什么 患者Id:Id(主诉) 病人姓名:姓名 病人:日期 患者性别:性别类型 Patient_address:address看起来不错,除了Patient_address列之外,它应该存储在不同的表中。以下是一个例子: Patients(ID, FirstName, LastName, DateOfBirth, MainAddressId); Addresses(Id,

我设计了这个表,想知道它是否是3NF,我假设它是因为所有的非主键freld都不是传递地依赖主键,而是想要你的想法,如果我遗漏了什么 患者Id:Id(主诉) 病人姓名:姓名 病人:日期 患者性别:性别类型
Patient_address:address

看起来不错,除了
Patient_address
列之外,它应该存储在不同的表中。以下是一个例子:

Patients(ID, FirstName, LastName, DateOfBirth, MainAddressId);
Addresses(Id, Street, Number, ..., PatientId);

这样,每个患者可以有多个地址,而您仍然可以将一个地址设置为主地址(在主地址ID中)。

非常感谢!我可以请你帮我检查另一张桌子吗。我有这个表,Test\u Booking Booking\u Id:Id(pk)Test\u Id:Id(fk to Test\u master)Patient\u Id:Id(fk to Patient)Gp\u Id:Id(fk to Gp)Book\u Date:Date,这是不是第三个(这个我有点不确定)根据提供的信息,我理解一个测试(存储在Test\u master)可以有零个或多个相关的测试预约(存储在Test\u Booking中),每个预约测试都有一个日期,一个病人和一个家庭医生。如果这是预期的结果,那么模式是有效的。非常感谢您