鉴于邮政编码中隐含的状态信息是不是存储了一些违反第三范式的内容?您可以或者应该简单地将它们组合成一个字段吗?
我正在存储有关棒球统计数据的数据,并希望使用三个表格来执行此操作:player,battingStats和pitchingStats.出于问题的目的,每个玩家将有击球统计数据或投球统计数据,但不是两者都有.
我如何在3NF中规范这种关系?
正如Thomas Connolly和Carolyn Begg在180页写的"数据库解决方案第二版"一书所述:
第三范式(3NF)
已经在1NF和2NF中的表,其中所有非主键列中的值只能从主键列而不是其他列中计算出来.
我已经看到很多人们使用标识列的情况,尽管他们的表中已经有了主键列.记录也可以从标识列中得出,如果我们在表中使用自动递增的标识列和主键,是不是违反了3NF?
更新:如果不是这样,哪个列应作为另一个表中的外键引用.主键列或标识列?
database-design entity-relationship third-normal-form database-normalization
您是否始终以至少第三范式(3NF)设计数据库?为什么?
我有这两张桌子。
如果我确定它们位于 3NF 中,这是正确的方法吗?我的答案:
StaffDetails( StaffID , SName, DOB, DivisionNo*)
Division( DivisionNo , DivName, DivSupervisorID)
StaffProject( StaffId *, ProjectNo *, SName, ProjectName, HoursAssigned)
项目(项目编号, 项目名称)
主键是粗体的,但是星号后面的原因是什么?
database database-design third-normal-form database-normalization