테이블 관련 기능
테이블과 메모가 만들어진 뒤에 하는 모든 작업, 즉 선택, 이동, 복사, 색상 지정, 각 테이블에 표출할 내용 설정과 그 주변의 캔버스 조작을 다룹니다.
테이블과 메모 명령을 먼저 다루고, 이어서 테이블 속성, 테이블 포커스, 인덱스, 자동 배치, 데이터베이스 벤더를 다루며, 캔버스 자체는 캔버스 툴바, 확대/축소, 화면 이동, Diff Viewer 순으로 마지막에 다룹니다.
다중 선택
3가지 방법을 지원하고 있습니다.
Ctrl + drag(Windows/Linux) or⌘ + drag(Mac)Ctrl + click(Windows/Linux) or⌘ + click(Mac)Ctrl + AorCtrl + Alt + A(Windows/Linux),⌘ + Aor⌘ + ⌥ + A(Mac)
메모도 같은 방법으로 선택하며, 두 전체 선택 단축키 모두 모든 테이블과 메모를 한 번에 선택합니다.
Ctrl + A는 커서에 양보하므로, 셀을 편집하는 중에는 다이어그램이 아니라 텍스트를 선택합니다.
선택 박스는 테이블이나 메모의 가장자리에 닿기만 해서는 선택하지 않고, 중앙을 덮을 때 선택합니다.

공동 편집 중에는 각 참여자의 선택, 포커스된 셀, 선택 박스가 해당 참여자의 색상으로 캔버스에 표시됩니다. 공동 편집 문서를 참고하세요.
여러 테이블 이동
이미 선택에 포함된 테이블이나 메모를 드래그하면 별도의 보조 키 없이 선택 전체가 함께 이동합니다.
선택 밖의 대상을 드래그하면 선택이 그 대상으로 바뀌고 그것만 이동합니다. mod 키를 누른 채 드래그하면 어느 쪽이든 선택이 유지됩니다. Ctrl + drag (Windows/Linux) or ⌘ + drag (Mac)

테이블, 메모 복사/붙여넣기
선택한 테이블과 메모를 복사해 새로운 테이블과 메모로 붙여넣습니다.
단축키 Ctrl + C (Windows/Linux) or ⌘ + C (Mac), Ctrl + V (Windows/Linux) or ⌘ + V (Mac)
복사한 테이블은 이름, 코멘트, 컬럼, 색상을 유지하고, 복사한 메모는 텍스트, 크기, 색상을 유지합니다. 복사본은 원본 이름을 그대로 사용합니다.
인덱스와 관계도 함께 복사됩니다. 인덱스는 복사한 테이블에 통째로 복사되고, 관계는 연결된 두 테이블이 모두 복사 대상에 포함되어 있을 때만 복사됩니다. 한쪽만 포함된 관계는 원본을 가리킨 채 남지 않고 버려집니다.
붙여넣은 복사본이 새로운 선택이 되고, 같은 복사본을 다시 붙여넣을 때마다 50px씩 더 이동하므로 반복해서 붙여넣어도 서로 겹치지 않습니다.

포커스된 테이블 안에서 컬럼이 선택되어 있으면 같은 단축키가 해당 컬럼을 복사합니다. 테이블 편집 문서를 참고하세요.
테이블, 메모 복제
Alt를 누른 채 테이블이나 메모를 마우스 왼쪽 버튼으로 드래그합니다.
반투명 미리보기가 포인터를 따라오고, 버튼을 놓으면 미리보기가 있는 위치에 복사본이 생성됩니다.
잡은 대상이 이미 선택에 포함되어 있으면 선택 전체가 복제되고, 그렇지 않으면 포인터 아래의 대상으로 선택이 바뀝니다.
움직이지 않고 Alt + click만 하면 오른쪽 아래로 50px 떨어진 위치에 복사본이 생성되고, 그 자리가 이미 차 있으면 한 칸씩 더 이동합니다.
복제는 붙여넣기와 같은 정보를 가져옵니다. 이름, 코멘트, 컬럼, 색상, 메모 크기와 함께, 복사 대상 안에서 완결되는 인덱스와 관계도 유지됩니다.

테이블, 메모 삭제
현재 선택된 테이블과 메모를 삭제합니다.
단축키 Ctrl + Backspace (Windows/Linux) or Ctrl + Delete (Windows/Linux) or ⌘ + Backspace (Mac) or ⌘ + Delete (Mac)

테이블, 메모 색상 지정
카테고리별로 구분하기 위해 색상을 지정할 수 있습니다.
테이블은 왼쪽 가장자리를 따라, 메모는 상단을 따라 색상을 표시합니다. 그 가장자리나 띠를 클릭하면 색상 선택기가 열립니다. 색상은 클릭한 대상뿐 아니라 선택된 모든 테이블과 메모에 적용됩니다.

테이블 보기 옵션
다음의 보기 옵션을 제공합니다.
- Table Comment
- Column Comment
- DataType
- Default
- Not Null
- Unique
- Auto Increment
- Relationship

Visualization 탭 Flow 모드의 카드는 이 옵션을 따르지 않습니다. 카드는 자체 행 표시를 사용하며, Relationship이 꺼져 있어도 연결선을 그립니다.
테이블 속성
선택한 테이블의 속성 패널을 엽니다.
테이블 컨텍스트 메뉴 또는 단축키 Alt + Space로 시작합니다.
Indexes, Schema SQL, Code Generator 3개의 탭을 제공합니다.
최근에 연 테이블 5개를 패널 상단에 유지하므로 패널을 다시 열지 않고도 테이블 사이를 이동할 수 있습니다.
테이블 포커스
Visualization 탭을 Flow 모드로 열고, 고른 테이블과 그 테이블에 관계 하나로 이어진 모든 테이블만 보이도록 범위를 좁힙니다.
테이블 컨텍스트 메뉴의 Focus on this table로 시작하거나, 테이블을 하나 이상 선택하고 Alt + F를 누릅니다.
마우스 오른쪽 클릭한 테이블이 여러 개 선택된 테이블 중 하나이면 메뉴 항목이 Focus on selected tables로 표시되고 선택 전체를 포커스합니다. 선택 밖의 테이블을 마우스 오른쪽 클릭하면 그 테이블만 포커스합니다.
단축키는 선택된 테이블을 대상으로 하되 메모는 제외하며, 선택된 테이블이 없으면 아무 동작도 하지 않습니다.
좁혀진 화면에 무엇이 표시되는지와 다이어그램 전체로 돌아가는 방법은 시각화 문서에서 다룹니다.
인덱스
인덱스는 테이블 속성 패널의 Indexes 탭에서 정의하며 내보내는 Schema SQL에 포함됩니다.
왼쪽에는 테이블의 인덱스 목록이 표시됩니다. +로 추가합니다.
각 인덱스에는 unique로 만드는 UQ 토글, 이름 입력란, 삭제하는 x가 있습니다.
오른쪽에는 테이블의 컬럼이 체크박스와 함께 나열됩니다. 왼쪽에서 인덱스를 선택하기 전까지는 아무것도 편집할 수 없습니다.
컬럼을 체크하면 선택한 인덱스에 추가되고, 체크를 해제하면 제거됩니다.
선택한 인덱스의 컬럼은 아래에 나열됩니다. 그립 핸들로 드래그해 순서를 변경하고, 각 행의 ASC 또는 DESC 칩을 클릭해 정렬 순서를 바꿉니다.

자동 배치
모든 테이블을 캔버스에 대신 배치해 줍니다.
캔버스 컨텍스트 메뉴 또는 빠른 검색에서 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초 안에 결과가 돌아오지 않는 배치도 같은 방식으로 끝납니다.
어느 쪽을 고르든 움직이는 것은 테이블뿐이고 메모는 제자리에 남습니다. 자기 자신을 가리키는 관계는 무시하며, 같은 두 테이블 사이에 관계가 여러 개 있어도 하나로 셉니다.
결과는 하나의 히스토리 항목으로 기록되므로 Undo 한 번으로 모든 테이블이 원래 위치로 돌아갑니다.

데이터베이스
지원하는 데이터베이스는 다음과 같습니다.
- Databricks
- MSSQL
- MariaDB
- MySQL
- Oracle
- PostgreSQL
- Snowflake
- SQLite
해당 옵션은 내보내기 Schema SQL 문법, DataType 자동완성, 생성된 코드와 가져온 스키마가 해석하는 타입을 결정합니다.
TIMESTAMP WITH TIME ZONE, INTERVAL DAY TO SECOND처럼 여러 단어로 된 타입 이름은 Schema SQL을 가져올 때 인자 목록까지 그대로 유지됩니다.


캔버스 툴바
캔버스 아래 가장자리 가운데에 작은 툴바가 떠 있고, 캔버스 자체를 다루는 도구가 모여 있습니다.
- 손 도구와 포인터. 기본값은 포인터이며, 손 도구는 빈 영역뿐 아니라 테이블 위에서도 모든 드래그를 화면 이동으로 바꿉니다.
Space로 두 도구를 전환합니다. - 확대/축소.
Zoom out, 퍼센트로 표시되는 현재 배율,Zoom in으로 구성됩니다. 두 버튼은 확대/축소 단축키와 같은 방식으로 배율을 한 단계씩 조절합니다. - 관계 표기 4가지. 관계를 시작할 때 쓰는 것과 같습니다. 편집 시작 문서를 참고하세요. 관계는 테이블 두 개를 클릭해 그리므로, 표기를 고르면 도구는 다시 포인터로 돌아갑니다.
- Zen 모드
Alt + Z. 캔버스와 이 툴바만 남기고 나머지를 모두 감춥니다.Alt + Z를 다시 누르거나 버튼을 누르면 되돌아옵니다. Go to content나침반. 화면에 테이블이나 메모가 하나도 없는 동안에만 툴바 끝에 붙습니다. 캔버스 이동 항목을 참고하세요.
단축키가 있는 버튼은 툴팁에 그 단축키를 표시합니다.
Force 자동 배치 미리보기, 테이블 속성, Time Travel, Diff Viewer가 열려 있는 동안에는 툴바가 비켜나 있다가, 닫히면 다시 나타납니다.

줌 확대/축소
mod 키를 누른 채 마우스 휠로 확대/축소합니다. Ctrl + Wheel (Windows/Linux) or ⌘ + Wheel (Mac). 휠만 사용하면 캔버스 화면이 이동합니다.
트랙패드에서 핀치해도 핀치한 지점을 기준으로 확대/축소되며, 터치스크린에서 두 손가락을 사용해도 확대/축소되고 손가락을 움직이는 대로 화면이 이동합니다.
단축키 Ctrl + Plus (Windows/Linux) or ⌘ + Plus (Mac), Ctrl + Minus (Windows/Linux) or ⌘ + Minus (Mac)
Ctrl + 0 (Windows/Linux) or ⌘ + 0 (Mac)는 화면 중앙을 유지한 채 곧바로 100%로 되돌립니다.
캔버스 툴바의 Zoom out과 Zoom in 버튼은 Minus, Plus 단축키처럼 배율을 조절합니다. 한 번 누를 때마다 화면 중앙을 유지한 채 4퍼센트포인트씩 바뀝니다. 두 버튼 사이의 퍼센트 값은 현재 배율을 보여줍니다.
확대/축소 범위는 10%부터 150%까지입니다.
70% 이하에서는 테이블이 이름과 색상 가장자리만 남도록 축소되고, 셀 편집과 셀 단축키, 복사/붙여넣기는 다시 확대할 때까지 동작하지 않습니다.
같은 세 단축키는 Visualization 탭에서도 Graph 모드와 Flow 모드 모두에서 확대/축소하며, 각 모드는 자체 범위 안에서 동작합니다. 시각화 문서를 참고하세요.

캔버스 이동
캔버스에는 경계도, 설정할 크기도 없습니다. 테이블과 메모는 놓은 자리에 그대로 있고, 아래의 모든 요소는 고정된 지면이 아니라 다이어그램 자체를 기준으로 동작합니다.
캔버스의 빈 영역을 드래그하면 화면이 이동하고, Space로 손 도구를 켜면 테이블 위를 포함해 어디서든 드래그할 수 있습니다. 휠로도 화면이 이동하며, Shift + Wheel은 좌우로 이동합니다.
화면 이동에는 범위 제한이 없습니다. 휠, 드래그, 손 도구는 어느 방향이든 테이블 너머까지 움직인 만큼 화면을 옮깁니다.
오른쪽 위의 미니맵은 다이어그램의 사방에 한 화면만큼의 여유, 곧 스크롤바가 닿는 범위를 더하고 성긴 격자에 맞춰 바깥쪽으로 넓힌 범위를 보여주므로, 축소할수록 미니맵 안의 다이어그램은 작아집니다. 클릭하면 그 지점으로 화면이 이동하고, 뷰포트 사각형을 드래그하면 화면이 이동합니다. 축소할수록 뷰포트 사각형은 미니맵의 더 넓은 영역을 덮도록 커집니다.
오른쪽과 아래 가장자리의 스크롤바도 같은 범위를 나타냅니다. 이 범위는 다이어그램이 화면 한쪽 바로 밖에 있는 위치부터 반대쪽 바로 밖에 있는 위치까지이므로, 화면에 그려진 다이어그램보다 적어도 한 화면만큼 길고, 화면이 다이어그램 너머에 있는 동안에는 그보다 더 깁니다. Zen 모드가 아닐 때는 테이블이나 메모가 하나라도 있으면 모두 화면 안에 들어와 있어도 두 스크롤바가 표시되고, 빈 문서에서만 스크롤바도 미니맵도 보이지 않습니다.
스크롤바 손잡이나 미니맵의 뷰포트 사각형을 드래그하는 이동만은 멈추는 지점이 있습니다. 테이블이 화면 밖으로 살짝 벗어나는 지점, 또는 드래그를 시작한 위치가 그보다 더 바깥이었다면 그 위치를 넘어서 이동하지 않습니다.
화면을 이동한 결과 테이블과 메모가 하나도 보이지 않으면, 가장 가까운 대상을 가리키는 화살표와 거리를 표시하는 Go to content 나침반이 캔버스 툴바 끝에 나타납니다. 클릭하면 배율은 그대로 둔 채 그 대상이 화면 중앙으로 옵니다.

Diff Viewer
이전에 저장했던 문서와 현재 문서를 비교할 수 있습니다.
캔버스 컨텍스트 메뉴에서 Diff Viewer를 선택하고 이전에 내보낸 .json 문서를 선택합니다.
비교 화면은 캔버스 위에 열리며, 왼쪽에 변경된 내용이, 이어서 저장된 문서와 현재 문서가 나란히 표시됩니다.
테이블과 컬럼은 이름으로 대응됩니다. 두 문서 사이에 값이 다른 셀은 저장된 문서에서는 빨간색, 현재 문서에서는 초록색으로 양쪽 모두에 색이 입혀지므로, 한쪽에만 있는 테이블이나 컬럼은 전체에 색이 입혀집니다.
양쪽 화면은 각각 휠이나 빈 영역 드래그로 이동하고, Ctrl + Wheel (Windows/Linux), ⌘ + Wheel (Mac) 또는 핀치로 확대/축소합니다. 70% 이하에서는 캔버스에서처럼 테이블이 접히고 색칠이 보이지 않습니다.
양쪽 모두 읽기 전용이므로 문서는 변경되지 않습니다. 함께 열리는 알림의 Close 버튼 또는 Escape로 화면을 닫습니다.
