2017-04-30 79 views
0

我對數據庫設計比較陌生,並且很難在SSAS表格模型中引入多對多關係。多對多數據庫關係設計 - 啓用Word雲

我在一個表中有一些'WordGroup'性能數據,就像這樣;

WordGroup | IndexedVolume 
Dining | 1,000 
Sports | 2,000 
Movies | 1,600 
... and so on 

然後我在這些'WordGroups'中包含的'Words'包含在另一個類別表中,就像這樣;

WordGroup | Word 
Dining | Restaurant 
Dining | Food 
Dining | Dinner 
Sports | Football 
Sports | Basketball 
... and so on 

我看不到的性能數據(IndexedVolume)由「字」的細節 - 它是包含在僅由「WordGroup」。例如上面,我不能單獨看'Football'IndexedVolume,我只能選擇包含Football的'Sports'WordGroup。

但是,當通過'WordGroup'進行分析時,我仍然希望用戶瞭解'Words'是否包含在內(理想情況是在Word Cloud Visualization中)。因此,我想在這兩個表格之間建立一種關係,所以當有人選擇一個詞組(或多個)時,我們可以返回詞組中包含的詞 - 即下面的詞。

User selects Dining WordGroup 
<<<Word Cloud or Flat Table would show Words below>>> 
Restaurant 
Food 
Dinner 

我看着串聯/串等等,但被阻止這裏的細節要複雜得多,並且每個WordGroup可能包含10+詞,用翻譯。

任何意見將不勝感激!

回答

0

如果通過而分析是WordGroup一個強制性的要求,你sholud使用這些表: enter image description here

的許多一對多aplies怎麼一回事,因爲你的話,可以向conected一個或多個組,例如樹被連接到環境,森林等 顯然,一個word_group被連接到許多單詞。 要通過Word中使用看性能數據:

select w.idword , w.name, sum(wg.index_volume) 
from word w 
left join word_group_has_word wgw 
on w.idword=wgw.word_id 
left join word_group wg 
on wg.idword_group=wgw.word_group_id 

group by w.idword 

所以你會看到conected的話所有group_words的所有索引量的總和。如果你想看到單詞組的單詞使用:

select distinct w.idword , w.name 
    from word w 
    left join word_group_has_word wgw 
    on w.idword=wgw.word_id 
    where wgw.word_group_id in [listWordGroupsId]