Таблица (база данных)

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Таблица — это совокупность связанных данных, хранящихся в структурированном виде в базе данных. Она состоит из столбцов и строк.

В реляционных базах данных и плоских файлах баз данных, таблица — это набор элементов данных (значений), использующий модель вертикальных столбцов (имеющих уникальное имя) и горизонтальных строк. Ячейка — место, где строка и столбец пересекаются.[1] Таблица содержит определенное число столбцов, но может иметь любое количество строк.[2] Каждая строка однозначно определяется одним или несколькими уникальными значениями, которые принимают её ячейки из определенного подмножества столбцов. Подмножество столбцов, которое уникально идентифицирует строку, называется первичным ключом.

«Таблица» — это ещё один термин для «отношения»; разница между ними в том, что таблица обычно представляет собой мультимножество (набор) строк, тогда как отношение представляет собой множество и не допускает дубликатов. Помимо обычных данных, таблицы, как правило, имеют связанные с ними метаданные, такие как ограничения, относящиеся к таблицам в целом или к значениям в определенных столбцах.

Данные в таблицах не обязательно физически хранятся в базе данных. Представления также функционируют, как реляционные таблицы, но их данные вычисляются во время выполнения запроса. Внешние таблицы (например, в СУБД Informix[3] или Oracle,[4][5]) также можно рассматривать как представления.

Таблицы vs отношения[править | править код]

С точки зрения реляционных моделей баз данных, таблицы можно считать удобным представлением отношения, но эти два понятия не являются строго эквивалентными. Например, в SQL таблицы в принципе могут содержать повторяющиеся строки, в то время как истинное отношение не может содержать одинаковые кортежи. Аналогичным образом, представление в виде таблицы подразумевает конкретный порядок для строк и столбцов, в то время как в отношениях они неупорядочены. Однако система баз данных гарантирует определенный порядок строк при выдаче таблицы, только если ORDER BY параметр указывается в операторе SELECT, который запрашивает таблицу.

Отношение можно также представить в виде N-мерного графика, где n — количество атрибутов (столбцов таблицы). Например, отношение с двумя атрибутами и тремя значениями можно представить как таблицу из двух столбцов и трех строк, или как двумерный график с тремя точками. Представления таблиц и графиков эквивалентны только в том случае, если порядок строк не важен, а в таблице нет повторяющихся строк.

Сравнение[править | править код]

Иерархические базы данных[править | править код]

В нереляционных системах, иерархических баз данных, отдаленный аналог таблицы представляет собой структурированный файл, представляющий строки таблицы в каждой строке файла и каждый столбец в строке. Эта структура предполагает, что строка может иметь повторяющиеся данные, как правило, в дочерних сегментах данных. Данные хранятся в последовательности физических записей.

Электронные таблицы[править | править код]

В отличие от электронных таблиц, в таблицах баз данных тип данных столбца обычно определяется схемой, описывающей таблицу. Некоторые SQL системы, например СУБД SQLite, менее строги к определению типов столбцов.

См. также[править | править код]

Примечания[править | править код]

  1. "cell", Merriam-Webster, <http://www.merriam-webster.com/dictionary/cell>. Проверено 29 мая 2012. .
  2. SQL Guide: Tables, rows, and columns. IBM. Проверено 11 декабря 2013.
  3. CREATE EXTERNAL TABLE Statement. IBM Knowledge center. IBM. — «You use external tables to load and unload data to or from your database. You can also use external tables to query data in text files that are not in an Informix database.». Проверено 14 августа 2015.
  4. External table. Oracle FAQ. Oracle FAQ (2015). — «An external table is a table that is NOT stored within the Oracle database. Data is loaded from a file via an access driver (normally ORACLE_LOADER) when the table is accessed. One can think of an external table as a view that allows running SQL queries against files on a filesystem [...].». Проверено 14 августа 2015.
  5. Bryla, Bob. OCP: Oracle 10g New Features for Administrators Study Guide: Exam 1Z0-040. — John Wiley & Sons. — P. 90. — ISBN 9780782150858.