Метод_указания (Задания по бд), страница 2

2015-08-16СтудИзба

Описание файла

Файл "Метод_указания" внутри архива находится в папке "documentation к лаб.раб. и курсу БД". Документ из архива "Задания по бд", который расположен в категории "". Всё это находится в предмете "вычислительные машины, системы и сети (вмсис)" из 7 семестр, которые можно найти в файловом архиве НИУ «МЭИ» . Не смотря на прямую связь этого архива с НИУ «МЭИ» , его также можно найти и в других разделах. Архив можно найти в разделе "остальное", в предмете "вмсс" в общих файлах.

Онлайн просмотр документа "Метод_указания"

Текст 2 страницы из документа "Метод_указания"

1) Выполнение запроса по одной таблице БД, например: выдать названия всех городов России (исключая дубликаты).

В верхней области окна необходимо ввести:

select distinct nazvanie_goroda from vuz_gorod where cod_stran='01' [F5]

где '01' - это код России.

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

Замечание: Если в команде будет допущена ошибка, то вместо отчета будет выдано окно с сообщением об ошибке (см. рис.5).

2) Выполнение запроса по одной таблице БД с использованием функции BETWEEN, например:

выдать фамилии всех студентов и студентов-заочников России.

В верхней области окна необходимо ввести:

Рис. 5

select fio from poss where kat_obuch_k between '03' and '04' [F5]

где '03' и '04' - это коды, соответствующие категориям обучения "студент" и "студент-заочник".

Отчет представлен в нижней части окна (см. рис. 6).

3) Выполнение запроса по одной таблице БД с использованием функции IN, например:

выдать данные по учащимся России, закончившим учебу в 95, 97, 98 годах.

В верхней области окна необходимо ввести:

select * from poss where gok in ('95', '97', '98') [F5].

Отчет будет представлен в нижней части окна (см. рис. 7).

4) Выполнение запроса по одной таблице БД с использованием функции LIKE, например:

выдать сведения по учащимся России с фамилией КУТЕПОВ (А).

В верхней области окна необходимо ввести:

select * from poss where fio like '%КУТЕПОВ%' [F5]

Отчет будет представлен в нижней части окна (см. рис. 8).

5) Выполнение запроса по одной таблице БД с использованием функции NULL, например:

выдать данные по учащимся России, у которых отсутствует учетный номер.

Рис. 6

Рис. 7

Рис. 8

В верхней области окна необходимо ввести:

select * from poss where nomer is null [F5]

Отчет будет представлен в нижней части окна (см. рис. 9).

Замечание: Функции BETWEEN, IN, LIKE, NULL могут использоваться с операцией NOT.

Рис. 9

6) Выполнение запроса по одной таблице БД с использованием сложного условия, например:

выдать данные по учащимся России, принятым на учебу в 87 и 93 годах, за исключением специальности 0101 (математика).

В верхней области окна необходимо ввести:

select * from poss where (gp='87' or gp='93') and not spec='000101' [F5]

Отчет будет представлен в нижней части окна (см. рис. 10).

Рис. 10

7) Выполнение запроса по одной таблице БД с сортировкой записей, например:

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

В верхней области окна необходимо ввести:

select cod_vuza, nazvanie_vuza from vuz_gorod where cod_stran='03' order by cod_vuza [F5]

Отчет будет представлен в нижней части окна (см. рис. 11).

Замечание: Во фразе order by вместо имени поля (cod_vuza) можно использовать порядковый номер позиции этого поля в списке выборки (для cod_vuza этот номер равен 1), т.е. можно указать order by 1. Другими словами, запрос будет выглядеть так:
select cod_vuza, nazvanie_vuza

from vuz_gorod

where cod_stran='03' order by 1

Рис. 11

8) Выполнение запроса и выдача количества записей по одной таблице БД с использованием функции COUNT(*), например:

выдать количество учебных заведений России.

В верхней области окна необходимо ввести:

select count(*) from vuz_gorod where cod_stran='01' [F5]

Отчет будет представлен в нижней части окна (см. рис. 12).

Замечание: Для использования агрегатных функций AVG и SUM необходимо в структуре таблицы иметь поля числового типа, например: количество учащихся. Агрегатные функции count, min, max могут быть применены к полям любого типа.

9) Выполнение запроса по одной таблице БД с группировкой записей, например:

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

В верхней области окна необходимо ввести:

Рис. 12

select nazvanie_goroda, nazvanie_vuza from vuz_gorod where cod_stran='01' group by nazvanie_goroda, nazvanie_vuza [F5]

Отчет будет представлен в нижней части окна (см. рис. 13). Помимо отображения результатов выполнения запроса в табличном виде SQL Query Analyser позволяет просматривать графическое отображение процесса выполнения запроса (см. рис. 14). Чтобы его увидеть, необходимо выбрать пункт меню “Query”, а затем “Show Execution Plan” или нажать Ctrl+K.

Рис. 13

Рис. 14

10) Выполнение запроса по одной таблице БД с использованием фразы HAVING, например:

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

В верхней области окна необходимо ввести:

select nomer from poss group by nomer having count(*)>1 [F5]

Отчет будет представлен в нижней части окна (см. рис. 15).

Упражнения на использование операторов update, insert и delete.

11) Установка в качестве значения поля fio ваших фамилии, имени и отчества вместо ФИО учащегося с минимальным учетным номером.

Это делается за 3 шага:

 Определение минимального учетного номера учащегося.

В верхней области окна необходимо ввести:

select min (nomer) from poss [F5]

Результатом этого запроса в нижней части окна будет число, равное минимальному номеру. Это число необходимо использовать на втором шаге.

 Изменение значения поля fio в записи с найденным номером.

В верхней области окна необходимо ввести:

update poss set fio='<фамилия> <имя> <отчество>' where nomer=<минимальный номер> [F5]

Рис. 15

 Для того, чтобы убедиться в том, что в поле fio появилось новое
значение, нужно выполнить следующий запрос:
select fio from poss where nomer=<мин. номер> [F5]

12) Удаление записи из таблицы БД по заданным фамилии, имени и отчеству, например:

удалить из БД данные о Журавлеве Аверьяне Алексеевиче. Это делается за три шага:

 Прежде чем удалить запись с этими данными необходимо сделать
запрос, указав в качестве условия выборки ФИО Журавлев Аверьян
Алексеевич. В верхней области окна надо ввести:

select * from poss where fio = 'ЖУРАВЛЕВ АВЕРЬЯН АЛЕКСЕЕВИЧ'
[F5]

В нижней области окна в результате появится запись, включающая значения по всем полям структуры таблицы poss:

534305 ЖУРАВЛЕВ АВЕРЬЯН АЛЕКСЕЕВИЧ 000073 М 0 001001 05 0129000 08 90 03 95

 Для удаления этой записи в верхней области окна необходимо ввести:

delete from poss where fio = 'ЖУРАВЛЕВ АВЕРЬЯН АЛЕКСЕЕВИЧ'

[F5]

 Чтобы убедиться, что запись удалена, нужно повторить запрос первого
шага.

13) Добавление новой записи в таблицу БД, например:

добавить только что удаленную запись. Это делается за два шага:

 В верхней области окна надо ввести:

insert poss values (534305, 'ЖУРАВЛЕВ АВЕРЬЯН АЛЕКСЕЕВИЧ',
'000073', 'M', '0', '001001', '05', 0129000, '08', '90', '03', '95') [F5]

 Для того, чтобы убедиться в том, что новая запись добавлена, нужно
повторить запрос из предыдущего упражнения, т.е. ввести:

select * from poss where fio = 'ЖУРАВЛЕВ АВЕРЬЯН АЛЕКСЕЕВИЧ'
[F5]

Варианты заданий на выполнение лабораторной работы № 2 приведены в приложении I.

ЛАБОРАТОРНАЯ РАБОТА № 3

Цель:

  1. Приобрести практические навыки использования операции соединения нескольких таблиц БД при выполнении сложных списковых запросов.

Справочный материал:

  1. Конспект курса.

Упражнения:

Перед выполнением лабораторной работы необходимо войти в сеть, затем в систему MS SQL Server и SQL Query Analyser, а также установить связь пользователя с базой данных (аналогично описанному сценарию в лабораторной работе № 1).

1) Выполнение запроса по двум таблицам БД с использованием операции соединения, например:

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

Для выполнения этого запроса необходимо использовать три условия, указанных в описании операции Join (соединения таблиц) в конспекте курса. Так как в задании по запросу требуется выдать названия учебных заведений, а в таблице poss такого поля нет (есть только код учебного заведения), то, кроме таблицы poss, необходимо использовать таблицу vuz, где это поле есть.

Поэтому в списке выборки имя второго поля должно быть составным, т.е. с именем таблицы vuz (составное имя поля - это <имя табл.>.<имя поля>), в предложении from должны быть записаны два имени таблиц (poss и vuz), а в предложении where должно быть указано условие соединения этих двух таблиц по полю код учебного заведения.

Таким образом, в верхней области окна необходимо ввести:

select fio, vuz.uch_zavedenie

from poss, vuz

where gok='96'

and vuz_k=vuz.cod

order by 2 [F5]

или

select fio, vuz.uch_zavedenie

from poss join vuz on vuz_k=vuz.cod

where gok='96'

order by 2 [F5]

Отчет будет представлен в нижней области окна (см. рис. 16).

Рис. 16

2) Выполнение запроса по трем таблицам БД с использованием операции соединения, например:

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

В этом запросе требуется выдать значения двух полей, не принадлежащих структуре таблицы poss, а именно: названия учебных заведений и названия категорий обучения. Поэтому в списке выборки для этих полей должны быть указаны составные имена (т.е. с именем таблицы), в предложении from должны быть записаны три имени таблиц, а в предложении where - два условия соединения таблиц (таблицы poss с таблицей vuz по полю код учебного заведения; таблицы poss с таблицей kat_obuch по полю код категории обучения).

Таким образом, в верхней области окна необходимо ввести:

select fio, data_rogden, vuz.uch_zavedenie,

pol, spec, kat_obuch. kat_obucheniya, mo, gok

from poss, vuz, kat_obuch

where gp='91'

and vuz_k=vuz.cod

and kat_obuch_k=kat_obuch.cod

order by 3,5 [F5]

или

select fio, data_rogden, vuz.uch_zavedenie,

pol, spec, kat_obuch. kat_obucheniya, mo, gok

from poss join vuz on vuz_k=vuz.cod

join kat_obuch on kat_obuch_k=kat_obuch.cod

where gp='91'

order by 3,5

Отчет будет представлен в нижней области окна (см. рис. 17).

3) Выполнение запроса по четырем таблицам БД со сложным условием, например:

выдать фамилии, даты рождения, названия учебных заведений, пол, семейные положения, специальности, категории обучения, месяцы приема, годы приема, месяцы окончания и годы окончания по выпускникам России 1993 и 1995 г.г. по специальностям от 0701 до 0705; данные отсортировать по годам окончания, специальностям и учебным заведениям.

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

Рис. 17

имена (т.е. с именем таблицы), в предложении from должны быть записаны четыре имени таблиц, а в предложении where - три условия соединения таблиц (таблицы poss с таблицей vuz по полю код учебного заведения; таблицы poss с таблицей family по полю код семейного положения; таблицы poss с таблицей kat_obuch по полю код категории обучения).

Таким образом, в верхней области окна необходимо ввести:

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