본문으로 건너뛰기

테이블 관련 기능

테이블과 메모가 만들어진 뒤에 하는 모든 작업, 즉 선택, 이동, 복사, 삭제, 색상 지정, 캔버스에 표시할 내용 설정과 그 주변의 캔버스 조작을 다룹니다.
테이블과 메모 명령을 먼저 다루고, 이어서 테이블 속성, 테이블 포커스, 인덱스와 대체 키, 자동 배치, 데이터베이스 벤더를 다루며, 마지막으로 캔버스 자체를 캔버스 툴바, 확대/축소, 화면 이동과 이동 후 화면 위치, Diff Viewer 순으로 다룹니다.
테이블을 모아 담는 박스인 테이블 그룹은 별도 문서에서 다룹니다. 테이블 그룹 문서를 참고하세요.

다중 선택​

3가지 방법을 지원하고 있습니다.

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

메모도 같은 방법으로 선택하며, 두 전체 선택 단축키 모두 모든 테이블과 메모를 한 번에 선택합니다. View Option → Memos로 숨긴 메모는 전체 선택과 선택 박스에서 제외됩니다. 테이블 보기 옵션 항목을 참고하세요.
테이블 그룹은 제목 표시줄을 Ctrl + click (Windows/Linux) or ⌘ + click (Mac)하면 선택에 추가되지만, 전체 선택으로는 선택되지 않습니다.
Ctrl + A는 커서에 양보하므로, 셀을 편집하는 중에는 다이어그램이 아니라 텍스트를 선택합니다.
선택 박스는 테이블이나 메모의 가장자리에 닿기만 해서는 선택하지 않고, 중앙을 덮을 때 선택합니다. 테이블 그룹은 그룹의 박스 전체를 감쌀 때만 선택하므로, 그룹 안에서 그린 선택 박스는 그룹을 빼고 테이블만 선택합니다.
이미 선택된 대상을 마우스 오른쪽 클릭하면 선택 전체가 유지되므로, Color, Group selected tables, Delete selected 같은 메뉴 항목이 선택 전체에 적용됩니다. 그 밖의 테이블, 메모, 테이블 그룹을 마우스 오른쪽 클릭하면 Ctrl 또는 ⌘를 누르고 있어도 그 대상만 선택되고, 관계나 빈 캔버스를 마우스 오른쪽 클릭하면 선택이 해제됩니다.
Escape는 선택을 해제합니다. 셀, 메모, 테이블 그룹 이름을 편집하는 중이거나 관계나 New Table Group을 그리는 중에는 첫 번째 Escape가 편집모드나 그리기를 끝내고, 두 번째 Escape가 선택을 해제합니다.

⌘ + drag와 ⌘ + click으로 테이블을 선택하고 ⌘ + A로 모든 테이블과 메모를 선택하는 모습

공동 편집 중에는 각 참여자의 선택, 포커스된 셀, 선택 박스가 해당 참여자의 색상으로 캔버스에 표시됩니다. 공동 편집 문서를 참고하세요.

여러 테이블 이동​

이미 선택에 포함된 테이블이나 메모를 드래그하면 별도의 보조 키 없이 선택 전체가 함께 이동합니다.
선택 밖의 대상을 드래그하면 선택이 그 대상으로 바뀌고 그것만 이동합니다. Ctrl + drag (Windows/Linux) or ⌘ + drag (Mac)하면 어느 쪽이든 선택이 유지됩니다.
테이블과 메모는 마우스 왼쪽 버튼으로만 이동합니다. 마우스 오른쪽 클릭은 컨텍스트 메뉴가 적용될 대상을 고를 뿐 아무것도 이동하지 않으며, 마우스 가운데 버튼으로 드래그하면 대신 캔버스 화면이 이동합니다. 캔버스 이동 항목을 참고하세요.

선택한 두 테이블 중 하나를 드래그하면 함께 이동하고 관계선이 따라오는 모습

선택된 테이블 그룹도 그 안의 테이블을 데리고 함께 이동하며, 선택되어 있으면서 이동하는 그룹에도 속한 테이블은 한 번만 이동합니다.
테이블을 놓는 위치에 따라 테이블이 그룹에 들어가거나 그룹에서 빠질 수 있습니다. 테이블 추가와 제거 문서를 참고하세요.

테이블과 메모는 하나의 쌓임 순서를 공유합니다. 테이블이나 메모를 마우스 왼쪽 또는 오른쪽 버튼으로 누르면 다른 모든 테이블과 메모보다 앞으로 오고, 테이블 그룹의 제목 표시줄을 누르거나 그룹 본문을 마우스 오른쪽 클릭하면 그 그룹의 테이블이 앞으로 옵니다.
이 순서는 저장되지 않습니다. 다이어그램을 다시 열면 테이블은 파일에 나열된 순서대로 쌓이고, 모든 메모가 그 위에 놓입니다.

테이블, 메모 복사/붙여넣기​

선택한 테이블과 메모를 복사해 새로운 테이블과 메모로 붙여넣습니다.
단축키 Ctrl + C (Windows/Linux) or ⌘ + C (Mac), Ctrl + V (Windows/Linux) or ⌘ + V (Mac)

복사한 테이블은 이름, 코멘트, 컬럼, 색상을 유지하고, 복사한 메모는 텍스트, 크기, 색상을 유지합니다.
인덱스와 관계도 함께 복사됩니다. 인덱스는 복사한 테이블에 통째로 복사되고, 관계는 연결된 두 테이블이 모두 복사 대상에 포함되어 있을 때만 타입과 ON DELETE, ON UPDATE 동작까지 그대로 복사됩니다. 한쪽만 포함된 관계는 원본을 가리킨 채 남지 않고 버려집니다.
붙여넣은 복사본이 새로운 선택이 되고, 같은 복사본을 다시 붙여넣을 때마다 50px씩 더 이동하므로 반복해서 붙여넣어도 서로 겹치지 않습니다.
복사본은 테이블 그룹을 유지하지 않습니다. 붙여넣은 테이블은 그룹의 박스 안에 놓이더라도 어느 그룹에도 속하지 않으며, 선택된 그룹은 복사되지 않습니다.
View Option → Memos로 메모를 숨긴 동안에도 붙여넣기는 함께 복사한 메모를 추가하지만, 그 메모는 숨겨진 채 선택되지 않으므로 붙여넣은 테이블만 새로운 선택이 됩니다.

관계로 연결된 두 테이블을 복사해 관계와 함께 두 번 붙여넣는 모습

포커스된 테이블 안에서 컬럼이 선택되어 있으면 같은 단축키가 해당 컬럼을 복사합니다. 테이블 편집 문서를 참고하세요.

테이블, 메모 복제​

Alt를 누른 채 테이블이나 메모를 마우스 왼쪽 버튼으로 드래그합니다.
반투명 미리보기가 포인터를 따라오고, 버튼을 놓으면 미리보기가 있는 위치에 복사본이 생성됩니다.
잡은 대상이 이미 선택에 포함되어 있으면 선택 전체가 복제되고, 그렇지 않으면 포인터 아래의 대상으로 선택이 바뀝니다.
움직이지 않고 Alt + click만 하면 오른쪽 아래로 50px 떨어진 위치에 복사본이 생성되고, 그 자리가 이미 차 있으면 한 칸씩 더 이동합니다.

복제는 붙여넣기와 같은 정보를 가져옵니다. 이름, 코멘트, 컬럼, 색상, 메모 크기와 함께, 복사 대상 안에서 완결되는 인덱스와 관계도 유지됩니다. 붙여넣기와 마찬가지로 복제본은 어느 테이블 그룹에도 속하지 않습니다.
테이블 그룹의 제목 표시줄에서 Alt + drag하면 일반 드래그처럼 그룹이 이동하며, 그룹은 복제되지 않습니다.

Alt + drag로 테이블을 복제하고 Alt + click으로 오른쪽 아래에 복사본을 하나 더 만드는 모습

테이블, 메모 삭제​

선택된 테이블, 메모, 테이블 그룹을 삭제합니다.
단축키는 다음과 같습니다.

  • Delete 또는 Backspace. 선택 전체를 삭제합니다. 단, 선택된 것이 일부 컬럼이 선택된 테이블 하나뿐이고 배율이 70%보다 크면 대신 그 컬럼을 삭제합니다. Column 삭제 문서를 참고하세요.
  • Ctrl + Backspace 또는 Ctrl + Delete (Windows/Linux), ⌘ + Backspace 또는 ⌘ + Delete (Mac). 컬럼이 선택되어 있어도 항상 선택된 테이블, 메모, 테이블 그룹을 삭제합니다.

Delete 키로 테이블을 관계와 함께 삭제한 뒤, 메모 메뉴의 Delete selected로 테이블과 메모를 한 번에 삭제하는 모습

컨텍스트 메뉴로도 삭제할 수 있습니다. 테이블이나 메모 메뉴의 마지막 항목은 그 테이블이나 메모가 두 개 이상 선택된 항목 중 하나이면 Delete selected로 표시되고 선택 전체를 삭제합니다. 그렇지 않으면 Delete로 표시되고 그 테이블이나 메모만 삭제합니다. 선택된 컬럼의 행에서는 Column 삭제에서처럼 테이블 메뉴가 대신 Delete column 또는 Delete columns로 표시됩니다.

테이블을 삭제하면 그 테이블의 관계와 인덱스도 함께 삭제됩니다. 테이블 그룹을 삭제하면 그 안의 테이블은 어느 그룹에도 속하지 않은 채 남습니다. 그룹 삭제 문서를 참고하세요.
확인 절차는 없으며, 각 삭제는 Undo 한 단계이고, 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자리의 16진수를 받으며, 붙여넣은 rgb(), hsl(), CSS 색상 이름도 받습니다. 6자리나 8자리 값을 모두 입력하면 입력하는 대로 적용되고, 그 밖의 값은 Enter를 누르거나 입력란을 벗어날 때 적용됩니다. R, G, B는 정수를 받으며 255보다 큰 값은 255로 읽고, Enter를 누르거나 입력란을 벗어날 때 적용됩니다. 색상 선택기가 읽을 수 없는 텍스트는 버려집니다.
  • 8개씩 두 줄로 놓인 16개의 프리셋 견본: Red, Orange, Amber, Yellow, Lime, Green, Teal, Cyan, Blue, Indigo, Violet, Purple, Pink, Crimson, Brown, Gray. 견본에 포인터를 올리면 그 16진수 코드가 표시됩니다.
  • Document colors: 문서의 테이블, 메모, 테이블 그룹이 이미 사용하는 색상을 가장 많이 쓰인 순서로 최대 8개까지 표시합니다. 해당하는 색상이 있을 때만 이 줄이 표시됩니다.
  • No color.

색상은 항상 불투명합니다. 색상 선택기에는 투명도 조절이 없으며, 입력하거나 붙여넣은 값에 포함된 투명도는 버려집니다.
색상 선택기를 여는 것만으로는 아무것도 바뀌지 않으며, 선택 항목에 이미 지정된 색상을 고르면 Undo 단계가 추가되지 않습니다.

No color는 선택된 모든 테이블, 메모, 테이블 그룹의 색상을 Undo 한 단계로 지우고 색상 선택기를 닫습니다. 선택된 항목 중 하나라도 색상이 있는 동안 테이블, 메모, 테이블 그룹 컨텍스트 메뉴의 Color 바로 아래에 표시되는 Remove color는 색상 선택기를 열지 않고 같은 일을 합니다.

색상 선택기는 열릴 때 키보드 포커스를 가져가며, Tab과 Shift + Tab으로 컨트롤 사이를 순환합니다. 방향키는 영역과 색조 슬라이더를 1씩, Shift와 함께 누르면 10씩 움직이고, 견본 사이를 이동하며 이동할 때마다 그 색상을 적용합니다.
색상 선택기가 키보드 포커스를 가진 동안에도 Undo와 Redo, 확대/축소 단축키, 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로 복합 unique 인덱스에 AK1.1과 AK1.2를 표시한 뒤, Memos를 껐다 켜는 모습

Visualization 탭 Flow 모드의 카드는 이 옵션을 따르지 않습니다. 카드는 자체 행 표시를 사용하며, Relationship이 꺼져 있어도 연결선을 그립니다.

테이블 속성​

테이블의 속성 패널을 엽니다.
테이블 컨텍스트 메뉴의 Table Properties로 시작하면 마우스 오른쪽 클릭한 테이블의 패널이 열리며, 테이블을 선택하고 Alt + Space를 눌러도 됩니다.
패널은 어둡게 처리된 캔버스 가운데에 열립니다. 어둡게 처리되는 것은 캔버스뿐이므로, 열려 있는 탐색기는 패널 옆에서 열린 채로 남고 그대로 사용할 수 있습니다. 헤더에는 Table Properties 제목, 최근에 연 테이블 5개의 칩, 닫기 버튼이 있으며, 현재 테이블의 칩은 강조되어 표시됩니다. 칩을 클릭하면 패널을 다시 열지 않고 해당 테이블로 이동합니다.
헤더 아래에는 Indexes, Schema SQL, Code Generator 3개의 탭이 있습니다. 패널은 세 탭 모두 같은 크기를 유지하므로, 탭을 전환해도 패널이 움직이거나 크기가 바뀌지 않습니다.
닫기 버튼이나 Escape를 누르거나 패널 바깥의 캔버스를 클릭해 닫습니다.
탐색기에서 폴더가 아닌 행을 고르거나 탐색기 검색의 일치 항목으로 이동하면, 이동하기 전에 테이블 속성이 닫힙니다. Ctrl + F (Windows/Linux) or ⌘ + F (Mac)를 눌러도 닫히며, 이 키는 탐색기를 검색 상태로 열거나, 탐색기가 이미 열려 있으면 커서를 Find 입력란에 놓습니다. 폴더 행을 포함해 탐색기 안의 그 밖의 곳을 클릭하거나 툴바의 Explorer 버튼을 클릭하면 테이블 속성은 열린 채로 남습니다. 키보드 포커스가 탐색기에 있는 동안 누른 Escape는 키보드 포커스를 캔버스에 돌려줄 뿐이므로, 테이블 속성을 닫으려면 Escape를 한 번 더 눌러야 합니다.

Indexes 탭은 인덱스 항목에서 다룹니다.
Schema SQL 탭은 선택한 데이터베이스에 맞춘 테이블의 DDL을 보여 줍니다. CREATE TABLE, 일부 데이터베이스가 Unique 컬럼에 대해 따로 작성하는 제약 조건, 그리고 인덱스가 표시됩니다. 툴바의 Schema SQL 탭이 어떻게 설정되어 있든 항상 헤더도, 앞뒤 스크립트도 없는 일반 CREATE 문을 작성합니다. 옵션 패널이 없으며, 컨텍스트 메뉴에는 Database와 Bracket만 있습니다.
Code Generator 탭은 이 테이블 하나의 코드만 생성합니다. 코드 생성 문서를 참고하세요.

readonly 에디터에서도 패널은 열리고 제목 옆에 Read only 배지가 표시되지만, Indexes 탭에서는 아무것도 편집할 수 없습니다.

테이블 포커스​

Visualization 탭을 Flow 모드로 열고, 고른 테이블과 그 테이블에 관계 하나로 이어진 모든 테이블만 보이도록 범위를 좁힙니다.
테이블 컨텍스트 메뉴의 Focus on this table로 시작하거나, 테이블을 하나 이상 선택하고 Alt + F를 누릅니다.
마우스 오른쪽 클릭한 테이블이 여러 개 선택된 테이블 중 하나이면 메뉴 항목이 Focus on selected tables로 표시되고 선택 전체를 포커스합니다. 선택 밖의 테이블을 마우스 오른쪽 클릭하면 그 테이블만 포커스합니다.
단축키는 선택된 테이블을 대상으로 하되 메모는 제외하며, 선택된 테이블이 없으면 아무 동작도 하지 않습니다.
선택된 테이블 그룹은 단축키에서도 메뉴 항목에서도 아무 영향을 주지 않습니다. 그룹의 테이블은 그 테이블 자체가 선택되어 있을 때만 대상이 되며, 그룹 메뉴의 Select tables로 그렇게 선택할 수 있습니다.
좁혀진 화면에 무엇이 표시되는지와 다이어그램 전체로 돌아가는 방법은 시각화 문서에서 다룹니다.

인덱스​

인덱스는 테이블 속성 패널의 Indexes 탭에서 정의하며 내보내는 Schema SQL에 포함됩니다.

왼쪽에는 테이블의 키와 인덱스가 두 그룹으로 나뉘어 표시됩니다.
Keys는 테이블에 키가 있을 때 표시되며, 컬럼이 선언하는 키를 나열합니다. PK로 지정된 컬럼에 대한 PK_<테이블 이름>이 먼저 오고, 이어서 Unique로 지정된 컬럼마다 UQ_<테이블 이름>_<컬럼 이름>이 컬럼 순서대로 옵니다. 이름은 선택한 데이터베이스의 Schema SQL을 따르므로, Bracket이 None이면 sales.users처럼 스키마로 한정된 테이블은 Databricks와 Snowflake를 제외한 모든 데이터베이스에서 PK_users로 표시됩니다. 스키마 한정 테이블 이름 문서를 참고하세요. 각 키에는 PK 또는 UQ 태그와 자물쇠 표시가 붙습니다. 여기서는 읽기 전용이며, 컬럼의 PK와 Unique 플래그를 바꿀 때만 달라집니다.
Indexes는 테이블의 인덱스를 추가한 순서대로 나열합니다. 각 인덱스에는 unique로 만드는 UQ 토글, 이름 입력란, 삭제하는 x가 있습니다. 대체 키인 인덱스에는 AK1과 같은 번호도 표시됩니다. 인덱스는 목록 아래쪽의 Add Index로 추가합니다.

오른쪽에는 Columns 아래에 테이블의 컬럼이 체크박스와 함께 나열됩니다. 왼쪽에서 인덱스를 선택하기 전까지는 아무것도 편집할 수 없습니다.
컬럼을 체크하면 선택한 인덱스에 추가되고, 체크를 해제하면 제거됩니다. 키를 선택하면 그 키의 컬럼이 체크된 상태로 표시되지만, 체크박스는 비활성화된 채로 남습니다.
선택한 인덱스의 컬럼은 아래의 Index order에 나열됩니다. 그립 핸들로 드래그해 순서를 변경하고, 각 행의 ASC 또는 DESC 칩을 클릭해 정렬 순서를 바꿉니다. 대체 키에서는 각 행 끝에 AK<n>.<m> 표시가 붙습니다. 목록은 한 번에 3개 행을 표시하며, 나머지는 스크롤해서 볼 수 있습니다.

readonly 에디터에서도 키나 인덱스를 선택하면 그 컬럼이 표시되지만, Add Index와 x가 없고 탭의 다른 항목도 변경할 수 없습니다.

탐색기는 각 테이블의 인덱스를 그 테이블의 Indexes 폴더에 나열하며, 거기서 인덱스를 고르면 그 인덱스의 테이블로 이동합니다. 탐색기의 검색은 인덱스 이름도 찾으며, 그 이름을 바꿀 수도 있습니다. 검색 대상 문서를 참고하세요.

orders 테이블의 Table Properties를 열어 Indexes 탭에서 인덱스 위에 나열된 PK와 UQ 키를 확인한 뒤, member_id와 ordered_at DESC로 인덱스를 추가하고 Schema SQL 탭에서 확인하는 모습

대체 키​

대체 키는 두 개 이상의 컬럼으로 이루어진 unique 인덱스입니다. 즉 Indexes 탭에서 UQ 토글이 켜져 있고 테이블의 컬럼이 두 개 이상 체크된 인덱스입니다.
컬럼 하나로 된 unique 인덱스는 그 컬럼의 Unique 플래그 이상을 나타내지 않으므로 대체 키가 아니며, 일반 인덱스, primary key, Unique로 지정된 컬럼도 대체 키가 아닙니다.

보기 옵션에서 Alternate Key를 켜면, 다이어그램이 erwin과 IDEF1X의 표기대로 각 대체 키의 컬럼에 AK1.1, AK1.2와 같은 표시를 붙입니다. 이 옵션은 기본적으로 꺼져 있습니다.

키 번호는 인덱스를 추가한 순서가 아니라 키의 컬럼이 테이블에서 놓인 위치에 따라 매겨집니다. Index order의 첫 번째 컬럼이 테이블에서 가장 위에 있는 키가 AK1입니다. 위치가 같으면 각 키의 다음 컬럼으로 정하며, 더 긴 키의 앞부분에 해당하는 키는 그 긴 키보다 앞에 옵니다.
테이블 안에서 컬럼을 이동하거나 키의 Index order 순서를 바꾸면 키 번호가 다시 매겨질 수 있습니다. 키를 삭제한 뒤 Undo하면 그 키는 원래 번호를 되찾으며, 모든 공동 편집자에게 같은 번호가 표시됩니다.

키의 각 컬럼에는 AK<n>.<m> 표시가 붙으며, n은 키의 번호, m은 키의 Index order에서 그 컬럼의 순서입니다. 여러 키에 속한 컬럼에는 모든 표시가 쉼표로 이어져 붙습니다.
예를 들어 컬럼 a, b, c가 있는 테이블에서 (c, a)와 (b, a)에 대한 unique 인덱스는 b가 c보다 위에 있으므로 AK1 = (b, a), AK2 = (c, a)가 됩니다. 따라서 b는 AK1.1, c는 AK2.1, a는 AK1.2,AK2.2로 표시됩니다.

표시는 행의 맨 끝, 컬럼 순서가 마지막에 두는 셀보다 뒤에 그려집니다. 셀이 아니므로 포커스되거나 편집되거나 복사되지 않습니다. 테이블 편집 문서를 참고하세요.
표시는 아무것도 대체하지 않으므로 primary key나 foreign key 컬럼에도 AK 표시가 붙을 수 있습니다. 행 앞쪽의 키 아이콘은 여전히 PK와 FK를 나타내고, Unique 셀은 자체 UQ를 그대로 유지합니다.
대체 키가 있는 테이블은 모든 행의 마지막 셀 뒤에 가장 긴 표시가 들어갈 공간을 확보하며, 대체 키가 없는 테이블은 너비가 그대로 유지됩니다.
표시는 ERD 캔버스에 나타나며, 70% 이하에서 이름만 남도록 축소된 테이블에는 표시되지 않습니다. 이미지 내보내기에도 나타나며, 이미지 내보내기는 배율과 상관없이 모든 테이블을 온전히 그립니다. Visualization 탭 Graph 모드의 호버 미리보기에도 표시되지만, Flow 카드에는 표시되지 않습니다.

Indexes 탭은 옵션이 켜져 있는지와 상관없이 번호를 표시합니다. 인덱스 항목을 참고하세요.

자동 배치​

모든 테이블을 캔버스에 대신 배치해 줍니다.
캔버스 컨텍스트 메뉴 또는 빠른 검색에서 Auto Layout을 열고 네 가지 배치 중 하나를 고릅니다.

배치그리는 모양
Force시뮬레이션입니다. 관계는 테이블을 서로 끌어당기고, 이웃한 테이블은 서로 밀어내며, 겹친 테이블은 떨어집니다.
Flow관계를 따라 왼쪽에서 오른쪽으로 흐릅니다. 연결선마다 테이블에 닿는 지점을 따로 둡니다. 선의 교차를 줄이려 하지만, 다른 배치라면 피할 수 있는 교차가 남을 수도 있습니다.
Tree - vertical위에서 아래로 계층을 만듭니다. 부모 테이블이 자신을 가리키는 foreign key를 가진 테이블 위에 놓입니다.
Tree - horizontal같은 계층 구조를 왼쪽에서 오른쪽으로 놓습니다.

Force는 배치가 안정될 때까지 미리보기를 열고, 함께 표시되는 알림에 Apply와 Cancel이 있습니다.
미리보기 화면은 배치를 시작할 때의 다이어그램에 맞춰지므로, 배치가 안정되는 동안 테이블이 화면 밖으로 나갈 수 있습니다. 미리보기는 70% 이하로 그려지므로 테이블은 이름과 색상 가장자리만 남도록 축소되어 보입니다.
Apply는 그 시점의 위치를 그대로 확정하고, 누르지 않아도 배치가 멈추면 자동으로 적용됩니다. Cancel 또는 Escape는 다이어그램을 원래 상태로 둡니다.

나머지 셋은 메인 스레드 밖에서 한 번에 계산되므로 지켜볼 것이 없습니다. 계산하는 동안 알림이 떠 있고, 완성된 배치는 다이어그램이 이미 차지하던 영역의 가운데에 놓입니다. Cancel 또는 Escape는 더 이상 기다리지 않는 배치를 버리며, shared worker를 실행하지 않는 호스트에서는 Could not place tables로 끝납니다. Web Worker 문서를 참고하세요. 60초 안에 결과가 돌아오지 않는 배치도 같은 방식으로 끝납니다.

어느 쪽을 고르든 테이블과 테이블 그룹이 이동하고, 메모는 제자리에 남습니다. 자기 자신을 가리키는 관계는 무시하며, 같은 두 테이블 사이에 관계가 여러 개 있어도 하나로 셉니다.
모든 배치는 그룹이 표시되어 있는지와 상관없이 각 그룹의 테이블을 한데 모아 두며, 테이블이 들어 있는 각 그룹을 그 테이블에 맞춰 감쌉니다. 테이블 그룹 문서를 참고하세요.
결과는 하나의 히스토리 항목으로 기록되므로 Undo 한 번으로 모든 테이블과 그룹이 원래 위치로 돌아갑니다.

흩어진 테이블을 캔버스 컨텍스트 메뉴의 Flow 자동 배치로 관계를 따라 왼쪽에서 오른쪽으로 늘어세워 정리하는 모습

데이터베이스​

지원하는 데이터베이스는 다음과 같습니다.

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

캔버스 컨텍스트 메뉴의 Database, Schema SQL 탭과 Code Generator 탭의 옵션 패널이나 컨텍스트 메뉴, 또는 빠른 검색에서 하나를 고릅니다. 모두 같은 설정을 변경합니다.

해당 옵션은 내보내기 Schema SQL 문법, DataType 자동완성, 생성된 코드와 가져온 스키마가 해석하는 타입을 결정합니다.
Schema SQL 탭이 작성할 수 있는 Statements와 Header 선택지도 결정합니다. 데이터베이스가 지원하지 않는 선택지는 옵션 패널에 흐리게 남고, SQL은 지원하는 가장 가까운 선택지로 대신 작성됩니다.
또한 Schema SQL과 Code Generator의 ORM 대상이 어떤 ON DELETE와 ON UPDATE 동작을 작성하는지, 관계 메뉴에서 어떤 동작에 not in <database> 안내 문구가 붙는지도 결정합니다. ON DELETE와 ON UPDATE와 코드 생성 문서를 참고하세요.
Schema SQL을 가져올 때는 TIMESTAMP WITH TIME ZONE, public.mood, integer[]처럼 에디터 목록에 있는지와 상관없이 컬럼의 데이터 타입을 인자 목록까지 그대로 유지합니다. 데이터 타입 문서를 참고하세요. DataType 자동완성은 선택한 데이터베이스 목록에 있는 타입만 제안합니다.

데이터베이스를 PostgreSQL로 바꾸고 자동완성에서 PostgreSQL 타입을 고르는 모습

DataType 자동완성의 퍼지 매칭 제안을 방향키로 이동하고 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%로 되돌아갑니다.
  • 관계 표기 4가지. 관계를 시작할 때 쓰는 것과 같습니다. 편집 시작하기 문서를 참고하세요. 관계는 테이블 두 개를 클릭해 그리므로, 표기를 고르면 도구는 다시 포인터로 돌아갑니다.
  • Zen 모드 Alt + Z. 캔버스와 이 툴바만 남기고 나머지를 모두 감춥니다. Alt + Z를 다시 누르거나 버튼을 누르면 되돌아옵니다. 열려 있는 탐색기는 닫히지 않은 채 나머지와 함께 감춰졌다가, 나머지와 함께 다시 나타납니다. Zen 모드 중에도 탐색기를 열 수 있습니다. 탐색기가 숨겨질 때 문서를 참고하세요.
  • Go to content 나침반. 화면에 테이블도, 표시된 메모도, 표시된 테이블 그룹도 하나도 없는 동안에만 툴바 끝에 붙습니다. 캔버스 이동 항목을 참고하세요.

단축키가 있는 버튼은 New Table (Alt + N) (Windows/Linux) or New Table (⌥ + N) (Mac)처럼 툴팁에 그 단축키를 표시합니다.
Force 자동 배치 미리보기, 테이블 속성, Time Travel, Diff Viewer가 열려 있는 동안에는 툴바가 비켜나 있다가, 닫히면 다시 나타납니다.

툴바에서 테이블과 메모를 추가하고 New Table Group을 준비했다가 해제한 뒤, 손 도구로 화면을 이동하고 배율을 한 단계씩 조절하고 ⌥ + Z로 Zen 모드를 전환하는 모습

줌 확대/축소​

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퍼센트포인트씩 바뀝니다. 두 버튼 사이의 퍼센트 값은 현재 배율을 보여 주며, 클릭하면 Ctrl + 0 (Windows/Linux) or ⌘ + 0 (Mac)처럼 곧바로 100%로 되돌립니다.

확대/축소 범위는 10%부터 150%까지입니다.
70% 이하에서는 테이블이 이름과 색상 가장자리만 남도록 축소되고, 셀 편집과 셀 단축키, 복사/붙여넣기는 다시 확대할 때까지 동작하지 않습니다.

같은 세 단축키는 Visualization 탭에서도 Graph 모드와 Flow 모드 모두에서 확대/축소하며, 각 모드는 자체 범위 안에서 동작합니다. 시각화 문서를 참고하세요.

⌘ + Wheel로 테이블이 이름만 남도록 접힐 때까지 축소한 뒤 ⌘ + Plus, ⌘ + Minus, ⌘ + 0으로 되돌리는 모습

캔버스 이동​

캔버스에는 경계도, 설정할 크기도 없습니다. 테이블과 메모는 놓은 자리에 그대로 있고, 아래의 모든 요소는 고정된 지면이 아니라 다이어그램 자체를 기준으로 동작합니다.

캔버스의 빈 영역을 드래그하면 화면이 이동하고, Space로 손 도구를 켜면 테이블 위를 포함해 어디서든 드래그할 수 있습니다. 휠로도 화면이 이동하며, Shift + Wheel은 좌우로 이동합니다.
테이블 그룹의 본문, 즉 제목 표시줄 아래 영역은 마우스 왼쪽 버튼에는 빈 캔버스로 취급됩니다. 본문을 드래그하면 화면이 이동하고, Ctrl + drag (Windows/Linux) or ⌘ + drag (Mac)하면 선택 박스가 그려지며, 클릭하면 선택이 해제됩니다.
화면 이동에는 범위 제한이 없습니다. 휠, 드래그, 손 도구는 어느 방향이든 테이블 너머까지 움직인 만큼 화면을 옮깁니다.

마우스 가운데 버튼(휠 누르기)으로 드래그하면 포인터든 손 도구든 상관없이 캔버스 어디에서나 화면이 이동합니다. 누른 위치가 테이블, 메모, 셀, 아이콘, 관계 위여도 동작합니다.
가운데 버튼 드래그는 아무것도 선택하거나 이동하거나 클릭하지 않으며, 선택을 유지합니다. 열려 있는 컨텍스트 메뉴와 색상 선택기는 닫히고, 브라우저 자체의 가운데 클릭 스크롤과 붙여넣기는 시작되지 않습니다.
스크롤바, 미니맵, 캔버스 툴바, 열려 있는 셀이나 메모의 편집모드에서 가운데 버튼을 누르면 화면이 이동하지 않습니다.

오른쪽 위의 미니맵은 다이어그램의 사방에 한 화면만큼의 여유, 곧 스크롤바가 닿는 범위를 더하고 성긴 격자에 맞춰 바깥쪽으로 넓힌 범위를 보여 주므로, 축소할수록 미니맵 안의 다이어그램은 작아집니다. 클릭하면 그 지점으로 화면이 이동하고, 뷰포트 사각형을 드래그하면 화면이 이동합니다. 축소할수록 뷰포트 사각형은 미니맵의 더 넓은 영역을 덮도록 커집니다.
미니맵은 각 테이블을 그 테이블의 색상으로 그리고, 표시된 각 테이블 그룹을 그 테이블 뒤에 그룹 색상의 박스로 그립니다.
오른쪽과 아래 가장자리의 스크롤바도 같은 범위를 나타냅니다. 이 범위는 다이어그램이 화면 한쪽 바로 밖에 있는 위치부터 반대쪽 바로 밖에 있는 위치까지이므로, 화면에 그려진 다이어그램보다 적어도 한 화면만큼 길고, 화면이 다이어그램 너머에 있는 동안에는 그보다 더 깁니다. Zen 모드가 아닐 때는 테이블, 표시된 메모, 표시된 테이블 그룹이 하나라도 있으면 모두 화면 안에 들어와 있어도 두 스크롤바가 표시됩니다. 메모가 모두 View Option → Memos로 숨겨진 문서처럼 그중 어느 것도 없는 문서에서는 스크롤바도 미니맵도 보이지 않습니다.
스크롤바 손잡이나 미니맵의 뷰포트 사각형을 드래그하는 이동만은 멈추는 지점이 있습니다. 테이블이 화면 밖으로 살짝 벗어나는 지점, 또는 드래그를 시작한 위치가 그보다 더 바깥이었다면 그 위치를 넘어서 이동하지 않습니다.

화면을 이동한 결과 테이블도, 표시된 메모도, 표시된 테이블 그룹도 하나도 보이지 않으면, 가장 가까운 대상을 가리키는 화살표와 거리를 표시하는 Go to content 나침반이 캔버스 툴바 끝에 나타납니다. 클릭하면 배율은 그대로 둔 채 그 대상이 화면 중앙으로 옵니다.

빈 캔버스 드래그, 테이블 위에서의 가운데 버튼 드래그, 미니맵, 휠로 화면을 이동한 뒤 Go to content 나침반을 따라 돌아오는 모습

이동 후 화면 위치​

캔버스에 있는 대상으로 이동하는 모든 기능은 하나의 규칙에 따라 화면을 옮깁니다. 빠른 검색의 #, @, : 결과, 탐색기의 행과 탐색기 찾기와 바꾸기 검색의 일치 항목, Diff Viewer 목록의 행, Flow의 외부 링크 카드 버튼, 그리고 가져와서 추가로 추가한 블록이 놓일 때가 여기에 해당합니다. 각 이동이 무엇을 선택하는지는 해당 항목에서 다루며, 여기서는 화면이 어디로 가는지를 다룹니다.

이동은 배율을 바꾸지 않으며, 스크롤은 많아야 한 번입니다. 다른 탭에서 이동하면 먼저 ERD 탭으로 전환합니다.
캔버스는 보이는 그대로를 기준으로 잽니다. 상단 툴바 아래쪽을, Zen 모드에서는 전체 높이를 기준으로 하며, 탐색기가 열려 있으면 그 오른쪽만을 기준으로 합니다. 탐색기는 캔버스를 덮지 않고 좁히기 때문입니다.

가로와 세로는 따로 판단하며, 대상이 이미 잘 보이는 방향으로는 화면을 전혀 움직이지 않습니다.

  • 그 방향으로 캔버스의 절반보다 길지 않은 대상은 대상의 중앙이 캔버스의 가운데 절반, 즉 가로나 세로로 4분의 1에서 4분의 3 사이에 있는 동안 그대로 둡니다. 그렇지 않으면 대상의 중앙을 캔버스의 중앙으로 가져옵니다.
  • 그보다 길지만 양 끝에 40px의 여유를 두고 들어가는 대상은 전체가 보이는 동안 그대로 둡니다. 그렇지 않으면 가로로는 가운데에 놓고, 세로로는 대상의 위쪽 끝을 캔버스 위쪽에서 40px 아래로 가져옵니다.
  • 그보다 더 긴 대상은 전체가 보이는 동안, 또는 캔버스보다 길다면 아래에 나열한 기준 부분이 보이는 동안 그대로 둡니다. 그렇지 않으면 들어가는 경우 가운데에 놓고, 들어가지 않으면 기준 부분의 양 끝이 캔버스 안쪽으로 적어도 40px 들어오는 범위에서 최대한 가운데에 가깝게 놓습니다. 그렇게 하기에도 너무 긴 기준 부분은 시작 부분을 40px 안쪽에 둡니다.

따라서 캔버스의 왼쪽 가장자리 가까이, 세로로 중간쯤에 있는 작은 테이블은 가로로만 이동합니다.

이동이 화면에 보이게 하는 대상과, 전체가 들어가지 않을 때 보여야 하는 기준 부분은 다음과 같습니다.

  • 테이블: 테이블 전체이며, 위쪽의 이름 띠를 기준으로 합니다. View Option → Table Comment로 코멘트가 표시되는 동안 테이블 코멘트의 일치 항목이라면 코멘트 셀을 기준으로 합니다. 테이블이 이름만 남도록 축소되는 70% 이하에서는 박스 가운데의 이름을 기준으로 합니다.
  • 컬럼: 컬럼의 행이며, 이동하는 셀을 기준으로 합니다. 컬럼 이름이거나, View Option → Column Comment로 코멘트가 표시되는 동안 일치 항목이 있는 코멘트입니다. 70% 이하에서는 테이블의 규칙에 따라 컬럼의 테이블이 보이게 합니다.
  • 긴 코멘트처럼 너무 넓어서 전체를 보일 수 없는 셀: 셀 안의 일치한 텍스트를 기준으로 합니다.
  • 관계: 두 테이블을 아우르는 박스이며, 자식 테이블을 기준으로 합니다.
  • 테이블 그룹: 그룹의 박스이며, 제목 표시줄을 기준으로 합니다.
  • 메모, 또는 가져와서 추가가 놓은 블록: 그 전체입니다.

어느 방향으로도 움직이지 않으면 스크롤하지 않으므로, 같은 곳으로 연달아 두 번 이동하면 두 번째에는 아무것도 움직이지 않습니다. 캔버스를 스크롤하는 이동은 다른 화면 위치 변경과 마찬가지로 그 스크롤을 Undo 히스토리에 기록하며, 아무것도 움직이지 않는 이동은 되돌릴 것을 남기지 않습니다. 가져와서 추가에서는 스크롤이 추가와 같은 한 단계에 포함됩니다. Diff Viewer 목록의 행은 비교 화면의 읽기 전용 양쪽 화면만 움직이므로 아무것도 기록하지 않습니다.
어떤 이동도 그리는 중인 관계를 시작하거나 끝내지 않습니다. Go to content 나침반은 여기서 말하는 이동이 아니며, 가리키는 대상을 화면 중앙으로 가져옵니다.

Diff Viewer​

이전에 저장했던 문서와 현재 문서를 비교할 수 있습니다.
캔버스 컨텍스트 메뉴에서 Diff Viewer를 선택하고 이전에 내보낸 .json 문서를 선택합니다.

비교 화면은 캔버스 위에 열리며, 왼쪽에 변경된 내용이, 이어서 저장된 문서와 현재 문서가 나란히 표시됩니다.
현재 문서는 비교 화면이 열리는 시점의 상태로 비교되며, 그 뒤의 변경은 공동 편집자의 변경을 포함해 비교 화면에 반영되지 않습니다. 열려 있는 탐색기는 비교 화면이 열려 있는 동안 숨겨지므로, 비교 화면이 에디터의 전체 너비를 차지합니다.
양쪽 화면은 각각 휠, 빈 영역이나 테이블 그룹 본문 드래그, 또는 화면 위 어디에서든 가운데 버튼 드래그로 이동하고, Ctrl + Wheel (Windows/Linux), ⌘ + Wheel (Mac) 또는 핀치로 확대/축소합니다. 70% 이하에서는 캔버스에서처럼 테이블이 접힙니다. 양쪽 화면의 표시 항목을 참고하세요.
양쪽 모두 읽기 전용이므로 문서는 변경되지 않습니다. 양쪽 화면은 각자의 선택을 유지하며, 화면에서 테이블을 클릭하면 그 화면에서만 선택됩니다.
함께 열리는 Diff Viewer 알림의 Close 버튼 또는 Escape로 화면을 닫습니다.

저장한 .json 파일로 Diff Viewer를 열고 트리에서 A, M, D, R로 표시된 행을 클릭한 뒤, 이름으로 필터링하고 닫는 모습

비교 대상​

테이블, 컬럼, 인덱스, foreign key, 메모, 테이블 그룹을 모두 비교합니다.
각 항목은 먼저 id로 짝지어집니다. 따라서 id가 유지되는 같은 파일의 이전 버전과 비교하면, 이름을 바꾼 테이블, 컬럼, 인덱스, 테이블 그룹도 여전히 하나의 항목이며 이름이 바뀐 것으로 나열됩니다.
남은 항목은 유지하고 있는 정보로 일대일로 짝지어집니다. 테이블과 테이블 그룹은 대소문자를 포함한 이름으로, 컬럼과 인덱스는 테이블과 이름으로, foreign key는 두 테이블과 컬럼 쌍으로, 메모는 텍스트로, 그다음 위치로 짝지어집니다. 이름이 없는 인덱스는 컬럼과 그 순서와 정렬 방향, unique 여부로 짝지어지고, 이름이 없는 테이블 그룹은 공유하는 테이블이 가장 많은 그룹과 짝지어집니다.
따라서 SQL 가져오기로 다시 만든 다이어그램처럼 다른 곳에서 온 파일과 비교하면, 이름을 바꾼 테이블은 삭제된 테이블 하나와 추가된 테이블 하나로 표시됩니다.

변경으로 보는 항목은 다음과 같습니다.

  • 테이블: 이름, 코멘트, 테이블 그룹, 위치, 색상.
  • 컬럼: 이름, 코멘트, 데이터 타입, 기본값, Auto Increment, primary key, Unique, Not Null, 그리고 테이블 안에서의 위치. 두 문서가 공유하는 순서에서 벗어난 컬럼만 이동한 것으로 보므로, 컬럼 하나를 추가하거나 삭제하거나 이동해도 다른 컬럼은 표시되지 않습니다.
  • 인덱스: 이름, UNIQUE, 그리고 컬럼과 그 순서와 정렬 방향.
  • foreign key: 컬럼 쌍, 관계 타입, ON DELETE와 ON UPDATE 동작.
  • 메모: 텍스트, 위치, 크기, 색상.
  • 테이블 그룹: 이름, 담고 있는 테이블, 색상, 위치, 크기.

따라서 이동, 크기 조절, 색상 변경만 있었던 테이블, 메모, 그룹도 변경된 것으로 봅니다. 위치와 크기는 정수 픽셀 단위로 비교하며, 쌓임 순서와 연결선이 테이블에 닿는 지점은 변경으로 보지 않습니다.

변경 트리​

왼쪽의 목록은 탐색기의 트리와 같은 모양으로 그려지며, 변경된 것만 담습니다. 행이 있을 때만 표시되는 Tables, Table Groups, Memos 폴더가 있고, 테이블 아래에는 그 테이블의 Columns, Indexes, Foreign Keys 폴더가 있습니다. foreign key는 자식 테이블 아래에 나열되며, 추가되거나 삭제된 테이블 안에는 아무것도 나열되지 않습니다.
모든 폴더에는 담고 있는 행의 개수가 표시되며, 모든 폴더와 테이블은 펼쳐진 상태로 시작합니다.
테이블과 테이블 그룹은 대소문자를 구분하지 않고 이름순으로 나열됩니다. 메모, 그리고 테이블의 컬럼, 인덱스, foreign key는 현재 문서의 순서를 따르며, 삭제된 항목은 원래 있던 자리에 다시 놓입니다. 메모 행에는 메모의 첫 줄이 표시되고, foreign key 행에는 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를 누르면 그 항목이 있는 각 화면에서 그 항목으로 이동합니다. 추가된 항목은 현재 문서 쪽 화면에서만, 삭제된 항목은 저장된 문서 쪽 화면에서만, 양쪽에 모두 있는 항목은 양쪽 화면에서 이동합니다. 폴더 행은 접히거나 펼쳐지기만 하며, 테이블 행 앞의 화살표도 마찬가지입니다.

  • 테이블, 컬럼, 인덱스 행은 그 테이블만 선택합니다.
  • foreign key 행은 두 테이블이 화면에 보이게 하거나, 두 테이블이 너무 멀리 떨어져 함께 보일 수 없으면 자식 테이블이 보이게 하고, 자식 테이블을 foreign key 컬럼과 함께 선택한 뒤 연결선을 강조합니다. 연결선 읽기 문서를 참고하세요.
  • 메모 행은 그 메모를, 테이블 그룹 행은 그 그룹을 선택합니다. 어느 화면의 문서가 숨기고 있는 메모나 그룹이라면 그 화면에서는 이동하지 않습니다.

각 화면은 이동 후 화면 위치의 규칙에 따라 그 화면을 기준으로 이동하므로, 같은 행을 다시 클릭해도 아무것도 움직이지 않습니다.

양쪽 화면의 표시​

양쪽 화면은 텍스트, 외곽선, 연결선에 색을 입히며, 아무것도 채우지 않습니다. 추가는 초록색으로 현재 문서 쪽 화면에만, 삭제는 빨간색으로 저장된 문서 쪽 화면에만 표시되며, 호박색의 변경과 파란색의 이름 변경은 양쪽 화면에 표시됩니다. 변경되지 않은 것은 평소대로 그려집니다.

  • 추가되거나 삭제된 테이블과 테이블 그룹은 그 색상의 외곽선으로 둘러싸이고, 이름도 그 색상으로 표시됩니다. 추가되거나 삭제된 메모는 외곽선으로 둘러싸입니다.
  • 두 문서에 모두 있는 테이블에서 추가되거나 삭제된 컬럼은 행 전체에 색이 입혀지고, 이동한 컬럼은 행 전체가 호박색이 됩니다. 추가되거나 삭제된 테이블 안의 항목은 따로 표시되지 않습니다.
  • 변경된 셀의 텍스트는 호박색이 됩니다. 테이블의 코멘트, 컬럼의 코멘트, 데이터 타입, 기본값, Auto Increment, Unique, Not Null, 메모의 텍스트가 해당합니다. primary key가 바뀌면 컬럼의 키 아이콘이 호박색이 됩니다.
  • 이름이 바뀐 테이블, 컬럼, 테이블 그룹은 이름이 파란색으로 표시됩니다.
  • 이동, 크기나 색상 변경, 소속 그룹이나 그룹의 테이블 변경처럼 해당하는 셀이 없는 변경이 있는 테이블, 메모, 테이블 그룹은 호박색 외곽선으로 둘러싸입니다.
  • 추가, 삭제, 변경된 foreign key는 연결선이 그 색상으로 그려집니다. 연결선에 마우스를 올리거나 행을 골라 강조하면 대신 평소의 호버 색상으로 그려집니다.
  • 인덱스 변경은 어느 화면에도 표시되지 않으며, 트리에만 나타납니다.

각 화면은 자기 문서의 View Option을 따릅니다. 그 화면이 그리지 않는 셀의 변경은 대신 이름에 표시됩니다. 둘 다 기본적으로 꺼져 있는 Unique나 Auto Increment처럼 View Option이 숨기는 셀에서 컬럼이 변경되면 컬럼의 이름이 호박색이 되며, 키 아이콘이 표시되지 않는 행에서 primary key가 바뀌어도 마찬가지입니다. Table Comment가 꺼져 있는 동안 테이블 코멘트가 바뀌면 테이블의 이름이 호박색이 됩니다. 이름 변경의 파란색은 이 호박색보다 우선합니다. 문서가 숨기는 메모나 테이블 그룹은 트리에 나열되지만 그 화면에는 그려지지 않습니다.

70% 이하에서는 접힌 테이블도 외곽선을 유지합니다. 이름은 추가되거나 삭제된 테이블의 초록색이나 빨간색, 또는 이름 변경의 파란색을 유지하며, 그 밖의 경우에는 코멘트가 바뀌었을 때 호박색이 됩니다. 컬럼의 변경은 다시 확대할 때까지 그려지지 않지만, 트리에는 여전히 나열됩니다.