Таблица
Таблица — это схема или рамка, в которой представлены данные и информация, которые можно читать как по вертикали, так и по горизонтали. Организована в строки (n-уплет или запись) и столбцы (пивот), первая строка часто составляет заголовок (или header) таблицы с её различными полями (атрибутами), в то время как остальные строки составляют тело таблицы, в которое поступают полезные данные.
Использование таблиц широко распространено во всей коммуникации, научных исследованиях и анализе данных. Таблицы встречаются в СМИ, в рукописных заметках, в информатике в электронных таблицах, в программном обеспечении и реляционных базах данных, на дорожных знаках и во многих других местах. Точные соглашения и терминология для таблиц варьируются в зависимости от контекста. Кроме того, таблицы значительно различаются по разнообразию, структуре, гибкости и нотации[5].[6][7][8][9] В книгах и статьях технической литературы информационные таблицы обычно представлены, помимо основного текста, в виде пронумерованных и озаглавленных блоков.
Что важно знать
| Таблица | |
|---|---|
| итал. Tabella | |
| Область использования | Информационные технологии, базы данных, бизнес, наука, образование[1] |
| Дата появления | IV—III тысячелетия до н. э[2]. |
| Место появления | Древняя Месопотамия[3] |
| Автор понятия | Не имеет единственного автора[4] |
Описание
Таблица состоит из упорядоченного расположения строк и столбцов. Это упрощённое описание самого элементарного типа таблицы. Из этого упрощённого описания следуют некоторые соображения:
- термин строка имеет несколько распространённых синонимов (например, запись, k-кортеж, n-кортеж, вектор);
- термин столбец имеет несколько распространённых синонимов (например, поле, параметр, свойство, атрибут, стойка);
- столбец обычно идентифицируется по имени;
- имя столбца может состоять из одного слова, фразы или числового индекса;
- пересечение строки и столбца называется ячейкой.
Элементы таблицы могут быть сгруппированы, сегментированы или расположены различными способами и даже рекурсивно вложены. Кроме того, таблица может включать метаданные, аннотации, заголовок, подвал или другие вспомогательные элементы[9].
Ниже приведён пример простой таблицы с тремя столбцами и девятью строками. Первая строка не учитывается, так как используется только для отображения имён столбцов. Она называется «строкой заголовка».
| Имя | Фамилия | Возраст |
|---|---|---|
| Tinu | Elejogun | 14 |
| Marek | Kostrzewski | 25 |
| Giglio | McGarrett | 18 |
| Olatunkbo | Chijiaku | 22 |
| Adrienne | Anthoula | 22 |
| Axelia | Athanasios | 22 |
| Jon-Kabat | Zinn | 22 |
| Thabang | Mosoa | 15 |
| Kgaogelo | Mosoa | 13 |
Пример таблицы, содержащей строки с итоговой информацией. Итоговая информация состоит из частичных сумм, объединённых из предыдущих строк в том же столбце. Также понятие измерения является частью базовой терминологии[10]. Любая «простая» таблица может быть представлена как «многомерная» таблица, нормализуя значения данных в упорядоченные иерархии. Обычный пример такой таблицы — таблица умножения.
| × | 1 | 2 | 3 |
|---|---|---|---|
| 1 | 1 | 2 | 3 |
| 2 | 2 | 4 | 6 |
| 3 | 3 | 6 | 9 |
В многомерных таблицах каждая ячейка в теле таблицы (и её значение) относится к значениям в начале столбца (то есть заголовку), строки и другим структурам в более сложных таблицах. Это инъективное соответствие: каждая комбинация значений строки заголовков (строка 0, за неимением лучшего термина) и столбца заголовков (столбец 0, за неимением лучшего термина) связана с уникальной ячейкой в таблице:
- Столбец 1 и строка 1 будут соответствовать только ячейке (1,1);
- Столбец 1 и строка 2 будут соответствовать только ячейке (2,1) и т. д.
Первый столбец часто содержит описание измерения информации, по которому осуществляется навигация по остальной части таблицы. Этот столбец называется «столбец-шаблон». Таблицы могут содержать три и более измерений и могут классифицироваться по количеству измерений. Многомерные таблицы могут иметь суперстроки — строки, описывающие дополнительные измерения для строк, представленных под этой строкой, и обычно сгруппированы в древовидную структуру. Эта структура обычно визуально представлена соответствующим количеством пробелов перед меткой каждого шаблона[11].
В литературе таблицы часто содержат числовые значения, накопленную статистику, категориальные значения и иногда параллельные описания в виде текста[12]. Они могут конденсировать большие объёмы информации в ограниченном пространстве и поэтому популярны в научной литературе во многих областях исследований.
Специфические применения
Таблицы являются универсальным инструментом для структурирования, представления и анализа данных, который применяется в самых разнообразных сферах человеческой деятельности.
В сфере информационных технологий таблицы играют фундаментальную роль.
- Реляционные базы данных: Таблицы служат основным средством для хранения и организации больших объёмов информации. Каждая таблица содержит данные об объектах определённого типа (например, клиенты, товары), где строки соответствуют отдельным записям, а столбцы — их характеристикам (атрибутам)[13]. Для управления данными в таких таблицах используется язык SQL[13].
- Электронные таблицы: Программы, такие как Microsoft Excel и Google Sheets, позволяют не только хранить данные, но и производить с ними сложные вычисления с помощью формул, выполнять сортировку, фильтрацию, а также создавать на их основе диаграммы и графики[14].
Таблицы являются незаменимым инструментом для множества бизнес-процессов[15].
- Финансовый учёт и анализ: Бухгалтеры и финансовые аналитики используют таблицы для ведения учёта, составления отчётов (например, о прибылях и убытках), расчёта бюджетов и анализа финансовых показателей[15].
- Бизнес-аналитика: Аналитики данных применяют таблицы для сбора, обработки и анализа информации о бизнес-процессах, продажах и эффективности маркетинговых кампаний[15].
- Управление проектами: В планировании используются табличные формы, такие как диаграмма Ганта, для распределения задач и отслеживания их выполнения[15].
- Юнит-экономика: Таблицы помогают рассчитать прибыльность бизнеса на основе одной единицы товара или одного клиента[16].
В научных исследованиях и образовательном процессе таблицы используются для систематизации и наглядного представления информации.
- Математика: Таблицы применяются для решения логических задач, представления наборов данных для анализа и демонстрации зависимостей между величинами. Классическим примером является таблица умножения[17].
- Естественные науки: Широко известны такие примеры, как Периодическая система химических элементов в химии и таблицы приливов в океанографии.
- Статистика: Собранные данные часто представляют в виде таблиц для их дальнейшего анализа и определения различных статистических характеристик[18].
Таблицы широко распространены и в обычной жизни для организации информации. Примерами могут служить расписание уроков, турнирные таблицы в спорте, списки дел или классный журнал[19]. Их также вставляют в текстовые документы, отчёты, книги и на веб-сайты для наглядной иллюстрации данных.
В издательском деле и при подготовке документов таблицы используются для наглядного представления данных. Их вставляют в отчёты, научные работы, книги, презентации и на веб-сайты.
Таблицы применяются для решения логических задач, представления наборов данных для анализа и демонстрации зависимостей между величинами. Классическими примерами являются таблица умножения в арифметике и таблица истинности в логике.
В естественных науках таблицы используются для систематизации и наглядного представления информации. Наиболее известным примером является Периодическая таблица Менделеева в химии, которая не только упорядочила известные элементы по их свойствам, но и позволила предсказать существование и характеристики ещё не открытых[20]. Другими примерами служат таблицы приливов в океанографии и астрономические таблицы (например, зидж) для расчёта положения небесных тел.
Таблица на HTML
Современные программные приложения предоставляют пользователям возможность создавать, форматировать и редактировать таблицы и табличные данные для широкого спектра применений, например:
- Текстовые процессоры, где таблицы используются для вставки структурированных данных непосредственно в документы.
- Приложения для электронных таблиц, такие как Microsoft Excel и Google Sheets. Они позволяют не только хранить данные, но и производить с ними сложные вычисления с помощью формул, выполнять сортировку, фильтрацию, а также создавать на их основе диаграммы и графики.
- Программное обеспечение для презентаций, в котором таблицы служат для наглядного представления информации на слайдах.
- Таблицы, заданные в HTML или другом языке разметки для отображения данных на веб-страницах.
Таблицы используются в разработке программного обеспечения как для высокоуровневой спецификации, так и для низкоуровневой реализации. Использование в спецификации программного обеспечения может включать произвольное включение простых таблиц решений в текстовые документы вплоть до использования табличных методологий спецификации, примерами которых являются SCR и Statestep[21][22]. Сторонники табличных техник, среди которых выделяется Дэвид Парнас, подчёркивают их понятность, а также преимущества качества и стоимости формата, позволяющего систематическую инспекцию, в то время как соответствующие недостатки, испытываемые при графической нотации, были отмечены как мотивация для разработки по меньшей мере двух табличных подходов[22][23].
На уровне программирования программное обеспечение может быть реализовано с использованием конструкций, обычно представляемых или понимаемых как табличные, например, для хранения данных (возможно, для мемоизации предыдущих результатов), например, в массивах или хеш-таблицах, или управляющих таблицах, определяющих поток выполнения программы в ответ на различные события или входные данные.
В реляционных базах данных таблицы служат основным средством для хранения и организации больших объёмов информации. Каждая таблица содержит данные об объектах определённого типа (например, клиенты, товары), где строки соответствуют отдельным записям, а столбцы — их характеристикам (атрибутам). Для управления данными в таких таблицах используется язык SQL.
Пример на SQL:
CREATE TABLE Clienti ( CodiceCliente NUMBER(5), Cognome VARCHAR(20), Nome VARCHAR(20), Città VARCHAR(20) );
Доступность
Таблицы должны быть доступными, то есть легко воспринимаемыми для любого типа пользователя и читателя, будь то на бумаге или на экране[24].
В 2018 году произошли важные обновления в стандартах веб-доступности, которые затронули и работу с таблицами. 5 июня консорциум W3C опубликовал новую версию Руководства по обеспечению доступности веб-контента — WCAG 2.1[25]. Эта версия расширила стандарт WCAG 2.0, сделав упор на улучшение доступности для пользователей мобильных устройств, людей со слабым зрением и с когнитивными нарушениями[26]. Одновременно в 2018 году началось активное внедрение спецификации WAI-ARIA 1.1, которая предоставила более совершённые инструменты для создания сложных интерактивных таблиц (гридов)[27].
Простая таблица (более доступная):
| Класс | Серия A | Серия B |
|---|---|---|
| 1 | Ювентус (90 очков) | Аталанта (93 очка) |
| 2 | Милан (89 очков) | Сассуоло (88 очков) |
| 3 | Интер (85 очков) | Эмполи (82 очка) |
Сложная таблица (менее доступная):
| Итоговые результаты | |||||||
|---|---|---|---|---|---|---|---|
| Серия A | Серия B | ||||||
| Команда | Очки | Команда | Очки | Команда | Очки | Команда | Очки |
| Ювентус | 90 | Милан | 89 | Аталанта | 93 | Сассуоло | 88 |
Цвет может помочь пользователю или читателю при чтении таблиц[28]:
С появлением мобильных устройств, HTML5 и CSS3, например, стало возможно создавать адаптивные и интерактивные таблицы для веба, то есть такие, которые подстраиваются под устройство, на котором отображаются, и с которыми пользователь может взаимодействовать с помощью мыши или пальца.
Стандарт HTML5 закрепил тенденцию разделения структуры (HTML) и представления (CSS), в результате чего многие атрибуты тега <table>, отвечавшие за внешний вид, были признаны устаревшими. Такие атрибуты, как `align`, `bgcolor`, `border`, `cellpadding`, `cellspacing` и `width`, были заменены соответствующими CSS-свойствами, такими как `border`, `padding` и `border-spacing`[29].
Современные CSS-технологии позволяют гибко стилизовать таблицы. Свойство `border-collapse: collapse` используется для создания аккуратных одинарных рамок[30], а `table-layout: fixed` ускоряет их отрисовку[31]. Для улучшения читаемости больших объёмов данных широко применяется «зебра-полосатость» (чередование цвета фона строк) с помощью псевдокласса `:nth-child(even)`[32]. Структурные теги <thead>, <tbody> и <tfoot> позволяют применять разные стили к шапке, телу и подвалу таблицы соответственно[33].
Значительным прорывом в веб-вёрстке стало широкое внедрение CSS Flexbox и CSS Grid, которые предоставили альтернативу для создания табличных макетов[34]. Однако для семантически верного представления именно табличных данных (статистика, отчёты) по-прежнему рекомендуется использовать тег <table>, в то время как Flexbox и Grid служат для общей раскладки элементов на странице.
Для создания сложных интерактивных таблиц используются JavaScript-библиотеки и компоненты в составе фреймворков (например, React или Vue). Они позволяют реализовать такие функции, как сортировка и фильтрация данных на лету, разбиение на страницы (пагинация), закрепление заголовков при прокрутке и редактирование ячеек[30].
Согласно правилам WCAG, при использовании таблиц для представления данных рекомендуется использовать теги TH и SCOPE для идентификации ячеек-заголовков строк и столбцов[35]. Это позволяет скринридеру (программа программного обеспечения, которая определяет и интерпретирует текст, отображаемый на экране компьютера, представляя его с помощью синтеза речи или через брайлевский дисплей) организовать данные для чтения в логическом порядке и идентифицировать типы данных. Следует избегать длинных строк и столбцов в таблицах данных, особенно в качестве заголовков, поскольку многие скринридеры не могут корректно их анализировать. Для сложных таблиц данных необходимо использовать теги доступности, такие как CAPTION, SUMMARY, ABBR, ACRONYM, TFOOT и THEAD для организации информации в сложных таблицах данных. Более доступным вариантом является разделение сложной таблицы на серию связанных простых таблиц, которые также легче обрабатывать[36].
Базовый код доступной HTML-таблицы следующий:
<table>
<caption>Дети Марты</caption>
<tr>
<th scope="col">Имя</th>
<th scope="col">Возраст</th>
<th scope="col">День рождения</th>
</tr>
<tr>
<th scope="row">Роберто</th>
<td>5</td>
<td>6 мая</td>
</tr>
<tr>
<th scope="row">Анна</th>
<td>8</td>
<td>4 февраля</td>
</tr>
</table>
Можно вложить одну таблицу в другую, если включить полную структуру, включая элемент <table>. Обычно это не рекомендуется, так как делает разметку более запутанной и менее доступной для пользователей скринридеров[37].
Пример:
| таблица 1 | |
|---|---|
| |
| ячейка таблицы 1 |
Таблицы без соответствующих ячеек-заголовков трудно навигировать пользователям скринридеров, и чем сложнее таблица, тем менее она понятна[38].
Таблица в следующем примере не содержит ни одной реальной ячейки-заголовка (<th>); вместо этого используются только ячейки данных (<td>). Те ячейки, которые должны быть заголовками, просто визуально выделены с помощью CSS-правила font-weight: bold. Кроме того, есть только одна строка заголовков (верхняя строка), а строки данных не имеют своих заголовков.
WAI-ARIA (Web Accessibility Initiative — Accessible Rich Internet Applications) — это набор документов, опубликованных W3C (World Wide Web Consortium), которые определяют, как повысить доступность динамического контента и компонентов пользовательского интерфейса, разработанных с использованием AJAX, HTML, JavaScript и других связанных технологий[39].
Спецификация WAI-ARIA 1.1, получившая статус рекомендации W3C в конце 2017 года и активно внедрявшаяся в 2018-м[27], предоставила более совершённые инструменты для создания сложных интерактивных таблиц. Стандарт помогает разграничить статические таблицы данных и интерактивные гриды (grids). Для статических таблиц по-прежнему предпочтительно использовать семантические теги HTML, в то время как WAI-ARIA предназначена для описания ролей, состояний и свойств динамических интерфейсов, превращая таблицы в полноценные интерактивные компоненты, такие как табличные редакторы или сетки с возможностью сортировки и выделения[40].
Ключевые возможности WAI-ARIA 1.1 для табличных структур:
- Интерактивные гриды: Спецификация подробно описывает, как с помощью роли `role="grid"` и связанных с ней атрибутов превратить структуру, внешне похожую на таблицу (созданную, например, с помощью тегов <div>), в полноценный интерактивный компонент.
- Семантические роли: WAI-ARIA формально определяет роли, которые позволяют создавать доступные табличные структуры даже без использования нативных тегов HTML (хотя их применение остаётся предпочтительным)[41]. К ним относятся `role="table"`, `role="row"`, `role="cell"`, `role="columnheader"` и `role="rowheader"`.
- Атрибуты для больших таблиц: Для таблиц с виртуальной прокруткой, где не все строки и столбцы одновременно загружены в DOM, были введены атрибуты `aria-colcount` и `aria-rowcount`. Они сообщают вспомогательным технологиям общее количество столбцов и строк в таблице, улучшая навигацию[41].
Таблицы, вставленные как изображения с помощью тега HTML <img>, не могут быть прочитаны скринридерами так же, как таблица, построенная с помощью тега <table>[42].
Следующая таблица
| Курс | День | Время |
| Фортепиано | Понедельник | 14.00-15.00 |
будет прочитана скринридерами построчно, сверху вниз, если построена с помощью тега <table>.
Следующая таблица
является таблицей-изображением, которая может быть в формате GIF, JPG или PNG. Она вставляется следующим образом:
<img src="pianoforte-corso.jpg" alt="таблица курс фортепиано" width="230" height="65">
История
«A TABLE of the Apertures of Object-Glasses" Адриена Озу из статьи 1665 года в Philosophical Transactions.
Понятие таблицы как способа организации данных не имеет единственного автора и развивалось на протяжении тысячелетий. Слово «таблица» происходит от латинского tabula, что означает «доска» или «плита»[43].
Самые ранние формы табличной записи данных появились в Древней Месопотамии. Зарождение письменности на глиняных носителях началось около 3500 г. до н. э[44]., а к 3200—3000 гг. до н. э. появились более развитые формы клинописи[45]. Шумеры использовали глиняные таблички для ведения хозяйственного и административного учёта: составляли перечни имущества, скота, собранного урожая и долговых обязательств[46]. Эта система возникла из необходимости управлять сложной экономикой храмовых и дворцовых хозяйств[47]. Примерно в то же время в Древнем Египте для аналогичных целей учёта использовались папирусные свитки[46].
Значительно позже, в Древнем Риме, таблицы приобрели юридическое значение. В 451—450 гг. до н. э. был создан первый свод писаных законов — Законы Двенадцати таблиц, выгравированный на 12 досках и выставленный на всеобщее обозрение на Форуме[48][49].
Математические таблицы известны с глубокой древности. В Вавилоне около 2000 года до н. э. были распространены глиняные таблички с таблицами умножения, обратных чисел, квадратов и кубов[50]. В привычном виде таблица умножения была зафиксирована последователем Пифагора Никомахом Герасским на рубеже I и II веков н. э[51]..
С развитием науки таблицы становились всё более сложными. В IX веке персидский учёный аль-Хорезми разработал подробные тригонометрические и астрономические таблицы (зидж)[43]. В эпоху Возрождения европейские математики, такие как Региомонтан и Николай Коперник, создавали более точные тригонометрические таблицы[50].
В средневековых счётных домах столы покрывались куском клетчатой ткани для подсчёта денег. Exchequer — архаичный термин для английского учреждения, ведавшего государственными доходами.
Вершиной научной систематизации стала Периодическая система химических элементов, созданная Дмитрием Менделеевым в 1869 году. Эта таблица не только упорядочила известные химические элементы, но и позволила предсказать существование и свойства ещё не открытых.
Революция в использовании таблиц произошла с появлением компьютеров. Идею электронной таблицы для проведения вычислений впервые сформулировал учёный Ричард Маттессич в 1961 году в своей работе «Бюджетные модели и симуляция систем».
Практическая реализация появилась в 1979 году, когда студент Гарвардского университета Дэн Бриклин и программист Боб Фрэнкстон разработали программу VisiCalc для компьютера Apple II[52]. Идея пришла к Бринклину, когда он наблюдал, как его профессор был вынужден стирать и переписывать множество цифр на доске при изменении одного параметра в расчётах[43]. VisiCalc автоматизировала этот процесс и стала первым массовым табличным процессором, превратив персональный компьютер из хобби для энтузиастов в мощный бизнес-инструмент. Дэна Бриклина часто называют «отцом электронных таблиц»[53].
В 1982 году появился Lotus 1-2-3, который интегрировал в себя графику и элементы баз данных, а в 1985 году Microsoft выпустила первую версию Excel для Macintosh, которая со временем стала доминирующим табличным процессором в мире[43].


