
11. Програмные компоненты субд.
СУБД является сложным видом программного обеспечения, предназначенным для предоставления ресурсов.
Основные программные компоненты(модули) среды СУБД:
Процессор запросов-основной компонент СУБД, который преобразует запросы в последовательность низкоуровневых команд для диспетчера БД.
Диспетчер БД - компонент взаимодействует с запущенными пользователями, прикладными программами и запросами.
Диспетчер файлов. Манипулирует предназначенными для хранения данных файлами и отвечает за распределение доступного дискового пространства.
Препроцессор языка DML-преобразует внедренные в прикладные программы DML-операторы в вызовы стандартных функций базового языка.
Компилятор языка DDL-преобразует DDL- команды в набор таблиц, содержащих метаданные.
Диспетчер словаря. Диспетчер словаря управляет доступом к системному каталогу и обеспечивает работу с ним.
Компоненты диспетчера базы данных
Модуль контроля прав доступа-проверяет наличие у данного пользователя полномочий для выполнения затребованной операций.
Процессор команд. После проверки полномочий пользователя для выполнения затребованной операции управление передается процессору команд.
Средства контроля целостности-выполняют проверку того, удовлетворяет ли затребованная операция(которая изменяет содержимое БД) всем установленным ограничениям поддержки целостности данных.
Оптимизатор запросов-определяет оптимальную стратегию выполнения запроса.
Диспетчер транзакций-осуществляет требуемую обработку операций, поступающих в процессе выполнения транзакций.
Планировщик-отвечает за бесконфликтное выполнение параллельных операций с БД.
Диспетчер восстановления-гарантирует восстановление БД до непротиворечивого состояния при возникновении сбоев, отвечает за фиксацию и отмену результатов выполнения транзакций.
Диспетчер буферов-отвечает за перенос данных между оперативной памятью и вторичным запоминающим устройством(жестким диском или магнитной лентой).
Диспетчер восстановления-гарантирует восстановление БД до непротиворечивого состояния при возникновении сбоев.
12. Язык sql.
SQL является инструментом, предназначенным для выборки и обработки инфор- мации, содержащейся в компьютерной базе данных.
SQL — это сокращенное название структурированного языка запросов (Structured Query Language).
SQL работает только с БД одного определенного типа, называемыми реляционными.
Использование SQL для доступа к базе данных
Процесс взаимодействия:
-Если пользователю необходимо получить информацию из базы данных, он запрашивает ее у СУБД с помощью SQL.
-СУБД обрабатывает запрос, находит требуемые данные и посылает их пользователю. .
Сейчас этот язык используется для реализации всех функциональных возможностей, которые СУБД предоставляет пользователю. К ним относятся:
-Организация данных. SQL дает пользователю возможность определять структуру представления данных, а также устанавливать отношения между элементами базы данных.
-Выборка данных. SQL дает пользователю или приложению возможность извлекать из БД содержащуюся в ней информацию и использовать ее.
-Обработка данных. SQL дает пользователю или приложению возможность изменять БД, то есть добавлять в нее новые данные, а также удалять или обновлять уже имеющиеся.
-Управление доступом. С помощью SQL можно ограничить возможности пользователя по выборке и изменению данных и защитить их от несанкционированного доступа
-Совместное использование данных. SQL координирует совместное использование данных пользователями, работающими параллельно, чтобы они не мешали друг другу.
-Целостность данных. SQL позволяет обеспечить целостность БД, защищая ее от разрушения из-за несогласованных изменений или отказа системы.
Инструкции SQL встраиваются в базовый язык (например COBOL или С) и дают возможность получать доступ к базам данных.
SQL на сегодняшний день является единственным стандартным языком для работы с реляционными базами данных.
SQL — это неотъемлемая часть СУБД, инструмент, с помощью которого осуществляется связь пользователя с ней
Cтруктурная схема типичной СУБД, компоненты которой соединяются в единое целое с помощью SQL
Ядро базы данных является сердцевиной СУБД; оно отвечает за физическое структурирование данных и запись их на диск, а также за физическое чтение данных с диска. Кроме того, оно принимает SQL-запросы от других компонентов СУБД (таких как генератор форм, генератор отчетов или модуль запросов), от пользовательских приложений и даже от других вычислительных систем.
Функции, выполняемые SQL :
SQL — язык интерактивных запросов. Пользователи вводят команды SQL в интерактивных программах с целью выборки данных и отображения их на экране.
SQL — язык программирования БД. Чтобы получить доступ к БД, программисты вставляют в свои программы команды SQL.
SQL — язык администрирования БД. Администратор БД, находящейся на рабочей станции или на сервере, использует SQL для определения структуры базы данных и управления доступом к данным.
SQL — язык создания приложений клиент/сервер. В программах для ПК SQL используется как средство организации связи по локальной сети с сервером базы данных, в которой хранятся совместно используемые данные.
SQL — язык доступа к данным в Интернете. На Web-серверах SQL используется как стандартный язык для доступа к корпоративным базам данных.
SQL — язык распределенных БД. В системах управления распределенными базами данных SQL помогает распределять данные среди нескольких взаимодействующих вычислительных систем. Программное обеспечение каждой системы посредством SQL связывается с другими системами, посылая им запросы на доступ к данным.
Стандарты SQL
Стандарт ISO принятый в 1989 году, обычно называют стандартом SQL-89 или SQL1 – не жёсткий стандарт.
Диалекты SQL были в основном похожи друг на друга, однако несовместимы в деталях.Международный комитет по стандартизации обошел существующие различия и не стандартизировал некоторые части языка, определив, что они реализуются по усмотрению разработчика.Этот подход сделал сам стандарт относительно слабым.
Более жесткий стандарта SQL2. Существенным нововведением стало официальное закрепление трех уровней совместимости со стандартом SQL2.
Начальный уровен - от СУБД требуются лишь минимальные дополнительные возможности в сравнении со стандартом SQL-89.
Промежуточный уровень- представляет собой значительный шаг вперед по отношению к стандарту SQL-89.
Третий, самый высокий уровень- требует от СУБД реализации всех возможностей стандарта SQL2.
Вопреки стандарту SQL2, во всех существующих на сегодняшний день коммерческих СУБД поддерживаются собственные диалекты SQL, и ни один из них не реализует всех возможностей SQL2.
Стандарт SQL3 – продолжение стандартизации SQL. Предполагает, например, следующие нововведения:хранимые процедуры;объектные расширения и т.д.
Протокол ODBC
Протокол ODBC (Open Database Connectivity — открытый доступ к базам данных) компании Microsoft.
Задача протокола:
-Обеспечить возможностьWindows- приложению посредством ODBC одновременно работать с несколькими базами данных.
-Разработать среду, позволяющую производителям СУБД поддерживать ODBC и при этом сохранять свои собственные программные интерфейсы.
-Обеспечить распространение драйверов ODBC для своих СУБД и при необходимости устанавливать их в клиентских Windows-системах.
ПО ODBC состоит из трех основных уровней:
Интерфейс вызовов функций,Драйверы ODBC, Диспетчер драйверов.