Главная » Просмотр файлов » Мартин Грубер - Понимание SQL

Мартин Грубер - Понимание SQL (991940), страница 45

Файл №991940 Мартин Грубер - Понимание SQL (Мартин Грубер. Понимание SQL) 45 страницаМартин Грубер - Понимание SQL (991940) страница 452015-08-23СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 45)

Сделайте запрос каталога чтобы выяснить, сколько синонимов существует для каждой таблицы в базе данных. Не забудьте, что один и тот же синоним принадлежащий двум различным пользователям — это фактически два разных синонима.3. Выясните сколько таблиц имеют индексы в более чем пятьдесяти процентов ихстолбцов.(См. Приложение A для ответов.)25ИСПОЛЬЗОВАНИЕ SQL СДРУГИМ ЯЗЫКОМ(ВЛОЖЕННЫЙ SQL)В ЭТОЙ ГЛАВЕ ВЫ УЗНАЕТЕ КАК SQL ИСПОЛЬЗУЕТСЯ для расширения программ написанных на других языках.

Хотя непроцедурность языка SQL делает егоочень мощным, в то же время это накладывает на него большое число ограничений.Чтобы преодолеть эти ограничения, вы можете включать SQL в программы написанные на том или другом процедурном языке (имеющем определенный алгоритм). Длянаших примеров, мы выбрали Паскаль, считая что этот язык наиболее прост в понимании для начинающих, и еще потому, что Паскаль — один из языков, для которыхANSI имеет полуофициальный стандарт.ЧТО ТАКОЕ ВЛОЖЕНИЕ SQLЧтобы вложить SQL в другой язык, вы должны использовать пакет программ, который бы обеспечивал поддержку вложения SQL в этот язык и конечно же, поддержкусамого языка. Естественно, вы должны быть знакомы с языком, который вы используете.

Главным образом, вы будете использовать команды SQL для работы в таблицах базы данных, передачи результатов вывода в программу и получения ввода изпрограммы в которую они вкладываются, обобщенно ссылаясь к главной программе(которая может или не может принимать их из диалога или посылать обратно в диалог пользователя и программы).ЗАЧЕМ ВКЛАДЫВАТЬ SQL?Хотя и мы потратили некоторое время на то чтобы показать что умеет делатьSQL, но если вы — опытный программист, вы вероятно отметили, что сам по себе, онне очень полезен при написании программ.Самое очевидное ограничение — это то, что в то время как SQL может сразувыполнить пакет команды, интерактивный SQL в основном выполняет по одной команде в каждый момент времени.Типы логических конструкций типа if ...

then ("если ... то"), for ... do ("для ... выполнить") и while ... repeat ("пока ... повторять") — используемых для структурбольшинства компьютерных программ, здесь отсутствуют, так что вы не сможете принять решение — выполнять ли, как выполнять, или как долго выполнять одно действие в результате другого действия. Кроме того, интерактивный SQL не может делатьмногого со значениями, кроме ввода их в таблицу, размещения или распределения ихс помощью запросов, и конечно вывода их на какое-то устройство.Более традиционные языки, однако, сильны именно в этих областях.

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

Это дает вам возможность указывать пользователям на ввод или вывод этих команд из файла, и возможность форматироватьвывод сложными способами (например, преобразовывать числовые данные в диаграммы).Цель вложенного SQL состоит в том, чтобы объединить эти возможности, позволяющие вам создавать сложные процедурные программы, которые адресуют базуданных посредством SQL — позволяя вам устранить сложные действия в таблицах напроцедурном языке, который не ориентирован на такую структуру данных, в тожевремя поддерживая структурную строгость процедурного языка.КАК ДЕЛАЮТСЯ ВЛОЖЕНИЯ SQLКоманды SQL помещаются в исходный текст главной программы, которой предшествует фраза — EXEC SQL (EXECute SQL).

Далее устанавливаются некоторые команды, которые являются специальными для вложенной формы SQL и которые будутпредставлены в этой главе.Строго говоря, стандарт ANSI не поддерживает вложенный SQL как таковой. Онподдерживает понятие, называемое — модуль, который более точно, является вызываемым набором процедур SQL, а не вложением в другой язык.

Официальное определение синтаксиса вложения SQL, будет включать расширение официальногосинтаксиса каждого языка в который может вкладываться SQL, что весьма долгая инеблагодарная задача, которую ANSI избегает. Однако, ANSI обеспечивает четыреприложения (не являющиеся частью стандарта), которые определяют синтаксис вложения SQL для четырех языков: КОБОЛ, ПАСКАЛЬ, ФОРТРАН, и ПЛ/1. Язык C — также широко поддерживается как и другие языки.

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

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

Размещение операторов SQL непосредственно в главном коде происходит болеепросто и более практично, чем непосредственно создание самих модулей.Каждая из программ, использующих вложение SQL, связана с ID доступа вовремя ее выполнения. ID доступа, связанный с программой, должен иметь все привилегии, чтобы выполнять операции SQL, выполняемые в программе. Вообще то, вложенная программа SQL регистрируется в базе данных, также как и пользователь,выполняющий программу. Более подробно, это определяет проектировщик, но вероятно было бы неплохо для включить в вашу программу команду CONNECT или ей подобную.ИСПОЛЬЗОВАНИЕ ПЕРЕМЕННЫХ ОСНОВНОГО ЯЗЫКА ВSQLОсновной способ которым SQL и части базового языка ваших программ будутсвязываться друг с другом — это с помощью значений переменных. Естественно, чторазные языки распознают различные типы данных для переменных.

ANSI определяетэквиваленты SQL для четырех базовых языков — ПЛ/1, Паскаль, КОБОЛ, и ФОРТРАН;все это подробности описаны в Приложении B. Эквиваленты для других языков — определяет проектировщик.Имейте в виду, что типы, такие как DATE, не распознаются ANSI; и следовательно никаких эквивалентных типов данных для базовых языков не существуют в стандарте ANSI.

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

Главные переменные должны * быть обьявленными в SQL DECLARE SESSION (РАЗДЕЛ ОБЪЯВЛЕНИЙ), который будет описан далее.* иметь совместимый тип данных с их функциями в команде SQL (например, числовой тип, если они вставляется в числовое поле)* быть назначеными значению во время их использования в команде SQL, есликоманда SQL самостоятельно не может сделать назначение.* предшествовать двоеточию (:) когда они упоминаются в команде SQLТак как главные переменные отличаются от имен столбцов SQL наличием у нихдвоеточия, вы можете использовать переменные с теми же самыми именами, что иваши столбцы, если это конечно нужно.Предположим что вы имеете четыре переменных в вашей программе, с именами: id_num, salesperson, loc и comm.

Характеристики

Тип файла
PDF-файл
Размер
1,41 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6510
Авторов
на СтудИзбе
302
Средний доход
с одного платного файла
Обучение Подробнее