Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
V_I_Shvetsov_BAZ_DANN_Kh.doc
Скачиваний:
8
Добавлен:
10.09.2019
Размер:
8.85 Mб
Скачать

11.3.2. Достоинства языка sql

Для ознакомления с достоинствами языка обратимся к соответствующей литературе [1]. Вот некоторые из них:

  • межплатформенная переносимость;

  • наличие стандартов;

  • одобрение и поддержка компанией IBM (СУБД DB2);

  • поддержка со стороны компании Microsoft (СУБД SQL Server, протокол ODBC и технология ADO);

  • реляционная основа;

  • высокоуровневая структура;

  • возможность выполнения специальных интерактивных запросов;

  • обеспечение программного доступа к базам данных;

  • возможность различного представления данных;

  • полноценность как языка, предназначенного для работы с базами данных;

  • возможность динамического определения данных;

  • поддержка архитектуры клиент/сервер;

  • поддержка корпоративных приложений;

  • расширяемость и поддержка объектно-ориентированных технологий;

  • возможность доступа к данным в Интернете;

  • интеграция с языком Java (протокол JDBC);

  • промышленная инфраструктура.

11.3.2. Общая характеристика sql

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

Терминология

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

Запрос реализуется с помощью операторов языка SQL. Операторы состоят из отдельных логических частей, называемых предложениями. Стандарты языка SQL регламентируют синтаксис операторов. Несмотря на то, что язык SQL работает с реляционной базой данных, вместо термина «отношение» здесь используется термин «таблица», вместо терминов «кортеж» и «атрибут» используются соответственно термины «строка» и «столбец».

Разновидности SQL

Как отмечалось выше, в отличие от «обычных» языков программирования в SQL отсутствует возможность объявления переменных, нет инструкции IF, нет цикла FOR и т.д. Собственно программирование (разработка прикладных программ) на подобном языке практически невозможно. Поэтому к настоящему моменту используются следующие технологии (режимы) работы с базой данных на языке SQL (в некоторых источниках эти технологии называют разновидностями языка SQL):

  • формирование непосредственно пользователем запроса на языке SQL в интерактивном режиме (интерактивный SQL);

  • формирование запроса на языке SQL в прикладной программме (программный или встроенный SQL:

  • статическое формирование запроса (статический SQL);

  • динамическое формирование запроса (динамический SQL);

  • формирование запроса с помощью библиотек (API – интерфейсы вызова подпрограмм).

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

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

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

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

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

В настоящем пособии для всех указанных технологий (разновидностей SQL) будут приведены основные идеи и рассмотрены ключевые концепции. Интерактивный SQL будет рассмотрен более подробно, чем программный. Детальное рассмотрение статического, динамического SQL и различных API-интерфейсов (ODBC, JDBC, DB Library и др.) выходит за рамки нашего курса.

Краткие итоги: В лекции рассматриваются общие принципы организации программного обеспечения работы с реляционными базами данных, включающего

  • создание и ведение базы данных;

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

Рассматриваются подходы к организации доступа к данным (навигационный подход и подход, основанный на использовании интерпретируемых языков запросов). Дается общее представление о языке SQL (история возникновения и стандарты языка SQL, достоинства языка SQL, основная терминология, технологии работы).

По языку SQL написано достаточно много литературы. Для более подробного знакомства можно указать, в частности [1-6].

Контрольные тесты

Задача 1. Какие основные направления использования программного обеспечения клиент-серверных СУБД?

Вариант 1.

Какие основные задачи программного обеспечения можно выделить при разработке прикладных программ, работающих с базой данных?

ð+ создание базы данных

ð+ организация работы с базой данных

ð+ создание пользовательского интерфейса

ð разработка программ СУБД

ð разработка вычислительных процедур

Вариант 2.

Что можно создавать с помощью программного обеспечения компьютера-сервера?

ð прикладную программу

ð интерфейс пользователя

ð+ базу данных

ð+ запросы к базе данных

Вариант 3.

Что можно делать с помощью программного обеспечения компьютера-сервера и компьютера-клиента?

ð+ Прикладную программу

ð+ Интерфейс пользователя

ð Базу данных

ð+ Запросы к базе данных

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]