Базы данных. Системы управления базами данных

Создание базы данных в виде таблиц. Применение форм. Создание запросов, отчетов. Демонстрация функциональных возможностей Microsoft Access на примере учебной программы. Создание перекрестных запросов. Внутреннее конфигурирование системы СУБД FoxPro.

Рубрика Программирование, компьютеры и кибернетика
Вид методичка
Язык русский
Дата добавления 19.05.2021
Размер файла 6,6 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

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

Таблицы

Виды кредитов (код вида, название, условия получения, ставка, срок).

Клиенты (код клиента, название, вид собственности, адрес, телефон, контактное лицо).

Кредиты (код вида, код клиента, сумма, дата выдачи).

Развитие постановки задачи

Теперь ситуация изменилась. После проведения различных исследований выяснилось, что используемая система не позволяет отслеживать динамику возврата кредитов. Для устранения этого недостатка Вы приняли решение учитывать в системе еще и дату фактического возврата денег. Нужно еще учесть, что кредит может гаситься частями, и за задержку возврата кредита начисляются штрафы.

Внести в структуру таблиц изменения, учитывающие эти факты, и изменить существующие запросы. Добавить новые запросы.

21. Инвестирование свободных средств

Описание предметной области

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

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

Таблицы

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

Инвестиции (код инвестиции, код ценной бумаги, код клиента, котировка, дата покупки, дата продажи).

Клиенты (код клиента, название, вид собственности, адрес, телефон).

Развитие постановки задачи

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

Внести в структуру таблиц изменения, учитывающие эти факты, и изменить существующие запросы. Добавить новые запросы.

22. Занятость актеров театра

Описание предметной области

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

Вы организовали дело следующим образом: каждый год театр осуществляет постановку различных спектаклей. Каждый спектакль имеет определенный бюджет. Для участия в конкретных постановках в определенных ролях Вы привлекаете актеров. С каждым из актеров Вы заключаете персональный контракт на определенную сумму. Каждый из актеров имеет некоторый стаж работы, некоторые из них удостоены различных наград и званий.

Таблицы

Актеры (код актера, фамилия, имя, отчество, звание, стаж).

Спектакли (код спектакля, название, год постановки, бюджет).

Занятость актеров в спектакле (код актера, код спектакля, роль, стоимость годового контракта).

Развитие постановки задачи

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

Внести в структуру таблиц изменения, учитывающие эти факты, и изменить существующие запросы. Добавить новые запросы.

23. Платная поликлиника

Описание предметной области

Вы являетесь руководителем службы планирования платной поликлиники. Вашей задачей является отслеживание финансовых показателей работы поликлиники.

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

Таблицы

Врачи (код врача, фамилия, имя, отчество, специальность, категория).

Пациенты (код пациента, фамилия, имя, отчество, год рождения).

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

Развитие постановки задачи

В результате эксплуатации базы данных выяснилось, что при обращении в поликлинику пациент обследуется и проходит лечение у разных специалистов. Общая стоимость лечения зависит от стоимости тех консультаций и процедур, которые назначены пациенту. Кроме того, для определенных категорий граждан предусмотрены скидки.

Внести в структуру таблиц изменения, учитывающие эти факты, и изменить существующие запросы. Добавить новые запросы.

24. Анализ динамики показателей финансовой отчетности различных предприятий

Описание предметной области

Вы являетесь руководителем информационно-аналитического центра крупного холдинга. Вашей задачей является отслеживание динамики показателей для предприятий холдинга.

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

Таблицы

Показатели (код показателя, название, важность, единица измерения).

Предприятия (код предприятия, название, банковские реквизиты, Телефон, контактное лицо).

Динамика показателей (код показателя, код предприятия, дата, значение).

Развитие постановки задачи

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

Внести в структуру таблиц изменения, учитывающие эти факты, и изменить существующие запросы. Добавить новые запросы.

25. Учет телекомпанией стоимости прошедшей в эфире рекламы

Описание предметной области

Вы являетесь руководителем коммерческой службы телевизионной компании. Вашей задачей является отслеживание расчетов, связанных с прохождением рекламы в телеэфире.

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

Таблицы

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

Реклама (код рекламы, код передачи, код заказчика, дата, длительность в минутах).

Заказчики (код заказчика, название, банковские реквизиты, телефон, контактное лицо).

Развитие постановки задачи

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

Внести в структуру таблиц изменения, учитывающие эти факты, и изменить существующие запросы. Добавить новые запросы.

26. Интернет-магазин

Описание предметной области

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

Работа компании организована следующим образом: на веб-сайте компании представлены (выставлены на продажу) некоторые товары. Каждый из них имеет некоторое название, цену и единицу измерения (штуки, килограммы, литры). Для проведения исследований и оптимизации работы магазина вы пытаетесь собирать данные с ваших клиентов. При этом для вас определяющее значение имеют стандартные анкетные данные, а также телефон и адрес электронной почты для связи. В случае приобретения товаров на сумму свыше 5000 р. клиент переходит в категорию «постоянных клиентов» и получает скидку на каждую покупку в размере 2 %. По каждому факту продажи вы автоматически фиксируете клиента, товары, количество, дату продажи, дату доставки.

Таблицы

Товары (код товара, название, цена, единица измерения).

Клиенты (код клиента, фамилия, имя, отчество, адрес, телефон, email, признак постоянного клиента).

Продажи (код продажи, код товара, код клиента, дата продажи, дата доставки, количество).

Развитие постановки задачи

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

Внести в структуру таблиц изменения, учитывающие эти факты, и изменить существующие запросы. Добавить новые запросы.

27. Ювелирная мастерская

Описание предметной области

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

Таблицы

Изделия (код изделия, название, тип, код материала, вес, цена).

Материалы (код материала, название, цена за грамм).

Продажи (код изделия, дата продажи, фамилия покупателя, имя покупателя, отчество покупателя).

Развитие постановки задачи

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

Внести в структуру таблиц изменения, учитывающие эти факты, и изменить существующие запросы. Добавить новые запросы.

28. Парикмахерская

Описание предметной области

Вы работаете в парикмахерской которая стрижет клиентов в соответствии с их пожеланиями и некоторым каталогом различных видов стрижки. Так, для каждой стрижки определены название, принадлежность полу (мужская, женская), стоимость работы. Для наведения порядка составляете базу данных клиентов, запоминая их анкетные данные (фамилия, имя, отчество). Начиная с 5-ой стрижки, клиент переходит в категорию постоянных и получает скидку в 3 % при каждой последующей стрижке. После того, как закончена очередная работа, в кассе фиксируются стрижка, клиент и дата производства работ.

Таблицы

Стрижки (код стрижки, название, пол, стоимость).

Клиенты (код клиента, фамилия, имя, отчество, пол, признак постоянного клиента).

Работа (код работы, код стрижки, код клиента, дата).

Развитие постановки задачи

Теперь ситуация изменилась. У парикмахерской появился филиал, и вы хотели бы видеть, раздельную статистику по филиалам. Кроме того, стоимость стрижки может меняться с течением времени. Нужно хранить не только последнюю цену, но и все данные по изменению цены стрижки.

Внести в структуру таблиц изменения, учитывающие эти факты, и изменить существующие запросы. Добавить новые запросы.

29. Химчистка

Описание предметной области

Вы работаете в химчистке которая осуществляет прием у населения вещей для выведения пятен. Для наведения порядка, по мере возможности, составляете базу данных клиентов, запоминая их анкетные данные (фамилия, имя, отчество). Начиная с 3-го обращения, клиент переходит в категорию постоянных клиентов и получает скидку в 3 % при чистке каждой последующей вещи. Все оказываемые услуги подразделяются на виды, имеющие название услуги, тип и стоимость, зависящую от сложности работ. Работа с клиентом первоначально состоит в определении объема работ, вида услуги и, соответственно, ее стоимости. Если клиент согласен, он оставляет вещь (при этом фиксируется услуга, клиент и дата приема) и забирает ее после обработки (при этом фиксируется дата возврата).

Таблицы

Виды услуг (код вида услуг, название, тип, стоимость).

Клиенты (код клиента, фамилия, имя, Отчество, признак постоянного клиента).

Услуги (код услуги, код вида услуги, код клиента, дата приема, дата возврата).

Развитие постановки задачи

Теперь ситуация изменилась. У химчистки появился филиал, и вы хотели бы видеть, раздельную статистику по филиалам. Кроме того, вы решили делать надбавки за срочность и сложность работ.

Внести в структуру таблиц изменения, учитывающие эти факты, и изменить существующие запросы. Добавить новые запросы.

30. Сдача в аренду торговых площадей

Описание предметной области

Вы работаете в крупном торговом центре, сдающем в аренду коммерсантам свои торговые площади.

Вашей задачей является наведение порядка в финансовой стороне работы торгового центра.

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

Таблицы

Торговые точки (код торговой точки, этаж, площадь, наличие кондиционера, стоимость аренды в день).

Клиенты (код клиента, название, Реквизиты, адрес, телефон, контактное лицо).

Аренда (код аренды, код торговой точки, код клиента, дата начала, дата окончания).

Развитие постановки задачи

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

Внести в структуру таблиц изменения, учитывающие эти факты, и изменить существующие запросы. Добавить новые запросы.

Глава 2. СУБД FoxPro

Лабораторная работа № 1. Конфигурация среды. Системный интерфейс

В FoxPro возможны два уровня настройки - внешнее и внутреннее конфигурирование операционной среды.

Внешнее конфигурирование

Внешняя настройка выполняется с помощью специального файла конфигурации системы CONFIG.FP. Это текстовый файл, который программист может заполнить по своему усмотрению. Установки, включаемые в файл CONFIG.FP, начинают действовать сразу после загрузки СУБД.

Некоторые параметры конфигурации приведены ниже.

Можно использовать любые команды установки вида SET, но записываются они без самого слова SET, и между командой и ее параметром ставится знак "=".

Например:

Date =germ - задание формата даты в виде - дд.мм.гг;

Talk off - отмена вывода сообщений о результатах выполнения работы;

Clear on - очистка экрана;

Default a: - указание диска А для размещения временных файлов системы, программ;

Codepage 866 - использование 866 кодовой страницы (кириллица);

Commad = do имя программы - команда вызова программы, которая будет выполнена после загрузки СУБД.

В случае изменения файла CONFIG.FP, для того чтобы сделанные изменения были задействованы, необходимо перезапустить FoxPro.

Внутреннее конфигурирование

Внутреннее конфигурирование системы осуществляется с помощью так называемого ресурсного файла, являющегося стандартным файлом базы данных, foxuser.dbf, а также его вспомогательного файла мемо-полей - foxuser.fpt. Ресурсный файл содержит информацию о настройке внутреннего редактора, положении и виде browse-окон, цветовых наборах и т.д. Ресурсный файл обновляется автоматически при работе СУБД как в командном окне, так и в программном режиме. Обращение к ресурсному файлу может быть отменено командой set resource off.

Если вы хотите просмотреть и отредактировать содержимое ресурсного файла, следует сначала отключить его от СУБД, открыть и вызвать, например, в browse-окно, т.е. набрать следующую последовательность команд:

set resource off

use foxuser

browse

а по завершении работы с ним выполнить обратные действия:

use

set resource on

Вызов главного меню осуществляется нажатием F10 или Alt.

Задание № 1

1. Найти и прочитать файл config.fp, используя WORD.

2. Дополнить его командой Date =germ.

3. Перезапустить FoxPro.

Задание № 2

1. Найти справку по команде CREATE.

2. Найти файлы по маске *.dbf, определить размер файла.

3. Определить день недели Вашего дня рождения.

4. Определить кодировку символа *

5. Открыть любой файл базы данных, нажать F3.

6. Запустить на выполнение любую программу (программа имеет расширение .prg).

7. Скрыть командное окно, восстановить его.

8. Очистить окно выдачи результата.

9. Передвинуть командное окно в левый верхний угол, изменить его размеры.

10. Распахнуть командное окно на весь экран, свернуть в виртуальную кнопку.

11. Скрыть системное меню командой set sysmenu to.

12. Восстановить системное меню командой set sysmenu to default.

Лабораторная работа № 2. Структура файла базы данных. Заполнение исходными данными

1. Запустите программу FoxPro 2.6. В командном окне наберите команду создания структуры файла, create имя - (имя выберите самостоятельно, записывается латинскими символами). По этой команде предоставляется форма для заполнения структуры файла.

2. В форме надо указать:

- имена полей (длина имени не более 10 символов, состоит из латинских букв, цифр и знака подчеркивания, начинается с буквы, пробелов быть не должно);

- тип (выбирается нажатием первой буквы типа (C, N, F, D, L, M) или клавишей Space);

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

Варианты структур для заполнения:

1 вариант

2 вариант

1. Фамилия

1. Название книги

2. Имя

2. Фамилия автора

3. Отчество

3. Имя автора

4. Пол

4. Отчество автора

5. Дата рождения

5. Дата выпуска

6. Зарплата

6. Цена

7. Наличие жилья

7. Наличие в библиотеке

8. Биография

8. Аннотация

Возможно удаление, дополнение, изменение порядка расположения полей с помощью кнопок Insert и Delete.

3. Файл сохраните в активной директории комбинацией клавиш Ctrl +W.

4. Выведите структуру файла базы данных на экран с помощью команды display structure. Внести исправления в структуру можно с помощью команды modify structure.

5. Заполните файл данных десятью разноплановыми записями, для этого надо ответить Yes на предложение ввода Input data records now?, либо в командном окне набрать команду append.

6. Файл сохраните в активной директории комбинацией клавиш Ctrl +W.

7. Распечатайте все записи с помощью команды display.

8. Дополните новой записью с помощью команды append.

9. Пометьте к удалению первую и последнюю запись с помощью команд delete record 1, delete record 11.

10. Распечатайте все записи с помощью команды display. Проанализируйте полученное.

11. Распечатайте первое и последнее поля.

Лабораторная работа № 3. Работа с созданной базой данных в командном режиме

Задание 1. Открытие и просмотр созданной базы данных

1. Запустите программу FoxPro 2.6. В окне Command наберите команду открытия файла базы данных USE имя (имя, которое было присвоено базе данных при создании). Можно воспользоваться системным меню (верхняя строка окна), выбрав команду File, Open, найти в списке свой файл и открыть его двойным щелчком мыши или кнопкой Open. При этом текст команды отобразится в окне Command автоматически.

2. Выведите на экран все записи базы данных с помощью команды LIST. Можно набрать команду с клавиатуры или вызвать эту команду с помощью горячей клавиши F3. Текст команды отобразится в окне автоматически. Убедитесь, что это именно та база данных, которая была создана ранее.

3. Измените формат даты на привычный для России (дд/мм/гг), установите полный формат даты (10 символов) с помощью команд установки соответствующих параметров:

SET DATE BRITISH

SET CENTURY ON

4. Повторите вывод на экран всех данных, проконтролируйте изменение формата даты. При повторе ранее выполненных команд можно установить курсор в нужную строку окна (с помощью мыши или стрелок на клавиатуре), затем нажать клавишу Enter.

Задание 2. Перемещение в базе данных

При работе с базой данных необходимо контролировать, где находится указатель записей в данный момент времени. Запись, на которой находится указатель, является текущей. Это особенно важно при работе с большими объемами информации, а также при организации циклов, когда поочередно просматриваются все записи.

1. Установите указатель на 5-ю запись, используя команду GO N.

2. Убедитесь в правильности установки указателя с помощью вывода на экран значения функции номера текущей записи ? RECNO( ).

3. Выведите на экран текущую запись. Это можно сделать, например, с помощью команды DISPLAY.

4. Поставьте указатель на последнюю запись (команда GO BOTTOM).

5. Проверьте, достигнут ли конец файла данных, для этого используйте логическую функцию проверки конца файла EOF( ), выведите на экран ее значение ? EOF( ).

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

7. Попробуйте таким же образом достичь начала файла, в этом случае указатель следует перемещать «вверх», применяя команды: GO TOP, ? BOF( ), SKIP -1, ? BOF( ).

8. Сместите указатель на 4 записи. Выведите на экран одну (текущую) запись. Проверьте, изменилось ли положение указателя после выполнения этой операции.

Задание 3. Удаление записей

1. Пометить к удалению запись с номером 5. Это можно сделать так:

1 способ

2 способ

go 5

delete

delete record 5

2. Сделайте вывод на экран всех записей, убедитесь, что запись с номером 5 помечена звездочкой.

3. Осуществите окончательное (физическое) удаление отмеченной записи (команда PACK).

4. Убедитесь, что запись действительно удалена и произведено сжатие файла данных.

5. Сделайте пометку к удалению для всех записей, которые введены ошибочно или пустые. Удалите их окончательно

6. Пометьте к удалению записи, относящиеся к мужчинам, команда будет содержать условие: DELETE FOR POL = `М', проверьте наличие звездочек.

7. Отмените пометки к удалению, следует применить команду RECALL, обязательно использовать условие

RECALL FOR POL = `М'

8. Выведите на экран данные и убедитесь в отсутствии звездочек.

Задание 4. Сортировка записей

1. Выполните сортировку записей по полю FAM (Фамилия). Результатом сортировки будет новый файл, ему следует дать имя (например, ALFAVIT).

Команда: SORT TO ALFAVIT ON FAM

2. Откройте новый файл, в котором записи отсортированы:

USE ALFAVIT

3. Выведите на экран все записи нового файла (LIST)

4. Выполните сортировку записей по полю Дата

Задание 5. Работа с датами

1. Выведите на экран сегодняшнюю дату, используя специальную функцию ? DATE( ).

2. Выведите на экран текущее время, используя специальную функцию ? TIME( ).

3. Выведите на экран номер и название дня недели, используя функции DOW ( ) и CDOW( ), сравните полученные результаты ? DOW(DATE( ))

? CDOW(DATE( ))

5. Определите, сколько дней осталось до конца семестра (года). Здесь следует вспомнить, что из большей даты можно вычитать меньшую, результат и даст искомую величину. Константа типа Date заключается в фигурные скобки ? {01/01/2012} - DATE( ).

4. Подсчитайте свой возраст в днях. Для удобства дату рождения можно обозначить временной переменной, например, d = {10/10/93}. Тогда возраст будет DATE( ) - d.

5. Подсчитайте свой возраст в годах. Для этого можно предыдущий результат разделить на 365. Не забудьте заключить в скобки числитель дроби.

6. Определите, в какой день недели произошло некоторое событие, например, N = {21/06/41}.

7. Подсчитайте, в какой день и в каком году вам будет 9999 дней от роду.

Задание 6. Просмотр и обработка данных

1. Выведите на экран список «Фамилия, Год рождения, Биография»: LIST FAM, YEAR(DTR), BIOGR.

2. Выведите на экран список «Фамилия, Дата рождения, Возраст»: LIST FAM, DTR, (DATE( ) - DTR)/365.

3. Подсчитайте средний возраст, используя специальную функцию для подсчета среднего значения. Результат поместите во временную переменную. Отключите вывод на экран сообщений (откликов) о результатах выполнения команд. Тогда для просмотра полученных значений придется добавить команду вывода:

SET TALK OFF

AVERAGE (DATE( ) - DTR)/365 TO SR

? “Средний возраст равен”, SR.

4. Подсчитайте максимальный, минимальный возраст:

calc max((date()-dtr)/365),min((date()-dtr)/365) to ma, mi

? “Максимальный возраст”, ma

? “Минимальный возраст”, mi

5. Подсчитайте количество женщин:

count all for pol="ж" to a

? “Количество женщин”, a

6. Подсчитайте суммарную зарплату мужчин.

7. Выведите список «Фамилия, Месяц, Число, День недели», используя функции MONTH( ), DAY( ), CDOW( ).

8. Выведите список сотрудников, родившихся в понедельник (или воскресенье).

9. Выведите ведомость на выплату премиальных (40 %)

LIST FAM, IM, ZARP, ZARP*0.4.

10. Измените значение поля «Зарплата» у мужчин на 1 руб., а у женщин на 2 руб.:

REPLACE ZARP WITH ZARP +1 FOR POL = “м.

11. Выполните просмотр сделанных изменений.

12. Сохраните все команды задания 6 (или некоторые из них) в файле ZAPAS81.prg, для этого:

а) File - New - Program, имя файла;

б) Выделить команды в окне Command, скопировать (Ctrl+C), вставить в новый файл (Ctrl+V), сохранить (Ctrl+W).

Лабораторная работа № 4. Работа с созданной базой данных в программном режиме. Создание типовых командных файлов

Задание 1. Создать программу для вычисления площади треугольника. Исходные данные задать с клавиатуры. Оформить вывод результатов на экран в прямоугольной рамке с указанием даты и фамилии студента

1. В окне Command наберите команду для создания командного файла (программы) с именем PLTREUG.PRG

modify command pltreug.prg

Более короткий вариант той же команды:

modi comm pltreug

Здесь используется возможность сокращения командных слов до 4-х символов, а также то, что по умолчанию командный файл получит расширение. PRG автоматически.

2. В открывшемся окне с заголовком PLTREUG.PRG наберите друг за другом следующие команды программы:

Программа

Комментарий (не набирать)

CLEAR

Очистка экрана

SET TALK OFF

Отключение откликов

INPUT 'Основание' TO A

Ввод с клавиатуры числа А

INPUT 'Высота' TO H

Ввод с клавиатуры числа Н

ACCEPT 'Фамилия' to F

Ввод символьной переменной F

S = A*H/2

Вычисленный результат будет сохранен в переменной S

? 'Площадь треугольника', S

Вывод на экран результата

3. Закройте окно с сохранением (Ctrl+W), в окне Command наберите команду для запуска программы на выполнение:

DO PLTREUG

4. Результаты выполнения программы должны появиться на экране. Если в тексте программы были допущены ошибки, то в ответ на сообщение об этом следует выбрать Cancel, затем исправить ошибку и повторить пункт 3.

5. Для оформления вывода результатов дополните программу следующими командами:

Продолжение программы

Комментарий (не набирать)

CLEAR

Очистка экрана

@ 4,20 TO 14,60

Прямоугольная рамка

@ 6, 35 SAY “Результаты”

Вывод на экран заголовка

@ 8,25 SAY “Дата выполнения”

Вывод на экран текста

@ 8,50 SAY Date( )

Вывод на экран даты

@ 10, 25 SAY “Выполнил”

Вывод на экран текста

@ 10, 45 SAY F

Вывод на экран фамилии

@ 12, 25 SAY “Площадь”

Вывод на экран текста

@ 12, 35 SAY S

Вывод на экран результата

@ 12, 50 SAY “кв.см”

Вывод на экран текста

6. Самостоятельно попробуйте оформить вывод результатов двойной рамкой, расположить рамку с результатами в правом нижнем углу экрана.

Задание 2. Создать программу с использованием оператора цикла DO WHILE для поиска записей в базе данных по условию. Использовать для решения задачи базу данных, созданную в предыдущих работах. Оформить вывод результатов на экран в прямоугольной рамке с разделением столбцов вертикальными линиями. Если поиск не увенчается успехом, вывести на экран соответствующее сообщение

Варианты заданий с конкретными условиями для поиска:

1) найти всех сотрудников с зарплатой больше 20 000 р.;

2) вывести список родившихся в определенный день недели;

3) вывести список книг дороже 500 р.;

4) найти всех авторов моложе 40 лет.

Для примера рассмотрим задачу поиска людей, родившихся до 1980 г.

1. В окне Command наберите команду для создания командного файла с именем Poisk80.PRG

MODI COMM Poisk80

2. В открывшемся окне с заголовком POISK80.PRG наберите друг за другом следующие команды программы:

USE имя файла данных.DBF

SET TALK OFF

SET HEAD OFF

CLEAR

? `Список сотрудников моложе 30 лет'

?

? ` Фамилия Дата рождения'

?

K=0

GO TOP

DO WHILE .NOT. EOF( )

IF YEAR(DTR) < 1980

K=K+1

? K,' ` , FAM, DTR

ENDIF

SKIP

ENDDO

@ 2,1 TO 5 + K, 40

@ 4,2 TO 4,39

@ 3,12 TO 4 + K, 12

@ 3,23 TO 4 +K, 23

?

IF K=0

? `ТАКИХ НЕТ'

ELSE

? `Всего таких', K, `человек'

ENDIF

USE

SET TALK ON

SET HEAD ON

В программе использована временная переменная K для подсчета количества записей, удовлетворяющих условию. Эта же переменная использована как признак удачного поиска (если K осталась равна начальному значению, то поиск не увенчался успехом).

3. Закройте окно с сохранением (Ctrl+W), в окне Command наберите команду для запуска программы на выполнение: DO POISK80.

4. Результаты выполнения программы появятся на экране. Если в тексте программы были допущены ошибки, то в ответ на сообщение об этом следует выбрать Cancel, затем исправить ошибку и повторить пункт 3.

Задание 3. Создать программу с использованием оператора цикла FOR для поиска записей в базе данных по условию. Использовать для решения задачи базу данных, созданную в предыдущих работах. Для примера возьмем задачу поиска по заданной фамилии

1. В окне Command наберите команду для создания командного файла с именем PoiskFAM.PRG

MODI COMM PoiskFAM

2. В открывшемся окне с заголовком POISKFAM.PRG наберите друг за другом следующие команды программы:

USE имя файла данных.DBF

SET TALK OFF

CLEAR

? `Поиск сотрудника по фамилии '

ACCEPT 'Задайте фамилию сотрудника ' to F

K=0

GO TOP

N = RECCOUNT( )

FOR I = 1 TO N

IF FAM = F

K=1

@ 5,5 SAY `Сотрудник найден'

@ 6,2 SAY `Фамилия' GET FАM

@ 7,2 SAY `Зарплата' GET ZARP

@ 8,2 SAY `Дата рождения' GET DTR

ENDIF

SKIP

ENDFOR

IF K=0

? `В списке отсутствует'

ENDIF

USE

SET TALK ON

В программе использованы временные переменные: N - количество записей в базе данных, K - признак успешного поиска и F для обозначения фамилии, по которой осуществляется поиск.

3. Закройте окно с сохранением (Ctrl+W), в окне Command наберите команду для запуска программы на выполнение: DO POISKFАM.

4. Результаты выполнения программы появятся на экране. Если в тексте программы были допущены ошибки, то в ответ на сообщение об этом следует выбрать Cancel, затем исправить ошибку и повторить пункт 3.

Задание 4. Создать программу-меню с использованием оператора выбора DO CASE для вызова и выполнения любой из составленных ранее программ. Использовать для решения задачи базу данных, созданную в предыдущих работах, и программы из заданий 1-3

1. В окне Command наберите команду для создания командного файла с именем VYBOR.PRG

MODI COMM VYBOR

2. В открывшемся окне с заголовком VYBOR.PRG наберите друг за другом следующие команды программы:

CLEAR

? `Выбор программы для выполнения'

? `1. Вычисление площади треугольника'

? `2. Список моложе 30 лет'

? `3. Поиск по фамилии'

INPUT `Введите номер задания' to K

DO CASE

CASE K=1

DO PLTREUG.PRG

CASE K=2

DO POISK80.PRG

CASE K=3

DO POISKFAM.PRG

ENDCASE

3. Закройте окно с сохранением (Ctrl+W), в окне Command наберите команду для запуска программы на выполнение: DO VYBOR.

4. В результате выполнения программы на экране появится меню для выбора нужной программы. Если в тексте программы были допущены ошибки, то в ответ на сообщение об этом следует выбрать Cancel, затем исправить ошибку и повторить пункт 3.

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

6. Оформите эту же программу вторым способом (по указанию преподавателя). Это будет выглядеть более красиво на экране, выбор варианта можно осуществлять мышью, кроме того, возврат в меню будет производиться автоматически.

Второй способ написания программы-меню:

CLEAR

DO WHILE .T.

SET COLOR TO W/B, N/RG

CLEAR

@ 6,3 TO 15,50 DOUBLE

@ 8,20 SAY `Выбор программы'

@ 10,10 PROMPT `1. Вычисление площади треугольника'

@ 11,10 PROMPT `2. Список моложе 30 лет'

@ 12,10 PROMPT `3. Поиск по фамилии'

@ 13,10 PROMPT '4. Конец работы'

MENU TO K

DO CASE

CASE K=1

DO PLTREUG

WAIT 'Нажмите enter'

CASE K=2

DO POISK80

WAIT 'Нажмите enter'

CASE K=3

DO POISKFAM

WAIT 'Нажмите enter'

CASE K=4

CLEAR

CANCEL

ENDCASE

ENDDO

Лабораторная работа № 5. Создание окна редактирования BROWSE

Написать программу, пользуясь примером, которая очищает экран, выводит BROWSE-окно с заголовком на русском языке.

Пример задания: Создать Browse-окно с заголовком «Стипендия» с полями «Фамилия», «Отметка» и «Стипендия», причем стипендия начисляется по правилу: отличникам - 500, хорошистам - 400; поле «Отметка» проверяется на правильность ввода, и выдается сообщение о неправильном вводе.

Выполнение задания: набираем в командном окне команду открытия встроенного редактора текста modify command primer.

В окне редактора текста набираем программу:

BROWSE FIELDS ;

FIO:h='Фамилия', ;

OT:h='Отметка':v=ot>=0 and ot<=5; :e='Неверно', ; STIP=IIF(!z,0,iif(ot=5,500,iif(ot=4,400,0))):H='Стипендия' ;

TITLE 'Стипендия'

Пояснения: точка с запятой в конце строки является символом продолжения команды на следующую строку; поля перечисляются через запятую, опции через пробел; ключи отделяются от названия поля двоеточием; вычисляемое поле STIP именуется пользователем и вычисляется с помощью функции IIF; поле Z - логическое, (означает, сданы ли зачеты), !Z означает отрицание (т.е. зачеты не сданы), в этом случае стипендия не назначается.

1 вариант:

Создайте Browse-окно с общим заголовком «Начисление компенсации» и заголовками полей на русском языке по следующему правилу: поле фамилия только для чтения, поле пол с проверкой на правильность ввода и выдачей сообщения в правом верхнем углу о неправильном вводе, поле зарплата, вычисляемое поле компенсация, которое начисляется по следующему правилу: женщинам с зарплатой меньше 3000 р. выплатить 1000р., женщинам с зарплатой не меньше 3000 р. выплатить 800р., мужчинам с зарплатой меньше 5000 р. выплатить 2000 р., мужчинам с зарплатой не меньше 5000 р. выплатить 1500 р.

2 вариант:

Создайте Browse-окно с общим заголовком «Уценка книг» и заголовками полей на русском языке по следующему правилу: поле название только для чтения, поле наличие в библиотеке с проверкой на правильность ввода и выдачей сообщения в правом верхнем углу о неправильном вводе, поле цена, вычисляемое поле новая цена, которое начисляется по следующему правилу: книги с датой выпуска раньше 1950, которые есть в библиотеке уценить на 50 %, книги с датой выпуска не раньше 1950, которые есть в библиотеке уценить на 10 %, книги с датой выпуска не раньше 1950, которых нет в библиотеке - уценить на 50 р., книги с датой выпуска раньше 1950, которых нет в библиотеке - уценить в 2 раза.

Выполните тестовую проверку. Файл сохраните в активной директории комбинацией клавиш Ctrl +W.

Лабораторная работа № 6. Работа с функциями

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

Пример задания: распечатать список тех, у кого фамилия заканчивается на «ин».

Выполнение задания: набрать в командном окне команду modify command primer2. Набрать в окне редактора программу:

CLEAR

SET TALK OFF

SET HEAD OFF

@ 1,1 SAYСписок людей, у которых фамилия заканчивается «ин»”

LIST OFF FAM FOR SUBSTR(FAM,LEN(FAM)-1,2)='ин'

WAIT

CLEAR

1 вариант:

Распечатать список фамилий девушек от 18 до 25, у которых есть жилье.

Распечатать список фамилий с выдачей сообщения: «мужчина» или «женщина».

Распечатать список людей, у кого в фамилии встречается 2 буквы «к».

Распечатать список людей, у кого фамилия начинается на букву «К».

Распечатать список людей, у кого фамилия заканчивается на «ин» или «ын».

Распечатать список первых четырех символов фамилий.

Распечатать список людей, родившихся в декабре.

Распечатать список людей, родившихся в новом веке.

Пометить к удалению каждого второго человека. Распечатать список оставшихся.

Распечатать с помощью датчика случайных чисел фамилию.

2 вариант:

Распечатать список книг, возраст издания которых от 5 до 10 лет, и они есть в библиотеке.

Распечатать список книг с выдачей сообщения: либо «дорогая» (цена больше1000 р.), либо «дешевая».

Распечатать список фамилий авторов, у которых в отчестве встречается 2 буквы «о».

Распечатать список фамилий тех, у которых отчество начинается на букву «Л».

Распечатать список фамилий авторов, у которых фамилия заканчивается на «ова» или «ева».

Распечатать список первых четырех символов имени.

Распечатать список книг, выпущенных в декабре.

Пометить к удалению книги, выпущенные в прошлом веке. Распечатать список оставшихся.

Распечатать с помощью датчика случайных чисел название книги.

Лабораторная работа № 7. Команды FOXPRO

Задание № 1. Составьте программу, используя теоретический материал и приведенные примеры из параграфа 3.2.3., по вариантам

1 вариант:

Пометить к удалению тех, у кого есть жилье.

Отменить пометку к удалению женщинам, имеющим жилье.

Увеличить зарплату в 2 раза тем, у кого зарплата меньше 5000 р.

Увеличить зарплату на 500 р. тем, у кого зарплата больше 5000 р.

Заменить фамилию Петрова на фамилию Иванова.

Уволить с работы всех пенсионеров (женщины - 55 лет, мужчины - 60 лет).

Дополнить биографию фразой «закончил КемТИПП».

Увеличить дату рождения на год.

Проиндексировать базу данных по зарплате.

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

2 вариант:

Пометить к удалению те книги, которых нет в библиотеке.

Отменить пометку к удалению тех книг, цена которых больше 1000 р.

Увеличить в 2 раза цену тех книг, у которых цена меньше 50 р.

Увеличить цену на 100 р. тем книгам, у которых цена больше 500 р.

Заменить отчество Иванович на отчество Петрович.

Изменить цену на 0 тем книгам, которые были выпущены более 50 лет назад.

Дополнить аннотацию фразой «выпущена в СССР».

Увеличить дату выпуска на год.

Проиндексировать базу данных по цене книг.

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

Указания и задания для выполнения контрольной работы

Для выбранного варианта сформируйте базу данных. Создаваемая база данных должна состоять из 10 разноплановых записей.

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

Для выбора номера варианта необходимо использовать две последние цифры зачетки или студенческого билета:

NM mod 10

где NM - личный шифр студента (целое число, образованное двумя последними цифрами номера зачетной книжки), то есть по алгоритму:

1. Разделить шифр на 10.

2. Выделить целую часть результата Р.

3. Номер варианта: № = NM - 10 P.

Выполненные контрольные работы могут быть отправлены на электронную почту кафедры:

pmvt@kemtipp.ru

В качестве темы сообщения (Subject) указывается город, шифр учебной группы и фамилия студента. Сами контрольные работы должны представлять собой файл в формате RTF и архив файла базы данных в формате ZIP. Срок отправки контрольных работ электронной почтой - не позднее, чем за три недели до начала сессии.

Варианты контрольных заданий

Вариант 1-5. Создать базу данных на основе таблицы с необходимыми для задания полями. Заполнить базу данных десятью разноплановыми записями.

Хранимая информация

Имя поля

Тип данных

Размер

Фамилия

FIO

Символьное

15

Дата рождения

DTR

Дата

Пол

POL

Символьное

1

Наличие зачетов

Z

Логическое

Оценка за первый экзамен

ОТ1

Числовое

1.0

Оценка за второй экзамен

ОТ2

Числовое

1.0

Оценка за третий экзамен

ОТ3

Числовое

1.0

Общественная

характеристика

XAR

Текстовое (memo)

Наличие льгот при начислении стипендии

LG

Логическое

Количество дней на больничном

КB

Числовое

3.0

Семейное положение

SP

Символьное

1.0

Количество детей

KD

Числовое

2.0

Вариант 1. Распечатать фамилии и общественные характеристики мужчин в возрасте от 18 до 22 лет, имеющих льготы при начислении стипендии. Подсчитать их количество. Создать BROWSE-окно с общим заголовком «Стипендия», с полями «Фамилия», «Отметка» и «Стипендия». Стипендию начислить по правилу: отличникам - 1500 р., хорошистам - 1200 р., троечникам, имеющим льготы - 1000 р. Поле «Отметка» проверить на правильность ввода и выдать сообщение о неправильном вводе. Пометить к удалению студентов, не имеющих зачета, подсчитать их количество, если их меньше 5, то снять пометку к удалению у болевших в течение семестра; остальных удалить из базы, если не меньше 5, то снять пометку к удалению у всех.

Вариант 2. Распечатать экзаменационную ведомость на два экзамена. В ведомости должны быть только фамилии допущенных к экзаменационной сессии (сдавших зачеты). Названия экзаменов необходимо ввести с клавиатуры. Распечатать экзаменационную ведомость на экзамен «Санитарная подготовка» для женщин. Создать - BROWSE-окно с общим заголовком «Стипендия», с полями «Фамилия», далее три поля с названием экзаменов и поле «Стипендия». Стипендию начислить по правилу: отличникам - 1500 р., хорошистам - 1200 р., троечникам, имеющим льготы - 1000 р.. Поле «Отметка» проверить на правильность ввода и выдать сообщение о неправильном вводе. Пометить к удалению студентов, не имеющих зачета или хотя бы одну двойку, подсчитать их количество, если их меньше 5, тогда снять отметку у болевших в течение семестра; остальных удалить из базы, если не меньше 5, то снять пометку к удалению у всех.

Вариант 3. Распечатать экзаменационную ведомость на два экзамена. В ведомости должны быть только фамилии допущенных к экзаменационной сессии (сдавших зачеты). Названия экзаменов необходимо ввести с клавиатуры. Распечатать экзаменационную ведомость на экзамен «Военная подготовка» для мужчин. Создать - BROWSE-окно с общим заголовком «Стипендия», с полями «Фамилия», далее три поля с названием экзаменов и поле «Стипендия». Стипендию начислить по правилу: отличникам - 1500 р., хорошистам - 1200 р., троечникам, имеющим льготы - 1000 р. Поле «Отметка» проверить на правильность ввода и выдать сообщение о неправильном вводе. Распечатать характеристики кандидатов на отчисление для военкомата, исключить из списка болевших в течение семестра или семейных с детьми. Пометить к удалению студентов, не имеющих зачета, подсчитать их количество, если их меньше 5, то снять отметку у семейных с детьми; остальных удалить из базы, если не меньше 5, то снять пометку к удалению у всех.

Вариант 4. Распечатать фамилии и общественные характеристики студентов в возрасте от 20 до 25 лет, имеющих льготы при начислении стипендии. Подсчитать их количество. Создать BROWSE-окно с общим заголовком «Пособие на детей», с полями «Фамилия», «Наличие льгот», «Количество детей», «Средний балл в сессии», расчетное поле «Пособие на детей», которое начислить по правилу: каждому ребенку - 1500 р., если есть льготы у родителей - добавить 500 р., если средний балл в сессии больше 4 - добавить 500 р.. Пометить к удалению студентов, не имеющих детей. Подсчитать их количество, если их меньше 5, то снять пометку к удалению у имеющих более одного ребенка; остальных удалить из базы, если не меньше 5, то снять пометку к удалению у всех.

Вариант 5. Распечатать фамилии и общественные характеристики незамужних студентов-женщин, имеющих детей. Подсчитать их количество. Создать BROWSE-окно с общим заголовком «Пособие на детей», с полями «Фамилия», «Семейное положение», «Пол», «Количество детей», расчетное поле «Пособие на детей», которое начислить по правилу: каждому ребенку - 1500 р., если семейное положение «Не замужем» - добавить 1500 р. Пометить к удалению студентов-женщин, не имеющих детей. Подсчитать их количество, если их меньше 5, то снять пометку к удалению у не имеющих детей; остальных удалить из базы, если не меньше 5, то снять пометку к удалению у всех.


Подобные документы

  • Исследование характеристик и функциональных возможностей системы управления базами данных Microsoft Office Access. Определение основных классов объектов. Разработка базы данных "Делопроизводство". Создание таблиц, форм, запросов, отчетов и схем данных.

    реферат [1,3 M], добавлен 05.12.2014

  • Анализ возможностей системы управления базами данных "Microsoft Access 2003". Создание базы данных, предназначенной для отражения деятельности аэропорта. Концептуальная и физическая модель базы данных. Создание таблиц, запросов, отчетов и главной формы.

    курсовая работа [1,8 M], добавлен 26.06.2013

  • Создание базы данных по теме "Склад фруктов" в СУБД Microsoft Access. Проектирование запросов по числовым, символьным, логическим критериям и сложных запросов, состоящих из комбинаций приведенных типов данных. Создание форм и таблиц, конструктор отчетов.

    курсовая работа [869,2 K], добавлен 04.11.2014

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

    курсовая работа [2,1 M], добавлен 17.06.2013

  • Основные объекты системы управления базами данных Microsoft Access. Разработка базы данных для магазина бытовой техники, оказывающая покупателям бытовой техники информационную функцию. Создание таблиц, схемы данных, запросов, форм, отчетов, главной формы.

    контрольная работа [1,8 M], добавлен 29.07.2013

  • Характеристика Microsoft Access. Создание структуры базы данных. Определение основных тем таблиц базы данных и информации, которую будут содержать поля таблиц. Создание таблиц, запросов, форм и отчетов. Страницы доступа к данным. Макросы и модули.

    курсовая работа [1,1 M], добавлен 09.12.2012

  • Компоненты реляционной базы данных Microsoft Access. Создание структуры таблиц и определение связей между ними. Проектирование форм для сводных таблиц и запросов с помощью конструктора окон. Разработка и создание автоотчетов и запросов на выборку данных.

    реферат [3,3 M], добавлен 29.01.2011

  • Базы данных и системы управления базами данных. Структура простейшей базы данных, свойства полей. Понятие языка SQL. Проектирование баз данных, режимы работы, объекты. СУБД Microsoft Access. Создание базы данных "Электротовары" средствами Visual FoxPro.

    курсовая работа [5,7 M], добавлен 29.04.2014

  • Основные функции СУБД. Разработка базы данных, содержащих информацию о спектаклях с помощью инструментов и объектов Microsoft Access. Текстовое описание основной и вспомогательных таблиц. Создание форм, запросов и отчетов по данным, содержащихся в них.

    курсовая работа [1,9 M], добавлен 08.01.2015

  • Базы данных с двумерными файлами и реляционные системы управления базами данных (СУБД). Создание базы данных и обработка запросов к ним с помощью СУБД. Основные типы баз данных. Базовые понятия реляционных баз данных. Фундаментальные свойства отношений.

    реферат [57,1 K], добавлен 20.12.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.