Редактирование таблиц
По сути, редактирование таблиц похоже на редактирование в Excel.
Режим отображения имен определяет, что таблица рисует в заголовке и строках: имена, логические имена или и то и другое.
Режим редактирования включается нажатием Enter или двойным щелчком по ячейке.
Enter или Escape завершает его. Вводимый текст применяется по мере ввода, поэтому Escape сохраняет текст, а не возвращает прежнее значение. Исключение — ячейка домена: она только выбирает из своего списка и никогда не сохраняет введенный текст. Закрытие ячейки логического имени на измененном логическом имени может также заполнить физическое имя.
Escape оставляет ячейку в фокусе и таблицу выделенной, а повторное нажатие Escape снимает и фокус, и выделение. Пока ячейка логического имени показывает свой список терминов, первое нажатие Escape закрывает только список.
Пока в методе ввода еще идет набор, Escape не закрывает режим редактирования.

Добавление столбцов
Создается с помощью сочетания клавиш Alt + Enter (Windows/Linux) или ⌥ + Enter (Mac), которое добавляет столбец в каждую выделенную таблицу, либо кнопкой + в заголовке таблицы, которая добавляет его в эту таблицу.
Фокус получает первая ячейка нового столбца — первая из тех, что его строка рисует в порядке столбцов. При порядке по умолчанию это его имя, которое в режиме Logical Names является его логическим именем, а в режиме Both Names — его ячейка Logical Name, — см. Отображение имен.
Столбец, добавленный клавишей Tab из последней ячейки, и первичный ключ, который рисование связи добавляет родительской таблице, где его нет, тоже начинаются с этой ячейки.
Клавиша Tab
Нажмите Tab, чтобы сразу перейти в режим редактирования следующей ячейки.
Нажатие клавиши Tab в последней ячейке создает новый столбец и открывает его первую ячейку для редактирования — см. Добавление столбцов.
Используйте Shift + Tab, чтобы перейти в режим редактирования предыдущей ячейки.
Tab и Shift + Tab проходят по ячейкам, которые рисует таблица, в их порядке, поэтому режим отображения имен и View Option → Domain определяют, входят ли в их число ячейки логического имени и домена, — см. Ввод логического имени.
Метки альтернативных ключей, отображаемые после последней ячейки строки, не являются ячейками, поэтому фокус клавиатуры их пропускает и они никогда не открываются для редактирования.

Автодополнение типа данных
Начните редактировать ячейку DataType и введите текст. Предлагаются подходящие типы из выбранной базы данных, а та часть варианта, которая буквально содержит введенный текст, подсвечивается.
Сам поиск при этом нечеткий, поэтому запрос vch тоже находит VARCHAR.
Arrow UpилиArrow Down: переход по вариантамArrow Right,TabилиEnter: принятие подсвеченного вариантаArrow Left: возврат к введенному тексту
Также можно щелкнуть вариант.
Список показывает до десяти вариантов одновременно, а остальные доступны при прокрутке.
Ничего не навязывается, поэтому тип, которого нет в списке, можно ввести свободно, в том числе с аргументами, например VARCHAR(255). Список закрывается, как только введенный текст выходит за пределы полного имени типа, как в случае VARCHAR(255) или BIGINT UNSIGNED.
Варианты зависят от выбранной базы данных. Смена базы данных меняет предлагаемые варианты, а существующие столбцы оставляет без изменений.
Ввод текста в ячейку DataType столбца, привязанного к домену, или принятие там варианта отвязывает столбец от домена, как только его тип начинает отличаться от типа домена, — см. Домены и типы данных.
В режиме Logical Names, пока View Option → Domain выключен, ячейка типа столбца, привязанного к домену с именем, показывает имя домена, а ее редактирование открывает список выбора домена вместо этих вариантов. Ячейка типа, показывающая тип данных, редактирует его, как описано выше.

Не NULL, Уникальный, Автоинкремент
Эти три ячейки — переключатели, а не текст.
Чтобы переключить такую ячейку, дважды щелкните ее или нажмите Enter, пока она в фокусе.
Ячейка «Не NULL» показывает N-N, когда флаг установлен, и NULL, когда он снят.
Метки UQ и AI приглушены в выключенном состоянии и подсвечены во включенном.

Ячейки, скрытые параметрами вида таблиц, переключить нельзя.
Выделение нескольких столбцов
Поддерживаются пять способов:
Shift + Arrow Up/Down: расширение выделения по одной строкеCtrl + click(Windows/Linux) или⌘ + click(Mac): добавление одного столбцаShift + click: выделение диапазона от столбца, который последним был в фокусеCtrl + Shift + click(Windows/Linux) или⌘ + Shift + click(Mac): добавление этого диапазона к выделениюAlt + A(Windows/Linux) или⌥ + A(Mac): выделение всех столбцов

Чтобы переместить выделенные столбцы вместе, перетащите маркер перетаскивания рядом со столбцом в фокусе — см. Перестановка и перемещение столбцов.
Щелчок правой кнопкой мыши по строке столбца определяет, к каким столбцам применяется контекстное меню таблицы, какая бы клавиша-модификатор ни удерживалась.
На уже выделенной строке выделение сохраняется, а фокус переходит на эту строку. На любой другой строке выделяется только она. Это действует в любом месте строки, включая значок ключа и метку альтернативного ключа.
Поэтому, чтобы применить пункт меню к нескольким столбцам, как в разделах Первичный ключ столбца или Удаление столбцов, щелкните одну из выделенных строк правой кнопкой мыши.
На Mac Ctrl + click тоже открывает меню, но считается обычным щелчком, поэтому на ячейке это сочетание выделяет только ее строку еще до открытия меню.
Перестановка и перемещение столбцов
Столбец перемещается за маркер перетаскивания — небольшую кнопку со значком захвата, которая находится сразу за левым краем таблицы рядом со строкой в фокусе.
Переведите фокус на любую ячейку столбца щелчком, клавишами со стрелками или Tab, и рядом с его строкой появится маркер. Пока фокус на заголовке таблицы, маркера нет ни у одной строки.
Маркер рисуется бледно, пока на него не наведен указатель, а затем указатель превращается в руку. Само по себе нажатие ничего не делает: перетаскивание начинается, как только указатель сдвигается, и позволяет перенести столбец на другое место в его таблице или в другую таблицу.
Над строками таблицы перетаскиваемые строки встают на место, а строки вокруг точки вставки раздвигаются, освобождая место. Над пустой областью холста или над заголовком таблицы, в которой есть столбцы, за указателем следует полупрозрачная копия строк, показывающая ячейки имени и типа каждой строки так, как строка рисует их в текущем режиме отображения имен.
Отпустите столбец сразу под последней строкой таблицы, чтобы переместить его в конец этой таблицы. Таблица без столбцов принимает столбец, отпущенный в любом ее месте. Полоса сразу слева от таблицы, где находится маркер, тоже считается строками таблицы, поэтому перетаскивание прямо вниз вдоль маркера меняет порядок столбцов, не заводя указатель в таблицу.
Столбец, перемещенный в другую таблицу, сохраняет свое логическое имя и домен.

Чтобы переместить несколько столбцов сразу, выделите их и перетащите маркер рядом со столбцом в фокусе. Если столбец в фокусе — один из двух или более выделенных столбцов своей таблицы, маркер переносит их все, иначе он переносит только свой столбец.
Клавиша-модификатор не нужна. Если удерживать клавишу Alt (Windows/Linux) или ⌥ (Mac) на маркере, столбцы перемещаются так же, как при обычном перетаскивании, и ничего не дублируется.

Перетаскивание, которое начинается на строке столбца, а не на его маркере, перемещает таблицу, как и перетаскивание за заголовок, — см. Перемещение нескольких таблиц. Alt + drag (Windows/Linux) или ⌥ + drag (Mac) на строке дублирует таблицу — см. Дублирование таблиц и заметок.
При масштабе 70% и меньше, когда таблицы показывают только свои имена, а также в редакторе только для чтения маркер не рисуется, поэтому порядок столбцов там изменить нельзя.
Перетаскивание столбца, которое выполняется, когда редактор становится доступным только для чтения, немедленно прекращается: копия, следующая за указателем, и рука захвата исчезают, а отпускание не перемещает ни одного столбца. Строки, которые перетаскивание уже успело переместить, остаются там, куда их переместили.
Удаление столбцов
Удаляет выделенные столбцы таблицы в фокусе. Щелчок по ячейке выделяет ее столбец, поэтому щелчок по ячейке и нажатие Delete удаляют один этот столбец.
Сочетания клавиш:
DeleteилиBackspace. Эти клавиши удаляют выделенные столбцы, пока их таблица — единственный выделенный элемент. Если не выделен ни один столбец (фокус на имени, логическом имени или комментарии таблицы), если выделено и что-то еще или при масштабе70%и меньше, когда таблицы показывают только свои имена, они вместо этого удаляют все выделение — см. Удаление таблиц и заметок.Alt + BackspaceилиAlt + Delete(Windows/Linux),⌥ + Backspaceили⌥ + Delete(Mac). Эти сочетания удаляют выделенные столбцы таблицы в фокусе, даже если выделены и другие таблицы или заметки. Они ничего не удаляют во время редактирования ячейки или при масштабе70%и меньше.

То же самое делает контекстное меню таблицы. Когда таблица — единственный выделенный элемент, щелкните строку столбца правой кнопкой мыши: последний пункт меню называется Delete column, а если эта строка — один из двух или более выделенных столбцов, то Delete columns.
Во время редактирования ячейки Delete и Backspace только стирают текст. Если удерживать эти клавиши вне поля редактирования ячейки, они удаляют только один раз.
После удаления фокус переходит на ближайший оставшийся столбец над тем, который был в фокусе. Если над ним не осталось ни одного столбца, фокус переходит на имя таблицы (в режиме Logical Names — на логическое имя, нарисованное на его месте), даже если ниже столбцы остались, поэтому следующее нажатие Delete или Backspace удаляет таблицу, а не столбец.
Связи и индексы, использующие удаленный столбец, удаляются вместе с ним. Подтверждение не запрашивается, а удаление целиком составляет один шаг отмены.
Копирование и вставка столбцов
Работает как табличный буфер обмена.
Сочетания клавиш: Ctrl + C (Windows/Linux) или ⌘ + C (Mac), Ctrl + V (Windows/Linux) или ⌘ + V (Mac)
Копирование в электронную таблицу, вставка из нее и вставка в таблицу, у которой в фокусе ячейка столбца, используют ячейки, отображаемые в таблицах, в том порядке, в котором они отображаются, — см. Параметры вида таблиц, Настройка порядка столбцов и Отображение имен. Режим отображения имен меняет то, что содержат некоторые из этих ячеек:
- В режиме
Logical Namesячейка имени содержит логическое имя или ничего, если оно пустое. Пока View Option →Domainвыключен, ячейка типа содержит имя домена столбца там, где она его показывает, а в остальных случаях — тип данных. - В режиме
Both NamesячейкаLogical Nameкопируется и вставляется на том месте, куда ее ставит порядок столбцов. - Отображаемая ячейка домена содержит имя домена или ничего для столбца, который не показывает домен.
Столбцы, скопированные в редакторе и вставленные при выделенном заголовке таблицы или в другие выделенные таблицы, переносят все ячейки скопированных столбцов, включая скрытые, например ячейки «Уникальный» и «Автоинкремент», а также свои логические имена.
Они сохраняют привязку к домену, только если в этой диаграмме есть тот же самый домен, а не просто домен с таким же именем, и у домена по-прежнему тип скопированного столбца. Иначе они вставляются без привязки, с тем типом, с которым были скопированы. Их имена считаются написанными вами, кроме случая, когда вставленное имя пустое и его формирует логическое имя, — см. Формирование физических имен.
Метки альтернативных ключей, например AK1.1, не являются ячейками, поэтому копирование и вставка пропускают их, даже когда они отображаются.
Вставлять можно из редактора в Excel и из Excel обратно в редактор.
Значения ячеек передаются точно в том виде, в каком введены, поэтому такое значение, как <label> или a & b, попадает в электронную таблицу или документ без изменений.
Столбцы электронной таблицы сопоставляются с видимыми ячейками по позиции, а не по имени, поэтому столбцы листа должны идти в порядке этих ячеек.
Для перечисленных ниже столбцов любое из этих значений считывается как true (без учета регистра):
- Автоинкремент:
TRUE,1,YES,Y - Уникальный:
TRUE,1,YES,Y - Не NULL:
TRUE,1,YES,Y,NOT NULL
На выходе редактор записывает TRUE или FALSE для флагов «Автоинкремент» и «Уникальный», а NOT NULL или NULL — для флага «Не NULL».
Ячейки «Уникальный» и «Автоинкремент» по умолчанию скрыты, поэтому TRUE и FALSE записываются и считываются, только когда эти ячейки отображаются.


Куда попадают вставленные данные, зависит от фокуса:
- Если выделен заголовок таблицы, вставленные строки добавляются как новые столбцы в каждую выделенную таблицу.
- Если в фокусе ячейка столбца, по порядку перезаписываются выделенные строки этой таблицы, а затем строки под последней из них — столько, сколько строк вставлено. Строки между отдельными выделенными диапазонами пропускаются. Перезаписанная строка получает вставленные значения в видимых ячейках и сохраняет скрытые, а оставшиеся строки добавляются как новые столбцы. Во все остальные выделенные таблицы вставленные строки добавляются как новые столбцы.

Вставленная строка записывает логические имена и домены так:
- Логическое имя из ячейки
Logical Nameили из ячейки имени в режимеLogical Namesсчитается введенным целиком. Пока имя столбца пустое или все еще сформировано словарями, словари формируют из него физическое имя и привязывают домен, который дает его термин, если только собственная ячейка домена этой строки не привязывает домен. Имя, которое вставляет та же строка, сохраняется и считается написанным вами. - Ячейка домена или ячейка типа в режиме
Logical Names, пока View Option →Domainвыключен, привязывает домен, имя которого указано в ее тексте, если такой домен есть в диаграмме. Любой другой текст или пустая ячейка ничего не привязывает и отвязывает столбец от домена, даже от домена вставленного типа. Текст в ячейке типа, который не называет ни одного домена, считывается как тип данных. Строки, скопированные в редакторе, вместо этого привязывают домен, с которым они были скопированы, и только пока этот домен есть в диаграмме со скопированным типом, как и новые столбцы. - Привязанный домен дает столбцу свой тип данных, если только строка не вставляет собственный тип. Тогда домен другого типа не привязывается, а столбец получает вставленный тип.
- В строке без ячейки домена вставленный тип отвязывает столбец от домена другого типа так же, как его ввод.
- Никакая вставка не распространяет тип через Синхронизацию типа данных в связях.
Копирование и вставка таблиц и заметок
Если внутри таблицы в фокусе не выделен ни один столбец, те же сочетания клавиш копируют сами выделенные таблицы и заметки — см. Работа с таблицами.
Первичный ключ столбца
Включает и выключает первичный ключ у столбца в фокусе, т. е. у столбца, которому принадлежит ячейка в фокусе.
Если столбец в фокусе — один из двух или более выделенных столбцов, переключение применяется ко всем выделенным столбцам: если хотя бы один из них не является ключом, ключами становятся все, а если ключами уже являются все, ключ снимается со всех. Столбцы вне выделения не затрагиваются.
Используйте контекстное меню таблицы либо сочетание клавиш Alt + K (Windows/Linux) или ⌥ + K (Mac). Когда переключение затрагивает два столбца или больше, пункт меню называется Primary Key on selected columns, а не Primary Key.
Значок ключа в строке служит только для отображения, поэтому щелчок по нему не задает ключ.
Чтобы сделать несколько столбцов одним составным ключом, выделите их, затем нажмите Alt + K (Windows/Linux) или ⌥ + K (Mac) либо щелкните одну из выделенных строк правой кнопкой мыши и выберите Primary Key on selected columns. Каждое переключение составляет один шаг отмены.

Режим только для чтения
В редакторе с атрибутом readonly ни одна ячейка не открывается для редактирования, и ни один столбец не меняется.
Щелчок по ячейке ничего не фокусирует и снимает выделение, оставленное переходом. Enter и двойной щелчок не открывают редактор и не переключают переключатели, Tab оставляется странице, а сочетания клавиш, которые добавляют столбцы, выделяют все или удаляют столбцы, переключатель первичного ключа и вставка ничего не делают.
Переход к столбцу из Обозревателя или Быстрого поиска фокусирует его ячейку. Затем клавиши со стрелками перемещают фокус от ячейки к ячейке, а достигнутый столбец выделяется один, поскольку Shift там не добавляет столбцов.
Ctrl + C (Windows/Linux) или ⌘ + C (Mac) по-прежнему копирует выделенный столбец или таблицу, выделенную переходом, — см. Копирование и вставка столбцов.