有沒有一種工具可以與SQL Server一起使用來從分層數據模型生成樹狀圖?什麼工具從SQL Server分層數據生成圖表?
我正在處理一個很大的地理層次結構,並希望將其可視化。
這裏是一個例子。
我有一個NodeHierarchy表,存儲節點之間的層次關係。表中的每一行代表一個節點。除了一個節點之外,每個節點都有一個父節點如果層次結構沒有父節點,則爲根節點。
這是我如何創建我的表:
CREATE DATABASE HierarchyTest;
GO
USE HierarchyTest;
GO
CREATE TABLE NodeHierarchy (
PK_NodeID INT NOT NULL
CONSTRAINT PK_NodeHierarchy PRIMARY KEY,
FK_ParentNodeID INT NULL
CONSTRAINT FK_NodeHierarchy_NodeHierarchy FOREIGN KEY
REFERENCES NodeHierarchy(PK_NodeID),
Name NVARCHAR(255) NOT NULL
);
我有蘇格蘭城市和場館的例子層次結構。蘇格蘭是層級的根源。蘇格蘭的後裔是城市和場地。在這個hiearchy中,父母'包含'一個孩子,所以我們說例如「巴羅蘭在格拉斯哥,格拉斯哥在蘇格蘭」。
此語句填充NodeHierachy表eample數據:
輸出SELECT * FROM NodeHierarchy;
的
INSERT INTO NodeHierarchy(PK_NodeID, FK_ParentNodeID, Name)
VALUES
(1, NULL, N'Scotland'),
(2, 1, N'Glasgow'),
(3, 1, N'Edinburgh'),
(4, 1, N'St Andrews'),
(5, 2, N'The Barrowlands'),
(6, 2, N'The Cathouse'),
(7, 2, N'Carling Academy'),
(8, 2, N'SECC'),
(9, 2, N'King Tut''s Wah-Wah Hut'),
(10, 3, N'Henry''s Cellar Bar'),
(11, 3, N'The Bongo Club'),
(12, 3, N'Sneaky Pete''s'),
(13, 3, N'The Picture House'),
(14, 3, N'Potterrow'),
(15, 4, N'Aikman''s'),
(16, 4, N'The Union'),
(17, 4, N'Castle Sands');
:
PK_NodeID FK_ParentNodeID Name
----------- --------------- ---------------------------------
1 NULL Scotland
2 1 Glasgow
3 1 Edinburgh
4 1 St Andrews
5 2 The Barrowlands
6 2 The Cathouse
7 2 Carling Academy
8 2 SECC
9 2 King Tut's Wah-Wah Hut
10 3 Henry's Cellar Bar
11 3 The Bongo Club
12 3 Sneaky Pete's
13 3 The Picture House
14 3 Potterrow
15 4 Aikman's
16 4 The Union
17 4 Castle Sands
(17 row(s) affected)
在Freemind我編這相當於圖:
什麼工具可以做這對我來說至少需要手動的努力?
編輯:本來我說,我想以可視化的層次結構的「全部或部分」。這裏發佈的解決方案無條件地顯示整個層次結構。這對於小示例層次結構來說很好,但對於較大的示例層次結構來說,可能只是對其中的一部分進行可視化更爲有用。
因爲我沒有詳細說明我的「部分」是什麼意思,所以我從這個問題中刪除了這個。我在another question中詢問了部分可視化。
+1這是一個很好的問題。我也想知道答案。 –
+1我真的很喜歡你已經包含'CREATE DATABASE'和'INSERT',這樣我就可以剪切和粘貼了! –
謝謝,柯克。這是'短暫的,獨立的,正確的,可編輯的例子'的精神:http://sscce.org/。 –