http://iforce.co.nz/i/v4w35nil.2sj.jpg该数据库应该如何布置/如何实现3NF?
我需要制作一个Sudoku游戏数据库,其中包含3NF图中提供的字段。问题是,我该如何在这张桌子上实现3NF,以及如何建立这种关系?我做了一些搜索,我仍然感到困惑。
忽略admin表,这与这个问题无关。
谢谢
http://iforce.co.nz/i/v4w35nil.2sj.jpg该数据库应该如何布置/如何实现3NF?
我需要制作一个Sudoku游戏数据库,其中包含3NF图中提供的字段。问题是,我该如何在这张桌子上实现3NF,以及如何建立这种关系?我做了一些搜索,我仍然感到困惑。
忽略admin表,这与这个问题无关。
谢谢
原来的一对表看起来不错。你在Puzzles
表中有一个正式的解决方案(尽管显然不是,原来的拼图)。您提交的内容可以获得唯一的ID号码并参考拼图,并包含其他信息。
我不确定我是否理解线上的标记,但应该是'0或更多提交'可以引用给定的谜题(也就是说,我认为,左端乌鸦的脚指示了什么;我不确定H在另一端或虚线)。
根据您的规则,您可能希望对电子邮件地址设置一个唯一的约束(每个参赛者只有一个条目),或者您可能只需要一个'email + timestamp'上的唯一约束条件(单个用户不需要两个条目一秒钟)。
但基本表在5NF,因此也在3NF。
谢谢你的乔纳森。所以我发布的第二张图也是在3NF?原始文本上的标记意味着对于每个拼图,可以有零到多个提交,但对于每个提交,只能有一个拼图。 –
可选标记可能不正确,第二个图与第一个图相比没有优势。这并不是说单个提交将会作为多个难题的答案发布,是吗? –
好的,我必须检查我的标记。我想第二个图对数据库没有任何好处,除非数据库的要求发生变化,以便按照用户而不是按照提交的方式存储提交内容。非常感谢您的帮助。 –
您认为哪个字段在pk上没有功能性depdancy? –
提交表中的拼图ID? –
真的吗? PuzzleID在提交表中依赖的候选键是什么? –