Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Михайлов БД шпоры.doc
Скачиваний:
58
Добавлен:
08.03.2015
Размер:
360.45 Кб
Скачать

9. Языки бд.

Для описания взаимодействия между прил-ми и базами данных используется несколько языков:

  1. DDL (Data Definition Language) – язык определения данных. Используется для определения схемы БД. Он позволяет как создавать новую БД, т.е. определять ее таблицы, так и модифицировать уже существующую. Операторы DDL позволяют специфицировать объекты БД, устанавливать их типы и ограничения к ним. Результатом компиляции DDL-компиляторов является набор таблиц, хранимых в системном каталоге. Данные, хранящиеся в системном каталоге, позволяют описывать объекты БД, упростить способ доступа к ним и управление ими. Такие данные получили название мета-данные. Прежде чем получить доступ к реальным (физическим) данным СУБД всегда обращается к мета-данным (внешняя, внутренняя (логическая) и физическая М на схеме обработки запроса и представляют собой мета-данные).

  2. DML (Data Manipulation Language) – язык управления данными. Включает набор операторов для поддержки основных операций манипулирования данными, находящимися в базе. К операциям управленияданными относятся:

  1. Ввод в базу новых данных;

  2. Модификация хранимых в базе данных;

  3. Извлечение данных, хранящихся в базе.

  4. Удаление данных из базы.

Команды DML принято разделять на 4 типа:

  1. Команды передвижения: применяются для поиска записей БД;

  2. Команды извлечения: для извлечения записей БД;

  3. Команды обновления записей;

  4. Команды обновления наборов.

Различают 2 вида языков DML, каждому из которых свойственны свои базовые конструкции извлечения данных: процедурный и непроцедурный. Основное отличие между ними заключается в том, что процедурные языки указывают, как можно получить результат оператора, а непроцедурные описывают, какой результат должен быть получен. С помощью процедурного языка программист определяет процесс извлечения данных, т.е. процесс извлечения разбивается на последовательность действий. Непроцедурные языки позволяют определить весь набор требуемых данных с помощью одного оператора. СУБД транслирует этот оператор в набор процедур, которые обеспечивают манипулирование затребованным набором данных. Непроцедурный язык освобождает пользователя от необходимости знать все детали внутренней структуры организации данных. Непроцедурный язык еще называют декларативным языком.

  1. VDL (View Definition Language) язык определения представлений. Позволяет формировать и отображать на экране результатные таблицы, формируемые в результате выполнения запроса.

  2. SDL (Storage Definition Language) – язык определения хранения данных. Данные каждой таблицы, описанный в логической схеме, необходимо физически хранить. Это обеспечивается путем размещения данных каждой таблицы в запоминающем файле, который управляется ОС. Каждый запоминающий файл хранится в соответствии со структурой файла, поддерживающей метод доступа (чаще всего индексный), с помощью которого хранимые в файле данные могут быть извлечены.

Языки запросов.

Наиболее распространенными являются языки запросов QBE и SQL.

  1. QBE (Query By Example) – позволяет задавать достаточно сложные запросы к БД путем заполнения специальной запросной формы, предлагаемой СУБД. Такой способ задания запросов обеспечивает высокую наглядность и не требует указания алгоритма выполнения операций. Пользователь просто описывает образец ожидаемого результата, т.е. указывает, какие именно атрибуты каких таблиц должны быть включены в результатную таблицу и/или какие выражения должны связывать эти атрибуты. С помощью QBEможно задавать однотабличные и многотабличные запросы, при этом могут выполняться операции выборка, вычисление, обновление, вставка, удаление записей. Выборка, вставка, удаление, обновление могут выполняться с использованием условий, задаваемых с помощью логических выражений. Вычисления выполняются с помощью арифметических выражений и позволяют сформировать в результатных таблицах новые вычисляемые поля. Как правило, действия по подготовке запросов с помощью QBE выполняется визуально с помощью мыши путем буксировки (перетаскивания) полей (атрибутов) из таблиц логической схемы БД в ячейки результатной таблицы.

  2. SQL (Structured Query Language) – реализует требования реляционных БД, предъявляемых к языкам DDL, DML,VDL, SDL. В 1986 г. SQL был признан стандартом Американским Институтом Стандартизации (ANSI) и Международной Организацией Стандартов (ISO). В настоящее время действует стандарт SQL3, в который добавлены понятия ООП. SQL предназначен для выполнения операций над таблицами БД (создание, удаление, изменение структуры) и над данными (атрибутами) таблиц (выборка, изменение, добавление). SQL является непроцедурным языком и не содержит операторов управления организации подпрограмм ввода-вывода, поэтому на SQL невозможно написать полноценную программу. SQL-вставки добавляются в СУБД либо на ЯП высокого уровня.