Типичные объекты СУБД на примере Microsoft SQL Server

Главными объектами всякой СУБД являются базы данных (databases). В старых СУБД (например, FoxPro ранних версий под MS-DOS) класс объектов "база данных" не был введен явно. Теперь практически в любой СУБД имеется такой класс объектов. База данных является контейнером и пространством имён для всех использующихся в ней объектов.

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

Внутри всякой базы данных имеются следующие классы объектов: таблица (table), представление (view), хранимая процедура (stored procedure), индекс (index), связь (relationship), триггер (trigger), умолчание (default). Также в ряде коммерческих СУБД есть такой полезный класс объектов, как диаграмма (diagram).

Таблицы предназначены для хранения данных и являются реализацией сущностей, создаваемых в ходе проектирования базы данных. Таблица является основным объектом при обработке данных.

Представления по сути своей являются результатами запросов к базе данных. Работать с представлением в большинстве случаев можно как с таблицей. Механизм работы таков: пользователь обращается к представлению, как к таблице, СУБД, принимая это обращение, исполняет запрос, записанный в представлении, и возвращает пользователю сформированную по результатам запроса таблицу. Для SQL Server 2000 и некоторых других СУБД в ряде случаев можно изменять данные прямо в таблице запроса, и эти изменения будут отражены в исходных таблицах, по которым был построен запрос. Подробнее мы к этому вопросу ещё вернёмся, когда будем изучать язык манипулирования данными.

Хранимая процедура является набором инструкций (часто в скомпилированном виде), хранящимся на стороне СУБД. Набор инструкций обычно пишется как последовательность SQL-команд. В SQL Server под компиляцией понимается подготовка плана исполнения процедуры в момент её создания или обновления. Подробнее о планах исполнения мы поговорим, когда будем изучать язык манипулирования данными. В хранимых процедурах можно реализовывать сложные алгоритмы обработки данных внутри базы. Использование хранимых процедур часто значительно сокращает объём кода клиентского приложения и во многих случаях позволяет чётко отделять алгоритмы логики программы от алгоритмов обработки данных. О многоуровневых приложениях скажем несколько слов где-нибудь в следующих статьях.

Индексом называется специальный объект, хранящий упорядоченный справочник значений некоторого атрибута (или группы атрибутов) таблицы. Благодаря индексам можно значительно (иногда на порядки) ускорить операции поиска данных. Без индекса поиск осуществляется последовательным перебором кортежей. Наличие индекса позволяет СУБД использовать более быстрые алгоритмы поиска, нежели последовательный перебор.

Триггером называется особый подкласс хранимых процедур, исполняемый СУБД автоматически при проведении операций изменения данных. Можно сказать, что триггер является обработчиком на событие изменения данных в базе.

Связью (или отношением) называется особый объект, позволяющий установить зависимость между таблицами и сопоставить этой зависимости ряд проверяющих триггеров. В подавляющем большинстве СУБД реализовано лишь один из возможных видов связи: "один ко многим" ("one to many"). В такой связи участвуют две таблицы, в одной из которых определяется первичный ключ (primary key), а в другой внешний ключ (foreign key). Всегда первичный ключ - это "один", внешний ключ - "много". Соответственно, таблица, содержащая первичный ключ, называется главной (master table), а таблица с внешним ключом - подчинённой (detail table). Разумеется, имеется возможность связать таблицу с самой собой.

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

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: