Содержание
Перечень вопросов, подлежащих разработке
1. Анализ исходных данных и разработка ТЗ
1.1 Основание и назначение разработки
1.2 Требования к функциональным характеристикам
1.3 Рекомендуемые требования к составу и параметрам техническихсредств, программной совместимости
1.4 Теоретические сведения
2. Внешняя спецификация
2.1 Входные данные
2.2 Выходные данные
2.3 Функциональная схема
3. Руководство пользователя
3.1 Назначение программы
3.2 Описание интерфейса программы
4. Руководство программиста
4.1 Организация ввода данных в программу и вывода результатов
4.2 Схема данных
4.3 SQL запрос и его описание
4.4 Описание процедур и их параметров
5. Тестовый пример
Приложения
/>/>/>Переченьвопросов, подлежащих разработке
Ø Закреплениеи углубление теоретических знаний и практических навыков по курсу «Базаданных», связанных с программированием в среде MS Access;
Ø Самостоятельноерешение задачи, как алгоритмического программирования, так и разработкипрограмм;
Ø Развитиенавыков самостоятельного использования справочной литературы, справочнойсистемы MS Access;
Ø Получениенавыков в составлении текстовой программной документации в соответствии ссуществующими стандартами.
/>/>/>1. Анализисходных данных и разработка ТЗ/>/>/>1.1 Основание и назначениеразработки
Курсоваяработа является результатом подведения итогов по курсу «Базы данных».Назначением разработки является закрепление и углубление практических знаний инавыков, связанных с программированием в среде MS ACCESS./>/>/> 1.2 Требования к функциональным характеристикам
Программадолжна обеспечить:
- вводданных (добавление новых книг, авторов, издательств и тем литературныхпроизведений);
- редактированиеданных (изменение информации о книге, её авторе, издательстве, теме, жанрепроизведения в случае возникновения ошибки при заполнении каталога);
- выводданных (просмотр записей библиотечного каталога и получение информации о книге,её авторе и издательстве, в котором она была издана; просмотр отчетов обо всехимеющихся в библиотеке книгах данного автора и о количестве книг, изданныхкаждым издательством) на экран и печать отчетов./>/>/> 1.3 Рекомендуемые требования к составу и параметрамтехнических средств, программной совместимости
- MicrosoftWindows 98;
- MicrosoftAccess 97;
- CPU266 Celeron;
- 16 Мбоперативной памяти.
1.4 Теоретические сведения
Данная базаданных включает в себя одиннадцать таблиц. Для выполнения операций над данными,хранящимися в таблице, каждая запись имеет уникальный идентификатор (главныйключ), значение которого однозначно определяет только эту запись в границахтаблицы. Главный ключ может состоять как из одного поля (например, для полейтаблице «тблКнига» главным ключом является значение поля «Код книги»), так и изнескольких полей (например, для полей таблице «тблРасположение» главным ключомявляется значения полей «Код книги» и «Код отдела»). Таблицы соединены междусобой следующими видами связи:
- «один– ко – многим» (например, «тблЖанры» и «тблКнига» — существует много книгимеющих один вид жанра, но каждая книга имеет только один вид жанра);
- «многие– к – одному» (например, «тблРасположение» и «тблКнига» — разные отделыбиблиотеки могут иметь книгу данного вида, но конкретная книга может находитьсятолько в одном отделе);
- «многие– ко – многим» (например, «тблАвторы» и «тблКнига» — каждый автор можетнаписать много книг и у одной книги может быть несколько авторов).
Последний видсвязи в MS Access реализуется с помощью третьей таблице, куда включаютсяключевые поля исходных таблиц. При объединении таблиц обеспечивается:
- условиецелостности данных, которое не позволяет вводить во внешнее ключевое полетаблицы (со стороны «многие») значения, отсутствующего в ключевом полесправочника (со стороны «один»);
- каскадноеудаление связанных записей, которое позволяет удалить записи из всех связанныхтаблиц;
- каскадноеобновление связанных полей, которое позволяет обновить данные во всех связанныхтаблицах.
Данная базаданных поддерживает следующий формат объединения данных в запросах: объединениетолько тех записей, в которых связанные поля обеих таблиц совпадают.
/>/>/>2. Внешняяспецификация/>/>/>2.1 Входные данные
Количество
– дляформы «Добавление автора» — по одному значению для полей «Фамилия», «Имя»,«Отчество», «Пол», «Дата рождения», «Дата смерти»;
– дляформы «Добавление книги» — по одному значению для полей «Шифр», «Автор книги»,«Название книги», «Год создания», «Аббревиатура отдела», «Год издания»,«Название издательства», «Количество страниц», «Жанр произведения», «Темапроизведения», «Степень участия в создании книги»;
– дляформы «Добавление издательства» — по одному значению для полей «Название»,«Город», «Адрес», «Телефон»;
– дляформы «Добавление города» — по одному значению для полей «Название города»,«Телефонный код»;
– дляформы «Добавление темы» — одно значение для поля «Название темы».
Тип – строковый для всех полей форм, кроме:
- «Датарождения», «Дата смерти» (форма «Добавление автора») – дата;
- «Годсоздания», «Год издания» (форма «Добавление книги») – дата, «Количествостраниц» (форма «Добавление книги») – числовой;
- «Телефонныйкод» (форма «Добавление города») – числовой.
Формат данных
- «Датарождения», «Дата смерти» (форма «Добавление автора») – длинный формат даты(например, 12 августа 1856 г.) или краткий формат даты (например, 12.07.1856);
- «Годсоздания», «Год издания» (форма «Добавление книги») – короткий формат(например, 2000 г.).
/>/>/>2.2 Выходные данные
Количество – по одному значению для полей «Фамилия», «Имя»,«Отчество», «Пол», «Дата рождения», «Дата смерти» и список имеющихся вбиблиотеке книг этого автора, с указанием их шифра, названия, отдела, где онирасположены, жанра, темы, года создания, издательства, в котором они былиизданы, года издания и количества страниц.
Для «Справочника по издательствам» — по одному значению для полей«Название издательства», «Город», «Адрес», «Телефонный код», «Номер телефона»,а также список всех имеющихся в библиотеке книг, изданных этим издательством, суказание автора.
Тип – строковый для всех полей формы, кроме:
- «Датарождения», «Дата смерти» – дата;
- «Годсоздания», «Год издания»– дата, «Количество страниц» – числовой.
Формат данных
- «Датарождения», «Дата смерти» – длинный формат даты (например, 12 августа 1856 г.)или краткий формат даты (например, 12.07.1856);
- «Годсоздания», «Год издания» – короткий формат (например, 2000 г.)./>/>/> 2.3 Функциональная схема
Функциональная схема представлена в Приложении Б (см. рисунокБ.1).
/>/>/>3. Руководствопользователя/>/>/>3.1 Назначение программы
Разработать программный продукт, позволяющий просматривать иредактировать записи библиотечного каталога. Потенциальные пользователипрограммы – библиотекари./>/>/> 3.2 Описание интерфейса программы
Форма«Литературные произведения»
Формаизображена на рисунке А.1 (см Приложение А). Для того, чтобы передвигаться позаписям в левом верхнем углу формы приведены четыре кнопки перехода по записям(первая запись, предыдущая запись, следующая запись, последняя запись). Приэтом в текстовых полях формы приводится информация об авторе произведения, а втаблице – информация о книгах этого автора, имеющихся в библиотеке. Сверху, напанели инструментов приведены кнопки добавления записей (добавить автора, добавитькнигу, добавить издательство), редактирования записей (редактирование автора,редактирование книги, редактирование издательства, редактирование города,редактирование темы), кнопки по работе с отчетами (просмотр отчета об авторах –его вид представлен на рисунке А9 (см Приложение А), печать отчета об авторах,просмотр отчета об издательствах (см рисунок А10 Приложения А), печать отчетаоб издательствах), а также кнопки «Удаление записи», «Найти запись»,«Справочник по издательствам», «Выйти из приложения». Для того чтобы найтинужную запись необходимо передать фокус текстовому полю, по которому будетпроисходить поиск, и нажать кнопку «Найти запись». В строке «Образец» ввестиискомое значение, в строке «Совпадения» выбрать, как будет происходить поиск, инажать кнопку «Найти далее».
Форма«Добавление автора»
Формаизображена на рисунке А.2 (см Приложение А). Для добавления информации обавторе, введите в соответствующие поля фамилию, имя, отчество писателя, датурождения, дату смерти (если писатель уже умер), выберете из выпадающего спискаего пол. Кнопка «Вернуться к главной форме» открывает форму «Литературныепроизведения» и закрывает «Добавление автора». А кнопка «Добавить книгу»закрывает текущую форму и открывает форму «Добавление книги».
Форма «Добавлениекниги»
Формаизображена на рисунке А.3 (см Приложение А). Для добавления новой книги введитев соответствующие поля формы библиотечный шифр книги, название, год создания,год издания, количество страниц, а также выберете из выпадающих списков авторапроизведения, аббревиатуру отдела, где расположена книга, названиеиздательства, жанр и тему произведения, степень участия автора в созданиикниги. Если требуемый автор, издательство, тема произведения отсутствуют ввыпадающих списках, то, нажав соответствующую кнопку, их можно добавить всписки. После заполнения всех полей необходимо нажать на кнопку «Добавитьзапись». Кнопка «Вернуться к главной форме» закрывает текущую форму и открываетглавную.
Форма«Добавить издательство»
Формаизображена на рисунке А.4 (см Приложение А). Для добавления нового издательствавведите в соответствующие поля формы его название, адрес по которому онорасположено, и телефон, а также выберете из выпадающего списка город, в которомнаходится издательство. Если требуемого города в списке нет, то вы можетедобавить его, нажав кнопку «Добавить город». Кнопка «Закрыть форму» закрываеттекущую форму, а кнопка «К главной форме» закрывает текущую и открывает главнуюформу.
Форма«Добавление города»
Формаизображена на рисунке А.5 (см Приложение А). Для добавления нового городавведите в соответствующие поля формы его название и телефонный код и нажмитекнопку «Выход» для закрытия формы.
Форма«Добавление темы»
Формаизображена на рисунке А.6 (см Приложение А). Для добавления новой темы введитев соответствующее поле формы её название и нажмите кнопку «Выход» для закрытияформы.
Форма«Справочник по издательствам»
Формаизображена на рисунке А.7 (см Приложение А). Для просмотра информации обиздательстве найдите нужное издательство с помощью кнопок перехода по записям,расположенных снизу. При этом в текстовых полях будет отображаться информацияоб издательстве, а в таблице приводиться список книг, выпущенных этимиздательством и имеющихся в наличии в библиотеке. Кнопки «Просмотр отчёта» и«Печать отчета» позволяют соответственно просматривать и печатать отчёт обиздательствах. Кнопка «К главной форме» закрывает текущую форму и открываетглавную.
Форма«Удаление книги»
Формаизображена на рисунке А.8 (см Приложение А). Для удаления книги, с помощьюкнопок перехода по записям, расположенных снизу, выберете нужную книгу ищелкните по кнопке «Удаление книги». Кнопка «Закрыть форму» закрываеттекущую форму и открывает главную.
Формыредактирования записей
Данные формыаналогичны формам добавления записей, но у них имеется кнопка «Найти и заменитьзапись». Алгоритм работы с этой кнопкой описан в пункте 4.2.1, но с тойразницей, что на вкладке «Замена», кроме поля «Образец» нужно ввести значениеполя «Заменить на:» и нажать кнопку «Заменить», а затем закрыть обе формы. Еслипри заполнении было не правильно выбрано значение из выпадающего списка, то приредактировании нужно выбрать новое значение и закрыть форму. Исключениесоставляют значения полей «Автор произведения» и «Аббревиатура отдела» формы«Редактирование книги», которые редактировать нельзя.
/>/>/>4. Руководствопрограммиста/>/>/>4.1 Организация ввода данных впрограмму и вывода результатов
Ввод данных впрограмму осуществляется при помощи мыши и с клавиатуры в объекты типа TextBox.
Для выводарезультатов используется объекты типа ComboBox, TextBox, таблицы MS Access итекстовые файлы./>/>/>4.2 Схема данных
Схема данных приведена в Приложении Б (см. рисунок Б.2)./>/>/>4.3 SQL запрос и его описание
Выбирают поля из таблиц тблКнига, тблАвторы итблМестоРасположения, которые следует объединить в запросе.
SELECT тблКнига.Шифр, [Фамилия] & " " &Left([Имя],1) & ". " & Left([Отчество],1) & "."AS ФИО, тблКнига.[Название книги], тблКнига.[Код издательства], тблКнига.[Годиздания], тблКнига.[Код темы], тблКнига.[Код жанра], тблКнига.[Количествостраниц], тблМестоРасположения.[Аббревиатура отдела]
Описывается способ объединения полей таблиц в запросе. INNER JOINозначает, что объединятся будут только те записи, в которых связанные поляобеих таблиц совпадают.
FROM тблМестоРасположения INNER JOIN ((тблКнига INNER JOINтблРасположение ON тблКнига.[Код книги] = тблРасположение.[Код книги]) INNERJOIN (тблАвторы INNER JOIN тблСвязи ON тблАвторы.[Код автора] = тблСвязи.[Кодавтора]) ON тблКнига.[Код книги] = тблСвязи.[Код книги]) ONтблМестоРасположения.[Код отдела] = тблРасположение.[Код отдела]
Определяется порядок сортировки записей в запросе по полям «ФИО» и«Название книги» по возрастанию
ORDER BY[Фамилия] & " " & Left([Имя],1) & ". " &Left([Отчество],1) & ".", тблКнига.[Название книги];/>/>/>4.4 Описание процедур и ихпараметров
Рассмотримпроцедуру нажатия на кнопку «Добавление автора»:
PrivateSub Кнопка27_Click()
On ErrorGoTo Err_Кнопка27_Click
Выделяемпеременную под имя формы
Dimstrdocname As String
Конкретизириумпеременную
strdocname= «Добавление автора»
Открытиеформы «Добавление автора» в режиме ввода данных.
DoCmd.OpenFormstrdocname,,,, acAdd
Закрытиеформы «Литературные произведения».
DoCmd.CloseacForm, «Литературные произведения»
Делаемневидимой кнопку «Найти запись»
Forms![Добавлениеавтора]! Кнопка25.Visible = False
Передачафокуса текстовому полю «Фамилия».
Forms![Добавлениеавтора]! Фамилия.SetFocus
Exit_Кнопка27_Click:
Выход изпроцедуры
Exit Sub
Err_Кнопка27_Click:
В случаепоявления ошибки вывод на экран сообщения
MsgBoxErr.Description
ResumeExit_Кнопка27_Click
End Sub
/>/>/>5. Тестовыйпример
Тестированиюподвергается часть программного кода, отвечающая за добавление новой книги.Необходимо добавить в каталог следующую книгу:
Крылов И. А.«Басни», 78.56, дет. ч/з, басни, классическая литература, 1850 г., Просвещение,2000 г., 75 стр.
Щелкаем мышьюпо кнопке «Добавить книгу», расположенную на форме «Литературные произведения».В появившейся форме «Добавление книги» вводим в текстовое окно «Шифр»библиотечный шифр книги – 78.56. При этом поле «Код книги» обновляетсяавтоматически. Убеждаемся в том, что в выпадающем списке «Автор книги»отсутствует Крылов И. А. Добавим его в список с помощью кнопки «Добавитьавтора». Вводим в поля появившейся формы «Добавление автора» следующиезначения:
Фамилия - Крылов
Имя - Иван
Отчество - Андреевич
Пол — мужской
Дата рождения - 24.05.1823
Дата смерти - 13.03.1890
И нажимаемкнопку «Добавить книгу». Из списка «Автор книги» выбираем, Крылов И.А.Аналогично заполняются другие поля формы «Добавление книги», а затем нажимаемкнопку «Добавить запись». Далее в форме «Литературные произведения» можнопросмотреть информацию об этой книге.
/>/>/>Приложение
/>
рисунок А.1
/>
рисунок А.2
/>
рисунок А.3
/>
рисунок А.4
/>
рисунок А.5
/>
рисунок А.6
/>
рисунок А.7
/>рисунок А.8
/>
/>
рисунок А.9
/>
рисунок А.10