Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Операция соединения, эквисоединенияСодержание книги
Похожие статьи вашей тематики
Поиск на нашем сайте
SELECT A.Field1, …, A.Fieldn, B.Field1, …, B.Fieldm FROM A, B WHERE (A.Fieldi Θ B.Field1)
Если Θ – операция «=», то это эквисоединение.
Операция естественного соединения Пусть есть отношения A (X 1, …, Xn, A 1, …, Am) и B (X 1, …, Xn, B 1, …, Br). SELECT A.X1, …, A.Xn, A.A1, …, A.Am, B.B1, …, B.Br FROM A, B WHERE (A.X1 = B.X1) AND … AND (A.Xn = B.Xn)
Краткие итоги: В лекции дается общая характеристика операторов языка SQL, используемых, в частности, для работы с базой данных в интерактивном режиме (создание таблиц, выбор информации из таблиц, добавление, удаление и модификация элементов). Дается понятие интерактивного режима работы с SQL. Рассматриваются основные операторы SQL, используемые для манипулирования данными (выбор информации из таблиц, добавление, удаление и модификация элементов). Приводятся примеры записи запросов к базе данных на языке SQL с использованием операторов select, insert, update,delete. Рассматривается связь между операциями реляционной алгебры и операторами языка SQL. Более подробно материалы лекции рассматриваются в [1-7]. Контрольные тесты
Задача 1. Основные группы операторов SQL?
Вариант 1. Какие из перечисленных операторов относятся к языку управления данными (DCL)?
ð Update - изменение значений в полях таблицы ð+ Grant – создание в системе безопасности разрешающей записи для пользователя ð Select –выборка строк, удовлетворяющих заданным условиям ð Create – создание таблицы, индекса ð Drop – удаление таблицы ð Alter – изменение структуры таблицы ð Insert – вставка строк в таблицу ð Delete – удаление строк из таблицы ð+ Deny - создание в системе безопасности запрещающей записи для пользователя
Вариант 2. Какие из перечисленных операторов относятся к языку определения данными (DDL)?
ð Update - изменение значений в полях таблицы ð Grant – создание в системе безопасности разрешающей записи для пользователя ð Select –выборка строк, удовлетворяющих заданным условиям ð+ Create – создание таблицы, индекса ð+ Drop – удаление таблицы ð+ Alter – изменение структуры таблицы ð Insert – вставка строк в таблицу ð Delete – удаление строк из таблицы ð Deny - создание в системе безопасности запрещающей записи для пользователя
Вариант 3. Какие из перечисленных операторов относятся к языку манипулирования данными (DML)? ð Update - изменение значений в полях таблицы ð Grant – создание в системе безопасности разрешающей записи для пользователя ð+ Select –выборка строк, удовлетворяющих заданным условиям ð Create – создание таблицы, индекса ð Drop – удаление таблицы ð Alter – изменение структуры таблицы ð+ Insert – вставка строк в таблицу ð+ Delete – удаление строк из таблицы ð Deny - создание в системе безопасности запрещающей записи для пользователя
Задача 2. Какие служебные слова используются в операторе select?
Вариант 1. Какие служебные слова обязательно присутствуют в операторе SELECT? ð+ FROM ð WHERE ð ORDER BY ð GROUP BY ð HAVING
Вариант 2. Какие служебные слова могут отсутствовать в операторе SELECT? ð FROM ð+ WHERE ð+ ORDER BY ð+ GROUP BY ð+ HAVING
Вариант 3. После каких служебных слов указывается список атрибутов в операторе SELECT? ð FROM ð WHERE ð+ ORDER BY ð+ GROUP BY ð HAVING
Задача 3. Как формируется условие выборки записей?
Вариант 1. Какие служебные слова определяют условие выборки записей? ð FROM ð+ WHERE ð ORDER BY ð GROUP BY ð HAVING ð SELECT
Вариант 2. Какие служебные слова не определяют условие выборки записей?
ð+ FROM ð WHERE ð+ ORDER BY ð+ GROUP BY ð+ HAVING ð+ SELECT
Вариант 3. Какие операторы и операнды могут использоваться при формировании условия выборки записей? ð названия таблиц ð+ имена атрибутов ð+ имена атрибутов с указанием имен соответствующих таблиц ð+ арифметические операторы сравнения ð+ логические операторы ð+ числовые константы ð+ символьные константы
Задача 4.
Вариант 1. Какие элементы таблицы выбираются оператором SELECT? ð только строки ð только столбцы ð+ строки и столбцы ð вся таблица
Вариант 2. После какого служебного слова в операторе SELECT указывается выбор столбцов? ð FROM ð WHERE ð ORDER BY ð GROUP BY ð HAVING ð+ SELECT
Вариант 3. После какого служебного слова в операторе SELECT указывается выбор строк? ð FROM ð+ WHERE ð ORDER BY ð GROUP BY ð HAVING ð SELECT
Задача 5. Как осуществляется выборка информации из нескольких таблиц?
Вариант 1. В каких предложениях оператора SELECT необходимо использовать имена таблиц при выборке информации из нескольких таблиц?
ð+ FROM ð+ WHERE ð ORDER BY ð GROUP BY ð HAVING ð+ SELECT
Вариант 2. Какие предложения оператора SELECT используются для установления связи между строками таблиц при выборке информации из нескольких таблиц? ð FROM ð+ WHERE ð ORDER BY ð GROUP BY ð HAVING ð SELECT
Вариант 3. Как указываются имена атрибутов в операторе SELECT при выборке информации из нескольких таблиц? ð указываются только имена атрибутов через запятую ð указываются имена атрибутов через запятую и имена таблиц через запятую ð указываются имена таблиц через запятую и имена атрибутов через запятую ð+ указывается имя таблицы и через точку имя атрибута и т. д.
Задача 6. Характеристика оператора INSERT.
Вариант 1. Что делает оператор INSERT? ð вставляет строку с заданными значениями элементов в таблицу ð вставляет столбец с заданными значениями элементов в таблицу ð+ вставляет строку с заданными значениями элементов и значениями по умолчанию в таблицу ð вставляет столбец с заданными значениями элементов и значениями по умолчанию в таблицу
Вариант 2. В каких предложениях оператора INSERT указываются вставляемые в таблицу значения? ð INSERT ð+ VALUES ð FROM ð WHERE
Вариант 3. Какие служебные слова могут использоваться в операторе INSERT? ð FROM ð WHERE ð+ VALUES ð GROUP BY
Задача 7. Характеристика оператора DELETE.
Вариант 1. Какие служебные слова могут использоваться в операторе DELETE?
ð+ FROM ð+ WHERE ð VALUES ð GROUP BY
Вариант 2. В каких случаях оператор DELETE не может быть выполнен корректно? ð пользователь пытается удалить не ту строку, которую нужно удалить ð удаляемая строка ссылается на строку другой таблицы ð+ на удаляемую строку имеется ссылка из другой таблицы ð+ нарушаются условия целостности
Вариант 3. С помощью какого предложения оператора DELETE может указываться удаляемая строка? ð FROM ð+ WHERE ð DELETE ð SET
Задача 8. Как связаны операторы языка SQL с операциями реляционной алгебры?
Вариант 1. Какой оператор языка (или служебное слово языка) реализует операцию проекции реляционной алгебры? ð INSERT ð+ SELECT ð ORDER BY ð GROUP BY ð HAVING
Вариант 2. Какой оператор языка (или служебное слово языка) реализует операцию селекции реляционной алгебры? ð INSERT ð+ SELECT ð ORDER BY ð GROUP BY ð HAVING
Вариант 3. Какой оператор языка (или служебное слово языка) используются при представлении операции естественного соединения реляционной алгебры?
ð+ FROM ð+ WHERE ð ORDER BY ð GROUP BY ð HAVING ð+ SELECT
Литература 1. Горев А., Ахаян Р., Макашарипов С. Эффективная работа с СУБД. СПб.: Питер, 1997. – 700 с. 2. Грабер М. SQL. Справочное руководство. – М: Лори, 1997. – 291с. 3. Грофф Дж., Вайнберг П. Энциклопедия SQL. 3-е изд. СПб.: Питер, 2003. 4. Грофф Дж., Вайнберг П. SQL: полное руководство: Пер. с англ. – К.: Издательская группа BHV, 2000. – 608 с. 5. Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. Базы данных: Учебник для вузов. – СПб.: КОРОНА принт, 2000. – 416 с. 6. Реализация баз данных Microsoft SQL Server 7.0 Учебный курс: официальное пособие Microsoft для самостоятельной подготовки. М.: Издательско-торговый дом «Русская редакция», 2000. 7. Карпова Т. Базы данных. Модели, разработка, реализация. – СПб.: Питер, 2001. – 304 с.
Лекция 13. Использование языка SQL в прикладных программах В лекции рассматриваются разные технологии формирования запросов на языке SQL в прикладных программах (статическое формирование запроса, динамическое формирование запроса, использование библиотек). Ключевые термины: язык SQL, встроенный SQL, статический SQL, динамический SQL, интерфейс программирования приложений, API, библиотеки для работы с СУБД. Цель лекции: показать основные возможности формирования запросов к базе данных из прикладных программ.
13.1. Программный (встроенный) SQL Основная работа с базой данных проводится с использованием прикладных программ, из которых и идут запросы к базам данных. В этом случае интерактивный режим работы не может быть использован, текст SQL- запроса должен быть либо включен в прикладную программу (если запрос полностью определен заранее), либо формироваться в процессе работы прикладной программы. Программный SQL предназначен для того, чтобы встраивать SQL-запросы в прикладную программу, написанную на одном из языков программирования. При этом возникают следующие вопросы: · компилятор с алгоритмического языка должен иметь возможность выделения в тексте прикладной программы последовательность операторов SQL. · компилятор должен объединять возможности языка программирования высокого уровня (переменные, ветвления, циклы) и возможности SQL (запросы на языке, близком к естественному). Решение этих проблем частично описано в стандарте SQL. Рассмотрим алгоритм выполнения SQL-запросов в интерактивном режиме работы. Легко видеть, что пользователь вынужден ожидать результатов выполнения запроса в течение всего времени работы реализации SQL-запроса. Если через некоторое время пользователю снова нужно будет выполнить тот же самый запрос, СУБД вновь проделает те же самые действия, что и при предыдущем обращении. Налицо некоторое несовершенство механизма: · одни и те же этапы выполняются каждый раз заново для одинаковых запросов; · СУБД не может обрабатывать интерактивные запросы с опережением. Решение подобных проблем очевидно – часть действий по обработке запроса необходимо выполнять один раз, сохранять результат в некотором виде, а потом использовать столько раз, сколько необходимо. Эта идея является одной из основных идей программного SQL. Таким образом, программный SQL позволяет: · использовать операторы интерактивного SQL в тексте программы на языке программирования высокого уровня; · наряду с операторами интерактивного SQL использовать новые специальные конструкции, дополняющие SQL и увеличивающие его возможности; · для передачи параметров в запрос использовать в тексте запроса переменные, объявленные в программе; · для возврата в программу результатов запроса использовать специальные конструкции, отсутствующие в интерактивном SQL; · осуществлять компиляцию запросов совместно с программой, обеспечивая впоследствии согласованную работу программы и СУБД. Заранее (на этапе компиляции) выполнять действия по анализу и оптимизации запросов, экономя время, затрачиваемое на этапе выполнения программы. На настоящий момент используются три варианта встраивания запросов на языке SQL в прикладную программу (программного SQL): статический SQL, динамический SQL и метод, основанный на различных интерфейсах программирования приложений (API). Рассмотрим соответствующие варианты.
13.2. Статический SQL
|
||||
Последнее изменение этой страницы: 2016-04-19; просмотров: 553; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.118.144.239 (0.011 с.) |