0

実際の例として、ポケモンの要素を SQL でモデル化することを考えてみましょう。

1 つの要素には多くの長所と短所がありますが、それら自体も型要素です。データベースでそれをどのようにモデル化しますか?

解決策は、多対多の関係でテーブルを結合するように機能する、おそらく element_strength と element_weakness の追加の 2 つのテーブルを作成することだと思います。これは正しいですか?

4

1 に答える 1

1

はい、それだけですが、単純化できます。

テーブル要素 名前

テーブルの弱点 idElement |idElementStrongAgainst

強さの表を追加する必要はありません。別の列に入力されている弱さの表を見るだけです。

だからあなたがする水の強みを見つけるために

SELECT strVS.Name 
FROM Element AS el
JOIN Weakness on el.idElement = Weakness.idElement
JOIN Element As strVS on weakness.idElementStrongAgainst= strVS.idElement
WHERE el.Name = 'water'

そして弱点を見つけるために:

SELECT weakVS.Name 
FROM Element AS el
JOIN Weakness on el.idElement = Weakness.idElementStrongAgainst
JOIN Element As weakVS on weakness.idElement = weakVS.idElement
WHERE el.Name = 'water'
于 2013-08-23T12:14:43.207 に答える