русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Задание 1. Создание запросов на языке SQL


Дата добавления: 2015-07-04; просмотров: 897; Нарушение авторских прав


(часть 1, знакомство)

 

Цель задания: Освоить составление запросов на языке SQL при создании

объектов базы данных. Используется разработанная ранее база данных «Жур-

налы».

 

Последовательность действий:

1. Запустите Microsoft Access и откройте базу данных «Журналы».

2. Создайте запрос с именем «Самый простой запрос», который вычисляет

значение выражения «2+2» и выдает текущее время, не используя при этом

таблицы или другие запросы базы данных.

• Щелкните по ярлыку «Создание запроса в режиме конструктора».

• Закройте диалоговое окно «Добавление таблиц».


• Перейдите в режим SQL (


).


• В окне редактирования введите текст запроса «SELECT 2+2, NOW();».


• Перейдите в режим просмотра результатов работы запроса


. Обратите


внимание, что названия столбцов сформированы автоматически.

• Перейдите в режим конструктора ( ). Обратите внимание, какие имена

присвоил конструктор столбцам запроса.

• Перейдите в режим SQL и назначьте столбцам новые имена: «ДваПлюс-

Два» и «ДатаИВремя» соответственно.

• Просмотрите результат работы запроса.

• Закройте окно запроса, сохранив его под именем «Самый простой за-

прос».

3. Создайте в режиме конструктора и модифицируйте в режиме SQL запрос

«Журналы с кодами клиентов», выводящий список журналов и коды клиентов,

которые на них подписаны.

• Запустите конструктор для создания нового запроса.

• Добавьте в запрос таблицы «Журнал» и «Подписка».

• Перенесите в бланк запроса имена полей «Название» и «Клиент».

• Просмотрите результат работы запроса.

Запрос выдает названия только тех журналов, на которые подписан

хотя бы один клиент. Следует изменить способ объединения таблиц с

внутреннего на левое внешнее.

Обратите внимание, из таблицы «Подписка» извлекаются именно коды



клиентов, а их фамилии отображаются в результирующей таблице бла-

годаря тому, что для таблицы «Подписка» были настроены параметры

подстановки.

• Перейдите в режим SQL.

 


• Замените в предложении «FROM» ключевые слова «INNER JOIN» на

«LEFT JOIN».

• Просмотрите результат работы запроса.

Теперь в столбце «Название» присутствуют названия и тех журналов, у

которых нет ни одного подписчика. Для таких журналов в столбец

«Клиент» помещено пустое значение.

• Перейдите в режим конструктора. Обратите внимание на то, что в конст-

рукторе способ объединения также изменился.

Линия связи, обозначающая объединение таблиц, теперь снабжена

стрелкой на одном конце.

• Для того, чтобы сохранить запрос, не закрывая окна конструктора, на-


 

жмите кнопку «Сохранить»


 

на панели инструментов Access. В диа-


логовом окне введите имя запроса «Журналы с кодами клиентов» и

нажмите кнопку «OK».

• Выясните, как изменится SQL – представление запроса, если связь между

таблицами будет отсутствовать. Нажмите правой кнопкой мыши на ли-

нии связи и в контекстном меню выберите пункт «Удалить».

В случае, когда связь между полями таблиц не определена, запрос фор-

мирует декартово произведение таблиц.

• Перейдите в режим SQL.

Теперь в предложении «FROM» вместо оператора объединения «LEFT

JOIN» с условием равенства значений столбцов двух таблиц, использу-

ется оператор «запятая», объединяющий записи таблиц безусловно, в

виде декартова произведения.

• Закройте окно запроса, при этом откажитесь от сохранения последних

изменений.

4. Создайте в режиме SQL запрос «Журналы с количеством клиентов», вы-

водящий список журналов и количество клиентов, которые подписаны на каж-

дый из них.

• Запустите конструктор для создания нового запроса.

• Закройте окно добавления таблиц. Перейдите в режим SQL.

• Введите в окне редактирования запрос следующего вида:

SELECT Журнал.Название,

Count(Подписка.Журнал) AS Количество

FROM Журнал LEFT JOIN

Подписка ON Журнал.КодЖурнала = Подписка.Журнал

GROUP BY Журнал.Название

ORDER BY Журнал.Название;

• Просмотрите результат работы запроса.

• Просмотрите запрос в режиме конструктора. Найдите соответствие меж-

ду всеми элементами, размещенными в бланке и области таблиц конст-

руктора запроса, и элементами запроса на языке SQL.

• Закройте окно запроса, сохранив запрос под именем «Журналы с коли-

чеством клиентов».

 


 

5. В форме «Подписчики - подчиненная» в качестве источника записей ис-

пользуется специальный запрос «Клиенты с кодами журналов». Измените свой-

ства формы таким образом, чтобы вместо внешнего запроса использовался за-

прос на языке SQL, заданный непосредственно внутри формы.

• Откройте форму «Подписчики - подчиненная» в режиме конструктора.

• Просмотрите свойство «Источник записей» данной формы.

В качестве источника указан запрос «Клиенты с кодами журналов».

• Откройте запрос «Клиенты с кодами журналов» в режиме SQL.

• Выделите и скопируйте в буфер обмена текст SQL – запроса.

• Вставьте скопированный текст запроса из буфера обмена в строку свой-

ства «Источник записей».

• Просмотрите результат работы формы. Убедитесь, что ее поведение оста-

лось прежним.

• Закройте форму «Подписчики - подчиненная», сохранив внесенные из-

менения. Закройте окно запроса.

• Откройте форму «Список журналов», которая использует измененную

выше форму в качестве подчиненной. Убедитесь, что форма работает

верно.

Теперь запрос «Клиенты с кодами журналов» больше не нужен. Источ-

ник записей формы образуется встроенным запросом на языке SQL.

Самостоятельная работа:

1. Просмотрите все созданные ранее запросы в режиме SQL. Найдите соот-

ветствие между предложениями на языке SQL и элементами запроса, отобра-

жаемыми в режиме конструктора.

2. Просмотрите в режиме SQL все запросы базы данных «Борей». Сравните


их


представление


в


режиме


SQLи


режиме


конструктора.


Некоторые запросы на языке SQL могут не иметь соответствующего пред-

ставления в режиме конструктора (выявите такие запросы). Средства язы-

ка SQL предоставляют более широкие возможности по сравнению с возмож-

ностями конструктора.

3. Просмотрите свойства форм базы данных «Борей». Выявите и изучите

все случаи использования встроенных запросов SQL.

 



<== предыдущая лекция | следующая лекция ==>
Описание | Задание 2. Создание запросов на языке SQL


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.944 сек.