【发布时间】:2014-03-24 08:54:08
【问题描述】:
我目前正在开发应用程序后端(业务目录)。主要“演员”是一个“条目”,它将具有:
- main category
- subcategory
- tags (instead of unlimited sub-levels of division)
我对 OOP 还很陌生,但我仍然想在这里使用它。数据库是 MySql,我将使用 PDO。
为了弄清楚我应该使用什么数据库表结构来支持上述条目分类,我正在考虑 Wordpress 使用的一种解决方案 - 通过几个表在条目和猫/子猫/标签之间建立关系(术语、分类法、关系)。目前使我无法使用此解决方案的原因是,任何类型的每种关系都由关系表中的一行表示。鉴于我将拥有 50,000 个条目,附加到特定条目:主猫、子猫和多达 15 个标签可能会减慢应用程序的速度(或者我错了)?
然后我了解了一些关于表数据网关的知识,这似乎是一个很好的解决方案,因为我喜欢每个班级有一个表的想法,但后来我读到几乎没有办法成功解决 OOP 和关系之间的阻抗不匹配问题——映射。
还有其他您认为适合这种情况的方法吗?我想我会选择:
- 混合酒
- tbl 类别
- tbl 子类别
- tbltag
结构。关系将基于父 ID,但我想知道这是否足够?我可以在这里使用外键和级联删除选项吗(这是我不太熟悉的东西,在我看来这是一种更直观的在表中的元素之间建立关系的方式)?
【问题讨论】:
标签: php oop orm pdo datamapper