Published on

February 27, 2018

Понимание таблиц SQL Server

Microsoft SQL Server – это система управления реляционными базами данных (RDBMS), которая хранит данные в таблицах. Таблицы являются основными объектами базы данных, которые организуют данные в строках и столбцах. Каждая строка представляет сущность, описываемую столбцами, которые содержат атрибуты сущности. Например, таблица клиентов содержит одну строку для каждого клиента, с такими столбцами, как ИмяКлиента и АдресКлиента.

Таблицы в SQL Server могут использоваться в качестве границ безопасности, где разрешения могут быть предоставлены на уровне таблицы. Они также содержатся в схемах, которые выступают в качестве контейнеров для таблиц и обеспечивают дополнительные границы безопасности.

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

В дополнение к определенным пользователем таблицам, SQL Server предоставляет специальные типы таблиц. Временные таблицы, хранящиеся в системной базе данных tempdb, могут быть локальными или глобальными и используются для временного хранения данных. Широкие таблицы используют разреженные столбцы для оптимизации хранения значений NULL и позволяют использовать до 30 тысяч столбцов. Системные таблицы хранят информацию о конфигурациях и объектах экземпляра SQL Server и могут быть запрошены с использованием системных представлений. Разделенные таблицы горизонтально разделяют данные на отдельные блоки на основе определенного ключа для улучшения производительности извлечения данных.

Физически таблицы SQL Server хранятся в виде набора страниц размером 8 КБ. По умолчанию таблицы хранятся в одном разделе в основной группе файлов PRIMARY. Однако таблицы также могут храниться в нескольких разделах на основе определенного столбца. Каждый раздел таблицы содержит строки данных в структуре кучи или кластеризованного индекса, управляемых в блоках выделения на основе типов данных каждого столбца.

Таблица кучи – это таблица без кластеризованного индекса, где строки данных не хранятся в каком-либо определенном порядке внутри каждой страницы данных. Порядок данных не может быть предсказан, и порядок возвращаемых строк может быть обеспечен только с использованием оператора ORDER BY в операторе SELECT. Таблицы кучи используют карту выделения индекса (IAM) для отслеживания выделения страниц данных.

С другой стороны, кластеризованная таблица имеет предопределенный кластеризованный индекс, который определяет порядок хранения строк внутри страниц данных и порядок страниц внутри таблицы. На каждую таблицу может быть определен только один кластеризованный индекс. Кластеризованные таблицы используют структуру B-дерева с одним B-деревом на каждый раздел, обеспечивая быструю навигацию по данным на основе значений ключей кластеризованного индекса.

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

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

Click to rate this post!
[Total: 0 Average: 0]

Let's work together

Send us a message or book free introductory meeting with us using button below.