Материал: Rukovodstvo_k_laboratornym_rabotam_po_kursu_Bazy_Dannykh

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

31

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

учреждение высшего профессионального образования

ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ

УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ

Кафедра промышленной электроники

БАЗЫ ДАННЫХ

Руководство к лабораторным работам по курсу "Базы данных"

Разработчик

зав. лаб.

_________Муравьев, А.И.

2016

СОДЕРЖАНИЕ

  1. Введение.............................................................................3

  2. Лабораторная работа 1......................................................5

  3. Лабораторная работа 2......................................................9

  4. Лабораторная работа 3.....................................................10

  5. Лабораторная работа 4.....................................................11

  6. Лабораторная работа 5.....................................................13

  7. Лабораторная работа 6.....................................................21

  8. Лабораторная работа 7.....................................................25

  9. Лабораторная работа 8.....................................................28

Введение

Лабораторные работы №1-№4 выполняются в системе Visual Foxpro, лабораторные работы №5-№8 выполняются в системе клиент-сервер реляционной базы данных ORACLE 10g. Для подключения к базе данных ORACLE каждому студенту выдаются уникальные идентификатор и пароль. Идентификатор и пароль настоятельно рекомендуется сохранить в тестовом файле, поскольку администратор базы не всегда может оперативно поменять его студенту в случае их утери. Выполняются работы №1-№4 в среде Visual FoxPro, а работы №5-№8 в среде OraSql. Запускается OraSql в меню Программы ® OraSql. Откроется окно, показанное на рис. 1.

рис. 1

Окно разделено на две части, в верхней части вводятся команды SQL Editor, в нижней части (закладки Output или Grid) отображается результат их выполнения. Отдельная команда SQL может располагаться на нескольких строках и не должна содержать пустых строк. Разделяются команды либо пустой строкой, либо символом ";". Выполняется текущая одиночная команда расположенная под курсором (либо группа команд, разделенная символом ";") по нажатию клавиши F5 (или выбором пункта Execute главного меню). Если команда выполнена, ее текст сохраняется в буфере, открыть который можно, выбрав значок в левой вертикальной полосе. Если нет соединения с базой данных, в нижней строке окна имеется красная надпись NOT CONNECTED, для соединения в левом верхнем углу меню выбираем пункт LOGIN, вводим идентификатор пользователя (User UD), пароль, выбираем базу ORA_PRE и нажимаем кнопку CONNECT (рис.2). Если соединение успешно, строка Not Connected ототбражает имя пользователя.

Рис. 2

Лабораторная работа №1 Создание и модификация базы данных.

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

Порядок выполнения

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

2. Определить структуру таблицы: задать имена полей и их типы (для символьного и числового полей определить размерность). Определить домены для полей и первичный ключ для таблицы.

3. Создать базу данных и открыть ее. С помощью конструктора таблиц создать таблицу, задать первичный ключ, задать ограничения целостности данных (в области Field validation задать условия правильности ввода данных). В области Caption задать заголовки таблиц при ее выводе. Заполнить таблицу данными.

4. Составить отчет, в котором должна быть представлены структура таблицы, домены, определение первичного ключа и ответы на контрольные вопросы. Представить созданную таблицу преподавателю.

Варианты работы

Вариант 1

В таблице должны храниться данные заказа клиента:

  • номер заказа;

  • паспорт клиента;

  • ФИО клиента;

  • адрес клиента;

  • цена заказа;

  • дата принятия заказа.

Вариант 2

В таблице должны храниться данные студента:

  • номер зачетной книжки;

  • ФИО студента;

  • номер группы студента;

  • название специальности;

  • дата рождения;

  • адрес.

Вариант 3

В таблице должны храниться данные преподавателя:

  • ФИО преподавателя;

  • название кафедры;

  • должность;

  • предмет, который ведет преподаватель;

  • количество учебной нагрузки в часах;

  • номер аудитории преподавателя.

Вариант 4

В таблице должны храниться данные транзистора:

  • Наименование;

  • тип корпуса;

  • максимальный ток коллектора;

  • максимальное напряжение К-Э;

  • коэффициент усиления по току;

  • назначение.

Вариант 5

В таблице должны храниться данные пассажира:

  • Номер паспорта;

  • ФИО пассажира;

  • станция отправления;

  • станция прибытия;

  • время в пути (в часах);

  • номер билета.

Вариант 6

Порядок выполнения

1. Изучить действие команд навигации по базе данных GO, SCAN, CALCULATE, SET DEVICE и функций ROW(), PROW(), COL(), PCOL().

2. Используя таблицу, созданную в лабораторной работе № 1 создать программный файл, выполняющий последовательно следующие функции (с задержкой времени выполнения между функциями):

а) вывод на экран и в текстовый файл в табличном виде данных таблицы;

б) вывод на экран данных строк начала, конца и середины таблицы;

в) вывод на экран минимального, максимального и среднего значений какого-либо числового поля.

3. Выполнить созданный программный файл и проверить правильность работы программы.

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

Контрольные вопросы

  1. Каким образом запустить программный файл на выполнение?

  2. Какие значение можно выполнить с помощью команды CALCULATE?

  3. Куда можно перенаправить вывод данных при помощи команды SET DEVICE?

  4. Какими командами осуществляется навигация по таблице?

Лабораторная работа 5 Создание связанных таблиц в субд oracle с декларативными ограничениями данных.

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

Порядок выполнения

1. Сохранить идентификатор и пароль в текстовом файле.

2. По заданным вариантам определить структуру таблицы (задать имена и типы столбцов), определить домены в таблице, задать ограничения на столбцы.

3. Выделить первичные ключи в обеих таблицах.

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

5. Написать команды создания связанных таблиц, в дочерней таблицы должна поддерживаться ссылочная целостность NO ACTION.

6. Выполнить команды создания в средах SQL Plus или SQL Worksheet.

7. Вставить в первую таблицу не менее 4 строки, во вторую таблицу не менее 8 строки, причем некоторые строки первой таблицы не должны иметь порожденных строк.

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

8. Составить отчет, в котором должна быть представлена структура таблиц, домены таблиц, первичные ключи, команды модификации данных, нарушающие целостность ссылок, номера ошибкок и ответы на контрольные вопросы.

Варианты работы

Вариант 1

Создать две связанные таблицы: родительская - пассажир, дочерняя – билет.

В таблице пассажир должны содержаться данные:

  • номер паспорта (10-ти разрядное число);

  • ФИО пассажира;

  • адрес;

  • телефон (6-ти или 7-ми разрядное число), пол ("муж" или "жен").

В таблице билет должны содержаться данные:

  • номер билета;

  • рейс (от 10 до 400, исключая 200 и 300);

  • длительность полета (от 30 до 400);

  • тип самолета;

  • время вылета;

  • дата вылета (пассажир не может купить два билета на один и тот же рейс, время и дату вылета).

В таблице должны содержаться данные книги художественного абонемента:

  • Название книги;

  • Автор;

  • Издательство;

  • количество страниц;

  • жанр;

  • аудитория.

Вариант 7

  • В таблице должны содержаться данные пациента:

  • номер полиса;

  • ФИО пациента;

  • заболевание (заболеваний может быть у пациента несколько);

  • возраст;

  • адрес;

  • номер телефона.

Вариант 8

В таблице должны содержаться данные спортсмена:

  • вид спорта;

  • ФИО спортcмена;

  • возраст;

  • количество побед;

  • участие в международных соревнованиях.

Вариант 9

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

  • название дисциплины;

  • количество часов;

  • ФИО преподавателя;

  • кафедра, обеспечивающая дисциплину;

  • наличие лабораторных работ;

  • наличие экзамена по дисциплине.

Вариант 10

В таблице должны содержаться данные товара:

  • название товара;

  • стоимость товара;

  • вес товара;

  • срок хранения;

  • производитель товара.

Вариант 11

В таблице должны содержаться данные подписного издания:

  • название издания;

  • стоимость одного экземпляра;

  • периодичность издания;

  • название издательства;

  • наличие иллюстраций;

  • ФИО гл. редактора.

Вариант 12

В таблице должны содержаться данные метеоявления:

  • название метеоявления;

  • его длительность;

  • дата начала;

  • время начала;

  • наличие разрушений;

Контрольные вопросы

  1. Укажите максимальную разрядность типа NUMERIC и максимальное количество символов в типе CHARACTER.

  2. Для чего используется тип MEMO?

  3. Чему равно максимальное количество строк в таблице?

Лабораторная работа №2 Работа с базами данных. Индексация, фильтрация и поиск данных в базе

Целью выполнения работы является формирование навыков поиска в базе данных, как основной операции работы с базами данных. В этой работе используется таблица, созданная в процессе выполнения лабораторной работы 1.

Порядок выполнения

1. Изучить по руководству к самостоятельной работы создание индексов для полей различных типов, действие команд SET ORDER, LOCATE FOR, SEEK, SET NEAR, SET FILTER TO.

2. Создать не менее трех индексов для таблицы по полям различных типов.

3. Попеременно устанавливая главный индекс по различным полям, определить различие индексирования по символьному и числовому полям.

4. Написать команды последовательного и индексированного поисков по трем различным полям для каждого вида поиска и выполнить их в командном окне. Определить успешность поиска. Определить текущую запись при неудачном поиске.

5. Написать команду фильтрации по числовому полю (с заданием диапазона фильтрации) и выполнить ее в командном окне, определить количество записей, отвечающих условию фильтрации.

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

Контрольные вопросы

  1. Какие типы индексов используются для таблиц VISUAL FOXPRO?

  2. Как создавать индексы, состоящие из нескольких полей?

  3. В чем преимущества использования индексов?

  4. Для какого типа полей нельзя использовать индексы?

Лабораторная работа №3 Создание формы для редактирования таблиц

Целью выполнения работы является создание формы ввода и редактирования данных. В этой работе используется таблица, созданная в процессе выполнения лабораторной работы 1.

Порядок выполнения

1. Изучить по руководству к самостоятельной работы использование конструктора форм, панели Form Control, ее объектов, таких как Grid, Command Button, Check Box, Text Box, команд DEFINE WINDOW, ACTIVATE WINDOW, DEACTIVATE WINDOW, @SAY-GET и метода REFRESH.

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

3. Создать форму ввода, разместить на ней объект Grid, связать его с таблицей, созданной в процессе выполнения работы 1.

4. Обеспечить в форме возможность вставки новых строк (при помощи командной кнопки) с обновлением таблицы при помощи метода REFRESH.

5. Экспериментально проверить правильность работы формы, введя несколько строк в таблицу.

6. В отчете по работе ответить на контрольные вопросы, предоставить созданную форму и продемонстрировать работу с ней.

Контрольные вопросы

  1. Какое назначение имеет объект GRID?

  2. Какой результат метода REFRESH?

  3. Какое свойство формы определяет название формы?

Лабораторная работа 4 Создание программного файла Visual FoxPro.

Целью работы является формирование навыков создания программ обработки данных.