Программирование >>  Построение запросов sql 

1 ... 6 7 8 [ 9 ] 10 11 12 ... 101


представление

Приведем краткий обзор основных объектов базы данных и БД с точки зрения пользователя.

Реляционная БД основана на табличном построении информации. данных в восприятии пользователя представлена на рис. 2.1 [10].

База

Пользователь

(запрос с терминала или

прикладной программы)


Курсор

Представление

Рабочая таблица

Виртуальная

Базовая таблица

Базовая таблица

Базовая таблица

Базовая таблица

Реальная


Сервер БД

с СУБД

Рис. 2.1. База данных в восприятии пользователя

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

- строки; каждая строка (или запись) представляет собой совокупность атрибутов (свойств) конкретного экземпляра объекта;

- столбцы; каждый столбец (поле) представляет собой атрибут или совокупность атрибутов. Поле строки является минимальным элементом таблицы. Каждый столбец в таблице имеет определенное имя, тип данных и размер.

Базовой (реальной, целевой) таблицей называется таблица, для каждой строки которой в действительности имеется некоторый двойник, хранящийся в физической памяти машины.

Однако СУБД создает и использует ряд виртуальных таблиц, в которых формируются результаты запросов на получение данных из базовых таблиц. Это таблицы, которые не существуют в базе данных, но как бы существуют с точки зрения пользователя. Они называются производными (виртуальными) таблицами (рис. 2.1).



Базовые таблицы реально существуют, а производные - предоставляют различные способы просмотра базовых таблиц.

Таким образом, производная таблица - это такая таблица, которая определяется в терминах других таблиц и, в конечном счете, в терминах базовых таблиц.

К производным таблицам относятся: представления, курсоры и неименованные рабочие таблицы.

Представление (просмотр) - это пустая именованная таблица, определяемая перечнем тех столбцов из одной или нескольких таблиц и признаками тех их строк, которые хотелось бы в ней увидеть.

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

Представление является как бы окном в одну или несколько базовых таблиц.

Курсор - это пустая именованная таблица, определяемая перечнем тех столбцов базовых таблиц и признаками тех их строк, которые хотелось бы в ней увидеть, и связанный с этой таблицей указатель текущей записи.

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

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

Кроме объектов БД, воспринимаемых пользователем, существует ряд других важных объектов, о которых обычный пользователь может не знать.

Хранимые процедуры представляют собой группу команд SQL, объединенных в один модуль. Такая группа команд компилируется и выполняется как единое целое.

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

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



возвращают некоторые значения. Функции могут быть встроенными или определяемыми пользователем (UDF).

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

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

Ограничения целостности - механизм, обеспечивающий автоматический контроль соответствия данных установленным условиям (или ограничениям). Ограничения целостности имеют приоритет над триггерами, правилами и значениями по умолчанию. К ограничениям целостности, в частности, относятся: ограничение на значение NULL, проверочные ограничения, ограничение уникальности (уникальный ключ), ограничение первичного ключа и ограничение внешнего ключа. Последние три ограничения тесно связаны с понятием ключей.

Исключения - это сообщения об ошибках, создаваемые пользователем. Существуют как самостоятельный объект БД с именем, заданным пользователем при создании исключения. Используются в хранимых процедурах и триггерах, обычно после проверки какого-либо условия на истинность. Когда появляется ошибка, вызывается исключение с заданным текстом сообщения.

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

2.2. Функции SQL

SQL - это аббревиатура языка структурированных запросов (Structured Query Language). SQL является промежуточным звеном между БД и пользователем (или прикладной программой). SQL не является ни языком программирования, ни системой управления базами данных, ни отдельным программным продуктом. SQL входит в современные СУБД.



1 ... 6 7 8 [ 9 ] 10 11 12 ... 101

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика