50517

Реализация диалогового интерфейса в СУБД FoxPro. Язык запросов SQL

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

Информатика, кибернетика и программирование

Форму можно создать с помощью мастера формы Form Wizrd Мастер формы. Создать структуру файла БД в соответствии с вариантом См. Создать форму с помощью мастера. Создать форму с помощью конструктора см.

Русский

2014-01-25

212 KB

14 чел.

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

Реализация диалогового интерфейса в СУБД FoxPro. Язык запросов SQL.

 

Цель работы:

  1.  Изучить средства диалогового интерфейса на основе экранной формы СУБД FoxPro.
  2.  Изучить основные команды языка запросов SQL в программной среде СУБД FoxPro.

При создании интерфейса используют такие объекты, как окна, страницы документов, различные элементы управления, графические объекты, OLE-объекты, экранные формы для наглядного представления и редактирования табличных данных.

При визуальном проектировании функции окон, выполняют экранные формы. Форма - это  визуальный объект контейнерного типа, который может содержать в себе другие объекты. В Visual FoxPro экранные формы сохраняются в файлах с расширением .SCX, .SCT.

Форму можно создать с помощью мастера формы Form Wizard (Мастер формы). Он позволяет создавать формы как для одиночных, так и связанных таблиц, а также настраивать поля, стиль их отображения, тип кнопок управления, размещаемых в форме.

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

Задание1. Создать структуру файла БД в соответствии с вариантом (См. ниже Приложение1) задания и заполнить ее данными (10 записей).

Задание2. Создать форму с помощью мастера.

Для запуска мастера выполните одно из следующих действий.

Выберите в меню Tools (Сервис) команду Wizards (Мастера), а затем в открывшемся меню команды значение Form (Форма).  После запуска мастера форм на экране открывается диалоговое окно Wizard Selection (Выбор мастера)  Значение Form Wizard (Мастер формы) используется для создания однотабличной формы, a One-to-ManyForm Wizard (Мастер форм один-ко-многим) — для нескольких связанных. В диалоговом окне мастера  Databases and tables выберите  таблицу, созданную в предыдущем задании. Далее отберите поля, которые вы хотите разместить в форме. Следуйте далее инструкциям мастера.

Для запуска формы - выберите в меню Form (Форма) команду Run Form (Запустить форму).

Задание3. Создать форму с помощью конструктора (см. ниже).

Задание4. Реализовать диалоговый интерфейс на основе созданной формы с применением языковых средств СУБД

Задание5. Создать основные виды запросов к файлу БД. Использовать инструкции: SELECT, INSERT, UPDATE, DELETE. В SQL командах использовать предложения FROM, WHERE, GROUP BY, DISTINCT, HAVING, ORDER BY (Составить примеры на разные инструкции и предложения ).

Задание6. Создать запросы на выборку из нескольких таблиц (INNER JOIN, RIGHT JOIN, LEFT JOIN, UNION SELECT) и сложные запросы (ANY, SOME, EXISTS) минимум по одному примеру на каждый тип инструкции. Для выполнения задания к существующему файлу БД добавить один или несколько файлов БД.

Примечание: Когда используете пункт Union:

  •  Обе команды Select должны иметь одно и то же число полей с одинаковым типом и шириной; (Вместо поля можно использовать функцию SPACE(N)). SPACE(N)-возвращает N пробелов.
  •  Пункт Order BY добавляется только в заключительный Select и применяется к результату

Пример:

select famil, predmet from t_prepod ;

UNION ;

select fam, predmet from t_nal ;

order by 2

Варианты 

Вариант 1

Создать файл БД, содержащий сведения о телефонных абонентах: фамилия и.о. абонента – С (20), номер телефона – С (6), год установления телефона – 9 (3), стоимость переговоров – 9 (3), 9 (2).

Вариант 2

Создать файл БД, содержащий сведения об ассортименте игрушек в магазине: наименование игрушки – С (20), цена – 9 (3). 9 (2), количество – 9 (4), возраст детей 9 (2).

Вариант 3

Создать файл БД, содержащий сведения о личной коллекции книголюба: автор – С (15), название – С (40), год издания – 9 (4), местоположение (номер стеллажа) – 9 (2).

Вариант 4

Создать файл БД, содержащий сведения об ассортименте обуви в магазинах фирмы: наименование – С (15), артикул – С (6) (первый символ артикула: Д – дамская обувь, М – мужская, П - детская), количество – 9 (3), стоимость пары обуви – 9 (4), 9 (2).

Вариант 5

Создать файл БД, содержащий сведения об отправлении поездов дальнего следования с Казанского вокзала: номер поезда – С (3), станция назначения – С (13), время отправления – D (8) , время пути – 9 (3), наличие билетов (есть, нет) – L (1), стоимость проезда до станции назначения – 9 (4). 9 (2).

Вариант 6

Создать файл БД, содержащий сведения о сотрудниках учреждения: фамилия – С (20), должность – С (15), название отдела – С (12), год рождения – 9 (4), стаж работы – 9 (2), оклад – 9 (4). 9 (2).

Вариант 7

Создать файл БД, содержащий сведения о пациентах поликлиники: фамилия и.о. – С (20), пол (м, ж) – С (1), возраст – 9 (3), место проживания (район) – С (15), диагноз – С (12).

Вариант 8

Создать файл БД, содержащий сведения о количестве изделий, собранных рабочими за неделю: фамилия и.о. сборщика – С (20), наименование цеха – С (11), наименование изделия (Ш1, Ш2, Ш3), количество – 9 (3).

Вариант 9

Создать файл БД, содержащий сведения о работниках отдела: фамилия и.о. – С (20), разряд тарифной сетки – 9 (2), коэффициент тарифной ставки – 9 (2). 9 (2), должность – С (15).

Вариант 10

Создать файл БД, содержащий сведения о пассажирах нескольких авиарейсов: фамилия и.о. – С (15), номер авиарейса – С (4), количество мест багажа – 9 (2), вес багажа – 9 (3), стоимость доплаты – 9 (3). 9 (2).

Вариант 11

 Создать файл БД, содержащий сведения о ремонтируемых автомобилях: марка автомобиля – С (10), номер автомобиля – С (8), фамилия владельца – С (15), размер пробега (тыс. км.) – 9 (3). 9 (3), стоимость ремонта – 9 (5). 9 (2).

Вариант 12

Создать файл БД, содержащий сведения об игроках хоккейных команд «Динамо», «Спартак», ЦСКА: фамилия – С (12), число заброшенных шайб – (2), число голевых передач – 9 (2), заработанное штрафное время – 9 (3), наименование команды – С (10).

Вариант 13

Создать файл БД, содержащий сведения об ассортименте товаров в магазине: наименование товара – С (20), количество – 9 (3), цена – 9 (3). 9 (2), срок реализации – D (8).

Вариант 14

Создать файл БД, содержащий сведения о читателях библиотеки: фамилия и.о. – С (25), адрес – С (25), телефон – С (6), количество книг – 9 (2), срок возврата – D (5).

Вариант 15

Создать файл БД, содержащий сведения о движении материалов на складе: наименование материала – С (20), шифр материала – 9 (7), вид операции (приход – П, расход – Р, остаток - ОС)

Вариант 16

Создать файл БД, содержащий сведения о продаже билетов в кассах автовокзала: пункт следования – С (15), номер рейса – С (3), стоимость билета – 9 (3). 9 (2), количество – 9 (2), дата поездки – D (8).

Вариант 17

Создать файл БД, содержащий сведения о продаже билетов на поезд Ижевск – Москва на период с 1 по 5 апреля 2004 г.: фамилия пассажира – С (15), номер вагона – 9 (2), тип вагона (К, П, СВ) – С (2), конечная станция – С (10), дата поездки – D (8).

Вариант 18

Создать БД, содержащую информацию о клиентах отеля: фамилия – С (15), имя – С (10), отчество – С (15), место жительства – С (15), дата прибытия – D (8), дата отъезда – D (8).

Вариант 19

Создать БД, содержащую информацию о поступлении разных сортов хлеба в хлебный магазин в течение недели: наименование сорта хлеба – С (15), номер хлебозавода – 9 (1), дата поступления хлеба – D (8), количество – 9 (3).

Вариант 20

Создать БД, содержащую информацию о междугородних переговорах сотрудников фирмы: номер телефона – С (6), фамилия и.о. – С (20), пункт соединения – С (15), количество минут – 9 (2), дата разговора – D (8).

Вариант 21

Создать БД, содержащую информацию о выработке водителей автоколонны: фамилия – С (15), имя – С (10), отчество – С (15), табельный номер – 9 (4), номер бригады – 9 (1), перевезено грузов (т) – 9 (3). 9 (2), выработано часов – 9 (3). 9 (2).

Вариант 22

Создать БД, содержащую информацию о товарах в магазине «Лакомка»: наименование товара – С (15), изготовитель – С (15), срок реализации – D (8), количество (кг) – 9 (3). 9 (2).

Вариант 23

Создать БД, содержащую информацию о товарах в хозяйственном магазине: наименование товара – С (15), шифр товара – 9 (5), дата поступления – D (8), количество – 9 (4).

Вариант 24

Создать БД, содержащую информацию о сотрудниках кафедр: фамилия – С (15), имя – С (10), отчество – С (15), кафедра – С (15), должность – С (21), дата поступления на работу – D (8).

Вариант 25

Создать БД, содержащую информацию о спортивных результатах детской легкоатлетической секции: фамилия – С (15), имя – С (10), отчество – С (15),  дата рождения - D (8), лучший результат на 100м – 9(5) ,9(2), дата результата - D (8), лучший результат на 400м – 9(5), 9(2), дата результата - D (8), лучший результат на 1000м – 9(5),9(2), дата результата - D (8).

Вариант 26

Создать БД, содержащую информацию о студентах группы 2-64-1: фамилия – С (15), имя – С (10), отчество – С (15),  дата рождения - D (8), вид спорта – С(20), разряд –С(10), дата последних соревнований - D (8).

Вариант 27

Создать БД, содержащую информацию о результатах сдачи лабороторных работ по информатике группы 2-64-1: фамилия – С (15), имя – С (10), отчество – С (15), номер лабораторной работы – 9 (2), дата демонстрации работы – D (8), дата сдачи работы – D (8).

Вариант 28

Создать БД, содержащую информацию о результатах сдачи экзаменов группы 64-1: фамилия – С (15), имя – С (10), отчество – С (15), номер семестра - 9(2), название экзамена – С(15), ФИО преподавателя С(20), дата демонстрации работы – D (8), дата сдачи  – D (8).

Пример выполнения лабораторной работы:

Создадим БД  stud.dbf со следующими полями (рис.1):

Фамилия – С(20)

Имя – С(20)

Группа – С(8)

Телефон – С(10)

Адрес – С(30)

и заполним записями.

Рис.1. Структура таблицы stud.dbf

Создадим экранную форму для ввода данных в таблицу stud.dbf.

Создавать  форму будем с помощью конструктора (создание формы с помощью мастера обычно не вызывает затруднений у студентов). Для этого создадим новый файл, зададим ему тип – Form, по умолчанию на экране будет создана форма с именем Form1. Далее вставим элементы диалога. Например, добавим запись в  файл БД с фамилией студента, которую будем вводить в поле экранной формы. Для этого воспользуемся панелью инструментов, которая на рис.2 называется Form controls. Выберем на этой панели элемент управления EditBox  и вставим его в форму, по умолчанию ему буден дано имя Edit1. Далее следует вызвать свойства этого элемента и внимательно их рассмотреть. Из рис.2. видно, что элементу управления дали имя Fam1. Если мы захотим связать данное поле с таблицей Stud.dbf, то нужно сделать следующее: находясь на поле формы, правой кнопкой вызвать контекстное меню, выбрать пункт Data Environment, далее добавить нужную таблицу.  

Далее в свойствах элемента управления в свойстве ControlSourse (Источник данных) выбрать поле-источник из таблицы.

Создадим кнопку в экранной форме Form1. Для этого выберем элемент CommandBotton на панели FormControls и вставим в форму. По умолчанию объект получит имя Command1. В свойствах объекта значению надписи Caption  присвоим значение Заполнить (рис.3).

Теперь настроим так работу формы, чтобы по нажатию кнопки Заполнить, происходило заполнение поля Fam таблицы stud.dbf , а перед заполнением происходила проверка на повторяющиеся значения поля Fam в таблице. Для этого, используя языковые средства СУБД, будем обрабатывать событие ClickEvent –нажатие кнопки мыши (см.рис.4).

*Устанавливаем путь к файлам

Set default to e:\elena\бсбд\бсбд_лаборработы\бсбд_лр_1

* Индексируем таблицу

set order to fam

* Поиск значения по индексированному полю

IF seek(ThisForm.fam1.value)

   @1,1 Say "Студент с такой фамилией уже введен"

ELSE

* добавляем новую пустую запись

   append blank

* заменяем поля на новые значения

   replace fam with ThisForm.fam1.value

ENDIF

Рис.3. В форму вставлена кнопка Заполнить

Рис.4. Процедура на событие ClickEvent кнопки Заполнить


 

А также другие работы, которые могут Вас заинтересовать

61940. Формирование общественного мнения отделением информации и общественных связей Управления внутренних дел по Владимирской области 412 KB
  Основная цель дипломной работы заключается в комплексном социологическом исследовании связей с общественностью органов внутренних дел как функции управления, а также выработке научно-практических рекомендаций, направленных на повышение эффективности деятельности пресс-службы органов внутренних дел Владимирской области посредствам формирования развитой системы социальных коммуникации.
61941. На пороге Экологической катастрофы 31.88 KB
  Цели: расширить представление детей о взаимосвязях в природе, о способах сохранения и оказания помощи природе; ознакомить с фактами уничтожения природы в России; способствовать формированию положительной нравственной оценки таких качеств личности, как экологическая культура, экологическая грамотность...
61945. Наречие в предложении. Синтаксическая роль наречия 17.03 KB
  Задачи: научиться отличать в предложении наречия от кратких причастий; научиться отличать в предложении наречия от существительных с предлогами и других существительных в косвенных падежах; синтаксическая роль местоименных наречий в предложении.
61946. Наречие в тексте. Функции наречий в тексте 16.92 KB
  Задачи: научиться определять функции наречий в тексте; учиться работать с толковыми словарями словарями синонимов; повторить изобразительно-выразительные средства; расширять лексический запас учащихся.
61947. Изображение бабочки в техники монотипия 26.02 KB
  Сейчас мы с вами узнаем: Как появляются бабочки всегда ли они такие красивые какие бывают бабочки Жизнь бабочек коротка. Названия многих бабочек происходят от растений на которые они откладывают яйца: крапивница рис...