跳至主要內容

資料表群組

資料表群組是在 ERD 畫布上繪製於相關資料表後方、具有名稱和顏色的方框,用來表示哪些資料表屬於同一組。
一個資料表最多只屬於一個群組。群組會隨圖表一起儲存,每個資料表所屬的群組也會一併儲存。

方框頂端有一條標題列,其中包含群組圖示、以粗體顯示的群組名稱,以及在指標停留在群組上時出現、可將其移除的 x,請參閱移除群組。沒有名稱的群組會顯示 unnamed,名稱太長而無法完整放入標題列時,會以 … 截斷。
方框一定會容納其資料表:方框會保持被設定的大小,但會自動延展,讓每個資料表都位於方框內,四周保留 24px 的空間,上方則保留標題列。資料表變大時,方框會隨之延展;將資料表放置在靠近邊緣處、而其中心仍在方框內時也是如此。拖曳資料表期間,方框既不會變大也不會縮小。延展的大小不會被儲存:一旦資料表不再需要該空間,方框就會恢復為自身的大小。

群組會繪製在畫布上所有其他項目的後方:包括資料表、備忘錄和關聯線。
群組彼此重疊時,最後按下或最後新增的群組會繪製在前面,且任何群組的主體都不會遮住其他群組的標題列。此順序不會被儲存,因此重新開啟的圖表會依群組新增的順序堆疊群組。
群組會顯示在 ERD 畫布、小地圖和匯出的圖片中,物件總管也會列出群組,請參閱前往群組。「視覺化」索引標籤在兩種模式下都不會繪製群組,也不會顯示群組顏色。

程式碼代理程式也可以建立和變更群組,並讀取指定群組的 DDL,請參閱 MCP 工具中的資料表群組。

使用 ⌥ + G 進入群組繪製狀態,在 orders 和 payments 上方繪製群組,將其命名為 Billing,把 order_items 放入其中,然後移動群組並調整其大小

建立群組​

建立群組有兩種方式,各有一個快速鍵。在唯讀編輯器中或群組被隱藏期間,兩種方式都不會提供,此時其快速鍵也不會有任何作用。
與其他畫布快速鍵一樣,這些快速鍵只在 ERD 索引標籤中有效,並且在編輯儲存格、備忘錄或群組名稱期間會暫時停用,請參閱快速鍵。

繪製群組​

按一下畫布工具列上的 New Table Group 按鈕、按 Alt + G (Windows/Linux) 或 ⌥ + G (Mac),或者從畫布的右鍵選單(位於 New Table 和 New Memo 之後)或 ERD 索引標籤的快速搜尋中選擇 New Table Group。然後在畫布上拖曳出一個方框。
按鈕和快速鍵會切換繪製狀態,因此處於繪製狀態時按下其中任一個,無論繪製是如何開始的,都會結束繪製;右鍵選單的項目和快速搜尋只會開始繪製。開始繪製會關閉手形工具,並取消正在繪製的關聯。
處於繪製狀態時,游標會顯示為十字游標,且無論在何處按下,即使是在資料表上,都會從該處開始繪製方框,而不會選取或移動其下方的項目。此時畫布工具列會標示其 New Table Group 按鈕,而不標示手形工具或指標。

放開後會以該方框新增一個群組,無論拖曳距離多短,群組都不會小於寬 160px、高 100px(含標題列)。按一下而不拖曳時,會新增一個寬 480px、高 320px 的群組,其左上角位於按一下的位置。
不屬於任何群組、且中心位於新方框內的每個資料表都會加入該群組。已屬於其他群組的資料表則會留在原群組中。

滑鼠中鍵仍可平移畫布,且不會結束繪製狀態。以下操作會結束繪製,而不新增群組:

  • 在按下之前或拖曳期間按 Escape,或按 Alt + G (Windows/Linux) 或 ⌥ + G (Mac)。在按下之前,這些按鍵會保持選取範圍不變;開始繪製方框的那次按下則已清除選取範圍。
  • 按滑鼠右鍵,這會清除選取範圍。不會開啟右鍵選單。
  • 使用 Space 或畫布工具列切換至手形工具、按一下工具列的指標或其 New Table Group 按鈕,或開始繪製關聯。
  • 切換至其他索引標籤、隱藏群組,或編輯器變為唯讀。

將所選資料表組成群組​

選取一個或多個資料表,然後先按 T 再按 G,或從資料表的右鍵選單中選擇 Group selected tables,或從快速搜尋中選擇 Group Selected Tables,快速搜尋會在有資料表被選取時列出此項目。
新群組會圍繞所選資料表繪製,四周各保留 24px 的空間,上方則保留標題列。每個所選資料表都會離開原本所屬的群組並加入新群組,而原本的群組即使已變成空的,仍會保留。選取範圍中的備忘錄會被略過。

先按 T 再按 G 是兩次不帶輔助按鍵的按鍵,G 須在按 T 後一秒內按下。未選取任何資料表時不會有任何作用,而在輸入框中(例如物件總管的「尋找」輸入框),則會輸入這兩個字母。

先按 T 再按 G,將 categories 和 products 組成群組,將群組命名為 Catalog,再從其選單將其設為紫羅蘭色,讓兩個表頭都套用該顏色

無論使用哪種方式,新群組都沒有名稱和顏色。新群組會單獨被選取,其名稱輸入框會在標題列上開啟,以便立即輸入名稱,請參閱為群組命名。
群組與其納入的資料表算作一個復原步驟,輸入的名稱則算作另一個步驟。

為群組命名​

群組名稱是在其標題列上開啟的輸入框中編輯。建立群組後,此輸入框會自動開啟;在標題列上按兩下,或從群組的右鍵選單中選擇 Rename,也會開啟此輸入框。
按 Enter 或按一下其他位置即可儲存名稱。Escape 會關閉輸入框而不變更名稱,並讓群組保持選取狀態,再按一次 Escape 則會清除選取範圍。
變更名稱算作一個復原步驟;未變更名稱就儲存則不會記錄任何步驟。空的或只含空白字元的名稱會顯示為 unnamed。
輸入框開啟期間,畫布快速鍵會暫時停用,快速搜尋和 Toggle Explorer 的快速鍵也不會有任何作用,與編輯資料表儲存格時相同。

群組顯示期間,尋找與取代會在 Table group names 下搜尋群組名稱,其 Replace 和 Replace All 也會重新命名群組,請參閱取代。快速搜尋不會搜尋群組名稱。

為群組設定顏色​

從群組的右鍵選單中選擇 Color,即可以群組目前的顏色開啟顏色選擇器。
與資料表和備忘錄一樣,顏色選擇器會為所有選取的資料表、備忘錄和群組設定顏色,而選單中的 Remove color 或選擇器的 No color 會移除它們全部的顏色,請參閱設定資料表與備忘錄的顏色。群組的顏色也會出現在選擇器的 Document colors 中。

設有顏色的群組會以該顏色繪製標題列和外框,並以該顏色的淡色調繪製主體。沒有顏色的群組會使用佈景主題的中性灰色調。
在設有顏色的群組中,每個資料表的整個表頭都會套用群組的顏色,左側邊緣則保留資料表自身的顏色,因此兩種顏色都看得到。
這類表頭上的文字和按鈕會變成白色,若顏色較淺、黑色明顯更易閱讀,則會變成黑色;群組標題列上的名稱、圖示和 x 也是如此。在選擇器的預設色塊中,Orange、Amber、Yellow 和 Lime 使用黑色,其餘則使用白色。
群組沒有顏色時、群組被隱藏時、縮放比例為 70% 及以下而資料表收合為只顯示名稱時,以及在「視覺化」索引標籤中,資料表都會保留自身的表頭。

與資料表和備忘錄一樣,顏色變更會記錄在復原歷程記錄中。

選取群組​

按一下群組的標題列即可單獨選取該群組,或使用 Ctrl + click (Windows/Linux) 或 ⌘ + click (Mac) 將其加入選取範圍。
在已選取之群組的標題列上按下時,會保留整個選取範圍,因此接著拖曳會移動選取範圍中的所有項目。
在標題列上按下,或在群組上按滑鼠右鍵,會將該群組移到其他群組前面,並將其資料表移到所有其他資料表和備忘錄前面。

主體(也就是標題列下方的區域)對滑鼠左鍵而言就是畫布:拖曳主體會平移畫布,Ctrl + drag (Windows/Linux) 或 ⌘ + drag (Mac) 會繪製選取框,按一下則會清除選取範圍。主體上方的資料表、備忘錄和關聯線會照常回應指標。

選取框只有在包住群組的整個方框時才會選取群組,因此在群組內繪製的選取框只會選取資料表,而不會選取群組,請參閱多重選取。
Ctrl + A (Windows/Linux) 或 ⌘ + A (Mac) 永遠不會選取群組。

群組右鍵選單中的 Select tables 會將選取範圍替換為群組的資料表,而不包括群組本身,因此下一個命令只會作用於這些資料表。
在執行只作用於資料表的命令之前使用此項目,例如會略過已選取群組的複製或聚焦資料表。

已選取群組的外框會變成選取色。在協作工作階段中,其他參與者選取的群組會以該參與者的顏色顯示外框。

前往群組​

物件總管會在其 Table Groups 資料夾中依名稱列出群組,每個群組下方列出其資料表。快速搜尋不會列出群組。

選擇物件總管中的群組列、群組名稱中的尋找與取代相符項目,或差異檢視器清單中的群組列,即可前往該群組。
這會將群組的方框捲動到可見範圍內,若方框比畫布還高,則以標題列為準,請參閱跳至目標時的落點。接著會單獨選取該群組,並將其連同其資料表一起移到最前面,就像在其標題列上按下一樣。
群組被隱藏期間,或群組已被移除後,前往該群組不會有任何作用。
在差異檢視器中,每一側只有在其自身的文件包含且顯示該群組時,才會前往該群組,請參閱前往變更。

移動群組與調整群組大小​

拖曳群組的標題列,即可將群組連同其所有資料表一起移動。
若群組是較大選取範圍的一部分,整個選取範圍都會隨之移動,而同時被選取且屬於該群組的資料表只會移動一次。
指標移動一小段距離後才會開始拖曳,因此在標題列上按一下或按兩下仍會被視為按一下。在標題列上使用 Alt + drag 會像一般拖曳一樣移動群組;永遠不會建立群組的副本。
此移動連同其帶動的所有資料表,算作一個復原步驟。

單獨拖曳資料表只會移動該資料表,並可將其移入或移出群組,請參閱加入與移出資料表。

與備忘錄一樣,每個群組無論是否被選取,四個邊和四個角都有調整大小控點。
以滑鼠左鍵拖曳控點:方框會跟隨指標,放開時會儲存新的大小,算作一個復原步驟。
群組無法縮小到小於寬 160px、高 100px,也無法小於其資料表加上 24px 空間和標題列的範圍。無論指標移動多遠,邊緣都會停在該處。

加入與移出資料表​

資料表會依放置的位置加入或離開群組。
拖曳資料表並放開時,每個被拖曳但並非由已選取群組帶動的資料表,都會依其中心判定。資料表會加入方框包含其中心的最上層群組;若其中心不在任何群組的方框內,則會離開所屬群組。最上層群組就是繪製在最前面的群組。
拖曳時未被移動的群組會保留拖曳開始時的方框,因此在所屬群組內稍微移動的資料表會留在該群組中,必須拖曳到其中心位於該方框外,才會離開群組。
拖曳期間,放開時資料表將加入的每個群組都會以外框標示。

若在最後一次移動後約 200ms 內放開,群組的變更會包含在拖曳的復原步驟中,因此復原一次就會讓資料表回到原本的位置和原本所屬的群組。若放開前停頓較久,群組的變更則會成為獨立的步驟,請參閱一次操作,一個步驟。
按一下或拖曳數個像素不會變更任何群組,而群組被隱藏期間,任何資料表都不會變更群組。

變更群組所包含資料表的其他方式:

  • 資料表右鍵選單中的 Remove from group 會將每個所選資料表移出其所屬群組。此項目會在所選資料表屬於某個群組時顯示,即使群組被隱藏期間也會顯示,並算作一個復原步驟。
  • Group selected tables 會將所選資料表移入新群組,請參閱將所選資料表組成群組。
  • 移除群組後,其資料表將不屬於任何群組。

貼上或使用 Alt 建立副本的資料表不屬於任何群組,即使它落在群組的方框內也是如此。之後拖曳該資料表時,會套用放置規則。

移除群組​

移除群組絕不會移除其資料表:資料表會留在原處,且不屬於任何群組。

  • 指標停留在群組上時,標題列末端會顯示 x,它只會移除該群組。
  • 群組右鍵選單中的 Delete 會移除該群組。當群組是多個已選取項目之一時,此項目會顯示為 Delete selected,並移除所有選取的項目:資料表、備忘錄和群組。
  • 選取群組時,Delete 或 Backspace 會移除所選群組以及任何已選取的資料表和備忘錄,Ctrl + Backspace 和 Ctrl + Delete (Windows/Linux) 或 ⌘ + Backspace 和 ⌘ + Delete (Mac) 也是如此,請參閱刪除資料表與備忘錄。

每次移除都算作一個復原步驟,復原後群組會連同其資料表一起恢復。

群組選單​

在群組的標題列、主體或邊緣按滑鼠右鍵,即可開啟其選單。在 Mac 上,Ctrl + click 也可以開啟選單,在觸控螢幕上長按也可以。
按滑鼠右鍵時會先選取群組,除非群組已在選取範圍中,否則只會單獨選取該群組,因此只有在群組原本就位於選取範圍中時,Color 和 Delete selected 才會作用於選取範圍中的其他項目。

  • Select tables:只選取群組的資料表,請參閱選取群組。
  • Rename:開啟名稱輸入框,請參閱為群組命名。
  • Color:開啟顏色選擇器,請參閱為群組設定顏色。
  • Remove color:在選取的項目中有任何項目設有顏色時顯示。
  • Delete,或在群組是多個已選取項目之一時顯示為 Delete selected,右側會顯示 Delete 鍵,請參閱移除群組。

資料表的右鍵選單會在 Color 和 Remove color 之後、Delete 項目之前加入 Group selected tables 和 Remove from group,畫布的右鍵選單則會加入 New Table Group。
Group selected tables 的右側會顯示其按鍵(先按 T 再按 G),New Table Group 則會顯示 Alt + G (Windows/Linux) 或 ⌥ + G (Mac)。

隱藏群組​

畫布右鍵選單中的 View Option → Table Groups 會顯示或隱藏所有群組。此項目預設為勾選,請參閱資料表檢視選項。
取消勾選後,群組方框和資料表表頭上的群組顏色會從畫布、小地圖和匯出的圖片中消失,捲軸和小地圖也不再為群組保留空間。沒有任何項目會移動或調整大小,所有資料表都會留在其所屬群組中。
隱藏群組會取消選取群組、結束 New Table Group 的繪製,並關閉已開啟的名稱輸入框。

群組被隱藏期間:

  • 選單中不會提供 New Table Group 和 Group selected tables,快速搜尋中也不會提供 New Table Group 和 Group Selected Tables,畫布工具列也會省略其 New Table Group 按鈕。Remove from group 仍會提供。
  • Alt + G (Windows/Linux) 或 ⌥ + G (Mac),以及先按 T 再按 G,都不會有任何作用。
  • 拖曳資料表不會變更任何群組,選取框也不會選取任何群組。
  • 物件總管會省略其 Table Groups 資料夾,即使開啟了 Table group names,尋找與取代也不會尋找或取代群組名稱。
  • 自動版面配置仍會讓各群組的資料表保持在一起,「結構描述 SQL」索引標籤仍會提供可供選擇的群組,DBML 仍會寫出群組,匯入並加入仍會將內容放置在隱藏的方框下方。

與其他檢視選項的切換按鈕一樣,此選擇會儲存在文件中,並記錄在復原歷程記錄中。

自動版面配置​

無論群組是否顯示,每一種自動版面配置都會讓各群組的資料表保持在一起。

  • Force 會將每個群組連同其資料表當作一個方框移動,資料表在方框內保持原本的位置,並讓每個群組的方框與其他群組和不屬於任何群組的資料表至少相距 100px。預覽會在每個群組即將移至的位置顯示該群組。
  • Flow、Tree - vertical 和 Tree - horizontal 會在群組內配置各群組的資料表,並依群組之間的關聯排列群組,不屬於任何群組的資料表則配置在群組周圍。

之後,每個包含資料表的群組都會調整為符合其資料表:群組的方框會變成資料表的範圍加上 24px 的空間和標題列。不含資料表的群組會保持其位置和大小。
資料表和群組的排列結果算作一個復原步驟。

無論資料表排列在何處,DBML 匯入也會以相同方式讓每個群組符合其資料表,請參閱 DBML。

依群組產生結構描述 SQL​

在「結構描述 SQL」索引標籤中,可以只寫出所選群組的資料表。
只要文件中有群組(無論顯示或隱藏),此索引標籤的選項面板就會在 This window only 下方顯示 Tables 列,其中有 All 的核取方塊、每個群組各一個核取方塊,以及代表不屬於任何群組之資料表的 No group 核取方塊,請參閱資料表。
此選擇屬於編輯器視窗,不會儲存在文件中。

匯入、匯出與複製​

  • DBML 在匯入和產生時都會保留群組。DBML 匯入會將每個 TableGroup 區塊轉換為群組(請參閱 DBML),而程式碼產生器的 DBML 會為每個包含資料表的群組寫出一個 TableGroup 區塊,請參閱程式碼產生器。
  • JSON 檔案會保留其群組。其他格式都不會保留群組:SQL、GraphQL 和 AML 匯入不會帶入任何群組,結構描述 SQL 和程式碼產生器的其他目標也不會寫出任何群組。
  • 匯入並加入會將檔案中的群組匯入為包含其資料表的新群組,並在群組顯示期間將這些群組與新資料表一併選取,因此拖曳新加入的整批項目時,會一併帶動其群組。
  • 匯出的圖片會將顯示中的群組繪製在資料表後方,並在資料表表頭上套用群組顏色。
  • 複製和貼上,或使用 Alt 建立副本,都絕不會複製群組,請參閱複製/貼上資料表與備忘錄和加入與移出資料表。

唯讀編輯器​

在 readonly 編輯器中,群組會照常繪製並列在物件總管中,也可以選取和前往,但無法變更:

  • 在標題列上按下會選取群組,但不會移動任何項目。沒有調整大小控點,也沒有 x。
  • 在標題列上按兩下不會開啟名稱輸入框,群組選單中只有 Select tables。
  • 畫布選單中沒有 New Table Group,資料表選單中沒有 Group selected tables 或 Remove from group,快速搜尋也不會列出這兩個群組命令。編輯器變為唯讀時,New Table Group 的繪製會結束。
  • 畫布工具列不會顯示任何新增按鈕(包括 New Table Group),Alt + G (Windows/Linux) 或 ⌥ + G (Mac),以及先按 T 再按 G,都不會有任何作用。
  • 與所有檢視選項一樣,Table Groups 檢視選項不會變更任何內容。
  • 「結構描述 SQL」索引標籤的 Tables 選擇仍可正常運作。