Создание базы данных “Игрушки”

Страницы работы

Содержание работы

Министерство общего и профессионального образования Российской Федерации

НГТУ

Расчетно-графическая работа

по дисциплине

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

Вариант 16

База данных «ИГРУШКИ»

Выполнил:

студент гр. АМ-910

факультета АВТФ

Хуснатдинов Д.Г.

Преподаватель:

Трошина Г.В.

Новосибирск, 2002

Содержание

Содержание. 2

Задание. 3

Описание структур данных. 4

Описание связей. 5

Главная форма приложения. 6

Ввод данных. 7

Реализация запросов к БД.. 9

Заключение. 15


Задание

Основная база данных “Игрушки”. Предусмотреть: меню, печать на экран, ввод данных, редактирование, просмотр данных. Реализовать следующие типы запросов с использованием нескольких таблиц:

n Для каждого вида игрушек указать сведения о нем (наименование, дату выпуска, поставщик, цена, вес, для какого возраста предназначена, дата продажи и т.п.).

n Для каждого вида игрушек выдать список, отсортированный:

n по дате выпуска,

n в алфавитном порядке по поставщику,

n по весу,

n по стоимости,

n по дате продажи.

n Найти самый дорогой вид игрушек, самый дешевый, среднюю стоимость по каждому виду и в целом.

n Найти игрушки с ценой в заданных пределах (предусмотреть ввод цены с клавиатуры) по каждому виду и в целом.

n Найти все игрушки заданного производителя (выбор).

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

n Найти все игрушки с заданной датой выпуска (ввод даты).

n Найти все игрушки, чей вес находится в заданных пределах (ввод интервала) для заданного производителя (выбор) и в целом.

n Найти долю игрушек, проданных за определенный период (ввод периода) от общего времени продажи.

n Найти самый популярный вид игрушки (продано наибольшее количество) для заданного возраста (ввод) и в целом.

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

n Найти среднюю стоимость игрушек, проданных за определенный промежуток времени (ввод интервала).

n Найти все игрушки, чья стоимость выше, чем средняя стоимость игрушек заданного производителя.


Описание структур данных

Для решения задачи в среде Visual FoxPro 6.0 были созданы следующие таблицы:

Таблица «Игрушки», внутренне имя – toys.dbf

Поле

Тип поля

Описание

Id

Integer(4), PK

Уникальный идентификатор

Name

Character(30)

Наименование игрушки

Type

Integer(4), FK

Идентификатор типа игрушки

Vendor

Integer(4), FK

Идентификатор поставщика

Prod_date

Date(8)

Дата выпуска

Weight

Numeric(4,3)

Вес

Cost

Currency(8)

Цена

Age_low

Integer(4)

Нижняя граница возраста

Age_high

Integer(4)

Верхняя граница возраста

Таблица «Типы», внутреннее имя – types.dbf

Поле

Тип поля

Описание

Id

Integer(4), PK

Уникальный идентификатор

Name

Character(30)

Имя типа

Таблица «Поставщики», внутренне имя – vendors.dbf

Поле

Тип поля

Описание

Id

Integer(4), PK

Уникальный идентификатор

Name

Character(30)

Имя поставщика

Таблица «Продажи», внутренне имя – sales.dbf

Поле

Тип поля

Описание

Id

Integer(4), FK

Id игрушки

Price

Currency(8)

Цена

Sale_date

Date(8)

Дата продажи

Quantity

Int(4)

Количество игрушек


Связи в БД


Главная форма приложения

Для работы с приложением необходимо запустить форму с именем main, в которой сосредоточены основные элементы управления базой данных «Игрушки»

Главная форма выглядит следующим образом:


Ввод данных

Заполнение таблиц осуществляется с помощью форм Toys, Types, Vendors и Sales. Эти формы созданы с использованием Form Wizard.


Реализация запросов к БД

 Для каждого вида игрушек выдать список, отсортированный:

n по дате выпуска,

n в алфавитном порядке по поставщику,

n по весу,

n по стоимости,

n по дате продажи.

sqlvar1 = "SELECT t.name as Игрушка,v.name as Поставщик,t.prod_date as Выпуск,t.weight as Вес,t.cost as Цена,sales.sale_date as Продажа FROM toys as t left JOIN vendors as v ON v.id=t.vendor left JOIN sales ON sales.id=t.id"

a = THISFORM.type_combo.value

* getting sort criteria

IF ThisForm.sort_combo.Selected(1)

ord='prod_date'

endif

IF ThisForm.sort_combo.Selected(2)

ord='v.name'

endif

IF ThisForm.sort_combo.Selected(3)

ord='t.weight'

endif

IF ThisForm.sort_combo.Selected(4)

ord='t.cost'

endif

IF ThisForm.sort_combo.Selected(5)

ord='sale_date'

endif

if (a=="") then

else

_VFP.DoCmd(sqlvar1 +' WHERE t.type='+a+' ORDER BY '+ord)

endif

Найти самый дорогой вид игрушек, самый дешевый, среднюю стоимость по каждому виду и в целом.

Похожие материалы

Информация о работе