Операторы SQL: DDL, DML, DQL, TCL, DCL, CCL. Характеристики каждой группы sql-команд

SQL – язык структурированных запросов. Разработка IBM для СУБД db2.

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

1.Язык описания данных (DDL - Data Definition Language), предназначен для описания данных на разных уровнях абстракции: внешнем, логическом и внутреннем. Группа команд позволяет создавать данные, создавать, изменять и уничтожать БД и записи внутри них.

Исходя из предложений CODASYL, языки описания данных на логическом (концептуальном) и внутреннем уровнях независимые и разные. Однако в большинстве промышленных СУБД языки не делится на два отдельных языка описания логической и физической организации данных, а существует единый язык, которая еще называется языком описания схем. В известных и широко используемых на практике СУБД семьи dBASE применяется единый язык описания данных. Он предназначен для представления данных на логическом и физическом уровнях. Этот язык имеет свой синтаксис: например, имя файла не должно превышать восьми символов, а имя поля - десяти; при этом каждое имя может начинаться с буквы.

Включает в себя множество операторов, основные из которых являются: CREATE TABLE, DROP TABLE и ALTER TABLE предназначенные для создания, удаления и изменения таблиц соответственно..

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

А)Базовый язык DML — это один из традиционных языков программирования (BASIC, C, FORTRAN и др.). Системы, которые используют базовый язык, называют открытыми. Использование базовых языков как языков описания данных сужает круг лиц, которые могут непосредственно обращаться к БД, поскольку для этого нужно знать язык программирования. В таких случаях для упрощения общения конечных пользователей с БД предполагается язык ведения диалога, который значительно проще для овладения, чем язык программирования.

Б)Автономный язык DML — это собственный язык СУБД, который дает возможность выполнять различные операции с данными. Системы с собственным языком называют закрытыми.

Данная группа команд содержит операторы: Insert – вставить, Update – изменить, Delete – удалить, Select – выбрать.

3.Выборка данных DQL. Язык запросов DQL наиболее известен пользователям реляционной БД, несмотря на то, что он включает одну команду SELECT. Эта команда многочисленными опциями и предложениями используется для формирования запросов к Реляционной БД.

4.Язык управления данными DCL. Язык управления привилегиями. Команды управления данными позволяют управлять доступом к информации, находящейся внутри БД. Как правило, используется для создания объектов, связанных с доступом к данным, а также служат для контроля над распределением привилегий между пользователями. Команды управления данными: Grant – добавляет роль (привилегию) пользователю; Revoke – команда, которая удаляет роль.

5.Язык управления транзакциями TCL (Transaction Control Language.) - операторы, позволяющие контролировать операцию транзакции.

6.Язык управления курсором CCL (Cursor Control Language) - операторы, позволяющие контролировать положение курсора в таблице (табличный указатель)

4. ТЕХНОЛОГИЯ МОДЕЛИРОВАНИЯ CASE: ХАРАКТЕРИСТИКА CASE-ТЕХНОЛОГИИ И ЕЕ ИСПОЛЬЗОВАНИЕ В РАЗРАБОТКЕ ИС. КРАТКАЯ ХАРАКТЕРИСТИКА CASE-СРЕДСТВ.(36)

CASE-технологии моделирования систем (Computer Aided Software Engineering) – средства автоматизированного проектирования.

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

Инструментальные средства разработки прикладных систем все больше ориентируются на архитектуру готовых программных изделий. Это обусловлено необходимостью:

· быстрее создавать и внедрять прикладные системы при меньших затратах;

· обеспечить единый, простой интерфейс с конечными пользователями;

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

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

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

При этом на этапе анализа целей создания системы обычно используется концепция диаграмм потоков данных, когда основное внимание уделяется операциям (действиям) по обработке информации, которые связываются отношениями, соответствующими процессам обмена данными. В результате между входными и выходными данными устанавливаются n-арные связи. Однако эта модель, по существу, больше ориентирована на описание требований к системе в терминах ЭВМ, чем в понятиях пользователей. Ее методы адекватны для операционного описания динамики реального мира. Она предоставляет пользователю средства, более пригодные для описания алгоритмов, чем для выражения закономерностей развития ПО.

Вместе с тем CASE-технологии являются значительным достижением в области автоматизации проектирования ИС, обеспечивая:

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

2.Уменьшение времени и стоимости создания проекта по сравнению с неавтоматизированными технологиями.

3. Контроль за взаимосвязями и полнотой представления отдельных компонентов проекта.

4.отображение связей между компонентами и возможность одновременного внесения нескольких изменений в проект.

Среди методологий, ориентированных на системную архитектуру программных средств, отметим интегрированную программную архитектуру ISA (Integrated Software Architecture), развиваемую фирмой Software AG, и CASE-технологию разработки систем фирмы ORACLE, которые доведены до промышленного образца.

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

5. ВОССТАНОВЛЕНИЕ ДАННЫХ: ПОНЯТИЕ И ХАРАКТЕРИСТИКА. ТРАНЗАКЦИЯ: ПОНЯТИЕ, АДМИНИСТРАТОР ТРАНЗАКЦИЙ, ТОЧКА ФИКСАЦИИ, СВОЙСТВА ТРАНЗАКЦИЙ, РАБОТА ТРАНЗАКЦИЙ. ПАРАЛЛЕЛИЗМ: ПОНЯТИЕ, ПРОБЛЕМЫ ОБРАБОТКИ ТРАНЗАКЦИЙ, БЛОКИРОВКА, КРИТЕРИЙ ПРАВИЛЬНОСТИ, УРОВЕНЬ ИЗОЛЯЦИИ, SQL-КОМАНДЫ ТРАНЗАКЦИИ.(37)

Восстановление в СУБД означает возвращение БД в некое непротиворечивое состояние, если происходит сбой программы. Восстановление обеспечивается такой функцией как транзакция. Иногда для восстановления последнего согласованного состояния БД после сбоя журнала изменений не достаточно. Основой восстановления в этом случае является журнал транзакции и архивная копия БД, создаваемая после переполнения журнала транзакции.

Для восстановления БД система имеет в составе сервисные программные средства:

1. Программы ведения системного журнала.

2. Программы архивации.

3. Программы восстановления.

4. Программы отката – ликвидируют последствия выполнения транзакции в БД.

5. Программы записи контрольных точек и повторного использования – позволяют ускорить восстановление.

Представим, что необходимо выполнить с БД следующие функции:

1. Добавить данные.

2. Заменить одни данные на другие.

Фрагмент программы будет выглядеть следующим образом:

…….

SET TRANSACTION

INSERT………

IF возникла ошибка THEN GOTO 2

UPDATE…

IF возникла ошибка THEN 2

COMMIT [TRANSACTION]

GOTO 1

2: ROLBACK [TRANSACTION]

1: конец

Допустим, что система может быть разрушена между двумя обновлениями. Или же на втором обновлении произойдет ошибка, то система осуществит откат, и будут восстановлены данные, которые были до транзакции.

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

Свойства транзакции (АСИД):

1. Атомарность - выполняется все или ничего.

2. Согласованность - позволяет перевести БД из одного согласованного состояния в др.

3. Изоляция - независимость одной транзакции от др.

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


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



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