0
的數據是這樣的:存儲無序對在SQL數據庫更好的辦法
無序對(x,y)
(兩處)+值(這兩個位置之間的距離)
A B 4
A C 13
B C 1
我的問題是什麼把這個保存在SQL數據庫中的最好方法是什麼?我可以保持原樣(未排序)。然後,如果我想確定距離數據庫的每個其他位置的B點有多遠(換句話說,每個包含B的對的值),我需要查看兩列(讓我們假設他們的名字是x
和y
)。
select *
from table
where x = B or y = B
在另一方面,如果我把這個像這樣:
A B 4
A C 13
B A 4
B C 1
C A 13
C B 1
那麼我的查詢是簡單
select *
from table
where x = B
,但數據的大小的兩倍。任何其他想法?任何其他技術(mongodb)?
第一個查詢有什麼問題?你打算使用哪些DBMS? Postgres的?甲骨文? –
你可能想試試用英語問這個問題。第一個和第二個樣本有什麼區別?我沒看到一個。我看到沒有指定爲「X」或「Y」的任何屬性的「X」和「Y」的引用。我還看到一個理論性的例子,讓人們很難理解你面臨的實際問題。在經驗中,很少有人提出一個真正代表他們面臨的真正問題的理論示例。因此他們得到錯誤的解決方案。 –
這兩個樣本沒有區別。兩個樣本代表相同的數據,但方式不同。 – bartektartanus