Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Орловский SQL 2005

.pdf
Скачиваний:
89
Добавлен:
01.06.2015
Размер:
1.39 Mб
Скачать

Лабораторная работа 2 Создание объектов базы данных и ввод информации в базу данных на

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

Действия, рассмотренные в лабораторной работе 1, могут быть выполнены не только в интерактивном режиме, но и на основе использования языковых средств DDL и DML языка SQL. Для этого необходимо создать новую базу данных (например, c именем dlvr). Последовательность действий при создании базы данных аналогична действиям в лабораторной работе 1. Для размещения файлов базы данных можно указать тот же каталог.

ВЫПОЛНЕНИЕ РАБОТЫ

I. Использование средств DDL для создание объектов базы данных

В среде SQL Server Management Studio с базой данных можно, используя непосредственно операторы языка SQL. Для этого необходимо создать один или несколько запросов. Каждый запрос может содержать произвольное количество операторов языка SQL. Рассмотрим последовательность действий при создании запроса, с помощью которого будут созданы таблицы базы данных и связи между ними.

1.На панели инструментов нажать кнопку New Query

2.Ввести текст запроса, приведенный на рисунке 2.1.

Рисунок 2.1

Изучение основ работы с СУБД Microsoft SQL Server 2005. Методические указания для проведения лабораторных работ по курсу «Организация баз данных и знаний», Орловский Д.Л., НТУ «ХПИ», кафедра АСУ, 2009

3.Выполнить запрос. Для этого на панели инструментов нужно нажать кнопку Execute. В том случае, если текст запроса не содержит ошибок, на экране появится окно Messages с сообщением Command(s) completed successfully. В

противном случае будет выведена информация об имеющихся в тексте запроса ошибках.

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

5.Созданный запрос можно закрыть и сохранить с произвольным именем

(например, SQLQuery_create_tables.sql)

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

Рисунок 2.2

Последовательность действий при создании и выполнении запроса аналогична последовательности действий, рассмотренных выше. Созданный запрос можно закрыть и сохранить с произвольным именем (например, SQLQuery_alter_tables.sql)

II.Использование средств DМL для ввода информации в таблицы базы данных

Запросы могут содержать не только операторы DDL, но и операторы DМL. Это позволяет реализовать основные операции манипулирования данными. Рассмотрим последовательность действий при создании запроса, с помощью которого в таблицы созданной базы данных будет введена информация.

1.На панели инструментов нажать кнопку New Query

2.Ввести текст запроса, приведенный на рисунках 2.3 – 2.5.

Изучение основ работы с СУБД Microsoft SQL Server 2005. Методические указания для проведения лабораторных работ по курсу «Организация баз данных и знаний», Орловский Д.Л., НТУ «ХПИ», кафедра АСУ, 2009

Рисунок 2.3

Рисунок 2.3

Изучение основ работы с СУБД Microsoft SQL Server 2005. Методические указания для проведения лабораторных работ по курсу «Организация баз данных и знаний», Орловский Д.Л., НТУ «ХПИ», кафедра АСУ, 2009

Рисунок 2.3

3.Выполнить запрос. Для этого на панели инструментов нужно нажать кнопку Execute. В том случае, если текст запроса не содержит ошибок, на экране появится окно Messages с сообщениями типа (1 row(s) affected). В противном

случае будет выведена информация об имеющихся в тексте запроса ошибках.

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

5.Созданный запрос можно закрыть и сохранить с произвольным именем

(например, SQLQuery_insert.sql)

III. Сопоставление созданных баз данных

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

Изучение основ работы с СУБД Microsoft SQL Server 2005. Методические указания для проведения лабораторных работ по курсу «Организация баз данных и знаний», Орловский Д.Л., НТУ «ХПИ», кафедра АСУ, 2009

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

IV. Сохранение результатов работы

Отключить базу данных.

Сохранить файлы базы данных – dlvr.mdf, dlvr_log.ldf

Сохранить файлы, содержащие тексты запросов – SQLQuery_create_tables.sql, SQLQuery_alter_tables.sql, SQLQuery_insert.sql

Требования к отчету:

1)кратко описать основные этапы выполнения задания;

2)привести текст запросов, реализованных при выполнении лабораторной работы, описать назначение операторов, особенности их структуры и использования;

3)изобразить структуру созданной базы данных и отношения между таблицами;

4)описать расхождения между базами данных, созданными результате выполнения лабораторных работ 1 и 2 и проанализировать причины появления

этих расхождений

Изучение основ работы с СУБД Microsoft SQL Server 2005. Методические указания для проведения лабораторных работ по курсу «Организация баз данных и знаний», Орловский Д.Л., НТУ «ХПИ», кафедра АСУ, 2009

Лабораторная работа 3

Использование оператора SELECT – SQL для обработки данных

Для выполнения работы необходимо подключить базу данных, которая

была создана и заполнена данными в процессе выполнения лабораторной работы 1. Основной целью данной работы является изучение особенностей использования оператора SELECT-SQL при разработке запросов в среде SQL Server Management Studio, а также рассмотрение некоторых особенностей реализации оператора SELECT-SQL в языке Transact-SQL (T-SQL).

Рассмотрим последовательность действий по созданию и выполнению запроса, позволяющего обрабатывать данные с помощью оператора SELECTSQL с помощью утилиты ISQL на примере запроса 1.

Запрос 1

Условие

Вывести на экран список товаров, поставленных поставщиком 1 (ЧП Иванов И.И.) по договору 1.

Создание и выполнение запроса.

1.На панели инструментов нажать кнопку New Query

2.Ввести текст запроса, приведенный на рисунке 3.1

Рисунок 3.1

3. Нажать кнопку «Execute». В том случае, если в тексте запроса нет ошибок, будет выведен результат запроса. Этот результат может иметь вид (рисунок 3.2).

Рисунок 3.2

Изучение основ работы с СУБД Microsoft SQL Server 2005. Методические указания для проведения лабораторных работ по курсу «Организация баз данных и знаний», Орловский Д.Л., НТУ «ХПИ», кафедра АСУ, 2009

4. Текст запроса можно сохранить в виде файла (например, SQLQuery01_1.sql). В том случае, если в дальнейшем этот запрос нужно будет выполнить повторно или изменить, можно открыть файл запроса. Для этого в главном меню нужно выбрать пункт File, а затем в вертикальном меню выбрать пункт Open, подпункт File и выбрать соответствующий файл.

Как видно из текста запроса, этот запрос является многотабличным,

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

SQLQuery01_2.sql

Рисунок 3.3

Создание и выполнение остальных запросов выполняется аналогично. Поэтому далее будет приведено назначение каждого запроса и текст.

Внимание! Все рассматриваемые запросы должны быть результативными (т.е. в результате выполнения запроса должны быть выведены одна или несколько записей). Отсутствие результата запроса является признаком ошибок при построении запроса, несоответствия запроса имеющимся данным и т.д. Такой запрос нуждается в анализе и проверке.

Запрос 2

Вывести на экран список товаров, поставленных поставщиком 1 (ЧП Иванов И.И.) в период с 05/09/1999 по 12/09/1999.

Текст запроса приведен на рисунке 3.4

Рисунок 3.4

Запрос можно сохранить в файле с именем SQLQuery02.sql

Изучение основ работы с СУБД Microsoft SQL Server 2005. Методические указания для проведения лабораторных работ по курсу «Организация баз данных и знаний», Орловский Д.Л., НТУ «ХПИ», кафедра АСУ, 2009

Запрос 3

Вывести на экран список товаров, поставленных в 9 месяце 1999 года с выводом наименования поставщика и даты поставки.

Текст запроса приведен на рисунке 3.5

Рисунок 3.5

Запрос можно сохранить в файле с именем SQLQuery03.sql

Запрос 4

Вывести на экран список договоров (номер, дата, название) и общую сумму по каждому договору (размер партии умножить на цену за штуку и просуммировать по договору). Список должен быть отсортирован в порядке возрастания номеров договоров.

Текст запроса приведен на рисунке 3.6

Рисунок 3.6

Запрос можно сохранить в файле с именем SQLQuery04.sql

Запрос 5

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

Текст запроса приведен на рисунке 3.7

Изучение основ работы с СУБД Microsoft SQL Server 2005. Методические указания для проведения лабораторных работ по курсу «Организация баз данных и знаний», Орловский Д.Л., НТУ «ХПИ», кафедра АСУ, 2009

Рисунок 3.7

Запрос можно сохранить в файле с именем SQLQuery05.sql

Запрос 6

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

Текст запроса приведен на рисунке 3.8

Рисунок 3.8

Запрос можно сохранить в файле с именем SQLQuery06.sql

Запрос 7

Вывести на экран список поставщиков (наименование и код), с которыми не было заключено ни одного договора.

Текст запроса приведен на рисунке 3.9

Рисунок 3.9

Запрос можно сохранить в файле с именем SQLQuery07.sql

Запрос 8

Вывести на экран список наименований поставленных товаров с указанием средней цены поставки за единицу (вне зависимости от поставщика).

Изучение основ работы с СУБД Microsoft SQL Server 2005. Методические указания для проведения лабораторных работ по курсу «Организация баз данных и знаний», Орловский Д.Л., НТУ «ХПИ», кафедра АСУ, 2009

Текст запроса приведен на рисунке 3.10

Рисунок 3.10

Запрос можно сохранить в файле с именем SQLQuery08.sql

Запрос 9

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

Текст запроса приведен на рисунке 3.11

Рисунок 3.11

Запрос можно сохранить в файле с именем SQLQuery09.sql

Запрос 10

Вывести на экран сведения о пяти самых дорогих товарах (наименование, цена за единицу, поставщик).

Текст запроса приведен на рисунке 3.12

Рисунок 3.12

Запрос можно сохранить в файле с именем SQLQuery10.sql

Запрос 11

Сформировать список поставщиков с указанием кода, адреса и данных поставщика. При формировании данных поставщика для поставщиков физических лиц вывести фамилию и инициалы, для поставщиков юридических лиц название.

Изучение основ работы с СУБД Microsoft SQL Server 2005. Методические указания для проведения лабораторных работ по курсу «Организация баз данных и знаний», Орловский Д.Л., НТУ «ХПИ», кафедра АСУ, 2009