Построение информационно-логической модели базы данных. Корректировка данных средствами запросов. Проектирование алгоритмов обработки данных. Реализация пользовательского интерфейса средствами форм. Разработка запросов для корректировки и выборки данных.
Имеется некоторая библиотека, в которой хранятся книги. Каждый жанр книги имеет свою продолжительность держания на руках и пеню, начисляемую в случае не возврата книги вовремя.Система “Библиотека” предоставляет следующие возможности для пользователей: Занесение новых книг в фонд библиотеки Просмотр всех книг, которые читатель брал за все время пользования библиотекойКод_вида_издания Код_вида_издания Вид_издания Вид_издания Код_издательства Код_издательства Место_издания Код_издания Библ_шифр Год_издания Аннотация Код_экземпляра На_руках? Место_издания Код_издания Библ_шифр Год_издания Аннотация Код_экземпляра На_руках?№ Название столбца Тип Ключ 3 Код_автора счетчик q № Название столбца Тип Ключ № Название столбца Тип Ключ 4 Код_вида_издания счетчик qРегистрация в библиотеке (если еще не зарегистрирован) Поиск книги в фонде Выбор найденной книги Занесение информации о взятой книги в карточку читателя Занесение в список информации, что книга на руках Подсчет общей пени каждого читателя Снятие книги с рук и отражение этого в списках Подсчет пени по данной книге (если такая имеется) Оплата пениПеня - запрос для расчета задолженности читателей по каждой книге. а) Данные из следующих таблиц должны быть включены в запрос: Авторы, Заглавия, Издание, Экземпляр, Вид_издания, Выдача, читатели. б) структура связей между таблицами: ((Заглавия INNER JOIN (Вид_издания INNER JOIN (Авторы INNER JOIN Издание ON Авторы.Код_автора = Издание.Код_автора) ON Вид_издания.Код_вида_издания = Издание.Код_вида_издания) ON Заглавия.Код_заглавия = Издание.Заглавие) INNER JOIN Экземпляр ON Издание.Код_издания = Экземпляр.Код_издания) INNER JOIN (Читатели INNER JOIN Выдача ON Читатели.Номер_билета = Выдача.Номер_билета) ON Экземпляр.Код_экземпляра = Выдача.Код_экземпляра в) поля, включаемы в запрос: SELECT Читатели.Фамилия, Читатели.Имя, Читатели.Отчество, Авторы.Автор, Заглавия.Заглавие, Выдача.Дата_выдачи, Выдача!Дата_выдачи Вид_издания!На_какой_срок AS До_какого_числа, Выдача.Когда_вернул, (Выдача!Когда_вернул-(Выдача!Дата_выдачи Вид_издания!На_какой_срок)) *Вид_издания!Начисляемая_пеня AS [Был долг], Выдача.Пеня AS Оплатить г) групповая операция: Читатели.Фамилия, Читатели.Имя, Читатели.Отчество, Авторы.Автор, Заглавия.Заглавие, Выдача.Дата_выдачи, Выдача!Дата_выдачи Вид_издания!На_какой_срок, Выдача.Когда_вернул, (Выдача!Когда_вернул-(Выдача!Дата_выдачи Вид_издания!На_какой_срок))*Вид_издания!Начисляемая_пеня, Выдача.Пеня д) условие отбора: ((([Выдача]![Пеня])0) AND ((([Выдача]![Когда_вернул]-([Выдача]! [Дата_выдачи] [Вид_издания]![На_какой_срок])) *[Вид_издания]!Номер_билета Код_экземпляра Дата_выдачи Когда_вернул Пеня Заплатил_пеню? Данный запрос, описанный в SQL: UPDATE ((Вид_издания INNER JOIN Издание ON Вид_издания.Код_вида_издания = Издание.Код_вида_издания) INNER JOIN Экземпляр ON Издание.Код_издания = Экземпляр.Код_издания) INNER JOIN Выдача ON Экземпляр.Код_экземпляра = Выдача.Код_экземпляра SET Выдача.Пеня = (Выдача!Когда_вернул-(Выдача!Дата_выдачи Вид_издания!На_какой_срок)) *Вид_издания! Начисляемая_пеня WHERE ((([Выдача]![Когда_вернул]-([Выдача]![Дата_выдачи] [Вид_издания]! [На_какой_срок]))>0) AND (([Выдача]![Пеня])=0) AND (([Выдача]![Заплатил_пеню?])=False)); Данный запрос, описанный в SQL: UPDATE ((Вид_издания INNER JOIN Издание ON Вид_издания.Код_вида_издания = Издание.Код_вида_издания) INNER JOIN Экземпляр ON Издание.Код_издания = Экземпляр.Код_издания) INNER JOIN Выдача ON Экземпляр.Код_экземпляра = Выдача.Код_экземпляра SET Выдача.[Заплатил_пеню?] = True WHERE ((([Выдача]![Когда_вернул]) Is Not Null) AND (([Выдача]![Пеня])=0));Разберем подробно разработку Главной формы и ее вкладки Просроченные книги. Эта вкладка предназначена для просмотра информации о тех книгах, которые читатель просрочил и не заплатил пеню. 1.1) Подсхема данных: 1.2) Наилучший тип формы для построения: В данной форме должна выдаваться информация в зависимости от выбора пользователем читателя, а это невозможно сделать с помощью составной формы. Для вложенной формы Просроченные_подчиненная форма форма источником записей являются следующие таблицы: Заглавия, Вид_издания, Авторы, Издание, Экземпляр, Читатели и Выдача. 1.5) Поля базы данных, которые отражены в форме: Вложенная форма Просроченные_подчиненная форма: Авт_знакФонд_библиотеки - отчет, в котором содержится информация обо всех книгах, рассортированная по авторам. 1.3) Источник записей: Издательства, Заглавия, Авторы, Издание. 1.4) Уровни группировки: Поле/выражение Заголовок группы Примечание группы 1.5) Поля: Заголовок группы "Автор" Заголовок группы "Код_автора"Оплата - макрос позволяет читателю заплатить пеню и не переплатить. а) Сообщение Макрокоманда выдает сообщение, если сумма, заплаченная пользователем, больше той, которую следует заплатить. б) КЭЛЕМЕНТУУПРАВЛЕНИЯ Макрокоманда открывает запрос на создание таблицы о сумме, которую заплатил читатель. При выполнении следующих макрокоманд необходимо, чтобы сумма, которую заплатил читатель, была меньше той,
План
Оглавление
1. Введение
2. Функциональные возможности системы
3. Построение информационно-логической модели базы данных
3.1. Выделение информационных объектов
3.2. Структура информационных объектов базы данных
3.3. Связи между информационными объектами
4. Проектирование алгоритмов обработки данных
5. Разработка запросов для корректировки и выборки данных
5.1. Запросы на выборку данных
5.2 Корректировка данных средствами запросов.
6. Реализация пользовательского интерфейса средствами форм
7. Разработка отчетов
8. Реализация алгоритмов обработки информации программными средствами
Имеется некоторая библиотека, в которой хранятся книги. Они различаются по авторам, по жанру, году издания, издательству, которое их выпустило, по месту издания. Каждый жанр книги имеет свою продолжительность держания на руках и пеню, начисляемую в случае не возврата книги вовремя.
В библиотеке записано некоторое количество читателей, данные о которых хранятся в специальной ведомости. Каждый читатель имеет возможность взять любую книгу, которая в данный момент находится в библиотеке.
После того, как человек взял книгу на руки, считается, что никакому другому читателю она не доступна до тех пор, пока взявший ее не вернет назад. Дата взятия книги заносится в ведомость и когда читатель возвращает книгу, учитывается, вернул ли он ее вовремя или же просрочил. В этом случае ему за каждый день просрочки начисляется пеня в установленном размере.
Вы можете ЗАГРУЗИТЬ и ПОВЫСИТЬ уникальность своей работы