簡體   English   中英

如何在SQL中為自引用實體建模

[英]How to Model self-referential Entities in SQL

對於一個實際的例子,讓我們考慮嘗試在SQL中為Pokemon元素建模。

一個元素有很多優點和缺點,但它們本身也是類型元素。 您將如何在數據庫中建模?

我相信解決方案將是創建額外的2個表,也許是element_strength和element_weakness,它們的工作方式類似於以多對多關系聯接表。 這是正確的嗎?

是的,就是這樣,但是您可以簡化:

表格元素idElement | 名稱

表弱度idRow | 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'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM