假设这不是家庭作业,我想知道为什么你必须展示你达到 3NF 的过程。如果您的数据库在 3NF 中,谁在乎您是如何到达那里的?同样,假设这不是家庭作业,有一种简单的方法可以立即设计一个 3NF 中的数据库。
学习 ER 建模。使用 ER 建模来描述您的数据库必须满足的信息需求。仔细选择您的实体。对于每个实体,请非常小心地为该实体选择一个 id。如果它不在给定的数据中,您可能必须合成一个 id。这是数据分析,而不是数据库设计。确保您在此阶段发现的属性与正确的实体或关系相关联。
这取决于上下文。例如,在人事系统中,“出生日期”是员工的一个属性。但是在分娩中心,“出生日期”是出生的一个属性,出生的人与那个出生有关系。一胎可以生几个人。
了解如何将 ER 模型转换为关系模型。出于这些目的,SQL 模型和关系模型可以被视为等效的。在选择主键时要非常非常小心,并注意使用“automunber”等功能的后果。您可能需要使用此功能,但是当冗余数据输入导致两行具有不同主键且都引用主题实体的同一实例时,请想出应对方法。
如果您的属性已连接到正确的实体或关系,如果您正确地转换为关系模型,并且如果您选择了正确的主键,您的数据库将自动处于 3NF。
如果这是家庭作业,那么您的老师的要求在您的问题中并不清楚。了解老师试图教给您的内容可能就像告诉我们真正的要求是什么一样容易。