Функції для роботи з таблицями
Усе, що ви робите з таблицями й нотатками, коли вони вже існують, — виділення, переміщення, копіювання, видалення, задання кольору й вибір того, що показує полотно, — а також елементи керування полотном навколо них.
Спочатку йдуть команди для таблиць і нотаток; далі — властивості таблиці, фокусування на таблицях, індекси та альтернативні ключі, автоматичне розміщення й СУБД; і наостанок — саме полотно: панель інструментів полотна, масштаб, панорамування й те, куди веде перехід, а також перегляд відмінностей.
Групи таблиць, тобто рамки, що об’єднують таблиці, мають окрему сторінку — див. групи таблиць.
Множинне виділення
Підтримуються три способи:
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 завершує цю дію, а друге знімає виділення.

У сеансі спільного редагування виділення, клітинка у фокусі й рамка виділення кожного учасника показуються на полотні кольором цього учасника — див. спільне редагування.
Переміщення кількох таблиць
Перетягніть будь-яку таблицю чи нотатку, що вже входить до виділення, і разом із нею переміститься все виділення — клавіша-модифікатор не потрібна.
Перетягування об’єкта поза виділенням звужує виділення до нього й переміщує лише його. 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 на смузі заголовка групи таблиць переміщує групу, як і звичайне перетягування; група ніколи не дублюється.

Видалення таблиць і нотаток
Видаляє виділені таблиці, нотатки й групи таблиць.
Сполучення клавіш:
DeleteабоBackspace. Ці клавіші видаляють усе виділення, крім випадку, коли єдиним виділеним об’єктом є таблиця, у якій виділено деякі стовпці, а масштаб перевищує70%: тоді вони натомість видаляють ці стовпці — див. видалення стовпців.Ctrl + BackspaceабоCtrl + Delete(Windows/Linux),⌘ + Backspaceабо⌘ + Delete(Mac). Ці сполучення завжди видаляють виділені таблиці, нотатки й групи таблиць, навіть коли виділено стовпці.

Видаляти можна й через контекстні меню. Останній пункт меню таблиці чи нотатки має назву Delete selected, коли ця таблиця чи нотатка є одним із двох або більше виділених об’єктів, і видаляє все виділення. Інакше він має назву Delete і видаляє лише цю таблицю чи нотатку. Над рядком виділеного стовпця меню таблиці натомість має пункт Delete column або Delete columns, як описано в розділі про видалення стовпців.
Видалення таблиці видаляє разом із нею її зв’язки та індекси. Видалення групи таблиць зберігає її таблиці, але вже поза будь-якою групою — див. видалення групи.
Підтвердження не запитується, кожне видалення є одним кроком відміни, а в редакторі з атрибутом readonly нічого не видаляється.
Якщо утримувати Delete і Backspace, видалення відбувається лише один раз, і ці клавіші ніколи не видаляють зв’язок — див. редагування зв’язків. Поки ви вводите текст у клітинці, нотатці чи будь-якому іншому текстовому полі, вони натомість редагують текст.
У налаштуваннях ці дві клавіші вказано як Delete Selection — див. сполучення клавіш.
Задання кольору таблиць і нотаток
Можна призначати кольори, щоб розрізняти об’єкти за категоріями.
Таблиця показує свій колір уздовж лівого краю, а нотатка — уздовж верхнього. Щоб відкрити панель вибору кольору біля вказівника, клацніть цей край чи смугу лівою кнопкою або виберіть пункт Color у контекстному меню таблиці чи нотатки. Колір застосовується до всіх виділених таблиць, нотаток і груп таблиць, а не лише до того об’єкта, який ви клацнули.
Колір групи таблиць задається пунктом 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 прибирає колір усіх виділених таблиць, нотаток і груп таблиць за один крок відміни та закриває панель вибору кольору. Пункт Remove color, що з’являється одразу під 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 показує мітки D: і U:, які дії ON DELETE та ON UPDATE зв’язку ставлять на кінці його лінії зв’язку біля дочірньої таблиці, — див. як читати лінію зв’язку. Його вимкнення приховує лише ці мітки й не зсуває жодної таблиці чи лінії зв’язку.
Параметр Table Groups показує групи таблиць і кольори груп на заголовках їхніх таблиць. Його вимкнення приховує їх на полотні, мінікарті та в експортованих зображеннях, не зсуває жодної таблиці й залишає кожну таблицю в її групі — див. приховування груп. Також воно прибирає папку Table Groups з оглядача і кнопку New Table Group з панелі інструментів полотна, а пошук оглядача перестає знаходити назви груп.
Параметр Memos показує нотатки. Його вимкнення приховує всі нотатки на полотні, мінікарті та в експортованих зображеннях і не зсуває жодної таблиці чи лінії зв’язку. Приховані нотатки не займають місця, тому смуги прокручування, мінікарта й компас Go to content їх не враховують.
Приховування нотаток знімає з них виділення й закриває відкритий редактор нотатки. Оглядач прибирає свою папку Memos, а пошук і заміна в оглядачі та префікс : швидкого пошуку їх не охоплюють. Поки вони приховані, пункт New Memo зникає з контекстного меню, панелі інструментів полотна, швидкого пошуку й вітального екрана, а Alt + M не додає нотатку. Вставлення чи імпорт із додаванням усе одно додає нотатки, які містить, — прихованими й невиділеними.
У редакторі з атрибутом readonly ці перемикачі нічого не змінюють.

Картки в режимі 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, окремі обмеження, які деякі бази даних записують для її унікальних стовпців, і її індекси. Вона завжди записує прості оператори CREATE, без заголовка й без скриптів перед таблицями й після них, незалежно від налаштувань вкладки схеми SQL на панелі інструментів. Вона не має панелі параметрів, а її контекстне меню пропонує лише 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_<table name> для стовпців із позначкою PK, далі UQ_<table name>_<column name> для кожного унікального стовпця, у порядку стовпців. Назви відповідають схемі SQL вибраної бази даних, тож якщо Bracket має значення None, для таблиці з указанням схеми, як-от sales.users, у всіх базах даних, крім Databricks і Snowflake, показується PK_users — див. назви таблиць з указанням схеми. Кожен ключ має мітку PK або UQ і значок замка. Тут вони доступні лише для читання й змінюються тільки разом із прапорцями стовпців PK і унікальності.
Група Indexes перелічує індекси таблиці в порядку їх додавання. Кожен індекс має перемикач UQ, що робить його унікальним, поле назви й кнопку x, що його видаляє. Індекс, який є альтернативним ключем, також показує свій номер, як-от AK1. Щоб додати індекс, скористайтеся кнопкою Add Index унизу списку.
Права частина перелічує стовпці таблиці в групі Columns, кожен із прапорцем. Поки ліворуч не вибрано індекс, нічого не можна редагувати.
Позначте стовпець, щоб додати його до вибраного індексу, і зніміть позначку, щоб прибрати його. Якщо вибрати ключ, його стовпці показуються позначеними, але прапорці лишаються неактивними.
Стовпці вибраного індексу перелічено нижче, у групі Index order. Перетягніть їх за маркер перетягування, щоб змінити порядок, і клацніть мітку ASC або DESC у рядку, щоб змінити порядок сортування на протилежний. В альтернативному ключі кожен рядок закінчується позначкою AK<n>.<m>. Список показує три рядки одночасно, а решту прокручує.
У редакторі з атрибутом readonly вибір ключа чи індексу все одно показує його стовпці, але кнопок Add Index і x немає, а нічого іншого на вкладці змінити не можна.
Оглядач перелічує індекси кожної таблиці в її папці Indexes, і вибір індексу там веде до його таблиці. Його пошук знаходить і назви індексів, а також може їх перейменовувати — див. що охоплює пошук.

Альтернативні ключі
Альтернативний ключ — це унікальний індекс за двома або більше стовпцями: індекс на вкладці Indexes з увімкненим перемикачем UQ і щонайменше двома позначеними стовпцями таблиці.
Унікальний індекс за одним стовпцем означає не більше, ніж прапорець унікальності цього стовпця, тому він не є альтернативним ключем, як і звичайний індекс, первинний ключ чи унікальний стовпець.
Коли в параметрах відображення увімкнено 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, а клітинка унікальності зберігає власну позначку 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 Workers. Розміщення, результат якого не повернувся протягом 60 секунд, завершується так само.
Яке б розміщення ви ні вибрали, переміщуються таблиці й групи таблиць, а нотатки лишаються на місці. Зв’язок таблиці із самою собою ігнорується, а кілька зв’язків між тими самими двома таблицями враховуються як один.
Кожне розміщення тримає таблиці кожної групи разом, незалежно від того, чи показано групи, і підганяє кожну групу, що містить таблиці, так, щоб вона охоплювала їх, — див. групи таблиць.
Результат потрапляє в історію змін одним записом, тому одна відміна повертає кожну таблицю й групу туди, де вони були.

Бази даних
Підтримуються такі бази даних:
- Databricks
- MSSQL
- MariaDB
- MySQL
- Oracle
- PostgreSQL
- Snowflake
- SQLite
Виберіть одну з них через Database — у контекстному меню полотна, на панелі параметрів чи в контекстному меню вкладок схеми SQL і генератора коду або у швидкому пошуку. Усі вони змінюють одне й те саме налаштування.
Ці параметри визначають синтаксис схеми SQL для експорту, автодоповнення типів даних і типи, до яких зводяться згенерований код та імпортовані схеми.
Вони визначають, які варіанти Statements і Header може записувати вкладка схеми SQL. Варіант, якого база даних не підтримує, залишається на панелі параметрів, але приглушеним, а SQL використовує найближчий підтримуваний варіант.
Вони також визначають, які дії ON DELETE та ON UPDATE записують схема SQL і цільові формати ORM генератора коду та які з них меню зв’язку позначають як not in <database>, — див. ON DELETE і ON UPDATE і генератор коду.
Імпорт схеми SQL зберігає тип даних стовпця разом зі списком аргументів незалежно від того, чи є він у списку редактора, як-от TIMESTAMP WITH TIME ZONE, public.mood або integer[], — див. типи даних. Автодоповнення типів даних пропонує лише типи, які є в списку вибраної бази даних.


Панель інструментів полотна
Над серединою нижнього краю полотна плаває невелика панель інструментів, яка містить, зліва направо, інструменти, що діють на саме полотно, і команди, що додають на нього об’єкти:
- Рука й інструмент виділення. За замовчуванням вибрано інструмент виділення; рука перетворює кожне перетягування на панорамування — як над таблицями, так і над порожнім місцем.
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, завершує малювання без додавання групи. КнопкаNew Memoне показується, поки View Option →Memosприховує нотатки, аNew Table Group— поки View Option →Table Groupsприховує групи. Редактор з атрибутомreadonlyне показує жодної з трьох кнопок.- Масштаб:
Zoom out, поточний масштаб у відсотках іZoom in. Ці дві кнопки змінюють масштаб кроками так само, як сполучення клавіш масштабу, а клацання на відсотках повертає його до100%. - Чотири нотації зв’язку, ті самі чотири, якими починають зв’язок, — див. початок редагування. Вибір однієї з них повертає інструмент виділення, бо зв’язок малюється клацанням на двох таблицях.
- Режим дзен,
Alt + Z, який прибирає все, крім полотна й цієї панелі інструментів. Повторне натисканняAlt + Zабо кнопка повертають решту. Відкритий оглядач приховується разом із рештою, не закриваючись, і повертається разом із нею. Його все одно можна відкрити в режимі дзен — див. коли оглядач приховується. - Компас
Go to content, який з’являється в кінці панелі інструментів лише тоді, коли на екрані немає жодної таблиці, видимої нотатки чи видимої групи таблиць, — див. навігація полотном.
Кожна кнопка, що має сполучення клавіш, вказує його у своїй підказці, як-от New Table (Alt + N) (Windows/Linux) або New Table (⌥ + N) (Mac).
Панель інструментів ховається, поки відкрито попередній перегляд автоматичного розміщення Force, вікно властивостей таблиці, подорож у часі чи перегляд відмінностей, і повертається, щойно їх закрито.

Збільшення/зменшення масштабу
Масштаб змінюється за допомогою 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 відсоткові пункти, залишаючи середину екрана на місці. Відсотки між ними показують поточний масштаб, а клацання на них одразу повертає 100%, як і Ctrl + 0 (Windows/Linux) або ⌘ + 0 (Mac).
Масштаб змінюється від 10% до 150%.
За масштабу 70% і менше таблиці згортаються до назви й кольорового краю, а редагування клітинок, сполучення клавіш для клітинок, копіювання й вставлення перестають працювати, доки ви знову не збільшите масштаб.
Ті самі три сполучення клавіш змінюють і масштаб вкладки візуалізації — як у режимі Graph, так і в режимі Flow, причому кожен режим має власний діапазон, — див. візуалізація.

Навігація полотном
Полотно не має ні країв, ні розміру, який треба задавати. Таблиці й нотатки розташовуються там, де ви їх поставили, і все описане нижче стосується діаграми, а не сторінки фіксованого розміру.
Щоб панорамувати, перетягніть порожню ділянку полотна або перемкніться на інструмент «Рука» клавішею Space і перетягуйте будь-де, зокрема над таблицею. Коліщатко миші теж панорамує, а Shift + Wheel панорамує вбік.
Для лівої кнопки тіло групи таблиць, тобто область під її смугою заголовка, вважається порожнім полотном: його перетягування панорамує, Ctrl + drag (Windows/Linux) або ⌘ + drag (Mac) малює рамку виділення, а клацання знімає виділення.
Панорамування не має меж: коліщатко миші, перетягування й інструмент «Рука» зсувають область перегляду так далеко, як ви її зсуваєте, — за межі таблиць із будь-якого боку.
Щоб панорамувати з будь-якого місця полотна, перетягуйте середньою кнопкою миші (натиснувши коліщатко) — як з інструментом виділення, так і з рукою. Це працює, навіть коли натискання припадає на таблицю, нотатку, клітинку, значок чи зв’язок.
Перетягування середньою кнопкою нічого не виділяє, не переміщує й не клацає, а також зберігає виділення. Воно закриває відкрите контекстне меню й панель вибору кольору, а власне прокручування й вставлення браузера за клацанням середньою кнопкою не запускаються.
Натискання середньою кнопкою на смугах прокручування, мінікарті, панелі інструментів полотна чи у відкритому редакторі клітинки або нотатки не панорамує.
Мінікарта у верхньому правому куті відображає діаграму із запасом на один екран із кожного боку — до межі ходу смуг прокручування, — вирівнявши цю область назовні за грубою сіткою, тож що більше ви зменшуєте масштаб, то меншою діаграма виглядає на мінікарті. Клацніть мінікарту, щоб перемістити область перегляду в цю точку, або перетягніть прямокутник області перегляду, щоб панорамувати. Під час зменшення масштабу прямокутник області перегляду збільшується й охоплює більшу частину карти.
Вона малює кожну таблицю кольором цієї таблиці, а кожну видиму групу таблиць — рамкою кольору групи позаду її таблиць.
Смуги прокручування вздовж правого й нижнього країв описують той самий хід: від положення, коли діаграма щойно виходить за один бік екрана, до положення, коли вона щойно виходить за протилежний, тому він щонайменше на екран довший за намальовану діаграму, а ще довший, поки область перегляду перебуває за її межами. Поза режимом дзен обидві смуги прокручування показуються щоразу, коли документ містить таблицю, видиму нотатку чи видиму групу таблиць, навіть якщо все вміщується на екрані. Документ без жодного з цих об’єктів, як-от документ, єдині нотатки якого приховано через View Option → Memos, не показує ні смуг прокручування, ні мінікарти.
Перетягування повзунка смуги прокручування або прямокутника області перегляду на мінікарті — єдине панорамування, яке має межу: воно сягає не далі, ніж таблиці, що щойно вийшли за екран, або ніж місце, де почалося перетягування, якщо воно було далі.
Якщо після панорамування на екрані не лишилося жодної таблиці, видимої нотатки чи видимої групи таблиць, у кінці панелі інструментів полотна з’являється компас Go to content зі стрілкою, що вказує на найближчий об’єкт, і відстанню до нього. Клацніть компас, щоб розмістити цей об’єкт по центру без зміни масштабу.

Куди веде перехід
Кожен перехід, що веде до чогось на полотні, зсуває область перегляду за одним правилом: результати #, @ і : швидкого пошуку, рядки оглядача та збіги його пошуку й заміни, рядки списку перегляду відмінностей, кнопка на картці для зовнішнього посилання в режимі Flow і місце, куди потрапляє імпорт із додаванням. Кожен із цих розділів описує, що виділяє перехід; цей розділ описує, куди зсувається область перегляду.
Перехід ніколи не змінює масштаб і виконує щонайбільше одне прокручування. З іншої вкладки він спершу перемикає на вкладку 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% і менше її таблиці згортаються так само, як на полотні, — див. позначки на обох сторонах.
Обидві сторони доступні лише для читання, тому у вашому документі нічого не змінюється. Кожна має власне виділення, і клацання на таблиці там виділяє її лише на цій стороні.
Закрийте перегляд кнопкою Close на повідомленні Diff Viewer, з яким він відкривається, або клавішею Escape.

Що порівнюється
Порівнюються таблиці, стовпці, індекси, зовнішні ключі, нотатки та групи таблиць.
Кожен об’єкт спершу зіставляється за ідентифікатором (id), тож під час порівняння з попередньою версією того самого файлу, яка зберігає ідентифікатори, перейменована таблиця, стовпець, індекс чи група таблиць усе одно лишається одним об’єктом, позначеним як перейменований.
Решта зіставляється один до одного за тим, що в них збереглося: таблиця чи група таблиць — за назвою з урахуванням регістру; стовпець чи індекс — за таблицею й назвою; зовнішній ключ — за двома таблицями й парами стовпців; а нотатка — за текстом, потім за положенням. Індекс без назви зіставляється за стовпцями, їхнім порядком і напрямком та за тим, чи він унікальний, а група таблиць без назви — за найбільшою кількістю спільних таблиць.
Тож під час порівняння з файлом іншого походження, як-от діаграмою, відтвореною імпортом SQL, перейменована таблиця показується як одна видалена й одна додана.
Що вважається зміною:
- Таблиця: назва, коментар, група таблиць, положення й колір.
- Стовпець: назва, коментар, тип даних, типове значення, автоінкремент, первинний ключ, унікальність, 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, а дві сторони порівну ділять решту ширини.
Клавіатура працює в дереві так само, як у дереві оглядача — див. клавіші в оглядачі, — але тут Escape у дереві чи в полі Filter by name закриває перегляд.
Перехід до зміни
Клацніть рядок або натисніть Enter чи Space, коли на ньому фокус клавіатури, щоб перейти до його об’єкта на кожній стороні, що його містить: до доданого — лише на поточній стороні, до видаленого — лише на збереженій, а до того, що є в обох, — на обох сторонах. Рядок папки лише згортає чи розгортає її, і так само діє стрілка на початку рядка таблиці.
- Рядок таблиці, стовпця чи індексу виділяє лише таблицю.
- Рядок зовнішнього ключа показує в області перегляду обидві його таблиці або дочірню таблицю, якщо вони надто далеко одна від одної, щоб показати їх разом, виділяє дочірню таблицю з її стовпцями зовнішнього ключа й підсвічує лінію зв’язку — див. як читати лінію зв’язку.
- Рядок нотатки виділяє нотатку, а рядок групи таблиць — групу. Для нотатки чи групи, яку приховує документ певної сторони, перехід на цій стороні не виконується.
Кожна сторона зсувається за правилом, описаним у розділі куди веде перехід, з вимірюванням на цій стороні, тож повторне клацання того самого рядка нічого не зсуває.
Позначки на обох сторонах
Обидві сторони виділяють кольором текст, контури й лінії зв’язку, але нічого не заливають. Додане позначається зеленим і показується лише на поточній стороні, видалене — червоним і лише на збереженій стороні, а змінене (бурштиновим) і перейменоване (синім) показуються на обох сторонах. Усе незмінене малюється як звичайно.
- Додана чи видалена таблиця або група таблиць обводиться контуром відповідного кольору, і її назва набуває цього кольору. Додана чи видалена нотатка обводиться контуром.
- Доданий чи видалений стовпець у таблиці, яка є в обох документах, забарвлює весь свій рядок, а переміщений стовпець робить увесь свій рядок бурштиновим. Усередині доданої чи видаленої таблиці нічого окремо не позначається.
- Текст зміненої клітинки стає бурштиновим: коментар таблиці, коментар стовпця, тип даних, типове значення, автоінкремент, унікальність чи NOT NULL стовпця або текст нотатки. Зміна первинного ключа робить значок ключа стовпця бурштиновим.
- Перейменовані таблиця, стовпець чи група таблиць мають синю назву.
- Таблиця, нотатка чи група таблиць зі зміною, яка не має власної клітинки, як-от переміщення, новий розмір чи колір або зміна групи чи таблиць групи, обводиться бурштиновим контуром.
- Доданий, видалений чи змінений зовнішній ключ малює свою лінію зв’язку відповідним кольором. Якщо навести на неї вказівник або її підсвічує рядок, вона натомість малюється звичайним кольором наведення.
- Зміна індексу нічого не позначає на жодній зі сторін; вона показується лише в дереві.
Кожна сторона дотримується параметрів відображення свого документа. Зміна в клітинці, яку ця сторона не малює, натомість показується на назві. Зміна стовпця в клітинці, яку приховує параметр відображення, як-от Unique чи Auto Increment, які за замовчуванням вимкнено, робить назву стовпця бурштиновою, і так само діє зміна первинного ключа в рядку, де не показано значок ключа. Зміна коментаря таблиці, поки Table Comment вимкнено, робить назву таблиці бурштиновою. Синій колір перейменування переважає цей бурштиновий. Нотатка чи група таблиць, яку приховує її документ, наводиться в дереві, але не малюється на цій стороні.
За масштабу 70% і менше згорнуті таблиці зберігають свій контур. Назва зберігає зелений чи червоний колір доданої чи видаленої таблиці або синій колір перейменування, а інакше набуває бурштинового кольору зміни коментаря. Зміни стовпців не малюються, доки ви знову не збільшите масштаб; дерево все одно їх перелічує.