跳至主要內容

資料表相關功能

資料表與備忘錄建立之後可對其進行的所有操作(選取、移動、複製、刪除、設定顏色,以及設定畫布要顯示的內容),以及圍繞它們的畫布控制項。
首先是資料表與備忘錄的命令;接著是資料表屬性、聚焦資料表、索引與替代鍵、自動版面配置和資料庫廠商;最後是畫布本身:畫布工具列、縮放、平移與跳至目標時的落點,以及差異檢視器。
資料表群組(收納資料表的方框)有專屬的頁面,請參閱資料表群組。

多重選取​

支援三種方式:

  • Ctrl + drag (Windows/Linux) 或 ⌘ + drag (Mac)
  • Ctrl + click (Windows/Linux) 或 ⌘ + click (Mac)
  • Ctrl + A 或 Ctrl + Alt + A (Windows/Linux),⌘ + A 或 ⌘ + ⌥ + A (Mac)

備忘錄的選取方式相同,兩個全選快速鍵都會一次選取所有資料表與備忘錄。以 View Option → Memos 隱藏的備忘錄不會被全選,也不會被選取框選取,請參閱資料表檢視選項。
在資料表群組的標題列上使用 Ctrl + click (Windows/Linux) 或 ⌘ + click (Mac),即可將其加入選取範圍,但全選從不會選取任何資料表群組。
Ctrl + A 會讓位給插入點,因此在編輯儲存格時,它選取的是文字而不是圖表。
選取框涵蓋資料表或備忘錄的中央時才會將其選取,只碰到邊緣時則不會。選取框只有在圍住資料表群組的整個方框時才會選取該群組,因此在群組內繪製的選取框只會選出其中的資料表,而不包含群組本身。
在已選取的項目上按滑鼠右鍵會保留整個選取範圍,因此 Color、Group selected tables 和 Delete selected 等選單項目會作用於整個選取範圍。在其他任何資料表、備忘錄或資料表群組上按滑鼠右鍵,即使按住 Ctrl 或 ⌘,也只會選取該項目;在關聯或空白畫布上按滑鼠右鍵則會清除選取範圍。
Escape 會清除選取範圍。在儲存格、備忘錄或資料表群組名稱的編輯器開啟時,或正在繪製關聯或 New Table Group 時,第一次按 Escape 會結束該操作,第二次則會清除選取範圍。

以 ⌘ + drag 和 ⌘ + click 選取資料表,再以 ⌘ + A 選取所有資料表與備忘錄

在協作工作階段中,每位參與者的選取範圍、焦點儲存格和選取框都會以該參與者的顏色繪製在畫布上,請參閱協作編輯。

移動多個資料表​

拖曳已在選取範圍內的任何資料表或備忘錄,整個選取範圍就會隨之移動,不需要按任何輔助按鍵。
拖曳選取範圍以外的項目時,選取範圍會縮減為該項目,並只移動該項目。無論哪種情況,Ctrl + drag (Windows/Linux) 或 ⌘ + drag (Mac) 都會保留選取範圍。
只有滑鼠左鍵能移動資料表與備忘錄。按滑鼠右鍵只會決定右鍵選單的作用對象,不會移動任何項目;以中鍵拖曳則會改為平移畫布,請參閱瀏覽畫布。

拖曳兩個已選取資料表的其中一個時兩者會一起移動,關聯也隨之移動

已選取的資料表群組也會連同其中的資料表一起移動;既已選取又位於移動中群組內的資料表只會移動一次。
資料表的放置位置可能會將其移入或移出群組,請參閱加入與移出資料表。

資料表與備忘錄共用同一個堆疊順序。以滑鼠左鍵或右鍵按下資料表或備忘錄,會將其移到其他所有資料表與備忘錄的前面;按下資料表群組的標題列,或在其主體上按滑鼠右鍵,則會將群組中的資料表移到最前面。
此順序不會儲存:重新開啟的圖表會依檔案列出的順序堆疊資料表,所有備忘錄都位於資料表之上。

複製/貼上資料表與備忘錄​

複製選取的資料表與備忘錄,並將其貼上為新的資料表與備忘錄。
快速鍵:Ctrl + C (Windows/Linux) 或 ⌘ + C (Mac),Ctrl + V (Windows/Linux) 或 ⌘ + V (Mac)

複製的資料表會保留名稱、註解、欄位和顏色;複製的備忘錄會保留文字、大小和顏色。
索引和關聯也會一併複製:索引會完整複製到複製出的資料表上;關聯則在其連接的兩個資料表都在複製範圍內時,連同其類型以及 ON DELETE 與 ON UPDATE 動作一起複製。只有一半在範圍內的關聯會被捨棄,而不會保留為指回原始資料表的關聯。
貼上的副本會成為新的選取範圍,再次貼上同一份複製內容時,每次都會再偏移 50px,因此重複貼上不會彼此疊在一起。
副本不會保留其資料表群組:貼上的資料表不屬於任何群組,即使它落在群組的方框內也一樣;已選取的群組也不會被複製。
當 View Option → Memos 隱藏備忘錄時,貼上仍會加入其包含的備忘錄,這些備忘錄會保持隱藏且未選取,因此只有貼上的資料表會成為選取範圍。

複製兩個相關聯的資料表並貼上兩次,關聯也包含在內

在焦點資料表中選取了欄位時,相同的快速鍵會改為複製這些欄位,請參閱編輯資料表。

建立資料表與備忘錄的副本​

按住 Alt 並以滑鼠左鍵拖曳資料表或備忘錄。
半透明的預覽會跟著指標移動,放開滑鼠按鍵時,副本會放置在預覽所在的位置。
如果抓取的項目已在選取範圍內,則會為整個選取範圍建立副本。否則選取範圍會被取代為指標下的實體。
Alt + click 而不移動時,會將副本放置在右下方 50px 處,每當該位置已被佔用時就再往外偏移一步。

副本包含的內容與貼上相同:名稱、註解、欄位、顏色、備忘錄大小,以及完全屬於所複製項目的索引和關聯。與貼上一樣,副本不會落入任何資料表群組。
在資料表群組的標題列上使用 Alt + drag,會像一般拖曳一樣移動該群組;永遠不會為群組建立副本。

以 Alt + drag 建立資料表的副本,再以 Alt + click 在右下方建立另一個副本

刪除資料表與備忘錄​

刪除選取的資料表、備忘錄和資料表群組。
快速鍵:

  • Delete 或 Backspace。這兩個按鍵會移除整個選取範圍,但唯一選取的項目是一個資料表、其中有部分欄位被選取,且縮放比例高於 70% 時除外:此時會改為移除這些欄位,請參閱刪除欄位。
  • Ctrl + Backspace 或 Ctrl + Delete (Windows/Linux),⌘ + Backspace 或 ⌘ + Delete (Mac)。即使選取了欄位,這些按鍵也一律會移除選取的資料表、備忘錄和資料表群組。

以 Delete 鍵刪除一個資料表及其關聯,再以備忘錄選單中的 Delete selected 一併刪除一個資料表和一個備忘錄

右鍵選單也能刪除。當資料表或備忘錄是兩個或更多選取項目之一時,其選單的最後一個項目會顯示 Delete selected,並移除整個選取範圍。否則會顯示 Delete,並只移除該資料表或備忘錄。在已選取欄位的列上,資料表的選單會改為顯示 Delete column 或 Delete columns,如刪除欄位所述。

移除資料表時,其關聯和索引也會一併移除。移除資料表群組時會保留其中的資料表,這些資料表將不屬於任何群組,請參閱移除群組。
移除時不會要求確認,每次移除算作一個復原步驟,而在 readonly 編輯器中不會移除任何項目。
按住不放時,Delete 和 Backspace 只會移除一次,而且永遠不會移除關聯,請參閱編輯關聯。在儲存格、備忘錄或任何其他輸入框中輸入時,它們會改為編輯文字。
設定中將這兩個按鍵列為 Delete Selection,請參閱快速鍵。

設定資料表與備忘錄的顏色​

可以指定顏色,以便依類別區分。
資料表的顏色顯示在其左側邊緣,備忘錄的顏色則顯示在其頂端。以滑鼠左鍵按一下該邊緣或色條,或在資料表或備忘錄的右鍵選單中選擇 Color,即可在指標處開啟顏色選擇器。顏色會套用到每個選取的資料表、備忘錄和資料表群組,而不只是按一下的那一個。
資料表群組透過其自身選單中的 Color 設定顏色;位於已設定顏色之群組中的資料表,會在表頭顯示群組的顏色,同時在左側邊緣保留自己的顏色,請參閱為群組設定顏色。

從備忘錄的色條為兩個選取的資料表和該備忘錄挑選預設集中的 Blue,再以 No color 移除顏色

選擇器由上而下包含:

  • 飽和度與亮度區域,接著是色相滑桿,旁邊有顏色的預覽。若瀏覽器提供滴管功能,滑桿前方的滴管按鈕 Pick a color from the screen 可從螢幕上的任何位置擷取顏色。
  • Hex、R、G 和 B 輸入框。Hex 接受 3、4、6 或 8 位十六進位數字,可加或不加 #,也接受貼上的 rgb()、hsl() 或 CSS 顏色名稱。完整的 6 位或 8 位數值會在輸入時立即套用,其他值則在按 Enter 或離開輸入框時套用。R、G 和 B 接受整數,大於 255 的值會視為 255,並在按 Enter 或離開輸入框時套用。選擇器無法解讀的文字會被捨棄。
  • 十六個預設色塊,分為兩列,每列八個:Red、Orange、Amber、Yellow、Lime、Green、Teal、Cyan、Blue、Indigo、Violet、Purple、Pink、Crimson、Brown 和 Gray。將指標停留在色塊上會顯示其十六進位碼。
  • Document colors:文件中的資料表、備忘錄和資料表群組已使用的顏色,最多八種,使用最多的排在最前面。只有在有這類顏色時才會顯示這一列。
  • No color。

顏色一律為不透明:選擇器沒有透明度控制項,輸入或貼上的值所帶的透明度也會被捨棄。
開啟選擇器不會變更任何內容,挑選選取範圍已有的顏色也不會新增復原步驟。

No color 會在一個復原步驟內清除每個選取的資料表、備忘錄和資料表群組的顏色,並關閉選擇器。只要有任何選取的項目帶有顏色,資料表、備忘錄和資料表群組的右鍵選單中 Color 的正下方就會出現 Remove color,其作用相同,但不會開啟選擇器。

選擇器開啟時會取得鍵盤焦點,Tab 和 Shift + Tab 會在其控制項之間循環移動。方向鍵會將區域和色相滑桿移動 1,按住 Shift 時則移動 10,也會在色塊之間逐一移動,並隨之套用每個色塊的顏色。
選擇器取得鍵盤焦點期間,復原與重做、縮放快速鍵、Search 和 Toggle Explorer 仍會作用於編輯器,其他編輯器快速鍵則不會:刪除快速鍵不會移除任何項目,Delete 和 Backspace 只會編輯 Hex、R、G 和 B 輸入框中的文字。
Escape 會關閉選擇器,在選擇器外的畫布上按下也會將其關閉。
在物件總管中按下不算是在畫布上按下,因此選擇器會保持開啟。在物件總管中選擇一列會變更選取範圍,下一次挑選的顏色會套用到新的選取範圍。

資料表檢視選項​

提供下列檢視選項:

  • Table Comment
  • Column Comment
  • DataType
  • Default
  • Not Null
  • Unique
  • Alternate Key
  • Auto Increment
  • Relationship
  • Referential Actions
  • Table Groups
  • Memos

Unique、Alternate Key 和 Auto Increment 預設為關閉,其餘預設為開啟。
Alternate Key 會標示每個替代鍵的欄位,例如 AK1.1,請參閱替代鍵。
Referential Actions 會顯示關聯的 ON DELETE 與 ON UPDATE 動作在其連接線子資料表端加上的 D: 和 U: 標籤,請參閱解讀連接線。關閉此選項只會隱藏這些標籤,不會移動任何資料表或連接線。
Table Groups 會顯示資料表群組,以及群組內資料表表頭上的群組顏色。關閉此選項會在畫布、小地圖和匯出的圖片中隱藏這些內容,不會移動任何資料表,且每個資料表仍留在其群組中,請參閱隱藏群組。此選項也會將 Table Groups 資料夾從物件總管中移除,並將 New Table Group 從畫布工具列上移除,而物件總管的搜尋也不會再找到群組名稱。
Memos 會顯示備忘錄。關閉此選項會在畫布、小地圖和匯出的圖片中隱藏所有備忘錄,不會移動任何資料表或連接線。隱藏的備忘錄不佔空間,因此捲軸、小地圖和 Go to content 指南針都不會將其計入。
隱藏備忘錄時會取消選取它們,並關閉開啟中的備忘錄編輯器。物件總管會移除其 Memos 資料夾,其尋找與取代搜尋和快速搜尋的 : 也不會搜尋備忘錄。備忘錄隱藏期間,New Memo 不會出現在右鍵選單、畫布工具列、快速搜尋和歡迎畫面中,Alt + M 也不會新增備忘錄。貼上或匯入並加入仍會加入其包含的備忘錄,這些備忘錄會保持隱藏且未選取。
在 readonly 編輯器中,這些切換按鈕不會變更任何內容。

切換 View Option 的項目時資料表隨之重新排列,以 Alternate Key 將複合唯一索引標示為 AK1.1 和 AK1.2,再將 Memos 關閉後重新開啟

在「視覺化」索引標籤的 Flow 模式中,卡片不遵循這些選項:卡片使用自己的列顯示,即使 Relationship 關閉也會繪製其連接線。

資料表屬性​

開啟資料表的屬性面板。
從資料表右鍵選單中的 Table Properties 開始,即可為按滑鼠右鍵的資料表開啟面板;或選取一個資料表後按 Alt + Space。
面板會在變暗的畫布中央開啟。只有畫布會變暗,因此已開啟的物件總管仍會在旁邊保持開啟並可使用。其標頭包含 Table Properties 標題、以標籤呈現的五個最近開啟的資料表(目前的資料表會醒目顯示),以及關閉按鈕。按一下標籤即可切換到該資料表,而不需重新開啟面板。
標頭下方有三個索引標籤:Indexes、Schema SQL 和 Code Generator。面板在三個索引標籤中維持同一大小,因此切換索引標籤不會移動面板或改變其大小。
按關閉按鈕、按 Escape,或按一下面板外的畫布,即可關閉面板。
在物件總管中選擇資料夾以外的列,或前往其搜尋的相符項目時,會在跳至目標前關閉「資料表屬性」。Ctrl + F (Windows/Linux) 或 ⌘ + F (Mac) 也是如此,它會開啟物件總管的搜尋,若物件總管已開啟,則會將插入點放入其「尋找」輸入框。在物件總管中按一下其他任何位置(包括資料夾列),或按一下工具列的 Explorer 按鈕,都會讓「資料表屬性」保持開啟。鍵盤焦點在物件總管中時按下的 Escape 只會將鍵盤焦點交還給畫布,因此需要再按一次 Escape 才能關閉「資料表屬性」。

Indexes 索引標籤將在索引中說明。
Schema SQL 索引標籤會顯示該資料表針對所選資料庫的 DDL:其 CREATE TABLE、部分資料庫為其 Unique 欄位另外寫出的條件約束,以及其索引。無論工具列上的「結構描述 SQL」索引標籤如何設定,它一律寫出單純的 CREATE 陳述式,不含標頭,也不含前置或後置指令碼。它沒有選項面板,其右鍵選單只提供 Database 和 Bracket。
Code Generator 索引標籤只會為此資料表產生程式碼,請參閱程式碼產生器。

在 readonly 編輯器中,面板仍會開啟,標題旁會有 Read only 徽章,但其 Indexes 索引標籤不提供任何編輯。

聚焦資料表​

以 Flow 模式開啟「視覺化」索引標籤,並將範圍縮小到所選的資料表,以及與其相隔一個關聯的所有資料表。
從資料表右鍵選單中的 Focus on this table 開始,或選取一或多個資料表後按 Alt + F。
當按滑鼠右鍵的資料表是多個已選取資料表之一時,此項目會顯示 Focus on selected tables,並聚焦整個選取範圍。在選取範圍外的資料表上按滑鼠右鍵,只會聚焦該資料表。
快速鍵會採用選取的資料表,不包含備忘錄,未選取任何資料表時則不會有任何作用。
已選取的資料表群組在此不會被計入,快速鍵和選單項目皆是如此:只有當其資料表本身被選取時才會採用,而群組選單中的 Select tables 正是用來選取它們。
縮小範圍的檢視所顯示的內容,以及如何回到完整的圖表,請參閱視覺化。

索引​

索引在資料表屬性面板的 Indexes 索引標籤中定義,並會包含在匯出的結構描述 SQL 中。

左側分兩組列出資料表的鍵和索引。
Keys 會在資料表有鍵時顯示,列出其欄位所宣告的鍵:先是涵蓋標示為 PK 之欄位的 PK_<table name>,接著依欄位順序,為每個標示為 Unique 的欄位列出 UQ_<table name>_<column name>。名稱遵循所選資料庫的結構描述 SQL,因此當 Bracket 為 None 時,sales.users 這類以結構描述限定的資料表,在 Databricks 和 Snowflake 以外的所有資料庫下都會列出 PK_users,請參閱以結構描述限定的資料表名稱。每個鍵都標有 PK 或 UQ,並附有鎖定圖示。它們在此處為唯讀,只會隨欄位的 PK 和 Unique 旗標而變更。
Indexes 會依新增順序列出資料表的索引。每個索引都有可將其設為唯一的 UQ 切換按鈕、名稱輸入框,以及可將其移除的 x。屬於替代鍵的索引還會顯示其編號,例如 AK1。使用清單底部的 Add Index 即可新增索引。

右側在 Columns 下列出資料表的欄位,每個欄位各有一個核取方塊。在左側選取索引之前,任何項目都無法編輯。
勾選欄位即可將其加入所選索引,取消勾選則會將其移除。選取鍵時會顯示其欄位為已勾選,但核取方塊會維持停用。
所選索引的欄位會列在下方的 Index order 下。按住拖曳控點拖曳即可重新排序,按一下某列上的 ASC 或 DESC 標籤即可切換其排序順序。在替代鍵中,每列的結尾會有其 AK<n>.<m> 標記。此清單一次顯示三列,其餘的需捲動查看。

在 readonly 編輯器中,選取鍵或索引仍會顯示其欄位,但不會有 Add Index 和 x,索引標籤中的其他任何內容也都無法變更。

物件總管會在每個資料表的 Indexes 資料夾中列出該資料表的索引,在其中選擇一個索引即可前往其資料表。其搜尋也能找到索引名稱並加以重新命名,請參閱搜尋範圍。

在 orders 上開啟「資料表屬性」,其 Indexes 索引標籤在索引上方列出 PK 和 UQ 鍵,接著新增涵蓋 member_id 和 ordered_at DESC 的索引,並在 Schema SQL 索引標籤中查看該索引

替代鍵​

替代鍵是涵蓋兩個或更多欄位的唯一索引:也就是 Indexes 索引標籤中開啟了 UQ 切換按鈕,且勾選了資料表中至少兩個欄位的索引。
只涵蓋一個欄位的唯一索引所表達的內容與該欄位的 Unique 旗標無異,因此不算替代鍵;一般索引、主鍵或標示為 Unique 的欄位也都不是替代鍵。

在檢視選項中開啟 Alternate Key 後,圖表會以 erwin 和 IDEF1X 的寫法標示每個替代鍵的欄位:AK1.1、AK1.2,依此類推。此選項預設為關閉。

鍵的編號取決於其欄位在資料表中的位置,而不是索引的新增順序。Index order 中第一個欄位在資料表中位置最高的鍵為 AK1。若位置相同,則由各鍵的下一個欄位決定,而某個鍵若是另一個較長鍵的開頭部分,則排在該較長鍵之前。
在資料表內移動欄位,或重新排序鍵的 Index order,都可能讓鍵重新編號。復原鍵的移除會讓它取回原本的編號,而且每位協作者看到的編號都相同。

鍵的每個欄位都標示為 AK<n>.<m>,其中 n 是鍵的編號,m 是該欄位在鍵的 Index order 中的位置。屬於多個鍵的欄位會帶有所有標記,並以逗號連接。
例如,在具有欄位 a、b 和 c 的資料表中,涵蓋 (c, a) 和 (b, a) 的唯一索引會成為 AK1 = (b, a) 和 AK2 = (c, a),因為 b 位於 c 之上。因此 b 顯示 AK1.1,c 顯示 AK2.1,a 顯示 AK1.2,AK2.2。

標記繪製在該列的最後,位於欄位順序排在最後的儲存格之後。它不是儲存格,因此永遠不會取得焦點、被編輯或被複製,請參閱編輯資料表。
主鍵或外鍵欄位也可以帶有 AK 標記,因為標記不會取代任何內容:列開頭的鑰匙圖示仍會顯示 PK 和 FK,Unique 儲存格也保留其自身的 UQ。
具有替代鍵的資料表會在每列最後一個儲存格之後,保留足以容納其最長標記的空間;沒有替代鍵的資料表則維持原本的寬度。
標記會顯示在 ERD 畫布上(在 70% 及以下收合為只顯示名稱的資料表不會顯示任何標記),也會顯示在圖片匯出中,而圖片匯出無論縮放比例為何,都會完整繪製每個資料表。「視覺化」索引標籤在 Graph 模式下的懸停預覽也會顯示這些標記;Flow 卡片則永遠不會顯示。

無論此選項是否開啟,Indexes 索引標籤都會顯示編號,請參閱索引。

自動版面配置​

自動排列畫布上的所有資料表。
從畫布的右鍵選單或快速搜尋開啟 Auto Layout,並從四種版面配置中選擇一種:

版面配置呈現方式
Force模擬:關聯會將資料表拉近,相鄰的資料表會互相推開,重疊的資料表會分開。
Flow沿著關聯由左至右排列,每條連接線在資料表上都有自己的接觸點。它會盡量減少交叉,但可能留下一些其他版面配置能夠避免的交叉。
Tree - vertical由上而下分層:父資料表位於以外鍵參照它的資料表之上。
Tree - horizontal相同的分層方式,由左至右排列。

Force 會在版面配置逐漸穩定期間開啟預覽,並在其顯示的通知上提供 Apply 和 Cancel。
預覽以版面配置開始時的圖表為範圍取景,因此隨著版面配置逐漸穩定,資料表可能會移出取景範圍。預覽以 70% 或更低的比例繪製,因此其中的資料表會收合為只顯示名稱和顏色邊緣。
Apply 會保留當下的位置,而版面配置一旦靜止下來,也會自動套用。Cancel 或 Escape 會讓圖表維持原狀。

其他三種會在主執行緒之外一次計算完成,因此沒有過程可看:計算版面配置期間會顯示通知,完成的排列會以圖表原本涵蓋的範圍為中心。Cancel 或 Escape 會捨棄不想再等待的版面配置,而未執行 shared worker 的主應用程式會以 Could not place tables 結束,請參閱 Web Worker。在 60 秒內未傳回的版面配置也會以相同方式結束。

無論選擇哪一種,都會移動資料表和資料表群組,備忘錄則維持在原處。從資料表連回自身的關聯會被忽略,相同兩個資料表之間的多個關聯只算一次。
無論群組是否顯示,每種版面配置都會讓各群組的資料表聚在一起,並讓每個含有資料表的群組貼合其資料表,請參閱資料表群組。
結果會成為一筆歷程記錄,因此復原一次就能讓所有資料表和群組回到原本的位置。

從畫布的右鍵選單使用 Flow 自動版面配置整理一堆資料表,資料表會沿著關聯由左至右排列

資料庫​

支援的資料庫包括:

  • Databricks
  • MSSQL
  • MariaDB
  • MySQL
  • Oracle
  • PostgreSQL
  • Snowflake
  • SQLite

可從畫布的右鍵選單、「結構描述 SQL」與「程式碼產生器」索引標籤的選項面板或右鍵選單,或快速搜尋中的 Database 選擇資料庫。這些位置變更的都是同一個設定。

這些選項會決定匯出用的結構描述 SQL 語法、資料類型自動完成,以及產生的程式碼和匯入的結構描述所解析成的類型。
它們決定「結構描述 SQL」索引標籤能寫出哪些 Statements 和 Header 選項。資料庫不支援的選項仍會淡化顯示在選項面板中,而 SQL 會改用該資料庫具備的最接近選項。
它們也決定結構描述 SQL 和程式碼產生器的 ORM 目標會寫出哪些 ON DELETE 與 ON UPDATE 動作,以及關聯選單會將哪些動作標示為 not in <database>,請參閱 ON DELETE 與 ON UPDATE 和程式碼產生器。
結構描述 SQL 匯入會保留欄位的資料類型(包括引數清單),無論編輯器是否列出該類型,例如 TIMESTAMP WITH TIME ZONE、public.mood 或 integer[],請參閱資料類型。資料類型自動完成只會建議所選資料庫列出的類型。

將資料庫切換為 PostgreSQL,再從自動完成中挑選 PostgreSQL 類型

模糊比對的資料類型自動完成,以方向鍵移動,並以 Right、Tab 或 Enter 接受

畫布工具列​

畫布底部邊緣的中央浮現一個小型工具列,由左至右包含作用於畫布本身的工具,以及在畫布上新增內容的命令:

  • 手形工具和指標。預設為指標;手形工具會將每次拖曳都變成平移,無論是在資料表上還是空白處。Space 可在兩者之間切換。New Table Group 處於繪製狀態時,標示的是 New Table Group 按鈕而非兩者之一,此時按一下其中任一個、按 Space,或挑選關聯表示法,都會結束繪製而不新增群組。
  • New Table、New Memo 和 New Table Group。New Table 會像 Alt + N 一樣新增資料表,New Memo 會像 Alt + M 一樣新增備忘錄。New Table Group 會像 Alt + G 一樣進入群組繪製狀態並關閉手形工具;再按一下(如同再按一次 Alt + G)則會結束繪製而不新增群組。當 View Option → Memos 隱藏備忘錄時,New Memo 不會出現;當 View Option → Table Groups 隱藏群組時,New Table Group 不會出現。readonly 編輯器不會顯示這三個按鈕。
  • 縮放:Zoom out、以百分比顯示的目前縮放比例,以及 Zoom in。這兩個按鈕會以與縮放快速鍵相同的方式逐步調整縮放比例,按一下百分比則會將其重設為 100%。
  • 四種關聯表示法,與開始建立關聯時使用的四種相同,請參閱開始編輯。挑選其中一種會切換回指標,因為關聯是透過按一下兩個資料表來繪製的。
  • 禪模式(Alt + Z),會隱藏畫布和此工具列以外的所有內容。再按一次 Alt + Z 或按一下此按鈕,即可恢復其餘內容。已開啟的物件總管會隨其餘內容一起隱藏,但不會被關閉,並會隨其餘內容一起恢復。禪模式期間仍可開啟物件總管,請參閱暫時隱藏的情況。
  • Go to content 指南針,只有在畫面上沒有任何資料表、顯示中的備忘錄或顯示中的資料表群組時,才會出現在工具列的末端,請參閱瀏覽畫布。

每個有快速鍵的按鈕都會在其工具提示中註明快速鍵,例如 New Table (Alt + N) (Windows/Linux) 或 New Table (⌥ + N) (Mac)。
當 Force 自動版面配置預覽、「資料表屬性」、時光旅行或差異檢視器開啟時,工具列會暫時隱藏,並在其關閉後重新出現。

從工具列新增資料表和備忘錄、進入與結束 New Table Group 的繪製狀態、以手形工具平移、逐步調整縮放比例,以及以 ⌥ + Z 切換禪模式

放大/縮小​

使用 Ctrl + Wheel (Windows/Linux) 或 ⌘ + Wheel (Mac) 縮放。只使用滾輪則會平移畫布。
觸控板上的雙指縮放也能縮放,並以雙指縮放的位置為中心;觸控螢幕上的兩指操作也能縮放,且兩指移動時也會平移。
快速鍵:Ctrl + Plus (Windows/Linux) 或 ⌘ + Plus (Mac),Ctrl + Minus (Windows/Linux) 或 ⌘ + Minus (Mac)
Ctrl + 0 (Windows/Linux) 或 ⌘ + 0 (Mac) 會直接回到 100%,並讓畫面中央保持不動。

畫布工具列上的 Zoom out 和 Zoom in 按鈕會像 Minus 和 Plus 快速鍵一樣逐步調整縮放比例:每按一次調整 4 個百分點,並讓畫面中央保持不動。兩者之間的百分比會顯示目前的縮放比例,按一下即可像 Ctrl + 0 (Windows/Linux) 或 ⌘ + 0 (Mac) 一樣直接回到 100%。

縮放範圍為 10% 到 150%。
在 70% 及以下,資料表會收合為只顯示名稱和顏色邊緣,儲存格編輯、儲存格快速鍵以及複製和貼上都會停止運作,直到再次放大為止。

同樣的三個快速鍵也能縮放「視覺化」索引標籤,Graph 和 Flow 模式皆然,各模式在其自身的範圍內縮放,請參閱視覺化。

以 ⌘ + Wheel 縮小直到資料表收合為只顯示名稱,再以 ⌘ + Plus、⌘ + Minus 和 ⌘ + 0 逐步調回

瀏覽畫布​

畫布沒有邊界,也沒有可設定的大小。資料表與備忘錄放在哪裡就停在哪裡,下列所有說明描述的都是圖表本身,而非固定的頁面。

拖曳畫布的空白區域即可平移,或按 Space 切換到手形工具後在任何位置拖曳,包括資料表上。滾輪也能平移,Shift + Wheel 則會水平平移。
對滑鼠左鍵而言,資料表群組的主體(標題列下方的區域)視同空白畫布:拖曳主體會平移,Ctrl + drag (Windows/Linux) 或 ⌘ + drag (Mac) 會繪製選取框,按一下則會清除選取範圍。
平移沒有界限:滾輪、拖曳和手形工具移動多遠,檢視就跟著移動多遠,可越過任一側的資料表。

以滑鼠中鍵拖曳(按下滾輪)即可從畫布上的任何位置平移,無論使用指標還是手形工具皆可。即使按下的位置落在資料表、備忘錄、儲存格、圖示或關聯上,也同樣有效。
以中鍵拖曳不會選取、移動或按一下任何項目,並會保留選取範圍。它會關閉已開啟的右鍵選單和顏色選擇器,瀏覽器本身的中鍵捲動和貼上也不會啟動。
在捲軸、小地圖、畫布工具列,或開啟中的儲存格或備忘錄編輯器上按下中鍵不會平移。

右上角的小地圖會呈現圖表,以及圖表每一側各一個畫面大小的空間(也就是捲軸可及的範圍),並向外對齊到粗略的格線,因此縮得越小,圖表在小地圖中就顯得越小。按一下小地圖即可將檢視移到該點,或拖曳檢視區方框來平移。縮小時,檢視區方框會變大,涵蓋更多地圖範圍。
它會以各資料表的顏色繪製每個資料表,並將每個顯示中的資料表群組繪製為位於其資料表後方、採用群組顏色的方框。
沿著右側和底部邊緣的捲軸表示相同的移動範圍,此範圍從圖表剛好位於畫面一側之外,到剛好位於另一側之外,因此至少比繪製出的圖表長一個畫面,而當檢視位於圖表之外時還會更長。在禪模式以外,只要文件中有資料表、顯示中的備忘錄或顯示中的資料表群組,兩條捲軸都會顯示,即使所有內容都容納在畫面中也一樣。不含上述任何項目的文件(例如僅有的備忘錄都以 View Option → Memos 隱藏的文件)兩條捲軸都不會顯示,也沒有小地圖。
拖曳捲軸滑塊或小地圖的檢視區方框,是唯一有界限的平移:最多只會移到剛好位於畫面外的資料表,若拖曳起點更遠,則最多移到拖曳起點。

若平移後畫面上沒有任何資料表、顯示中的備忘錄或顯示中的資料表群組,畫布工具列的末端就會出現 Go to content 指南針,以箭頭指向最近的一個並顯示其距離。按一下即可在不變更縮放比例的情況下將其置中。

以拖曳空白畫布、在資料表上以中鍵拖曳、小地圖和滾輪來平移,再循著 Go to content 指南針回來

跳至目標時的落點​

每個將您帶到畫布上某項目的前往操作,都依同一套規則移動檢視:快速搜尋的 #、@ 和 : 結果、物件總管的列及其尋找與取代搜尋的相符項目、差異檢視器清單中的列、流程模式中的外部連結卡片按鈕,以及匯入並加入的落點。上述各節說明前往操作會選取什麼;本節則說明檢視會移到哪裡。

跳至目標絕不會變更縮放比例,最多只捲動一次。若從其他索引標籤跳至目標,會先切換到 ERD 索引標籤。
它會依畫布實際顯示的範圍來測量:頂端工具列以下(在禪模式中則為整個高度),以及已開啟之物件總管的右側,因為物件總管會讓畫布變窄,而不是覆蓋畫布。

水平與垂直方向會分別判斷,目標在某個方向上已能清楚顯示時,該方向就完全維持不變:

  • 在該方向上長度不超過畫布一半的目標,只要其中心位於畫布中間的一半範圍內(水平或垂直方向上四分之一到四分之三之間),就會維持不動。否則會將其中心移到畫布中央。
  • 較長但兩端仍各能留出 40px 空間的目標,只要完全在可見範圍內,就會維持不動。否則在水平方向上會將其置中;在垂直方向上則會將其頂端移到畫布頂端下方 40px 處。
  • 比這更長的目標,只要完全在可見範圍內就會維持不動;若目標比畫布還長,則只要其關鍵部分(列於下方)在可見範圍內就會維持不動。否則若能容納就將其置中,若無法容納,則將其放在盡量靠近中央、且關鍵部分兩端都至少位於畫布內側 40px 的位置;關鍵部分過長而無法如此時,則讓其開頭保持在內側 40px 處。

因此,位於畫布左側邊緣附近、垂直方向居中的小型資料表,只會在水平方向上移動。

跳至目標時會捲動到可見範圍內的內容,以及無法完整顯示時必須顯示的關鍵部分:

  • 資料表:整個資料表,關鍵部分為其頂端的表頭;若是資料表註解的相符項目,且 View Option → Table Comment 顯示註解,則為其註解儲存格。在 70% 及以下,資料表會收合為只顯示名稱,此時關鍵部分為方框中央的名稱。
  • 欄位:其所在的列,關鍵部分為跳至目標的儲存格:其名稱,或在 View Option → Column Comment 顯示註解時相符項目所在的註解。在 70% 及以下,欄位會依資料表的規則將其資料表捲動到可見範圍內。
  • 太寬而無法完整顯示的儲存格(例如很長的註解):關鍵部分為其中相符的文字。
  • 關聯:涵蓋其兩個資料表的方框,關鍵部分為子資料表。
  • 資料表群組:其方框,關鍵部分為其標題列。
  • 備忘錄,或匯入並加入所放置的區塊:其整體。

兩個方向都不需要移動時就不會捲動,因此連續兩次前往同一處時,第二次不會有任何移動。會捲動畫布的跳至目標,會像其他任何檢視位置變更一樣,將捲動記錄在復原歷程記錄中;沒有任何移動的跳至目標則不會留下可復原的內容。對於匯入並加入,捲動與加入屬於同一個步驟。差異檢視器清單中的列只會移動該檢視的唯讀兩側,因此不會記錄任何內容。
跳至目標不會開始或完成正在繪製的關聯。Go to content 指南針不算跳至目標:它會將所指向的項目置中。

差異檢視器​

可以將先前儲存的文件與目前的文件進行比較。
從畫布的右鍵選單選擇 Diff Viewer,然後挑選先前匯出的 .json 文件。

此檢視會在畫布上方開啟:左側是變更的內容,接著並排顯示已儲存的文件和目前的文件。
比較的是此檢視開啟當下的目前文件;之後所做的變更(包括協作者的變更)都不會反映到此檢視中。此檢視開啟期間,已開啟的物件總管會被隱藏,因此此檢視會佔滿編輯器的整個寬度。
每一側都可以用滾輪、拖曳空白區域或資料表群組的主體,或在其上任何位置以中鍵拖曳來平移,並可用 Ctrl + Wheel (Windows/Linux)、⌘ + Wheel (Mac) 或雙指縮放來縮放。在 70% 及以下,其資料表會像在畫布上一樣收合,請參閱兩側的標示。
兩側都是唯讀的,因此您的文件不會被修改。每一側各自保留自己的選取範圍,在其中按一下資料表只會在該側選取它。
使用此檢視開啟時所顯示之 Diff Viewer 通知上的 Close 按鈕,或按 Escape,即可關閉此檢視。

以已儲存的 .json 檔案開啟差異檢視器,按一下其樹狀結構中標示 A、M、D 和 R 的列,依名稱篩選,然後將其關閉

比較的內容​

資料表、欄位、索引、外鍵、備忘錄和資料表群組都會進行比較。
每個項目會先依其 id 配對,因此與同一個檔案的較早版本(會保留 id)比較時,重新命名的資料表、欄位、索引或資料表群組仍是同一個項目,並列為已重新命名。
剩下的項目會依其保留的內容一對一配對:資料表或資料表群組依其名稱(區分大小寫);欄位或索引依其資料表和名稱;外鍵依其兩個資料表和欄位配對;備忘錄則先依其文字,再依其位置。沒有名稱的索引會依其欄位、欄位的順序與方向,以及是否為唯一索引來配對,而沒有名稱的資料表群組則依共有資料表最多者來配對。
因此,與來自其他來源的檔案(例如透過 SQL 匯入重建的圖表)比較時,重新命名的資料表會顯示為一個已移除和一個已新增的資料表。

視為變更的內容:

  • 資料表:其名稱、註解、資料表群組、位置和顏色。
  • 欄位:其名稱、註解、資料類型、預設值、Auto Increment、主鍵、Unique、Not Null,以及其在資料表中的位置。只有不在兩份文件共有順序內的欄位才算已移動,因此新增、移除或移動一個欄位不會標示其他欄位。
  • 索引:其名稱、UNIQUE,以及其欄位與欄位的順序和方向。
  • 外鍵:其欄位配對、關聯類型,以及 ON DELETE 與 ON UPDATE 動作。
  • 備忘錄:其文字、位置、大小和顏色。
  • 資料表群組:其名稱、包含的資料表、顏色、位置和大小。

因此,只是被移動、調整大小或變更顏色的資料表、備忘錄或群組也算已變更。位置和大小會以整數像素比較,而堆疊順序和連接線與資料表的交會處則永遠不會計入。

變更樹狀結構​

左側的清單以物件總管的樹狀結構呈現,只包含有變更的內容:Tables、Table Groups 和 Memos(各自只在含有列時才顯示),以及資料表下方其自身的 Columns、Indexes 和 Foreign Keys。外鍵會列在其子資料表下方,而已新增或已移除的資料表內不會列出任何內容。
每個資料夾都會顯示其包含的列數,所有資料夾和資料表一開始都是展開的。
資料表和資料表群組會依名稱排列,不區分大小寫。備忘錄,以及資料表的欄位、索引和外鍵,會沿用目前文件中的順序,已移除的項目則放回其原本的位置。備忘錄列會顯示備忘錄的第一行,外鍵列則顯示其子欄位,接著是 → 與父資料表及其欄位,例如 user_id → users(id)。空白的名稱會以斜體顯示 unnamed。

每一列的結尾都有一個字母,標示為 A、D、M 或 R 的列,其名稱會以該字母的顏色顯示:

  • A,已新增,綠色:只存在於目前的文件中。
  • D,已移除,紅色並加上刪除線:只存在於已儲存的文件中。
  • M,已修改,琥珀色:兩者皆有,且有變更。
  • R,已重新命名,藍色:兩者皆有,且有新名稱。重新命名優先於其他任何變更,但工具提示仍會列出這些變更。
  • ~,琥珀色,出現在每個資料夾,以及僅因內部有變更而列出的資料表的結尾;它們的名稱維持一般顏色。

將指標停留在某列的名稱上即可看到其工具提示:先是狀態(Added、Deleted、Modified、Renamed 或 Changed inside),接著每項變更各一行,例如 Name: users → members 或 NN: ✗ → ✓。文字會以其第一行引用,超過 40 個字元的部分會被截斷,空值則顯示為 —。已新增或已移除項目的工具提示只有其狀態。

樹狀結構上方的 Filter by name 會保留目前名稱或已儲存名稱中包含所輸入內容的列,不區分大小寫。名稱相符的資料表會保留其所有列,名稱不相符的資料表則只保留相符的列。沒有任何相符項目的篩選會讓樹狀結構變成空白。
兩份文件完全沒有差異時,樹狀結構會顯示 No changes。

拖曳樹狀結構的右側邊緣即可將其加寬或縮窄,範圍為 200px 到 480px,按兩下該邊緣則可恢復為 260px。每次開啟差異時都是 260px,兩側則平分其餘的寬度。
鍵盤在樹狀結構中的移動方式與在物件總管的樹狀結構中相同(請參閱物件總管中的按鍵),但在這裡,於樹狀結構或 Filter by name 中按 Escape 會關閉此檢視。

前往變更​

按一下某列,或在鍵盤焦點位於該列時按 Enter 或 Space,即可在含有其項目的每一側前往該項目:已新增的項目只在目前文件側,已移除的項目只在已儲存文件側,兩者皆有的項目則在兩側。資料夾列只會摺疊或展開,資料表列開頭的箭頭也是如此。

  • 資料表、欄位或索引列只會選取該資料表。
  • 外鍵列會將其兩個資料表捲動到可見範圍內(若兩者相距太遠而無法同時顯示,則為子資料表),選取子資料表及其外鍵欄位,並讓連接線亮起,請參閱解讀連接線。
  • 備忘錄列會選取該備忘錄,資料表群組列會選取該群組。若某一側的文件隱藏了備忘錄或群組,則在該側不會前往任何位置。

每一側都依跳至目標時的落點中的規則移動,並以該側為測量基準,因此再次按一下同一列不會有任何移動。

兩側的標示​

兩側會為文字、外框和連接線上色,但不會填滿任何區域。已新增為綠色,只顯示在目前文件側;已移除為紅色,只顯示在已儲存文件側;已變更(琥珀色)和已重新命名(藍色)則顯示在兩側。未變更的項目照常繪製。

  • 已新增或已移除的資料表或資料表群組會以該顏色的外框標示,其名稱也會套用該顏色。已新增或已移除的備忘錄會以外框標示。
  • 在兩份文件都有的資料表中,已新增或已移除的欄位會為其整列上色,已移動的欄位則會讓其整列變成琥珀色。已新增或已移除之資料表內的項目不會個別標示。
  • 已變更儲存格的文字會變成琥珀色:資料表的註解、欄位的註解、資料類型、預設值、Auto Increment、Unique 或 Not Null,或備忘錄的文字。主鍵變更會讓該欄位的鑰匙圖示變成琥珀色。
  • 已重新命名的資料表、欄位或資料表群組,其名稱會顯示為藍色。
  • 資料表、備忘錄或資料表群組若發生沒有對應儲存格的變更(例如移動、新的大小或顏色,或所屬群組或群組內資料表的變更),會以琥珀色外框標示。
  • 已新增、已移除或已變更的外鍵會以該顏色繪製其連接線。將指標停留在連接線上,或某列使其亮起時,則會改以一般的懸停色繪製。
  • 索引變更不會在任何一側標示;只會顯示在樹狀結構中。

每一側都依循其自身文件的檢視選項。若變更所在的儲存格未在該側繪製,則會改為顯示在名稱上。若欄位變更位於被檢視選項隱藏的儲存格中(例如 Unique 或 Auto Increment,兩者預設皆為關閉),該欄位的名稱會變成琥珀色;在未顯示鑰匙圖示的列上發生主鍵變更時也是如此。Table Comment 關閉時,資料表註解的變更會讓資料表的名稱變成琥珀色。重新命名的藍色優先於這種琥珀色。被其文件隱藏的備忘錄或資料表群組會列在樹狀結構中,但不會在該側繪製。

在 70% 及以下,收合的資料表會保留其外框。名稱會保留已新增或已移除資料表的綠色或紅色,或重新命名的藍色,否則會採用註解變更的琥珀色。欄位變更在再次放大之前不會繪製;樹狀結構仍會列出這些變更。