Министерство общего и профессионального образования Российской Федерации
НГТУ
Расчетно-графическая работа
По дисциплине «Системы управления базами данных»
База данных «Библиотека»
Выполнил: Соловей С.С.
Вариант: 22
Преподаватель: Трошина Г. В.
Новосибирск, 2002
Содержание. 2
Задание. 3
Описание структур данных. 4
Описание связей. 5
Главная форма приложения. 6
Ввод первичных данных. 7
Реализация запросов к БД.. 13
Отчет приложения. 17
Заключение. 18
Список используемой литературы.. 19
Основная база данных “Библиотека”. Предусмотреть: меню, печать на экран, ввод данных, редактирование, просмотр данных. Реализовать следующие типы запросов:
n Для каждого автора указать сведения о нем (ФИО, год рождения, страна и т.п.).
n Для каждого автора выдать список книг, отсортированный:
n по году выпуска,
n в алфавитном порядке все книги,
n по стоимости.
n Найти долю «старых » книг (срок эксплуатации больше заданного, ввод с клавиатуры) от общего числа книг.
n Найти самую дорогую книгу (по каждому автору), самую дешевую, среднюю стоимость.
n Найти книги с ценой свыше 100 р. (и любая другая сумма, т.е. предусмотреть ввод цены с клавиатуры).
n Найти все книги, поступившие из заданной страны (ввод страны), чья стоимость больше заданной (ввод стоимости).
n Найти количество книг, выпущенных за определенный период (год, 5 лет, 10 лет), за этот же период определить среднюю стоимость, самую дорогую, самую дешевую.
n Найти количество книг в библиотеке (по каждому типу и в целом) с заданным годом выпуска (ввод года).
n Найти долю книг, поступивших из заданной страны (ввод страны) от общего числа книг.
Для решения задачи в среде Visual FoxPro 6.0 были созданы следующие таблицы:
Таблица «Авторы», внутренне имя – authors.dbf
В этой таблице хранится информация об авторах, чьи книги имеются в библиотеке.
Поле |
Тип поля |
Описание |
Id_author |
Numeric, Primary Key |
Уникальный идентификатор |
Id_c |
Numeric, Secondary Index |
Для связи с таблицей «Страны» |
lname |
Character[20] |
Фамилия автора |
name |
Character[20] |
Имя автора |
mname |
Character[20] |
Отчество автора |
Birth_date |
Date |
Дата рождения автора |
Таблица «Страны», внутреннее имя – countries.dbf
В этой таблице хранится информация о странах, из которых поступили книги, либо информация о странах, в которых проживают авторы книг.
Поле |
Тип поля |
Описание |
Id_c |
Numeric, Primary Key |
Уникальный идентификатор |
Country |
Character[20] |
Страна |
Таблица «Книги», внутренне имя – books.dbf
В этой таблице хранится информация о книгах, имеющихся в библиотеке.
Поле |
Тип поля |
Описание |
Id_author |
Numeric, Secondary Index |
Связь с таблицей «Авторы» |
Id_Country |
Numeric, Secondary Index |
Связь с таблицей «Страны» |
Book_name |
Character[40] |
Название книги |
Cost |
Currency |
Стоимость |
Date_writing |
Date |
Дата выпуска книги |
Связи в данной работе строятся следующим образом:
(Автор, таблица Авторы) связан с (Автор, таблица Книги) связью 1:М
(Страна, таблица Страны) связан с (Страна, таблица Автор) связью 1:М
(Страна, таблица Страны) связан с (Страна, таблица Книги) связью 1:М
Приведенный ниже рисунок демонстрирует описанное выше более наглядно:
Для работы с приложением необходимо запустить форму с именем main, в которой сосредоточены основные элементы управления базой данных «Библиотека»
Главная форма выглядит следующим образом:
Код формы:
Инициализция
set default to C:\documents\nstu\subd\library\
do menu1.mpx with this, .t.
Редактирование первичных данных
thisform.release
DO FORM books_ed (либо auth_ed, country_ed)
Запуск форм запросов
thisform.release
DO FORM queryX, где Х – номер запроса
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.