50517

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

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

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

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

Русский

2014-01-25

212 KB

15 чел.

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


 

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

34084. Разграничение государственной собственности на землю 27.5 KB
  Разграничение государственной собственности на землю. 214 ГК РФ государственная собственность имущество принадлежащее на праве собственности Российской Федерации федеральная собственность и имущество принадлежащее на праве собственности субъектам Российской Федерации собственностьсубъектов Российской Федерации. Таким образом субъектами права государственной собственности являются Российская Федерация республики края области города федерального значения автономная область автономные округа.Поскольку объектами любых прав...
34085. Понятие и общая характеристика приватизации земель в Российской Федерации 25 KB
  Приватизация земельных участков может осуществляться одновременно с приватизацией расположенных на нем объектов недвижимости на основании положений Земельного кодекса РФ ФЗ от 21 декабря 2001 г. 3 ФЗ О введении в действие Земельного кодекса Российской Федерации. Приватизация земельных участков может производиться путем продажи их на аукционе или конкурсе продажи посредством публичного предложения или без объявления цены путем внесения земельного участка в качестве вклада в уставный капитал открытого акционерного общества. Цена выкупа...
34086. Пожизненное наследуемое владение земельным участком 24.5 KB
  Право пожизненного наследуемого владения. предоставление земельных участков на праве пожизненного земельного владения не допускается. Основаниями возникновения права пожизненного наследуемого владения являются: принятие наследства в состав которого входит пожизненное наследуемое владение на земельный участок. договор куплипродажи или иная сделка об отчуждении здания строения сооружения расположенные на земельном участке принадлежавшем бывшему собственнику зданий строений сооружений на праве пожизненного наследуемого владения;...
34087. Постоянное (бессрочное) пользование земельным участком 27.5 KB
  Юридические лица могут быть разделены на 3 группы по отношению к этому праву: юридические лица которым и после введения в действие Земельного Кодекса предоставляются земельный участки на данном праве и которые могут использовать земельные участки на праве постоянного бессрочного пользования органы государственной власти органы местного самоуправления государственные и муниципальные учреждения казенные предприятия центры исторического наследия президентов России прекративших исполнение своих полномочий; юридические лица...
34088. Основания возникновения и изменения прав на земельные участки 59 KB
  По договору кули продажи одна сторона продавец обязуется пережать другой стороне покупателю земельный участок за плату. договор дарения: По договору дарения одна сторона даритель безвозмездно передает или обязуется передать земельный участок другой стороне одаряемому в собственность. договор ренты: По договору ренты одна сторона получатель ренты передаёт другой стороне плательщику ренты земельный участок в собственность а плательщик ренты обязуется периодически выплачивать ренту. Рента обременяет земельный участок поэтому...
34089. Основания прекращения прав на земельные участки 38.5 KB
  Основания добровольного прекращения: ликвидация юридического лица; смерть гражданина и отсутствие соответствующих наследников; отчуждение земельного участка другим лицам в порядке установленном гражданским законодательством; добровольный отказ от прав на земельный участок. Процедура различна для собственников и лиц не являющихся собственниками Собственник земельного участка может отказаться от своего права путем подачи заявления в орган осуществляющий государственную регистрацию прав на недвижимое имущество и сделок с ним....
34090. Сделки с земельными участками: понятие и виды сделок 53.5 KB
  Особенности оборота земельных участков находят отражение в содержании соответствующих сделок с землей. Так гражданскоправовой институт наследования имущества применяется и в земельном праве однако в целях предотвращения дробления наследуемого земельного участка между многими наследниками земельным законодательством могут быть установлены особые правила наследования земельных участков. Земельное законодательство предусматривает особенности совершения например сделок куплипродажи земельных участков обусловленные необходимостью обеспечения...
34091. Договор купли-продажи земельных участков 38 KB
  По договору куплипродажи земельного участка продавец обязуется передать в собственность покупателя земельный участок а покупатель обязуется принять земельный участок и уплатить за него определенную денежную сумму.Стороны договора не вправе изменять целевое назначение земельного участка являющегося предметом договора. Также не подлежат самовольному изменению такие условия использования земельного участка как охранные зоны и обременения участка. Продавец при заключении договора обязан предоставить покупателю имеющуюся у него информацию об...
34092. Залог земельных участков 37.5 KB
  Нормативной базой ипотеки является 3 главы 23 ГК РФ и ФЗ N 102ФЗ Об ипотеке залогенедвижимости от 16 июля 1998 г. далее Закон об ипотеке. 1 Закона об ипотеке по договору о залоге недвижимого имущества договору об ипотеке одна сторона залогодержатель являющийся кредитором по обязательству обеспеченному ипотекой имеет право получить удовлетворение своих денежных требований к должнику по этому обязательству из стоимости заложенного недвижимого имущества другой стороны залогодателя преимущественно перед другими...