相关疑难解决方法(0)

表设计和类层次结构

希望有人可以通过一个例子或者一些建议的阅读来解释这个问题.我想知道在类层次结构等效之后建模表的最佳设计方法是什么.这可以通过一个例子来描述:

abstract class Card{
    private $_name = '';
    private $_text = '';
}

class MtgCard extends Card{
    private $_manaCost = '';
    private $_power = 0;
    private $_toughness = 0;
    private $_loyalty = 0;
}

class PokemonCard extends Card{
    private $_energyType = '';
    private $_hp = 0;
    private $_retreatCost = 0;
}
Run Code Online (Sandbox Code Playgroud)

现在,在建模表以与此类层次结构同步时,我已经使用了非常类似的东西:

TABLE Card
  id            INT, AUTO_INCREMENT, PK
  name          VARCHAR(255)
  text          TEXT

TABLE MtgCard
  id            INT, AUTO_INCREMENT, PK
  card_id       INT, FK(card.id)
  manacost      VARCHAR(32)
  power         INT
  toughness     INT
  loyalty …
Run Code Online (Sandbox Code Playgroud)

language-agnostic orm database-design class-hierarchy

2
推荐指数
1
解决办法
675
查看次数