与前端编程不同,重构数据库结构,一旦使用,不仅痛苦,而且不切实际。
我强烈建议您提前了解后端的结构。好消息是第三范式通常并不难实现。事实上,一旦你变得有点实践,用这些术语来思考数据几乎成为第二天性。
第三范式本质上表明表中单个记录的每个组件对于该记录的键都是唯一的。考虑:
tblPerson:
个人身份PK
姓
名
中间名字
出生日期
社会保障号
收入来源
收入金额
上面定义的表格不是第三范式,因为收入来源对于表格中每个人的发生率并不是唯一的,实际上在该人的一生中可能会发生变化。取而代之的是,将上述结构(过于简单化)如下:
tblPerson
个人身份PK
姓
名
中间名字
出生日期
社保号
tblPersonIncome
个人收入ID PK
PersonID FK tblPerson
IncomeSourceID FK tblIncomeSource
收入金额
截止日期
tblIncomeSource
收入来源ID
收入来源
请注意,有些人会争论我使用上面的自动递增 ID 字段 - 虽然这些不违反第 3 范式,但它们也没有使用自然键。
如果您的后端从跳转正确规范化,那么添加或扩展您的实体在未来会更容易完成,并且对您在添加之前创建的任何前端的影响要小得多。
无论如何,请在后端前端进行正确设计,否则一旦开始滚动并需要稍后实施结构更改,痛苦就会很严重。否则就有点像为你的新房子打地基,并计划在以后建造它时改变平面图以满足你的需要。