50517

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

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

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

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

Русский

2014-01-25

212 KB

17 чел.

Лабораторная работа №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 кнопки Заполнить


 

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

6540. Генетика: сборник задач с решениями 660 KB
  Закономерности менделевского наследования признаков В данной работе так же представлены задачи по генетике с решением для студентов и всех интересующихся подобными задачами/ Объектом исследования Менделя был горох посевной – Pisum sativum. Выбор объекта был чрезвычайно удачным
6541. Анализирующее (возвратное) скрещивание. Сцепленное с полом наследование 95 KB
  Анализирующее (возвратное) скрещивание. Сцепленное с полом наследование Задачи на анализирующее (возвратное) скрещивание Анализирующим, или возвратным, называется скрещивание гибридной особи с особью гомозиготной по рецессивным аллелям. Задача №1....
6542. Порівняльна характеристика зарубіжних моделей управління організацією та обґрунтування доцільності використання їх елементів в практиці вітчизняного менеджменту 305 KB
  Менеджмент як діяльність зародився у США в останній чверті 19 ст. Мільйони емігрантів з Європи створили величезний ринок робочої сили, на якому працелюбна людина могла досягти значного успіху. Уряд США матеріально підтримував здобуття освіти, ...
6543. Молодь за здоровий спосіб життя 42.5 KB
  Надати учасникам інформацію про здоров'я, фактори, що впливають на формування здоров'я, ознайомити із шкідливим впливом алкоголю, тютюну, наркотиків на молодий організм, спонукати учасників взяти на себе відповідальність за власне здоров'я
6544. Різдвяні зустрічі. Виховний захід 87.5 KB
  Різдвяні зустрічі Свято проводиться під час новорічних та різдвяних свят. Це колективна творча справа, учасниками якої є учні 5-11 класів. Мета: на кращих зразках творів світової літератури, музики та народної творчості вчити учнів читати мовою ориг...
6545. Уроки сексуального воспитания 156.5 KB
  Уроки сексуального воспитания Слоган: Предупрежден, значит вооружен, Суть проекта: Когда я училась в школе, а это было совсем недавно, меня всегда интересовало, почему в старших классах российских школ нет уроков сексуального воспитания. ( Хот...
6546. Техническое обслуживание и ремонт воздушных и кабельных линий 58 KB
  Техническое обслуживание и ремонт воздушных и кабельных линий Обслуживание воздушных линий. Периодические осмотры ВЛ выше 1000 В электромонтеры проводят не реже одного раза в 6 мес, а инженерно-технические работники - не реже одного раза в год....
6547. Монтаж воздушных линий 29.5 KB
  Монтаж воздушных линий Порядок монтажа Установка опор Натягивание и крепление проводов Заземление ВЛ ТБ при монтаже ВЛ Порядок монтажа ВЛ: - расчистка трассы - разметка трассы - установка опор - раскатка,...
6548. Основные элементы воздушных линий 41 KB
  Основные элементы воздушных линий Электрические воздушные линии (ВЛ) предназначены для передачи и распределения электрической энергии по проводам, расположенным на открытом воздухе и прикрепленным к различным опорным конструкциям. ВЛ могут быть с...