Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
прям шпоры бд.docx
Скачиваний:
4
Добавлен:
19.09.2019
Размер:
110.5 Кб
Скачать

9. Языки манипулирования данными sql и qbe (общие сведения).

SQL является, информационно-логическим языком, предназначенным для описания, изменения и извлечения данных, хранимых в реляционных базах данных. SQL был основным способом работы пользователя с базой данных и позволял выполнять следующий набор операций: создание в базе данных новой таблицы; добавление в таблицу новых записей; изменение записей; удаление записей; выборка записей из одной или нескольких таблиц, а, также, изменение структур таблиц. Со временем, SQL усложнился — обогатился новыми конструкциями, обеспечил возможность описания и управления новыми хранимыми объектами (например, индексы, представления, триггеры и хранимые процедуры) — и стал приобретать черты, свойственные языкам программирования.

Каждое предложение SQL — это либо запрос данных из базы, либо обращение к базе данных, которое приводит к изменению данных в базе. В соответствии с тем, какие изменения происходят в базе данных, различают следующие типы запросов: запросы на создание или изменение в базе данных новых или существующих объектов; запросы на получение данных; запросы на добавление новых данных (записей); запросы на удаление данных; обращения к СУБД.

Основным объектом хранения реляционной базы данных является таблица, поэтому все SQL-запросы — это операции над таблицами. В соответствии с этим, запросы делятся на: запросы, оперирующие самими таблицами (создание и изменение таблиц); запросы, оперирующие с отдельными записями (или строками таблиц) или наборами записей.

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

Язык SQL представляет собой совокупность операторов; инструкций; и вычисляемых функций.

Операторы

операторы определения данных (Data Definition Language): CREATE создает объект БД; ALTER изменяет объект; DROP удаляет объект

операторы манипуляции данными (Data Manipulation Language): SELECT считывает данные, удовлетворяющие заданным условиям; INSERT добавляет новые данные; UPDATE изменяет существующие данные; DELETE удаляет данные.

операторы определения доступа к данным (Data Control Language): GRANT предоставляет пользователю (группе) разрешения на определенные операции с объектом; REVOKE отзывает ранее выданные разрешения; DENY задает запрет, имеющий приоритет над разрешением;

операторы управления транзакциями (Transaction Control Language): COMMIT применяет транзакцию; ROLLBACK откатывает все изменения, сделанные в контексте текущей транзакции; SAVEPOINT делит транзакцию на более мелкие участки.

QBE

Теоретической основой языка QBE является реляционное исчисление с переменными-доменами (однако в языке присутствуют и элементы исчисления кортежей). Язык QBE позволяет задавать сложные запросы к БД путем заполнения предлагаемой СУБД запросной формы (иногда также используют термин QBF – запрос по форме). Такой способ задания запросов обеспечивает высокую наглядность и не требует указания алгоритма выполнения операции — достаточно описать образец ожидаемого результата. В каждой из современных реляционных СУБД имеется свой вариант языка QBE.

На языке QBE можно задавать однотабличные и многотабличные (выбирающие или обрабатывающие данные из нескольких связанных таблиц) запросы.

С помощью запросов на языке QBE можно выполнять следующие основные oперации: выборку данных; вычисление над данными; вставку новых записей; удаление записей; модификацию (изменение) данных.

Результатом выполнения запроса является новая таблица, называемая ответной (первые две операции), или обновленная исходная таблица (остальные операции). В реальных приложениях баз данных QBE используется в основном для выборки данных.

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

Запросная форма обычно имеет вид таблицы, имя и названия полей которой совпадают с именем и названиями полей соответствующей исходной таблицы. Чтобы узнать имена доступных таблиц БД, в языке QBE предусмотрен запрос на выборку имен таблиц. Названия полей исходной таблицы могут вводиться в шаблон вручную или автоматически. Во втором случае используется запрос на выборку заголовков столбцов.