🗊Презентация Встроенный SQL. Два способа применения SQL в прикладных программах. (Лекция 8)

Категория: Информатика
Нажмите для полного просмотра!
Встроенный SQL. Два способа применения SQL в прикладных программах. (Лекция 8), слайд №1Встроенный SQL. Два способа применения SQL в прикладных программах. (Лекция 8), слайд №2Встроенный SQL. Два способа применения SQL в прикладных программах. (Лекция 8), слайд №3Встроенный SQL. Два способа применения SQL в прикладных программах. (Лекция 8), слайд №4Встроенный SQL. Два способа применения SQL в прикладных программах. (Лекция 8), слайд №5Встроенный SQL. Два способа применения SQL в прикладных программах. (Лекция 8), слайд №6Встроенный SQL. Два способа применения SQL в прикладных программах. (Лекция 8), слайд №7Встроенный SQL. Два способа применения SQL в прикладных программах. (Лекция 8), слайд №8Встроенный SQL. Два способа применения SQL в прикладных программах. (Лекция 8), слайд №9Встроенный SQL. Два способа применения SQL в прикладных программах. (Лекция 8), слайд №10Встроенный SQL. Два способа применения SQL в прикладных программах. (Лекция 8), слайд №11Встроенный SQL. Два способа применения SQL в прикладных программах. (Лекция 8), слайд №12Встроенный SQL. Два способа применения SQL в прикладных программах. (Лекция 8), слайд №13Встроенный SQL. Два способа применения SQL в прикладных программах. (Лекция 8), слайд №14Встроенный SQL. Два способа применения SQL в прикладных программах. (Лекция 8), слайд №15Встроенный SQL. Два способа применения SQL в прикладных программах. (Лекция 8), слайд №16Встроенный SQL. Два способа применения SQL в прикладных программах. (Лекция 8), слайд №17Встроенный SQL. Два способа применения SQL в прикладных программах. (Лекция 8), слайд №18Встроенный SQL. Два способа применения SQL в прикладных программах. (Лекция 8), слайд №19Встроенный SQL. Два способа применения SQL в прикладных программах. (Лекция 8), слайд №20Встроенный SQL. Два способа применения SQL в прикладных программах. (Лекция 8), слайд №21Встроенный SQL. Два способа применения SQL в прикладных программах. (Лекция 8), слайд №22Встроенный SQL. Два способа применения SQL в прикладных программах. (Лекция 8), слайд №23Встроенный SQL. Два способа применения SQL в прикладных программах. (Лекция 8), слайд №24Встроенный SQL. Два способа применения SQL в прикладных программах. (Лекция 8), слайд №25

Содержание

Вы можете ознакомиться и скачать презентацию на тему Встроенный SQL. Два способа применения SQL в прикладных программах. (Лекция 8). Доклад-сообщение содержит 25 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Лекция №8
Встроенный SQL
Ст. преподаватель 
каф. КИБЭВС
М.А. Сопов
Описание слайда:
Лекция №8 Встроенный SQL Ст. преподаватель каф. КИБЭВС М.А. Сопов

Слайд 2





Существуют два способа применения SQL в прикладных программах:
Существуют два способа применения SQL в прикладных программах:
	1. Встроенный SQL. При таком подходе операторы SQL встраиваются непосредственно в исходный текст программы на базовом языке. 
	2. Интерфейс программирования приложений (API application program interface). При использовании данного метода прикладная программа взаимодействует с СУБД путем применения специальных функций.
Описание слайда:
Существуют два способа применения SQL в прикладных программах: Существуют два способа применения SQL в прикладных программах: 1. Встроенный SQL. При таком подходе операторы SQL встраиваются непосредственно в исходный текст программы на базовом языке. 2. Интерфейс программирования приложений (API application program interface). При использовании данного метода прикладная программа взаимодействует с СУБД путем применения специальных функций.

Слайд 3





	
	
	Процесс выполнения операторов SQL может быть условно разделен на 5 этапов:
Описание слайда:
Процесс выполнения операторов SQL может быть условно разделен на 5 этапов:

Слайд 4


Встроенный SQL. Два способа применения SQL в прикладных программах. (Лекция 8), слайд №4
Описание слайда:

Слайд 5





Синтаксический анализ оператора SQL: 
Синтаксический анализ оператора SQL: 
На этом этапе проверяется корректность записи SQL -оператора в соответствии с правилами синтаксиса.
Проверка параметров оператора SQL:
На этом этапе проверяется корректность параметров оператора SQL: имен отношений, имен полей данных, привилегий пользователя по работе с указанными объектами. Здесь обнаруживаются семантические ошибки.
Описание слайда:
Синтаксический анализ оператора SQL: Синтаксический анализ оператора SQL: На этом этапе проверяется корректность записи SQL -оператора в соответствии с правилами синтаксиса. Проверка параметров оператора SQL: На этом этапе проверяется корректность параметров оператора SQL: имен отношений, имен полей данных, привилегий пользователя по работе с указанными объектами. Здесь обнаруживаются семантические ошибки.

Слайд 6





Оптимизация оператора SQL:
Оптимизация оператора SQL:
СУБД проводит разделение целостного запроса на ряд минимальных операций и оптимизирует последовательность их выполнения с точки зрения стоимости выполнения запроса. На этом этапе строится несколько планов выполнения запроса и выбирается из них один — оптимальный для данного состояния БД.
Описание слайда:
Оптимизация оператора SQL: Оптимизация оператора SQL: СУБД проводит разделение целостного запроса на ряд минимальных операций и оптимизирует последовательность их выполнения с точки зрения стоимости выполнения запроса. На этом этапе строится несколько планов выполнения запроса и выбирается из них один — оптимальный для данного состояния БД.

Слайд 7





Генерация плана выполнения запроса SQL:
Генерация плана выполнения запроса SQL:
СУБД генерирует двоичную версию оптимального плана запроса, подготовленного на этапе 3. Двоичный план выполнения запроса в СУБД фактически является эквивалентом объектного кода программы.
Двоичная форма выполнения запроса SQL:
СУБД реализует (выполняет) разработанный план, тем самым выполняя оператор SQL.
Описание слайда:
Генерация плана выполнения запроса SQL: Генерация плана выполнения запроса SQL: СУБД генерирует двоичную версию оптимального плана запроса, подготовленного на этапе 3. Двоичный план выполнения запроса в СУБД фактически является эквивалентом объектного кода программы. Двоичная форма выполнения запроса SQL: СУБД реализует (выполняет) разработанный план, тем самым выполняя оператор SQL.

Слайд 8





При объединении операторов SQL с базовым языком программирования должны соблюдаться следующие принципы:
При объединении операторов SQL с базовым языком программирования должны соблюдаться следующие принципы:
- Операторы SQL включаются непосредственно в текст программы на исходном языке программирования. Исходная программа поступает на вход препроцессора SQL, который компилирует операторы SQL.
- Встроенные операторы SQL могут ссылаться на переменные базового языка программирования.
- Встроенные операторы SQL получают результаты SQL-запросов с помощью переменных базового языка программирования.
Описание слайда:
При объединении операторов SQL с базовым языком программирования должны соблюдаться следующие принципы: При объединении операторов SQL с базовым языком программирования должны соблюдаться следующие принципы: - Операторы SQL включаются непосредственно в текст программы на исходном языке программирования. Исходная программа поступает на вход препроцессора SQL, который компилирует операторы SQL. - Встроенные операторы SQL могут ссылаться на переменные базового языка программирования. - Встроенные операторы SQL получают результаты SQL-запросов с помощью переменных базового языка программирования.

Слайд 9





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

Слайд 10





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

Слайд 11





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

Слайд 12






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

Слайд 13





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

Слайд 14





Во встроенном SQL запросы делятся на 2 типа:

Во встроенном SQL запросы делятся на 2 типа:

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

Многострочные запросы, результатом которых является получение целого набора строк. При этом приложение должно иметь возможность проработать все полученные строки. Значит, должен существовать механизм, который поддерживает просмотр и обработку полученного набора строк.
Описание слайда:
Во встроенном SQL запросы делятся на 2 типа: Во встроенном SQL запросы делятся на 2 типа: Однострочные запросы, где ожидаемые результаты соответствуют одной строке данных. Эта строка может содержать значения нескольких столбцов. Многострочные запросы, результатом которых является получение целого набора строк. При этом приложение должно иметь возможность проработать все полученные строки. Значит, должен существовать механизм, который поддерживает просмотр и обработку полученного набора строк.

Слайд 15





Первый тип запроса — однострочный запрос во встроенном SQL вызвал модификацию оператора SQL, которая выглядит следующим образом:

Первый тип запроса — однострочный запрос во встроенном SQL вызвал модификацию оператора SQL, которая выглядит следующим образом:

SELECT [{ALL | DISTINCT}] <список возвращаемых столбцов>
INTO <список переменных базового языка>
FROM <список исходных таблиц>
[WHERE <условия соединения и поиска>]
Описание слайда:
Первый тип запроса — однострочный запрос во встроенном SQL вызвал модификацию оператора SQL, которая выглядит следующим образом: Первый тип запроса — однострочный запрос во встроенном SQL вызвал модификацию оператора SQL, которая выглядит следующим образом: SELECT [{ALL | DISTINCT}] <список возвращаемых столбцов> INTO <список переменных базового языка> FROM <список исходных таблиц> [WHERE <условия соединения и поиска>]

Слайд 16





Для реализации многострочных запросов вводится новое понятие — понятие курсора или указателя набора записей. 
Для реализации многострочных запросов вводится новое понятие — понятие курсора или указателя набора записей. 
Курсор в SQL – это область в памяти базы данных, которая предназначена для хранения последнего оператора SQL. Если текущий оператор – запрос к базе данных, в памяти сохраняется и строка данных запроса, называемая текущим значением, или текущей строкой курсора. Указанная область в памяти поименована и доступна для прикладных программ.
:
Описание слайда:
Для реализации многострочных запросов вводится новое понятие — понятие курсора или указателя набора записей. Для реализации многострочных запросов вводится новое понятие — понятие курсора или указателя набора записей. Курсор в SQL – это область в памяти базы данных, которая предназначена для хранения последнего оператора SQL. Если текущий оператор – запрос к базе данных, в памяти сохраняется и строка данных запроса, называемая текущим значением, или текущей строкой курсора. Указанная область в памяти поименована и доступна для прикладных программ. :

Слайд 17





Оператор DECLARE CURSOR — определяет выполняемый запрос, задает имя курсора и связывает результаты запроса с заданным курсором. Этот оператор не является исполняемым для запроса, он только определяет структуру будущего множества записей и связывает ее с уникальным именем курсора. Этот оператор подобен операторам описания данных в языках программирования.
Оператор DECLARE CURSOR — определяет выполняемый запрос, задает имя курсора и связывает результаты запроса с заданным курсором. Этот оператор не является исполняемым для запроса, он только определяет структуру будущего множества записей и связывает ее с уникальным именем курсора. Этот оператор подобен операторам описания данных в языках программирования.
Описание слайда:
Оператор DECLARE CURSOR — определяет выполняемый запрос, задает имя курсора и связывает результаты запроса с заданным курсором. Этот оператор не является исполняемым для запроса, он только определяет структуру будущего множества записей и связывает ее с уникальным именем курсора. Этот оператор подобен операторам описания данных в языках программирования. Оператор DECLARE CURSOR — определяет выполняемый запрос, задает имя курсора и связывает результаты запроса с заданным курсором. Этот оператор не является исполняемым для запроса, он только определяет структуру будущего множества записей и связывает ее с уникальным именем курсора. Этот оператор подобен операторам описания данных в языках программирования.

Слайд 18





Оператор OPEN дает команду СУБД выполнить описанный запрос, создать виртуальный набор строк, который соответствует заданному запросу. Оператор OPEN устанавливает указатель записей (курсор) перед первой строкой виртуального набора строк результата.
Оператор OPEN дает команду СУБД выполнить описанный запрос, создать виртуальный набор строк, который соответствует заданному запросу. Оператор OPEN устанавливает указатель записей (курсор) перед первой строкой виртуального набора строк результата.
Описание слайда:
Оператор OPEN дает команду СУБД выполнить описанный запрос, создать виртуальный набор строк, который соответствует заданному запросу. Оператор OPEN устанавливает указатель записей (курсор) перед первой строкой виртуального набора строк результата. Оператор OPEN дает команду СУБД выполнить описанный запрос, создать виртуальный набор строк, который соответствует заданному запросу. Оператор OPEN устанавливает указатель записей (курсор) перед первой строкой виртуального набора строк результата.

Слайд 19





Оператор FETCH продвигает указатель записей на следующую позицию в виртуальном наборе записей. В большинстве коммерческих СУБД оператор перемещения FETCH реализует более широкие функции перемещения, он позволяет перемещать указатель на произвольную запись, вперед и назад, допускает как абсолютную адресацию, так и относительную адресацию, позволяет установить курсор на первую или последнюю запись виртуального набора.
Оператор FETCH продвигает указатель записей на следующую позицию в виртуальном наборе записей. В большинстве коммерческих СУБД оператор перемещения FETCH реализует более широкие функции перемещения, он позволяет перемещать указатель на произвольную запись, вперед и назад, допускает как абсолютную адресацию, так и относительную адресацию, позволяет установить курсор на первую или последнюю запись виртуального набора.
Описание слайда:
Оператор FETCH продвигает указатель записей на следующую позицию в виртуальном наборе записей. В большинстве коммерческих СУБД оператор перемещения FETCH реализует более широкие функции перемещения, он позволяет перемещать указатель на произвольную запись, вперед и назад, допускает как абсолютную адресацию, так и относительную адресацию, позволяет установить курсор на первую или последнюю запись виртуального набора. Оператор FETCH продвигает указатель записей на следующую позицию в виртуальном наборе записей. В большинстве коммерческих СУБД оператор перемещения FETCH реализует более широкие функции перемещения, он позволяет перемещать указатель на произвольную запись, вперед и назад, допускает как абсолютную адресацию, так и относительную адресацию, позволяет установить курсор на первую или последнюю запись виртуального набора.

Слайд 20





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

Слайд 21





Курсоры — удобное средство для формирования бизнес-логики приложений, но следует помнить, что если вы открываете курсор с возможностью модификации, то СУБД блокирует все строки базовой таблицы, вошедшие в ваш курсор, и тем самым блокируется работа других пользователей с данной таблицей.
Курсоры — удобное средство для формирования бизнес-логики приложений, но следует помнить, что если вы открываете курсор с возможностью модификации, то СУБД блокирует все строки базовой таблицы, вошедшие в ваш курсор, и тем самым блокируется работа других пользователей с данной таблицей.
Описание слайда:
Курсоры — удобное средство для формирования бизнес-логики приложений, но следует помнить, что если вы открываете курсор с возможностью модификации, то СУБД блокирует все строки базовой таблицы, вошедшие в ваш курсор, и тем самым блокируется работа других пользователей с данной таблицей. Курсоры — удобное средство для формирования бизнес-логики приложений, но следует помнить, что если вы открываете курсор с возможностью модификации, то СУБД блокирует все строки базовой таблицы, вошедшие в ваш курсор, и тем самым блокируется работа других пользователей с данной таблицей.

Слайд 22





Чтобы свести к минимуму количество требуемых блокировок, при работе интерактивных программ следует придерживаться следующих правил:

Чтобы свести к минимуму количество требуемых блокировок, при работе интерактивных программ следует придерживаться следующих правил:

Необходимо делать транзакции как можно короче.

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

Слайд 23





Необходимо избегать программ, в которых осуществляется интенсивное взаимодействие с пользователем или осуществляется просмотр очень большого количества строк данных.

Необходимо избегать программ, в которых осуществляется интенсивное взаимодействие с пользователем или осуществляется просмотр очень большого количества строк данных.

Если возможно, то лучше не применять прокручиваемые курсоры (SCROLL), потому что они требуют блокирования всех строк выборки, связанных с открытым курсором.
Описание слайда:
Необходимо избегать программ, в которых осуществляется интенсивное взаимодействие с пользователем или осуществляется просмотр очень большого количества строк данных. Необходимо избегать программ, в которых осуществляется интенсивное взаимодействие с пользователем или осуществляется просмотр очень большого количества строк данных. Если возможно, то лучше не применять прокручиваемые курсоры (SCROLL), потому что они требуют блокирования всех строк выборки, связанных с открытым курсором.

Слайд 24






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

Если возможно, определяйте курсор как READ ONLY.
Описание слайда:
Использование простого последовательного курсора позволит системе разблокировать текущую строку, как только будет выполнена операция FETCH, что минимизирует блокировки других пользователей, работающих параллельно с вами и использующих те же таблицы. Если возможно, определяйте курсор как READ ONLY.

Слайд 25






Спасибо за внимание!!!
Описание слайда:
Спасибо за внимание!!!



Похожие презентации
Mypresentation.ru
Загрузить презентацию