Перейти к основному содержимому

Редактирование таблиц

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

Добавление таблицы с помощью Alt + N и заполнение двух столбцов

Добавление столбцов​

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

Клавиша Tab​

Нажмите Tab, чтобы сразу перейти в режим редактирования следующей ячейки.
Нажатие клавиши Tab в последней ячейке создает новый столбец и открывает его первую ячейку для редактирования — см. Добавление столбцов.
Используйте Shift + Tab, чтобы перейти в режим редактирования предыдущей ячейки.
Tab и Shift + Tab проходят по ячейкам, которые рисует таблица, в их порядке, поэтому режим отображения имен и View Option → Domain определяют, входят ли в их число ячейки логического имени и домена, — см. Ввод логического имени.
Метки альтернативных ключей, отображаемые после последней ячейки строки, не являются ячейками, поэтому фокус клавиатуры их пропускает и они никогда не открываются для редактирования.

Переход по ячейкам строки с помощью Tab, добавление столбца из последней ячейки и возврат с помощью Shift + Tab

Автодополнение типа данных​

Начните редактировать ячейку 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 выключен, ячейка типа столбца, привязанного к домену с именем, показывает имя домена, а ее редактирование открывает список выбора домена вместо этих вариантов. Ячейка типа, показывающая тип данных, редактирует его, как описано выше.

Заполнение ячеек DataType вариантами нечеткого поиска с помощью клавиш со стрелками, Tab и Enter

Не NULL, Уникальный, Автоинкремент​

Эти три ячейки — переключатели, а не текст.
Чтобы переключить такую ячейку, дважды щелкните ее или нажмите Enter, пока она в фокусе.

Ячейка «Не NULL» показывает N-N, когда флаг установлен, и NULL, когда он снят.
Метки UQ и AI приглушены в выключенном состоянии и подсвечены во включенном.

Переключение флага «Не NULL» двойным щелчком, а флагов «Уникальный» и «Автоинкремент» — клавишей Enter

Ячейки, скрытые параметрами вида таблиц, переключить нельзя.

Выделение нескольких столбцов​

Поддерживаются пять способов:

  • 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): выделение всех столбцов

Выделение столбцов с помощью Shift + Arrow Down, Ctrl/⌘ + click, Shift + click и Alt + A

Чтобы переместить выделенные столбцы вместе, перетащите маркер перетаскивания рядом со столбцом в фокусе — см. Перестановка и перемещение столбцов.

Щелчок правой кнопкой мыши по строке столбца определяет, к каким столбцам применяется контекстное меню таблицы, какая бы клавиша-модификатор ни удерживалась.
На уже выделенной строке выделение сохраняется, а фокус переходит на эту строку. На любой другой строке выделяется только она. Это действует в любом месте строки, включая значок ключа и метку альтернативного ключа.
Поэтому, чтобы применить пункт меню к нескольким столбцам, как в разделах Первичный ключ столбца или Удаление столбцов, щелкните одну из выделенных строк правой кнопкой мыши.
На 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% и меньше.

Удаление одного столбца, затем двух выделенных столбцов с помощью Alt + Backspace

То же самое делает контекстное меню таблицы. Когда таблица — единственный выделенный элемент, щелкните строку столбца правой кнопкой мыши: последний пункт меню называется 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 &amp; 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 записываются и считываются, только когда эти ячейки отображаются.

Вставка четырех столбцов в электронную таблицу с флагами, записанными как TRUE/FALSE и NOT NULL/NULL

Вставка трех строк электронной таблицы в таблицу в виде столбцов, где YES, 1 и NOT NULL считываются как true

Куда попадают вставленные данные, зависит от фокуса:

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

Копирование двух столбцов и их вставка сразу в две выделенные таблицы

Вставленная строка записывает логические имена и домены так:

  • Логическое имя из ячейки 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. Каждое переключение составляет один шаг отмены.

Выделение двух столбцов с помощью Shift + Arrow Down, затем назначение обоих первичным ключом с помощью ⌥ + K и снятие ключа с обоих повторным нажатием

Режим только для чтения​

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