学说2和非规范化数据库

时间:2015-11-16 16:45:47

标签: php doctrine-orm

我正在研究Doctrine 2中我正在研究的项目并提出一些问题。我将要处理的数据库没有规范化,我无法改变它。此数据库甚至不强制引用完整性。在这种情况下,Doctrine 2是否可行?另外我担心如果对数据库进行了更改,如果我不生成doctrine数据库模式,应用程序是否会中断。

  • 当使用去规范化时,学说是一种可行的技术 数据库?
  • 更改表格时必须更改实体 依赖于(IE:添加字段)?
  • 每当更改实体时,是否必须为doctrine生成数据库模式?

1 个答案:

答案 0 :(得分:1)

在我工作的项目中,需要有几个非规范化表来提高性能。我使用了教条,它运作正常。所以回答你的问题:

  • 是的,Doctrine可以使用这样的数据库。没有任何限制它。
  • 您可以添加保持数据库完整性的订阅。例如,您在表Product中进行了更改。通过这样做,需要在StoreProduct表中更改价格。因此,您可以创建trackProductChangeSubscriber来检测Product中的更改并执行StoreProduct中所需的更改。其他选项是,如果您需要更改相关表中的数据,则可以在实体中轻松使用PersistentCollection来更改相关表。
  • 不确定我明白你的意思。在对数据库结构进行更改之前,架构已配置一次并保持不变。更改表中的数据时,无需更改架构。

我希望我已经回答了你的问题。