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 кнопки Заполнить


 

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

74809. Динамика вращательного движения абсолютно твердого тела. Центр массы. Момент инерции. Кинетическая энергия 57.5 KB
  Неподвижная ось вращения z может проходить как через центр инерции тела (ось вращения маховика, ротора турбины и т.п.), так и вне его (например, ось вращения самолета, выполняющего мертвую петлю). Если известен момент инерции тела относительно оси, проходящей через его центр масс...
74810. Основной закон динамики вращательного движения. Закон сохранения момента импульса. Примеры 87 KB
  Векторная сумма моментов всех внешних сил приложенных к телу называется результирующим или главным моментом внешних сил относительно точки О: Векторная сумма моментов импульса всех материальных точек тела называется моментом импульса тела относительно точки...
74811. Элементы теории поля. Потенциал, градиент потенциала и напряженность поля. (Пример - гравитационное поле) 66 KB
  Потенциал градиент потенциала и напряженность поля. Гравитационное взаимодействие между телами осуществляется с помощью поля тяготения или гравитационного поля. Основное свойство поля тяготения заключается в том что на всякое тело массой т внесенное в это поле действует сила тяготения...
74812. Закон всемирного тяготения. Движение в поле тяготения. Центральные силы. Гравитационное поле и его напряженность 38.5 KB
  Если материальная точка совершает движение под действием центральной силы с центром O, то момент количества движения точки сохраняется, а она сама совершает движение в плоскости, перпендикулярной вектору момента количества движения относительно точки O и проходящей через эту точку O.
74813. Особенности творческого пути А.С. Грибоедова. История создания и публикации «Горя от ума». Чацкий как герой эпохи 1810 –1820-х годов и «вечный» конфликт «старого и нового». Элементы классицизма, романтизма и реализма в комедии 15.67 KB
  Элементы классицизма романтизма и реализма в комедии. Замысел комедии возник в 1820 году по некотором данным уже в 1816 но активная работа над текстом начинается в Тифлисе после возвращения Грибоедова из Персии. В 1825 году с большими цензурными сокращениями были напечатаны отрывки из I и III актов комедии но разрешение на её постановку получить не удалось. Роль Чацкого главная роль без которой не было бы комедии а была бы пожалуй картина нравов.
74814. А.С. Пушкин и начало «золотого века» русской литературы. Периодизация творчества писателя и его структура 15.17 KB
  Золотой век русской литературы – это плеяда гениев искусства слова, прозаиков и поэтов, которые благодаря своему изысканному и непревзойденному творческому мастерству, определили дальнейшее развитие русской культуры. Без сомнений, одним из ярчайших представителем Золотого века русской литературы является знаменитый поэт, отец русского литературного языка А. С. Пушкин.
74815. Полемика о творчестве А.С. Пушкина и литературно-эстетическое самосознание писателя. Значимость наследия А.С. Пушкина в истории русской и мировой культуры и опыт его осмысления 15.66 KB
  Пушкина и литературно-эстетическое самосознание писателя. Пушкина в истории русской и мировой культуры и опыт его осмысления. Пушкин был певцом и вдохновителем освободительного движения своего времени: как поэт свою заслугу перед народом он видел в том что будил чувства добрые и в свой жестокий век восславил свободу. Пушкин самый яркий выразитель чувств дум и стремлений своего времени.
74816. Поэты пушкинской эпохи и понятие «Плеяды». Общее и особенное в их авторских стратегиях: А.А. Дельвиг, П.А.Вяземский, Е.А.Боратынский, Д.В. Веневитинов, Н.М. Языков. Влияние их творческих исканий на дальнейшее развитие отечественной словесности 18.16 KB
  Термин пушкинская плеяда по мере изучения поэзии Пушкина романтической эпохи и конкретных поэтов стал считаться уязвимым поскольку вопервых возник по аналогии с наименованием французской поэтической группы Плеяда Ронсар Жодель Дюбелле и др. давая повод для неправомерных ассоциаций и неуместных сближений Пушкина с Ронсаром. Следовательно если принимать понятие пушкинская плеяда нужно отчетливо осознавать что в этом созвездии названном именем Пушкина последний является самой крупной звездой в то время как другие светила...
74817. Теория «официальной народности», социально-исторические концепции славянофилов и западников и их отражение в словесности второй половины 1830- х – первой половины 1850-х годов 15.67 KB
  Уваров доказывал что просвещение может быть не только источником зла революционных потрясений как это случилось в Западной Европе а может превратиться в элемент охранительный к чему следует стремиться в России. Поэтому всем служителям просвещения в России предлагалось исходить исключительно из соображений официальной народности. По мнению консерваторов николаевской эпохи в России не было причин для революционных потрясений. Бенкендорф прошедшее России было удивительно ее настоящее более чем великолепно что же касается ее...