Database design 用于从多个提供者导入数据的DB设计?

Database design 用于从多个提供者导入数据的DB设计?,database-design,feed,Database Design,Feed,我必须建立一个新闻数据库,有可能从许多不同的提供商那里获取新闻,并将其显示在我们的网站上。现在我在想,我应该想出它在我们的网站上的外观,我们将显示的字段,然后当一个新的提供商出现时,正确的脚本将解析他们的数据到我们的格式。这是最好的,还是我应该精确复制他们的数据,然后根据提供程序显示更多或更少的数据(逻辑检查)?当然,我倾向于第一种选择,但我想确保我没有发疯。我会确保我网站的代码和数据结构是我自己的 在何处、何时以及如何将每个提供者的数据转换为您自己的逻辑/数据结构是一个选择问题。您可以将其存储

我必须建立一个新闻数据库,有可能从许多不同的提供商那里获取新闻,并将其显示在我们的网站上。现在我在想,我应该想出它在我们的网站上的外观,我们将显示的字段,然后当一个新的提供商出现时,正确的脚本将解析他们的数据到我们的格式。这是最好的,还是我应该精确复制他们的数据,然后根据提供程序显示更多或更少的数据(逻辑检查)?当然,我倾向于第一种选择,但我想确保我没有发疯。

我会确保我网站的代码和数据结构是我自己的

在何处、何时以及如何将每个提供者的数据转换为您自己的逻辑/数据结构是一个选择问题。您可以将其存储在特定于提供程序的表中,并使用一个接口或服务动态地将其转换为所需的内容,或者使用一个导入器执行一次转换并将转换后的信息存储在您自己的结构中

无论哪种方式,我都会在自己的类中为每个提供者编写转换/导入逻辑代码,并让每个提供者从一个共同的祖先继承下来,或者让每个提供者实现一个共同的接口。通过这种方式,您可以确保您自己的逻辑和数据结构不受各种新闻提供者的复杂影响

工厂和/或构建器模式在这个场景中也很有用。它们将有助于将您自己的通用导入/转换逻辑与要实例化的类的选择以及为特定新闻提要正确设置该类所需的一切分离开来