Разработать базу данных любителей кошек
Курсовая работа, 03 Марта 2013, автор: пользователь скрыл имя
Краткое описание
Широкое распространение компьютерной техники и вычислительных сетей привело к увеличению объемов информации, хранимой в электронном виде, что повлекло необходимость усовершенствования принципов предварительной обработки и структурирования вводимых данных, а также алгоритмов доступа и модификации данных. Это привело к концепции баз данных и систем управления базами данных (СУБД). В настоящее время наиболее распространенными и промышленно применимыми являются реляционные базы данных.
Содержимое работы - 1 файл
Курсовой проект БД любителей кошек.doc
— 8.69 Мб (Скачать файл)Как правило, программа на языке
VBA состоит из нескольких процедур и функций.
Описания этих программных единиц хранятся
в модулях. В свою очередь, модули как составные
части входят в проекты. Проекты сохраняются
в файлах документов приложений Office, но
работают с ними с помощью отдельного
приложения — редактора Visual Basic. При необходимости
вызова процедуры или функции, описание
которой расположено в другом модуле,
ее имя при вызове указывается следующим
образом: имяМодуля.имяПроцедуры.
Если описание процедуры или функции расположено
в другом проекте, при вызове следует использовать
синтаксис: имяПроекта.имяМодуля.имя-
Описанные в процедурах VBA действия выполняются над переменными или объектами. Переменные VBA аналогичны переменным других языков программирования. Объекты, с которыми работают процедуры и функции VBA, представляют собой средство программного управления приложениями Office и созданными с их помощью документами. Как и в других объектно-ориентированных языках программирования, у объектов VBA имеются свойства, которые могут принимать различные значения. Эти значения можно использовать в инструкциях VBA в качестве переменных.
Иерархия как общих объектов Office, так и отдельных приложений описывается объектными моделями. Объектная модель описывает вложенность классов объектов, свойства, имеющиеся у объектов каждого из классов, а также методы — операции, с помощью которых можно менять значения этих свойств.
Управляющими конструкциями
Входящие в проект VBA процедуры
и функции располагаются в
модулях. Различают модули двух типов:
стандартные модули и модули класса.
Стандартные модули (модули программного
кода или просто модули) представляют
собой именованные контейнеры, в которых
содержатся переменные, доступные различным
процедурам и функциям (общие переменные),
и программные единицы (процедуры и функции),
не связанные с конкретными объектами.
Процедуры, связанные с конкретными объектами
(например, выполняющиеся при каждом открытии
на экране некоторой формы), хранятся совместно
с этими объектами (в данном случае — непосредственно
в форме).
Модули класса представляют собой именованные контейнеры, содержащие в себе описания созданного пользователем класса объектов. Описанные в них переменные определяют внутреннюю структуру объектов — экземпляров этого класса, а процедуры являются методами этих объектов [3].
Практическая часть
Описание базы данных
Данная база представляет собой общие сведения о кошках, которые принимают участие в выставках. Здесь имеются данные об их породах, возрасте, именах владельцев, выставках, в которых они принимали участие, и завоеванных наградах.
Пользователи базы данных могут просматривать все данные, выборочно (просмотреть только список пород кошек или выставок и т.д.), могут отфильтровать данные для себя (по любому значению), осуществлять поиск данных в целом по значению или фрагменту слова, добавлять данные, удалять, редактировать, выводить результаты своей работы на экран, в файл (формат выбирается пользователем из предложенных) или сразу на принтер.
Заполнение форм максимально упрощено – для ввода данных о владельцах и выставках достаточно проставить в поле id из справочника, который можно открыть тут же в этой же форме, не закрывая ее и не переключаясь, породы кошек и награды выбираются из выпадающего списка, вручную указывается только возраст как весьма расширенная информация, которую небольшим списком, удобным для пользования, нельзя ограничить.
Для удаления и редактирования данных тоже достаточно знать id номер записи. Для предотвращения ошибки на форме имеются кнопки вызова справочника, в котором можно точно посмотреть данные о редактируемой записи.
Также везде имеются всплывающие подсказки, которыми можно воспользоваться во время работы с базой данных.
Схема данных
Разработанная база данных включает в себя пять таблиц, одна главная и четыре подчиненные. Тип взаимосвязей между таблицами – «один-ко-многим".
Рисунок 1 – Схема базы данных
Главная таблица Cats включает в себя поля со следующими данными:
- cat_id – порядковый номер;
cmas_id – id владельца кошки, по нему подставляются значения из подчиненной таблицы Masters поля fio;
- cat_name – порода кошки (при заполнении этого поля используются данные подчиненной таблицы AD_cats через поле со списком. SQL-запрос:
SELECT AD_cats.Кошка FROM AD_cats;
- age – указывается возраст кошки, т.к. это довольно расширенная информация, то указывается пользователем вручную;
- csh_id – id выставки, в которой принимала участие кошка, по нему подставляются значения из подчиненной таблицы «Shows» полей sh_name и sh_date;
- aw – награда, полученная кошкой (при заполнении этого поля используются данные подчиненной таблицы AD_award через поле со списком. SQL-запрос:
SELECT AD_award.Награда FROM AD_award.
Типы данных полей таблиц базы данных:
Рисунок 2 – Типы данных полей таблицы Cats
Рисунок 3 – Типы данных полей таблицы Masters
Рисунок 4 – Типы данных полей таблицы Shows
Рисунок 5 – Типы данных полей таблицы AD_award
Рисунок 6 – Типы данных полей таблицы AD_cats
Описание рабочих форм базы данных
Форма StartUp – форма запускается при запуске файла Database_Cats.mdb.
Внешний вид формы:
Рисунок 7 – Форма StartUp
Как видно из рисунка, от автозагрузки данной формы можно отказаться. После нажатия кнопки OK загружается главная форма Main. В случае если отказаться от запуска формы StartUp, при запуске файла Database_Cats.mdb будет загружаться не стартовая форма и сразу главная форма Main.
Главная форма Main:
Рисунок 8 – Форма Main
Форма содержит раздел с кнопками для добавления данных (можно добавить общую информацию, отдельно владельца, выставку, награду или породу кошки), а также для просмотра данных как, в общем, так и отдельно по желанию (просмотреть владельцев, список выставок, список наград или список кошек). На форме имеется кнопка вызова редактора данных, фильтра данных, удаления данных, кнопка для подсчета числящихся в базе кошек и выхода из формы.
Формы для ввода новых данных:
- Форма AddCat – для добавления общей информации о кошках в главную таблицу Cats. Имеет кнопки Добавить, Редактировать (для работы формы в режиме редактирования), Отмена, а также вызова справочника владельцев и справочника выставок. В форму вводится id владельца, выбирается из списка порода кошки, указывается вручную возраст, вводится id выставки и выбирается из списка полученная награда.
Рисунок 9 – Форма AddCat
- Форма AddMas – для добавления фамилию информации о владельцах в подчиненную таблицу Masters. Имеет кнопки Добавить, Редактировать (для работы формы в режиме редактирования), Отмена. В форму вводится фамилия и инициалы владельца.
Рисунок 10 – Форма AddMas
- Форма AddShow – для добавления информации о выставках в подчиненную таблицу Shows. Имеет кнопки Добавить, Редактировать (для работы формы в режиме редактирования), Отмена. В форму вводится название и дата выставки.
Рисунок 11 – Форма AddShow
- Форма AddAward – для добавления информации о наградах в подчиненную таблицу AD_award. Имеет кнопки Добавить, Редактировать (для работы формы в режиме редактирования), Отмена. В форму вводится название награды.
Рисунок 12 – Форма AddAward
- Форма AddADCat – для добавления информации о породах в подчиненную таблицу AD_cats. Имеет кнопки Добавить, Редактировать (для работы формы в режиме редактирования), Отмена. В форму вводится порода кошки.
Рисунок 13 – Форма AddADCat
- Форма ViewAll – для просмотра общей информации. Имеет кнопки Печать на экран, Печать на принтер (будет использован принтер, указанный по умолчанию Панели управления / Принтеры и факсы), Печать в файл (на выбор следующие форматы: .*rtf, .*dat, .*xls, .*txt, .*html, .*xml, .*snp), Удалить запись, Добавить данные, Найти запись, Применить фильтры, Вернуться в главное меню, Выход. Информация выводится на основании SQL-запроса QueryUnion. Код:
SELECT cat_id, cat_name, age, fio, sh_name, sh_date, aw FROM Cats, Masters, Shows WHERE cmas_id=mas_id And csh_id=sh_id ORDER BY cat_id;
Рисунок 14 – Форма ViewAll
На экран, принтер и в файл выводится отчет вида:
Рисунок 15 – Отчет ShowResults
- Форма ViewMasters – для просмотра информации о владельцах. Имеет кнопки Печать на экран, Печать на принтер (будет использован принтер, указанный по умолчанию Панели управления / Принтеры и факсы), Печать в файл (на выбор следующие форматы: .*rtf, .*dat, .*xls, .*txt, .*html, .*xml, .*snp), Удалить запись, Добавить данные, Найти запись, Применить фильтры, Вернуться в главное меню, Выход.
Рисунок 16 – Форма ViewMasters
На экран, принтер и в файл выводится отчет вида:
Рисунок 17 – Отчет Masters
- Форма ViewShows – для просмотра информации о выставках. Имеет кнопки Печать на экран, Печать на принтер (будет использован принтер, указанный по умолчанию Панели управления / Принтеры и факсы), Печать в файл (на выбор следующие форматы: .*rtf, .*dat, .*xls, .*txt, .*html, .*xml, .*snp), Удалить запись, Добавить данные, Найти запись, Применить фильтры, Вернуться в главное меню, Выход.
Рисунок 18 – Форма ViewShows
На экран, принтер и в файл выводится отчет вида:
Рисунок 19 – Отчет Shows
- Форма ViewAwards – для просмотра информации о наградах. Имеет кнопки Печать на экран, Печать на принтер (будет использован принтер, указанный по умолчанию Панели управления / Принтеры и факсы), Печать в файл (на выбор следующие форматы: .*rtf, .*dat, .*xls, .*txt, .*html, .*xml, .*snp), Удалить запись, Добавить данные, Найти запись, Применить фильтры, Вернуться в главное меню, Выход.
Рисунок 20 – Форма ViewAwards
На экран, принтер и в файл выводится отчет вида:
Рисунок 21 – Отчет AD_award
- Форма ViewCats – справочник пород кошек. Имеет кнопки Печать на экран, Печать на принтер (будет использован принтер, указанный по умолчанию Панели управления / Принтеры и факсы), Печать в файл (на выбор следующие форматы: .*rtf, .*dat, .*xls, .*txt, .*html, .*xml, .*snp), Удалить запись, Добавить данные, Найти запись, Применить фильтры, Вернуться в главное меню, Выход.
Рисунок 22 – Форма ViewCats
На экран, принтер и в файл выводится отчет вида:
Рисунок 23 – Отчет AD_cats
- Форма Edit – редактор данных по ID. В поле Редактировать данные по номеру вводится номер записи и далее выбираются сами данные, которые пользователь хочет отредактировать. Форма разделена на 2 части: общие данные и справочник, поэтому редактировать можно не только данные главной таблицы, но и подчиненных, которые составляют справочник данных. Имеет кнопки Владельцы, Выставки, Кошки (общие данные), Кошки (справочные данные), Награды, а также возле каждой из кнопок есть дополнительно кнопка вызова отображения соответствующих данных, чтобы перед тем как выбрать для редактирования какую-либо запись, пользователь мог убедиться, что выбирает то, что надо.
Рисунок 24 – Форма Edit
- Форма Delete – удаление данных по ID. Имеет кнопки Общие данные, Владельца, Выставку, Награду, Кота, Выход. При нажатии любой из кнопок (кроме Выход) появится окно (рисунок 26), в которое следует вставить номер удаляемой записи. После нажатия кнопки ОК запись будет удалена.
Рисунок 25 – Форма Delete
При нажатии кнопок Общие данные, Владельца, Выставку, Награду, Кота вызываются соответственно SQL-запросы:
DeleteCat
DELETE * FROM Cats WHERE cat_id=[Введите номер элемента];
DeleteMaster
DELETE * FROM Masters WHERE mas_id=[Введите номер элемента];
DeleteShow
DELETE * FROM Show WHERE sh_id=[Введите номер элемента];
DeleteAward
DELETE * FROM AD_award WHERE Код=[Введите номер элемента];
DeleteADCat
DELETE * FROM AD_cats WHERE Код=[Введите номер элемента];
Рисунок 26 – Диалоговое окно формы Delete
- Форма Filtr – фильтр данных по значению. Имеет кнопки По породе, По владельцу, По выставкам, По наградам. При нажатии любой из кнопок (кроме Выход) появится окно (рисунок 28), в котором пользователь пишет соответствующее значение, по которому он хочет отфильтровать данные. После нажатия кнопки ОК появится форма, в которой данные будут отображаться с учетом сделанного фильтра.
Рисунок 27 – Форма Filtr
Рисунок 28 – Диалоговое окно формы Filtr
При нажатии кнопок По породе, По владельцу, По выставкам, По наградам вызываются соответственно SQL-запросы:
FiltrCat
SELECT cat_name, age, fio, sh_name, sh_date, aw FROM Cats, Masters, Shows WHERE cat_name=[Введите породу кота] AND cmas_id=mas_id AND csh_id=sh_id;
FiltrMaster
SELECT cat_name, age, fio, sh_name, sh_date, aw FROM Cats, Masters, Shows WHERE fio=[Введите фамилию владельца] AND cmas_id=mas_id AND csh_id=sh_id;
FiltrShow
SELECT cat_name, age, fio, sh_name, sh_date, aw FROM Cats, Masters, Shows WHERE sh_date=[Введите дату выставки] AND cmas_id=mas_id AND csh_id=sh_id;
FiltrAward
SELECT cat_name, age, fio, sh_name, sh_date, aw FROM Cats, Masters, Shows WHERE aw=[Введите награду] AND cmas_id=mas_id AND csh_id=sh_id;