Программирование в среде VisualFoxPro. Создание базы данных «Зоопарк», страница 2

  • id (I) — идентификатор животного
  • name (C) — имя животного
  • gender (C) — пол животного
  • year (DATE) — год рождения животного
  • cost (N) — стоимость животного
  • date (DATE) — дата приобретения животного
  • ill (C) — больное ли животное
  • pregnant (C) — беременное ли животное
  • sp_name (C) — имя спонсора животного
  • sp_money_min (N) — минимальный предел спонсирования животного
  • sp_money_max (N) — максимальный предел спонсирования животного
  • detachment_id (I) — идентификатор отряда животного
  • kind_id (I) — идентификатор вида животного
  • country_id (I) — идентификатор страны животного

Таблица Country содержит следующие поля:

  • id (I) — идентификатор страны
  • name (C) — название страны

Таблица Detachment содержит следующие поля:

  • id (I) — идентификатор отряда животного
  • name (C) — название отряда животного

Таблица Kind содержит следующие поля:

  • id (I) — идентификатор вида животного
  • name (C) — название вида животного
  • location (C) — место обитания животного
  • unique (I) — категория редкости животного
  • detachment_id (I) — идентификатор отряда животного

Таблица Eat содержит следующие поля:

  • id (I) — идентификатор питания животного
  • amount (N) — количество питания
  • deliver_id (I) — идентификатор поставки питания
  • animal_id (I) — идентификатор животного

Таблица Deliveries содержит следующие поля:

  • id (I) — идентификатор поставки продукта
  • cost (N) — стоимость продукта
  • date (DATE) — дата реализации продукта
  • product_id (I) — идентификатор продукта
  • supplier_id (I) — идентификатор поставщика продукта

Таблица Suppliers содержит следующие поля:

  • id (I) — идентификатор поставщика
  • name (N) — название поставщика

Таблица Products содержит следующие поля:

  • id (I) — идентификатор продукта
  • name (N) — название продукта

3.  Запросы к базе данных и интерфейс пользователя.

3.1. Интерфейс пользователя.

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

Рис. 2. Меню базы данных.

Рассмотрим подробно подменю:

  • Добавление — позволяет осуществлять ввод данных в базу данных (рис. 3.).
  • Просмотр — позволяет осуществлять просмотр данных (рис. 4.).
  • Запросы — обеспечивает доступ к вызовам различных запросов к базе данных

(рис. 5.)

  • Выход — выход из меню.

                                  

Рис. 3. Подменю «Добавление».                             Рис. 4. Подменю «Просмотр».

Рис. 5. Подменю «Запросы».

3.2. Данные.

Для демонстрации работы базы данных, в неё были внесены следующие данные

(рис. 6-13):

Рис. 6. Содержимое таблицы Animals.

Рис. 7. Содержимое таблицы Country.

         

  Рис. 8. Содержимое таблицы Deliveries.        Рис. 9. Содержимое таблицы Detachment.

Рис. 10. Содержимое таблицы Eat.

Рис. 11. Содержимое таблицы Kind.

                              

     Рис. 12. Содержимое таблицы Products.        Рис. 13. Содержимое таблицы Suppliers.

3.3. Формы и запросы, используемые для ввода информации.

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

Добавление страны:

Рис. 14. Форма добавление страны.

Код метода Click кнопки «Добавить»:

public tmp(2)

if reccount("country") > 0

            SELECT MAX(id) FROM country INTO ARRAY tmp

else

            tmp[1] = -1

endif

INSERT INTO country VALUES (tmp[1]+1, thisform.text.value)

thisform.text.value=""

thisform.list.refresh

Код метода Click кнопки «Очистить»:

thisform.text.value=""

Код метода Click кнопки «Удалить»:

if val(thisform.list.value) >= 0

            RECALL ALL

            DELETE FROM country WHERE id=val(thisform.list.value)

            pack

            thisform.list.refresh

endif

Добавлениеотряда:

Рис. 15. Форма добавление отряда.

Код метода Click кнопки «Добавить»:

public tmp(2)