Создание вложенных запросов. Изучение средств быстрого поиска информации в базе данных

Страницы работы

Содержание работы

Министерство образования и науки РФ

Новосибирский государственный технический университет

Кафедра вычислительной техники


Лабораторная работа №6

по дисциплине «Базы данных»

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

Факультет: АВТ

Группа: АМ-215

Выполнил: Веретенников В. А.

Проверил: Трошина Г. В.

Вариант: 1

Новосибирск, 2005г.


Оглавление:

1. Постановка задачи. 3

1.1. Цель работы.. 3

1.2. Порядок выполнения работы.. 3

1.3. Задание. 3

1.4. Индивидуальное задание. 3

2. Выполнение работы.. 4

2.1. Исходные таблицы.. 4

2.2. Запросы.. 4

2.2.1. Запрос 1. 4

2.2.2. Запрос 2. 5

2.2.3. Запрос 3. 5

2.2.4. Дополнительный запрос. 6

Выводы.. 6


1. Постановка задачи

1.1. Цель работы

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

1.2. Порядок выполнения работы

  1. Ознакомиться с теоретическими сведениями по способам формирования запросов к базе данных, определения полей результирующей таблицы, построения условий для выбора записей, группировки полей запроса, создания многотабличных запросов.
  2. По предложенному преподавателем варианту выполнить запросы в среде Visual FoxPro.
  3. Продемонстрировать навыки построения SQL-запросов.
  4. Оформить отчет по лабораторной работе. Отчет должен содержать: титульный лист, цель работы, задание, тексты запросов, результаты работы, анализ результатов и выводы по работе.
  5. Защитить лабораторную работу у преподавателя, ответив на контрольные вопросы.

1.3. Задание

Создать и заполнить несколько баз данных в разных областях, взяв за основу поля базы данных из лабораторной работы №1, установить связи между ними. Выполнить выбор записей по диапазону значений для заданной базы данных. Провести вычисление итоговых значений. Осуществить выборку из нескольких таблиц. Использовать результаты запроса для создания диаграмм. Провести упорядочение данных в запросе по нескольким полям. Организовать вывод результатов запроса в таблицу, на экран, в отчёт. Продемонстрировать приобретённые навыки построения многотабличных запросов. Одна таблица (минимально) должна содержать поля: факультет, идентификатор факультета в обязательном порядке, другая (минимально) – курс, идентификатор факультета в обязательном порядке. Выполнить запросы к базе данных, содержащие подзапросы.

1.4. Индивидуальное задание

Выполнить следующие запросы:

1.  вывести студентов любых факультетов, проживающих не в Новосибирске, имеющих стипендию меньше средней по факультету АВТ;

2.  вывести студентов с минимальной стипендией среди москвичей 1986 года рождения;

3.  вывести студентов с максимальной стипендией среди обучающихся на факультете АВТ в аудиториях с 300 по 320.

Дополнительно:

вывести студентов, поступивших в вуз с 1998 по 2002 гг., имеющих учебник физики или алгебры издательств «Наука» или «Сибирь», обучающихся во 2 или 7 корпусе, кроме студентов 1 и 5 курсов факультетов ФЭН и РЭФ, и получающих стипендию больше, чем средняя стипендия студентов, родившихся зимой, 2 и 4 курсов факультетов ФЛА и ФПМИ.


2. Выполнение работы

2.1. Исходные таблицы

В работе используются две таблицы: таблица студентов и таблица факультетов.

Рис. 2.1.1. Таблица студентов

Рис. 2.1.2. Таблица факультетов

2.2. Запросы

2.2.1. Запрос 1

Вывести студентов любых факультетов, проживающих не в Новосибирске, имеющих стипендию меньше средней по факультету АВТ.

Текст запроса:

SELECT AVG(Stud.stipendia) AS avg_stip FROM studentbase!stud INNER JOIN studentbase!facultets ;

   ON  Stud.faculty = Facultets.facultyid;

   WHERE Facultets.faculty = "АВТ";

   INTO cursor cur1

SELECT Stud.sirname, Facultets.faculty, Stud.city, Stud.stipendia, cur1.avg_stip AS avg_stip_AVT;

 FROM  studentbase!stud INNER JOIN studentbase!facultets ;

   ON  Stud.faculty = Facultets.facultyid;

 WHERE Stud.city <> "Новосибирск";

 AND Stud.stipendia < ;

 (SELECT AVG(Stud.stipendia) FROM studentbase!stud INNER JOIN studentbase!facultets ;

   ON  Stud.faculty = Facultets.facultyid;

   WHERE Facultets.faculty = "АВТ")

Похожие материалы

Информация о работе

Предмет:
Базы данных
Тип:
Отчеты по лабораторным работам
Размер файла:
119 Kb
Скачали:
0