我试图设计一些数据库表来存储有关某些实体及其相关应用程序的配置设置。我能走得如此之远,但却遇到了“砖墙”。我会告诉你我的意思是...(不要把以下内容:图片,作为一个字面上的商业问题,图片只是向你解释我的问题的简单方法)。数据库模式设计 - 如何根据实体存储特定的应用程序设置
标准
- 我们有图片的目录下载。
- 我们有几个应用程序,可以 消费这些 图片的任何数量。
- 我们想要配置如何在应用程序上显示这些图片 ,具体取决于。
记住熊,每个程序都可以配置为显示画面的具体和独特的方式。
所以很明显,我们需要2个表图片,应用程序和一个结表以显示MM的关系,尽可能多的图片可以在许多应用中 - 见下:
我强调在红色的“CONFIG_TABLE”列 - 我有一个非常强烈的怀疑,这是不好的,非常非常糟糕。据显示,对于paricular应用程序,这是存储在设置的配置表见下:
所以 - 有非常speicific应用程序的配置适用于图片,这取决于你是什么应用程序谈论。现在假设设计被破坏了,因为我相信它 - 我怎么实际设计数据库来正确地建模? (希望这是有道理的)
告诉我,如果在app表中包含一个包含所有所需PIC_ID的配置表,那么单独的PICTURE_APP表的必要性是什么?你是否也意识到CONFIG_TABLE列明显违反了1NF? – mihsathe
我知道这是明显违规 - 这就是为什么我说它是一个破碎和糟糕的设计。PICTURE_APPLICATION表在那里,因为我想知道什么图片与什么应用程序相关联。 – Vidar
假设在“名称”上有一个唯一的约束,表“应用程序”在5NF。一些有问题的设计决定与标准化无关;这是其中之一。 –