Создание многотабличной базы данных в среде разработке Visual FoxPro 9.0

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

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

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

Федеральное агентство по образованию

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


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

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

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

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

Группа:                АМ - 610

Студенты:            Голодюк Е. И

Баласов Д. И.

                               Щербинин Н. А.

Преподаватель:  Трошина Г. В.

Вариант:              6

Новосибирск,

2009


Оглавление

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

2.     Задание: 3

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

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

5.     Выводы. 9


1.  Цель работы:     Изучение средств быстрого поиска информации в базе данных и получение ответов на разнообразные запросы в среде FoxPro. Изучение конструктора запросов FoxPro.

2.  Задание: Выполнить выбор записей по диапазону значений для заданной БД. Провести вычисление итоговых значений. Провести упорядочение данных в запросе по нескольким полям. Продемонстрировать результаты работы запросов. Ответить на контрольные вопросы.

3.  Индивидуальное задание:Выполнить запросы: вывод минимального, максимального и среднего значения поля «Стипендия»; вывод фамилий студентов, получающих стипендию от 100 до 3000 и сдавших экзамен на 4 и 5; вывод фамилий всех студентов, кроме обучающихся на 2 и 5 курсах факультетов РТФ и ФТФ; выборка фамилий всех студентов, проживающих во 2 и 6 общежитии, кроме обучающихся на 1 и 3 курсе факультетов ФЭН и ФПМИ.

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

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

Рис. 1. Структура созданной базы данных.

Рис. 2.1. Содержимое таблицы «table1».

Рис. 2.2. Содержимое таблицы «table2».

Рис. 2.3. Содержимое таблицы «table3».


2. Создание формы (рис.3).

Рис. 3. Созданная форма.

Кнопки «Фамилия / Факультет / Стипендия», «Фамилия / Курс / Общежитие», «Фамилия / Оценка» предназначены для вывода на экран соответствующих таблиц. (Рис. 2.1., 2.2., 2.3)

            При нажатии на кнопку «Общая таблица» на экран выводятся данные, содержащиеся во всех таблицах (Рис.4).

Рис. 4. «Общая таблица»

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

SELECT table1.*, table2.курс, table2.Общежитие, table3.Оценка;

 FROM  lr3database!table1 INNER JOIN lr3database!table2;

    INNER JOIN lr3database!table3 ;

   ON  table2.фамилия = table3.фамилия;

   ON  table1.фамилия = table2.фамилия;

 ORDER BY table1.фамилия

Как видно, данные из трех таблиц объединяются по полю «Фамилия».


3. Реализация запросов.

3.1. Вывод минимального, максимального и среднего значения поля «Стипендия».

Вызываемая процедура:

SELECT MAX(table1.Стипендия) AS max_stip,;

  MIN(table1.Стипендия) AS min_stip,;

  AVG(table1.Стипендия) AS avg_stip;

FROM  lr3database!table1 INNER JOIN lr3database!table2;

    INNER JOIN lr3database!table3 ;

   ON  table2.фамилия = table3.фамилия;

   ON  table1.фамилия = table2.фамилия;

Таблица, полученная в результате выполнения данной процедуры:

Рис. 5. Результат выполнения первого запроса.

3.2. Вывод фамилий студентов, получающих стипендию от 100 до 3000 и сдавших экзамен на 4 и 5.

Вызываемая процедура:

SELECT table1.*, table2.курс, table2.Общежитие, table3.Оценка;

FROM  lr3database!table1 INNER JOIN lr3database!table2;

INNER JOIN lr3database!table3 ;

 ON  table2.фамилия = table3.фамилия;

 ON  table1.фамилия = table2.фамилия;

 WHERE ((table1.Стипендия >=100) AND (table1.Стипендия <= 3000));

   AND ((table3.Оценка = 4) OR (table3.Оценка = 5));

ORDER BY table1.фамилия

Таблица, полученная в результате выполнения данной процедуры:

Рис. 6. Результат выполнения второго запроса.

3.3. Вывод фамилий всех студентов, кроме обучающихся на 2 и 5 курсах факультетов РТФ и ФТФ.

Вызываемая процедура:

SELECT table1.*, table2.курс, table2.Общежитие, table3.Оценка;

FROM  lr3database!table1 INNER JOIN lr3database!table2;

INNER JOIN lr3database!table3 ;

 ON  table2.фамилия = table3.фамилия;

 ON  table1.фамилия = table2.фамилия;

 WHERE NOT(((table2.Курс = 2) OR (table2.Курс = 5));

   AND ((table1.факультет = "РТФ") OR (table1.факультет = "ФТФ"));

  );

ORDER BY table1.фамилия

Таблица, полученная в результате выполнения данной процедуры:

Рис. 7. Результат выполнения третьего запроса.

3.4. Выборка фамилий всех студентов, проживающих во 2 и 6 общежитии, кроме обучающихся на 1 и 3 курсе факультетов ФЭН и ФПМИ.

Вызываемая процедура:

SELECT table1.*, table2.курс, table2.Общежитие, table3.Оценка;

FROM  lr3database!table1 INNER JOIN lr3database!table2;

INNER JOIN lr3database!table3 ;

 ON  table2.фамилия = table3.фамилия;

 ON  table1.фамилия = table2.фамилия;

 WHERE (NOT((table2.Курс = 1 OR table2.Курс = 3) AND (table1.факультет = "ФЭН" OR table1.факультет = "ФПМИ"));

   AND (table2.Общежитие=2 OR table2.Общежитие=6));

ORDER BY table1.фамилия

Таблица, полученная в результате выполнения данной процедуры:

Рис. 7. Результат выполнения четвертого запроса.


4. Изучение конструктора запросов FoxPro.

Разработка второго запроса с помощью конструктора.

4.1.  Добавляются необходимые для запроса таблицы и поля.

4.2.  Добавляются условия выбора данных.

4.3.  Результатом выполнения созданного запроса является следующая таблица:

Как видно, этот результат совпадает с результатом выполнения разработанной нами процедуры.

SQL-код, созданный конструктором запросов:

SELECT Table1.фамилия, Table1.факультет, Table1.стипендия, Table2.курс,;

  Table2.общежитие, Table3.оценка;

 FROM ;

     l3database!table1 ;

    INNER JOIN l3database!table2 ;

   ON  Table1.фамилия = Table2.фамилия ;

    INNER JOIN l3database!table3 ;

   ON  Table2.фамилия = Table3.фамилия;

 WHERE (  Table1.стипендия >= ( 100 );

   AND  Table1.стипендия <= ( 3000 ) );

   AND  (  Table3.оценка = ( 4 );

   OR  Table3.оценка = ( 5 ) );

ORDER BY Table1.фамилия

5.  Выводы.

В процессе выполнения лабораторной работы нами была создана многотабличная база данных в среде разработке Visual FoxPro 9.0, на основе которой были созданы необходимые по заданию запросы.

Также была освоена работа с конструктором запросов.

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

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

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