Введение
Набор элементов данных в базах данных
Таблица — это совокупность связанных данных, представленных в табличном формате в базе данных. Она состоит из столбцов и строк. В реляционных и файловых базах данных таблица представляет собой набор элементов данных (значений), использующих модель вертикальных столбцов (идентифицируемых по имени) и горизонтальных строк, при этом ячейка является точкой пересечения строки и столбца. Таблица имеет фиксированное количество столбцов, но может содержать любое количество строк. Каждая строка идентифицируется одним или несколькими значениями, встречающимися в определенном подмножестве столбцов. Конкретный выбор столбцов, однозначно определяющих строки, называется первичным ключом. "Таблица" — это синоним "отношения", хотя разница заключается в том, что таблица обычно представляет собой мультимножество (пакет) строк, в то время как отношение является множеством и не допускает дубликатов. Помимо самих строк данных, с таблицами обычно связаны метаданные, такие как ограничения на таблицу или на значения в определенных столбцах. Данные в таблице не обязательно должны физически храниться в базе данных. Представления (views) также функционируют как реляционные таблицы, но их данные вычисляются во время запроса. Внешние таблицы (например, в Informix или Oracle) также можно рассматривать как представления. Во многих системах для вычислительной статистики, таких как R и pandas в Python, фрейм данных или таблица данных является типом данных, поддерживающим абстракцию таблицы. Концептуально это список записей или наблюдений, все содержащие одинаковые поля или столбцы. Реализация состоит из списка массивов или векторов, каждый из которых имеет имя.
or Oracle,
for example) can also be thought of as views. In many systems for computational statistics, such as R and Python's pandas, a data frame or data table is a data type supporting the table abstraction. Conceptually, it is a list of records or observations all containing the same fields or columns. The implementation consists of a list of arrays or vectors, each with a name.
Таблицы против отношений
С точки зрения реляционной модели баз данных, таблицу можно рассматривать как удобное представление отношения, но эти два понятия не являются строго эквивалентными. Например, таблица SQL потенциально может содержать повторяющиеся строки, в то время как истинное отношение не может содержать повторяющиеся строки, которые мы называем кортежами. Аналогично, представление в виде таблицы подразумевает определенный порядок строк и столбцов, тогда как отношение по определению не упорядочено. Однако система управления базами данных не гарантирует никакого порядка строк, если в операторе SELECT, выполняющем запрос к таблице, не указана конструкция ORDER BY. Не менее корректным представлением отношения является n-мерный график, где n – количество атрибутов (столбцов таблицы). Например, отношение с двумя атрибутами и тремя значениями можно представить как таблицу с двумя столбцами и тремя строками, или как двумерный график с тремя точками. Представления в виде таблицы и графика эквивалентны только в том случае, если порядок строк не имеет значения и таблица не содержит повторяющихся строк.
Иерархические базы данных
В нереляционных системах, в иерархических базах данных, структурированный файл является аналогом таблицы. Он представляет строки таблицы в виде строк файла, а столбцы строки – в виде элементов каждой строки файла. Такая структура предполагает, что строка может содержать повторяющуюся информацию, обычно в дочерних сегментах данных. Данные хранятся последовательно в виде физических записей.
Складные таблицы
В отличие от электронной таблицы, тип данных столбца обычно определяется схемой, описывающей таблицу. Некоторые SQL-системы, такие как SQLite, менее требовательны к определениям типов данных столбцов.