Создание базы данных учета оплаты дополнительных услуг и учета успеваемости учеников МБОУ ДОД "ДХШ" НГО

Оптимизация работы административного отдела художественной школы путем автоматизации учета оплаты за обучение и учета успеваемости учеников. Создание запросов, макросов и отчетов. Описание даталогической модели на SQL. Проведение нормализации таблиц.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 19.09.2014
Размер файла 2,8 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

удобный пользовательский интерфейс.

2.3 Выбор среды разработки

Для разработки базы данных использовалась среда Microsoft Access (Рис 2.5) из пакета программ Microsoft Office, сочетающая в себе быструю и удобную СУБД.

Рис 2.5 - Среда разработки Microsoft Access.

Microsoft Access идеально подходит для разработки данного проекта. Данная СУБД является наиболее доступной и широко используемой в среде Microsoft Windows реляционной СУБД, и в то же время мощной системой средств, которой достаточно для реализации проектов для малых и средних предприятий. Несмотря на то, что Microsoft Access является мощной и сложной системой, его использование не сложно для непрофессиональных пользователей.

2.4 Техническое задание на разработку

Автоматизированная информационная система учета оплаты за обучение и учета успеваемости учеников МБОУ ДОД «ДШХ» НГО.

Введение.

Наименование

Автоматизированная информационная система художественной школы по учету оплаты за обучение и учета успеваемости учеников.

Краткая характеристика и области применения.

Автоматизированная информационная система художественной школы представляет собой информационную систему для автоматизации ввода, регистрации и выдаче информации об оплате обучения. АИС предназначена в основном, для использования в средних и крупных организациях.

Основание для разработки:

Задание на дипломный проект.

Назначение и цели создания системы

. Назначение разработки:

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

3.2 Цели создания

введение безбумажной технологии;

уменьшение расходов времени на формирования приказов и выявление должников;

улучшение качества работы административного отдела и бухгалтерии;

формирование статистических отчетов по всем группам;

снижение затрат на обработку первичной информации;

создание благоприятного психологического климата при работе.

Технические требования

Требования к функциональным характеристикам.

Состав выполняемых функций:

предоставление готовых форм для ввода исходных данных;

обработка исходных данных и составление статистики;

составление специальных форм отчетов.

Организация входных и выходных данных:

Входные данные - вносимые пользователем сведения об учащихся, сведения об оплате. Выходные данные - отчеты об оплате, а так же сведения об успеваемости определенного ученика.

4.1.3 Временные характеристики:

Машинная обработка данных составляет несколько секунд.

Требования к надежности

В период опытной эксплуатации правильность работы системы проверяется тестовым вводом исходных данных.

Требования к условиям эксплуатации

Программа ориентирована на минимальные требования к компьютерной подготовке пользователей.

Требования к составу и параметрам технических средств

Тип процессора: Intel Pentium 4 2.0 Ghz / AMD XP 2200+, 512 Мб ОЗУ, 128 MB DirectX® 8.0 совместимая карта / nVIDIA® GeForce™ 5700 / ATI Radeon® 9600, DirectX® 9.0 совместимая звуковая карта.

Требования к информационной и программной совместимости

Информационные структуры на входе и выходе:

ОС Windows XP (Service Pack 2) / 2000 SP4 / Vista/ 7;

Microsoft Office 2007 и выше.

Методы решения:

Построение СУБД на основе инфологической и датологической модели предметной области.

4.5.3.Языки программирования и программные средства, используемые в программе

Определяются на этапе эскизного проектирования.

4.6.Требования к упаковке, маркировке, транспортировке и хранению

Отсутствуют.

Требования к программной документации

Состав программной документации:

руководство пользователя;

листинг программы.

Технико-экономические показатели разрабатываются в экономической части проекта.

Стадии и этапы разработки

Определяются в соответствии с регламентом разработки дипломного проекта.

Порядок контроля и приемки

Общие требования к приемке работ:

поэтапный контроль со стороны руководителя проекта;

тестирование программных модулей;

опытная эксплуатация.

3. ПРОЕКТИРОВАНИЕ И МЕТОДЫ РЕАЛИЗАЦИИ

3.1 Постановка задачи

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

База данных должна содержать следующие функции:

ведение списка учеников, заключивших контракт на обучение с указанием даты заключения договора и его номера;

ведение списка учебных курсов и списка групп с указанием стоимости обучения на них;

учет оплаты, включая ведение списка учеников-должников;

ведение списка учеников с указанием краткой информации;

обеспечение ввода, обработки и хранение сведений об оплатах;

формирование отчетных форм;

учет текущей успеваемости учеников;

учет общей успеваемости за весь период обучения;

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

Интерфейс база данных должен содержать следующие компоненты:

содержать информацию об учениках;

содержать информацию о должниках по оплате с указанием долга;

кнопки, которые позволяли бы редактировать данные;

кнопки быстрого доступа к формам ввода, получения различных отчетов и анализа информации.

3.2 Проектирование системы

Для создания полноценной базы данных необходимо её спроектировать. Проектирование нужно в первую очередь для того, чтобы в дальнейшем можно было оптимизировать программу, избежать непредвиденных осложнений в процессе написания кода.

Проектирование осуществлялось с помощью программного комплекса Microsoft Access.

3.2.1 Универсальное отношение

Анализ предметной области заканчивается созданием Универсального отношения, включающим в себя все собранные атрибуты, выделенные информационными требованиями всех категорий пользователей, а так же домены всех атрибутов, ограничения и типы данных.

Таблица 3.1. Атрибуты.

Название атрибута

Содержание

Типы данных

Ограничения и домены

Код_города

Код города

Счетчик

Not null

Город

Город

Текст (50)

Not null,

ФИО

Фамилия имя отчество

Текст (50)

Not null

Код_улицы

Код улицы

Длинное целое

Not null

Номер_дома

Номер дома

Длинное целое

Not null

Корпус

Корпус

Текст (50)

Not null

Квартира

Квартира

Длинное целое

Not null

Дата_рождения

Дата рождения

Дата/время

Not null

Улица

Улица

Текст (50)

Not null

Код_дисциплины_план

Код дисциплины по плану

Счетчик

Not null

Номер_экз_вед

Номер экзаменационной ведомости

Длинное целое

Not null

Дата_экз_вед

Дата экзаменационной ведомости

Дата/время

Not null

Код_дисциплины

Код дисциплины

Счетчик

Not null

Дисциплина

дисциплина

Текст (50)

Not null,

Код_группы

Код группы

Счетчик

Not null

Группа

Название группы

Текст (50)

Not null

Код_формы

Код формы обучения

Счетчик

Not null

Форма

Форма обучения

Текст

Not null

Месяц

Месяц обучения

Длинное целое

Not null

Номер_квитанции

Номер квитанции

Длинное целое

Not null

Код_ученика

Код ученика

Длинное целое

Not null

Дата_оплаты

Дата оплаты

Дата/время

Not null

Сумма

Сумма оплаты

Денежный

Not null

Номер_приказа

Номер приказа о зачислении

Длинное целое

Not null

Дата_приказа

Дата приказа о зачислении

Дата/время

Not null

Номер_договора

Номер договора об оплате

Длинное целое

Not null

Дата_договора

Дата договора об оплате

Дата/время

Not null,

Номер_приказа_перевода

Номер приказа о переводе в другую группу

Длинное целое

Not null

Дата_приказа

Дата приказа о переводе в другую группу

Дата/время

Not null

Номер_приказа_перевода

Номер приказа о переводе в другое полугодие

Длинное целое

Not null

Дата_приказа

Дата приказа о переводе в другое полугодие

Дата/время

Not null

Номер_приказа_стоимости

Номер приказа стоимости

Длинное целое

Not null

Дата_приказа_стоимости

Дата приказа стоимости

Дата/время

Not null

Дата_начала

Дата начала действия

Дата/время

Not null

Дата_окончания

Дата окончания действия

Дата/время

Not null

Номер_приказа_отчислен

Номер приказа об отчислении

Длинное целое

Not null

Код_стоимости

Код стоимости

Счетчик

Not null

Стоимость

Стоимость

Денежный

Not null

Краткое_наименование

Краткое наименование группы

Текст (50)

Not null

Дата_приказа_отчисл

Дата приказа об отчислении

Дата/время

Not null

Номер_приказа

Номер приказа

Длинное целое

Not null

Номер_ведомости

Номер ведомости

Длинное целое

Not null

Результат

Результат сдачи предмета

Текст (50)

Not null

Перечисляемый тип: 2,3,4,5, зачет, не зачет

В результате анализа предметной области было собрано 43 атрибута

3.2.2 Инфологическая модель «Сущность-Связь»

Сущности:

Улицы (Код_улицы, Улица);

Форма обучения (Код_формы, форма);

Город (Код_города, город);

Дисциплины (Код_дисциплины, дисциплина).

Связи:

1. Ученик (Код_ученика, ФИО, код_города, код_улицы, дата_рождения, номер_дома, корпус, квартира)

[Город][Улицы]

2. Группа (Код_группы, группа, краткое_наименование) [Группа]

3. Оплата (Номер_квитанции, дата_оплаты, месяц, сумма, код_ученика) [Ученик]

4. Приказ об отчислении (Номер_приказа_отчислен, дата_приказа_отчисл, код_ученика)[ Ученик]

5. Приказ о стоимости (Номер_приказа_стоимости, дата_приказа_стоимости, дата_начала, дата_окончания, код_группы, код_формы) [Группа] [Форма обучения]

6. Стоимость обучения (Код_стоимости, месяц, стоимость, номер_приказа_стоимости) [Приказ о стоимости]

7. Приказ о зачислении (Номер_приказа, дата_приказа, номер_договора, дата_договора, №зачетн_книжки, код_ученика, код_группы, код_формы) [Ученик] [Группа] [Форма обучения]

8. Приказ о переводе в другую группу (Номер_приказа_перевод, дата_приказа, код_ученика, код_группы, код_формы) [Ученик] [Группа] [Форма обучения]

9. Приказ о переводе в следующее полугодие (Номер_приказа_перевод, дата_приказа, полугодие, код_группы,) [Группа]

10. Учебный план (Код_дисциплины_план, месяц, код_дисциплины, код_формы, код_группы) [Дисциплины] [Группа] [Форма обучения]

11. Экзаменационная ведомость (Номер_экз_вед, дата_экз_вед, код_дисциплины_план) [Учебный план]

12. Состав приказа о переводе [Ученик N, Приказ о переводе в следующее полугодие M](Код_ученика, номер_приказа_перевод)

13. Состав экзаменационной ведомости [Ученик N, Экзаменационная ведомость M](Код_ученика, номер_экз_вед, результат).

3.2.3 Описание даталогической модели на SQL

CREATE TABLE 'УЛИЦЫ' (

Код_улицы INTEGER NOT NULL,

Улицы CHAR (50) NOT NULL,

PRIMARY KEY (Код_улицы));

CREATE TABLE 'ДИСЦИПЛИНЫ' (

Код_дисциплины INTEGER NOT NULL,

Дисциплины CHAR (50) NOT NULL,

PRIMARY KEY (Код_дисциплины));

CREATE TABLE 'ГОРОД' (

Код_города INTEGER NOT NULL,

Город CHAR (50) NOT NULL,

PRIMARY KEY (Код_группы));

CREATE TABLE 'ФОРМА ОБУЧЕНИЯ' (

Код_формы INTEGER NOT NULL,

Форма CHAR (50) NOT NULL,

PRIMARY KEY (Код_формы));

CREATE TABLE 'УЧЕНИК' (

Код_ученика INTEGER NOT NULL,

ФИО CHAR (50) NOT NULL,

Номер_дома INTEGER NOT NULL,

Корпус CHAR (50) NOT NULL,

Квартира INTEGER NOT NULL,

Дата_рождения DATETIME NOT NULL,

PRIMARY KEY (Код_ученика));

FOREIGN KEY (Код_улицы) REFERENCES УЛИЦЫ

ON DELETE RESTRICT,

ON UPDATE CASCADE,

FOREIGN KEY (Код_города) REFERENCES ГОРОД

ON DELETE RESTRICT,

ON UPDATE CASCADE);

CREATE TABLE 'ГРУППЫ' (

Код_группы INTEGER NOT NULL,

Группа CHAR (50) NOT NULL,

Краткое_наименование CHAR (50) NOT NULL,

PRIMARY KEY (Код_группы)),

ON DELETE RESTRICT,

ON UPDATE CASCADE,);

CREATE TABLE 'ОПЛАТА' (

Номер_квитанции INTEGER NOT NULL,

Дата_оплаты DATETIME NOT NULL,

Месяц INTEGER NOT NULL,

Сумма CURRENCY NOT NULL,

PRIMARY KEY (Номер_квитанции)),

FOREIGN KEY (Код_ученика) REFERENCES УЧЕНИК

ON DELETE RESTRICT,

ON UPDATE CASCADE);

CREATE TABLE 'ПРИКАЗ О ЗАЧИСЛЕНИИ' (

Номер_приказа INTEGER NOT NULL,

Дата_приказа DATETIME NOT NULL,

Номер_договора INTEGER NOT NULL,

Дата_договора DATETIME NOT NULL,

№ученика INTEGER NOT NULL,

PRIMARY KEY (Номер_приказа)),

FOREIGN KEY (Код_ученика) REFERENCES УЧЕНИК

ON DELETE RESTRICT,

ON UPDATE CASCADE

FOREIGN KEY (Код_группы) REFERENCES ГРУППА

ON DELETE RESTRICT,

ON UPDATE CASCADE,

FOREIGN KEY (Код_формы) REFERENCES ФОРМА ОБУЧЕНИЯ

ON DELETE RESTRICT,

ON UPDATE CASCADE);

CREATE TABLE 'ПРИКАЗ ОБ ОТЧИСЛЕНИИ' (

Номер_приказа_отчислен INTEGER NOT NULL,

Дата_приказа_отчисл DATETIME NOT NULL,

PRIMARY KEY (Номер_приказа_отчислен)),

FOREIGN KEY (Код_ученика) REFERENCES УЧЕНИК

ON DELETE RESTRICT,

ON UPDATE CASCADE);

CREATE TABLE 'ПРИКАЗ О СТОИМОСТИ' (

Номер_приказа_стоимости INTEGER NOT NULL,

Дата_приказа_стоимости DATETIME NOT NULL,

Дата_начала DATETIME NOT NULL,

Дата_окончания DATETIME NOT NULL,

PRIMARY KEY (Номер_приказа_стоимости)),

FOREIGN KEY (Код_группы) REFERENCES ГРУППА

ON DELETE RESTRICT,

ON UPDATE CASCADE,

FOREIGN KEY (Код_формы) REFERENCES ФОРМА ОБУЧЕНИЯ

ON DELETE RESTRICT,

ON UPDATE CASCADE);

CREATE TABLE 'СТОИМОСТЬ ОБУЧЕНИЯ' (

Код_стоимости INTEGER NOT NULL,

Стоимость CURRENCY NOT NULL,

Месяц INTEGER NOT NULL,

PRIMARY KEY (Код_стоимости)),

FOREIGN KEY (Номер_приказа_стоимости) REFERENCES ПРИКАЗ О СТОИМОСТИ

ON DELETE RESTRICT,

ON UPDATE CASCADE);

CREATE TABLE 'ПРИКАЗ О ПЕРЕВОДЕ В ДРУГУЮ ГРУППУ (

Номер_приказа_перевод INTEGER NOT NULL,

Дата_приказа_перевод DATETIME NOT NULL,

PRIMARY KEY (Номер_приказа_перевод)),

FOREIGN KEY (Код_ученика) REFERENCES УЧЕНИК

ON DELETE RESTRICT,

ON UPDATE CASCADE

FOREIGN KEY (Код_группы) REFERENCES ГРУППА

ON DELETE RESTRICT,

ON UPDATE CASCADE,

FOREIGN KEY (Код_формы) REFERENCES ФОРМА ОБУЧЕНИЯ

ON DELETE RESTRICT,

ON UPDATE CASCADE);

CREATE TABLE 'ПРИКАЗ О ПЕРЕВОДЕ В СЛЕДУЮЩЕЕ ПОЛУГОДИЕ' (

Номер_приказа_перевод INTEGER NOT NULL,

Дата_приказа DATETIME NOT NULL,

Полугодие INTEGER NOT NULL,

PRIMARY KEY (Номер_приказа_перевод)),

FOREIGN KEY (Код_группы) REFERENCES ГРУППА

ON DELETE RESTRICT,

ON UPDATE CASCADE);

CREATE TABLE 'УЧЕБНЫЙ ПЛАН' (

Код_дисциплины_план INTEGER NOT NULL,

Месяц INTEGER NOT NULL,

PRIMARY KEY (Код_дисциплины_план)),

FOREIGN KEY (Код_дисциплины) REFERENCES ДИСЦИПЛИНЫ

ON DELETE RESTRICT,

ON UPDATE CASCADE

FOREIGN KEY (Код_группы) REFERENCES ГРУППА

ON DELETE RESTRICT,

ON UPDATE CASCADE,

FOREIGN KEY (Код_формы) REFERENCES ФОРМА ОБУЧЕНИЯ

ON DELETE RESTRICT,

ON UPDATE CASCADE);

CREATE TABLE 'ЭКЗАМЕНАЦИОННАЯ ВЕДОМОСТЬ' (

Номер_экз_вед INTEGER NOT NULL,

Дата_экз_вед DATETIME NOT NULL,

PRIMARY KEY (Номер_экз_вед)),

FOREIGN KEY (Код_дисциплины_план) REFERENCES УЧЕБНЫЙ ПЛАН

ON DELETE RESTRICT,

ON UPDATE CASCADE);

CREATE TABLE 'СОСТАВ ПРИКАЗА О ПЕРЕВОДЕ' (

Номер_приказа_перевод INTEGER NOT NULL,

Код_ученика INTEGER NOT NULL,

PRIMARY KEY (Код_ученика, номер_приказа_перевод));

CREATE TABLE 'СОСТАВ ЭКЗАМЕНАЦИОННОЙ ВЕДОМОСТИ' (

Код_ученика INTEGER NOT NULL,

Результат CHAR (50) NOT NULL,

Номер_экз_вед INTEGER NOT NULL,

PRIMARY KEY (Код_ученика, Номер_экз_вед));

база данный учет запрос

3.2.4 Проведение нормализации таблиц

Все таблицы, состоящие из одного или двух атрибутов - автоматически находятся в нормальной форме Бойса - Кодда. Такими таблицами являются: ГОРОД, УЛИЦЫ, ФОРМА ОБУЧЕНИЯ, ДИСЦИПЛИНЫ, ГРУППЫ.

У всех остальных таблиц, для доказательства того, что в этих таблицах любые функциональные зависимости сводятся к полной функциональной зависимости от возможного ключа.

Таблица 3.2. Ученик.

Таблица УЧЕНИК

Возможный ключ

Код_ученика

Функциональные зависимости:

Код_ученика => ФИО,

Код_ученика => Номе_дома,

Код_ученика =>Корпус,

Код_ученика =>квартира,

Код_ученика =>Дата_рождения,

Код_ученика =>Код_города,

Код_ученика =>Код_улицы,

Данная таблица находится в НФБК.

Таблица 3.3. Приказ об отчислении.

Таблица ПРИКАЗ ОБ ОТЧИСЛЕНИИ

Возможный ключ

Номер_приказа_отчислен

Функциональные зависимости:

Номер_приказа_отчислен =>дата_приказа_отчисл,

Номер_приказа_отчислен =>Код_ученика,

Данная таблица находится в НФБК.

Таблица 3.6. Приказ о стоимости.

Таблица ПРИКАЗ О СТОИМОСТИ

Возможный ключ

Номер_приказа_стоимости

Функциональные зависимости:

Номер_приказа_стоимости => Дата_приказа_стоимости,

Номер_приказа_стоимости => Дата_начала,

Номер_приказа_стоимости => Дата_окончания,

Номер_приказа_стоимости => Код_группы,

Номер_приказа_стоимости => Код_формы,

Данная таблица находится в НФБК.

Таблица 3.7. Стоимость обучения.

Таблица СТОИМОСТЬ ОБУЧЕНИЯ

Возможный ключ

Код_стоимости

Функциональные зависимости:

Код_стоимости => Номер_приказа_стоимости,

Код_стоимости => Месяц,

Код_стоимости => Стоимость,

Данная таблица находится в НФБК.

Таблица 3.8. Приказ о переводе в другую группу.

Таблица ПРИКАЗ О ПЕРЕВОДЕ В ДРУГУЮ ГРУППУ

Возможный ключ

Номер_приказа_перевод

Функциональные зависимости:

Номер_приказа_перевод => Дата_приказа,

Номер_приказа_перевод => Код_ученика,

Номер_приказа_перевод => Код_группы,

Номер_приказа_перевод => Код_формы,

Данная таблица находится в НФБК.

Таблица 3.9 Приказ о переводе в следующее полугодие.

Таблица ПРИКАЗ О ПЕРЕВОДЕ В СЛЕДУЮЩЕЕ ПОЛУГОДИЕ

Возможный ключ

Номер_приказа_перевод

Функциональные зависимости:

Номер_приказа_перевод => Дата_приказа_перевод,

Номер_приказа_перевод => Полугодие,

Номер_приказа_перевод => Код_группы,

Данная таблица находится в НФБК.

Таблица 3.12. Состав экзаменационной ведомости.

Таблица СОСТАВ ЭКЗАМЕНАЦИОННОЙ ВЕДОМОСТИ

Возможный ключ

Код_ученика, Номер_экз_вед

Функциональные зависимости:

Код_ученика, Номер_экз_вед => Результат,

Данная таблица находится в НФБК.

Каждая таблица в проектируемой БД действительно находится в НФБК, так как любая ФЗ между ее атрибутами сводится к полной ФЗ от возможного ключа.

Выполнение требований нормализации обеспечивает построение канонической модели и создание на ее основе реляционной базы данных без дублирования описательных данных, а также возможность автоматического поддержания связной целостности данных средствами СУБД при обновлении БД (добавлении и удалении записей, изменении значений в ключевых полях).

3.2.5 Схема данных

Рис 3.1. Схема данных.

3.2.6 Проектирование интерфейса системы

При загрузке базы данных «Учет оплаты за обучение и учет успеваемости учеников МБОУ ДОД «ДШХ» НГО» появляется главная форма (Рис 3.2), которая дает возможность быстрого доступа к формам ввода, получения различных отчетов и анализа информации.

Рис 3.2. Главная страница базы данных.

В верхнем левом углу содержится информация о должниках по оплате обучения с указанием величины долга. При нажатии на ФИО ученика будет создан отчет по оплате обучения данным учеником.

Соседний правый блок содержит различную информацию об ученике. Ученика следует выбрать из списка. Если этого сделано не будет, то все формы и отчеты будут открыты для всех учеников школы. Правый блок на главной форме - «Документы». Он создан для быстрого доступа к формам ввода документов.

В блоке «Просмотр» содержатся ссылки на различные отчеты и запросы. В нижней части расположен элемент управление с вкладками. На вкладках находятся различные диаграммы, которые позволяют наглядно оценить ситуацию в школе.

Кнопка «Ввод дополнительной информации» откроет форму, дающую доступ к различным формам ввода.

3.2.7 Проектирование запросов

1. Запрос: ГРУППЫ УЧЕНИКОВ показывает в какой группе учится ученик:

SELECT [Ученик и месяц].Код_ученика, Ученик.ФИО, Группа!Краткое_наименование & Round([Ученик и месяц]![Текущий месяц]/2+0.1,0) & "0" & [Форма обучения]!Код_формы AS Номер_гр

FROM (((Ученик INNER JOIN [Ученик и месяц] ON Ученик.Код_ученика = [Ученик и месяц].Код_ученика) INNER JOIN [Вспомагательный запрос текущей группы] ON Ученик.Код_ученика = [Вспомагательный запрос текущей группы].Код_ученика) INNER JOIN [Форма обучения] ON [Вспомагательный запрос текущей группы].Форма = [Форма обучения].Код_формы) INNER JOIN Группа ON [Вспомагательный запрос текущей группы].Груп = Группа.Код_группы

WHERE (((Ученик.Код_ученика) Not In (SELECT [Приказ об отчислении].Код_ученика FROM [Приказ об отчислении]; )))

ORDER BY Группа!Краткое_наименование & Round([Ученик и месяц]![Текущий месяц]/2+0.1,0) & "0" & [Форма обучения]!Код_формы;

2. Запрос: ДОЛЖНИКИ демонстрирует учеников, у которых имеется задолжность по оплате за обучение:

SELECT [Оплата за обучение сумма].Код_ученика, [Оплата за обучение сумма].ФИО, [Сумма план]-IIf([Сумма факт] Is Null,0,[Сумма факт]) AS Долг

FROM [Оплата за обучение сумма]

WHERE ((([Сумма план]-IIf([Сумма факт] Is Null,0,[Сумма факт]))>0));

3. Запрос: ДЛЯ ПОДГОТОВКИ ЭКЗАМЕНАЦИОННОЙ ВЕДОМОСТИ предназначен для создания отчета

«Экзаменационная ведомость - подготовка »:

SELECT [Учебный план].Код_дисциплины_план, [Учебный план].Код_дисциплины, [Учебный план].Код_группы AS [Учебный план_Код_группы], [Учебный план].месяц, [Ученик и месяц].ФИО, Группы.Группа, Дисциплина.Дисциплина, [Форма обучения].Форма, [Учебный план].Код_формы_обучения

FROM [Форма обучения] INNER JOIN (Группа INNER JOIN (Дисциплина INNER JOIN (([Учебный план] INNER JOIN [Ученик и месяц] ON [Учебный план].Месяц = [Ученик и месяц].[Текущий семестр]) INNER JOIN [Приказ о зачислении] ON [Ученик и месяц].Код_ученика = [Приказ о зачислении].Код_ученика) ON Дисциплина.Код_дисциплины = [Учебный план].Код_дисциплины) ON (Группа.Код_группы = [Учебный план].Код_группы) AND (Группа.Код_группы = [Приказ о зачислении].Код_группы)) ON ([Форма обучения].Код_формы = [Учебный план].Код_формы_обучения) AND ([Форма обучения].Код_формы = [Приказ о зачислении].Код_формы_обуч);

4. Запрос: ИСТОРИЯ УЧЕНИК И МЕСЯЦ предоставляет информацию, в какие месяца учился и в данный момент учится ученик.

SELECT [Вспомогательный запрос: ученик, перевод].Код_ученика, [Вспомогательный запрос: ученик, перевод].ФИО, (IIf([Месяц] Is Null,1,[Месяц])) AS [Текущий месяц], [Приказ о переводе в следующее полугодие].Дата_приказа_перевод AS [Дата перевода], [Приказ о переводе в следующее полугодие].Код_группы, [Приказ о зачислении].Код_формы_обуч

FROM (([Вспомогательный запрос: ученик, перевод] LEFT JOIN [Приказ о переводе в следующее полугодие] ON [Вспомогательный запрос: ученик, перевод].Номер_приказа = [Приказ о переводе в следующее полугодие].Номер_приказа_перевод) INNER JOIN [Приказ о зачислении] ON [Вспомогательный запрос: ученик, перевод].Код_ученика = [Приказ о зачислении].Код_ученика) LEFT JOIN [Приказ о переводе в следующее полугодие] ON [Вспомогательный запрос: ученик, перевод].Код_ученика = [Приказ о переводе в другую группу].Код_ученика

GROUP BY [Вспомогательный запрос: ученик, перевод].Код_ученика, [Вспомогательный запрос: ученик, перевод].ФИО, (IIf ([Месяц] Is Null,1,[Месяц])), [Приказ о переводе в следующее полугодие].Дата_приказа_перевод, [Приказ о переводе в следующее полугодие].Код_группы, [Приказ о зачислении].Код_формы_обуч

HAVING ((([Вспомогательный запрос: ученик, перевод].Код_ученика) Not In (SELECT [Приказ об отчислении].Код_ученика FROM [Приказ об отчислении]; )))

ORDER BY [Вспомогательный запрос: ученик, перевод].ФИО;

5. Запрос ИСТОРИЯ УЧЕНИК И МЕСЯЦ - в т.ч. отчисленные: предоставляет информацию, в какие месяцы учился и в данный момент учится ученик, и учеников которые были отчислены.

SELECT [Вспомогательный запрос: ученик, перевод].Код_ученика, [Вспомогательный запрос: ученик, перевод].ФИО, (IIf([Месяц] Is Null,1,[Месяц])) AS [Текущий месяц], [Приказ о переводе в следующее полугодие].Дата_приказа_перевод AS [Дата перевода], [Приказ о переводе в следующее полугодие].Код_группы, [Приказ о зачислении].Код_формы_обуч

FROM (([Вспомогательный запрос: ученик, перевод] LEFT JOIN [Приказ о переводе в следующее полугодие] ON [Вспомогательный запрос: ученик, перевод].Номер_приказа=[Приказ о переводе в следующее полугодие].Номер_приказа_перевод) INNER JOIN [Приказ о зачислении] ON [Вспомогательный запрос: ученик, перевод].Код_ученика=[Приказ о зачислении].Код_ученика) LEFT JOIN [Приказ о переводе в другую группу] ON [Вспомогательный запрос: ученик, перевод].Код_ученика=[Приказ о переводе в другую группу].Код_ученика

GROUP BY [Вспомогательный запрос: ученик, перевод].Код_ученика, [Вспомогательный запрос: ученик, перевод].ФИО, (IIf ([Месяц] Is Null,1,[Месяц])), [Приказ о переводе в следующее полугодие].Дата_приказа_перевод, [Приказ о переводе в следующее полугодие].Код_группы, [Приказ о зачислении].Код_формы_обуч

ORDER BY [Вспомогательный запрос: ученик, перевод].ФИО;

7. Запрос ОПЛАТА ЗА ОБУЧЕНИЕ ПЛАН демонстрирует, сколько ученик должен заплатить за обучение.

SELECT [История Ученик и месяц - втч отчисленные].Код_студента, [История Ученик и месяц - втч отчисленные].ФИО, [Стоимость обучения].Стоимость, [Стоимость обучения].Месяц, IIf ([Стоимость обучения]! Месяц =1 Or [Стоимость обучения]!Месяц =3 Or [Стоимость обучения]! Месяц =5 Or [Стоимость обучения]! Месяц =7 Or [Стоимость обучения]! Месяц =9,[Дата_опл_13579],[Дата_опл_246810]) AS [Срок оплаты], [История Ученик и месяц - втч отчисленные]!Код_ученика & "0000" & [Месяц] AS Код_опл, [Форма обучения].Форма, Группы.Группа

FROM [Форма обучения] INNER JOIN ((Группа INNER JOIN (([История Ученик и месяц - втч отчисленные] INNER JOIN [Приказ о стоимости] ON ([История Ученик и месяц - втч отчисленные].Код_группы = [Приказ о стоимости].Код_группы) AND ([История Ученик и месяц - втч отчисленные].Код_формы_обуч = [Приказ о стоимости].Код_формы)) INNER JOIN [Стоимость обучения] ON ([Приказ о стоимости].Номер_приказа_стоимости = [Стоимость обучения].Номер_приказа) AND ([История Ученик и месяц - втч отчисленные].[Текущий месяц] = [Стоимость обучения].Месяц) ON (Группы.Код_группы = [Приказ о стоимости].Код_группы) AND (Группы.Код_группы = [История Ученик и месяц - втч отчисленные].Код_группы)) INNER JOIN Контрактники ON [История Ученик и месяц - втч отчисленные].Код_ученика = Контрактники.Код_ученика) ON [Форма обучения].Код_формы = [Приказ о стоимости].Код_формы

WHERE ((([Приказ о стоимости].Дата_начала)<([Дата перевода]+100)) AND (([Приказ о стоимости].Дата_окончания)>([Дата перевода]+100)))

ORDER BY [История Ученик и месяц - втч отчисленные].ФИО, [Стоимость обучения].Месяц;

8. Запрос ОПЛАТА ЗА ОБУЧЕНИЕ ФАКТ показывает, сколько ученик уже заплатил за обучение.

SELECT [История Ученик и месяц - втч отчисленные].Код_ученика, [История Ученик и месяц - втч отчисленные].ФИО, Оплата.Cумма, [Стоимость обучения].Стоимость, Оплата.Дата_оплаты, Оплата.Месяц, IIf(Оплата! Месяц=1 Or Оплата! Месяц 3 Or Оплата! Месяц 5 Or Оплата! Месяц 7 Or Оплата! Месяц 9, [Дата_опл_13579], [Дата_опл_246810]) AS [Срок оплаты], IIf([Дата_оплаты]-[Срок оплаты]>0, [Дата_оплаты]-[Срок оплаты],"") AS [Просрочка(дней)], [История Ученик и месяц - втч отчисленные]!Код_ученика & "0000" & Оплата!Месяц AS Код_опл

FROM ([История Ученик и месяц - втч отчисленные] INNER JOIN [Приказ о стоимости] ON ([История Ученик и месяц - втч отчисленные].Код_формы_обуч = [Приказ о стоимости].Код_формы) AND ([История Ученик и месяц - втч отчисленные].Код_группы = [Приказ о стоимости].Код_группы)) INNER JOIN (Оплата INNER JOIN [Стоимость обучения] ON Оплата.Месяц = [Стоимость обучения].Месяц) ON ([Приказ о стоимости].Номер_приказа_стоимости = [Стоимость обучения].Номер_приказа) AND ([История Ученик и месяц - втч отчисленные].[Текущий месяц] = [Стоимость обучения].Месяц) AND ([История Ученик и месяц - втч отчисленные].Код_ученика = Оплата.Код_ученика)

WHERE ((([Приказ о стоимости].Дата_начала)<[Дата_оплаты]) AND (([Приказ о стоимости].Дата_окончания)>[Дата_оплаты]))

ORDER BY [История Ученик и месяц - втч отчисленные].Код_ученика, Оплата.Дата_оплаты;

9. Запрос ОПЛАТА ЗА ОБУЧЕНИЕ СУММА отображает информацию о том, сколько ученик уплатил денежных средств за время своего обучения.

SELECT [Оплата обучения план].Код_ученика, [Оплата обучения план].ФИО, Sum ([Оплата обучения план].Стоимость) AS [Сумма план], Sum ([Оплата обучения факт].Сумма) AS [Сумма факт]

FROM [Оплата обучения план] LEFT JOIN [Оплата обучения факт] ON [Оплата обучения план].Код_опл = [Оплата обучения факт].Код_опл

GROUP BY [Оплата обучения план].Код_ученика, [Оплата обучения план].ФИО;

10. Запрос ОПЛАТА ИТОГИ предоставляет информацию обо всех оплатах ученика и показывает, на сколько дней ученик просрочил оплату.

SELECT [Оплата обучения план].Код_ученика, [Оплата обучения план].ФИО, [Оплата обучения план].Месяц, [Оплата обучения план].Стоимость, [Оплата обучения факт].Cумма, [Оплата обучения факт].Дата_оплаты, IIf([Cумма] Is Null,Round(Now()-[Оплата обучения план]![Срок оплаты],0),[Просрочка(дней)]) AS Просрочка, [Оплата обучения план].Форма, [Оплата обучения план].Группа

FROM [Оплата обучения план] LEFT JOIN [Оплата обучения факт] ON [Оплата обучения план].Код_опл = [Оплата обучения факт].Код_опл;

11. Запрос ОТЧИСЛЕННЫЕ выводит информацию об учениках, которые были отчислены.

SELECT [Приказ об отчислении].Номер_приказа_отчислен, [Приказ об отчислении].Дата_приказ_отчисл, [История Ученик и месяц - втч отчисленные].Код_ученика, Last ([История Ученик и месяц - втч отчисленные].[Текущий месяц]) AS [Last-Текущий месяц], [История Ученик и месяц - втч отчисленные].ФИО, Группы.Группа, [Форма обучения].Форма

FROM Группа INNER JOIN ([Приказ об отчислении] INNER JOIN ((Группа INNER JOIN [История Ученик и месяц - втч отчисленные] ON Группы.Код_группы = [История Ученик и месяц - втч отчисленные].Код_группы) INNER JOIN [Форма обучения] ON [История Ученик и месяц - втч отчисленные].Код_формы_обуч = [Форма обучения].Код_формы) ON [Приказ об отчислении].Код_ученика = [История Ученик и месяц - втч отчисленные].Код_ученика)

GROUP BY [Приказ об отчислении].Номер_приказа_отчислен, [Приказ об отчислении].Дата_приказ_отчисл, [История Ученик и месяц - втч отчисленные].Код_ученика, [История Ученик и месяц - втч отчисленные].ФИО, Группы.Группа, [Форма обучения].Форма;

12. Запрос ПЕРЕВОД В ДРУГУЮ ГРУППУ предназначен для создания отчета «Приказ о переводе в другую группу».

SELECT [Приказ о переводе в другую группу].Номер_приказа_перевод, [Приказ о переводе в другую группу].Дата_приказа, [История Ученик и месяц - втч отчисленные].ФИО, [История Ученик и месяц - втч отчисленные].[Текущий месяц], [Форма обучения].Форма, Группы.Группа

FROM [Форма обучения] INNER JOIN (Группа INNER JOIN ([История Ученик и месяц - втч отчисленные] INNER JOIN [Приказ о переводе в другую группу] ON [История Ученик и месяц - втч отчисленные].Код_ученика = [Приказ о переводе в другую группу].Код_ученика) ON Группы.Код_группа = [Приказ о переводе в другую группу].Код_группы) ON [Форма обучения].Код_формы = [Приказ о переводе в другую группу].Код_формы

WHERE ((([Приказ о переводе в другую группу].Дата_приказа)=[Дата перевода]));

13. Запрос СДАННЫЕ ПРЕДМЕТЫ (ПЛАН) показывает информацию о сданных предметах.

SELECT [История Ученик и месяц].Код_ученика, [История Ученик и месяц].ФИО, [Учебный план].Месяц, [Учебный план].Код_группы, [Учебный план].Код_формы_обучения, [Учебный план].Код_дисциплины_план, [Учебный план].Код_дисциплины, Дисциплина.Дисциплина

FROM Дисциплина INNER JOIN ([Учебный план] INNER JOIN [История Ученик и месяц] ON ([Учебный план].Код_формы_обучения = [История Ученик и месяц].Код_формы_обуч) AND ([Учебный план].Месяц = [История Ученик и месяц].[Текущий месяц]) AND ([Учебный план].Код_группы = [История Ученик и месяц].Код_группы)) ON Дисциплина.Код_дисциплины = [Учебный план].Код_дисциплины

ORDER BY [История Ученик и месяц].ФИО, [Учебный план].Месяц;

14. Запрос Ученик и месяц предоставляет информацию, в каком месяце учится ученик в данный момент.

SELECT [Вспомогательный запрос: ученик, перевод].Код_ученика, [Вспомогательный запрос: ученик, перевод].ФИО, Max ([Приказ о переводе в следующие полугодие].Месяц) AS [Текущий месяц], Max ([Приказ о переводе в следующие полугодие].Дата_приказа_перевод) AS [Дата перевода], IIf ([Last-Код_группы] Is Null,[Приказ о зачислении]!Код_группы,[Last-Код_группы]) AS Код_сп

FROM (([Вспомогательный запрос: ученик, перевод] LEFT JOIN [Приказ о переводе в следующие полугодие] ON [Вспомогательный запрос: ученик, перевод].Номер_приказа=[Приказ о переводе в следующие полугодие].Номер_приказа_перевод) INNER JOIN [Приказ о зачислении] ON [Вспомогательный запрос: ученик, перевод].Код_ученика=[Приказ о зачислении].Код_ученика) INNER JOIN [Вспомагательный запрос последней группы] ON [Вспомогательный запрос: ученик, перевод].Код_ученика=[Вспомагательный запрос последней группы].Код_ученика

GROUP BY [Вспомогательный запрос: ученик, перевод].Код_ученика, [Вспомогательный запрос: ученик, перевод].ФИО, IIf([Last-Код_группы] Is Null,[Приказ о зачислении]!Код_группы,[Last-Код_группы])

HAVING ((([Вспомогательный запрос: ученик, перевод].Код_ученика) Not In (SELECT [Приказ об отчислении].Код_ученика FROM [Приказ об отчислении]; )))

ORDER BY [Вспомогательный запрос: ученик, перевод].ФИО;

15. Запрос ТЕКУЩИЕ группы И ФОРМА ОБУЧЕНИЯ УЧЕНИКОВ демонстрирует, в какой группе и на какой форме обучения учится ученик

SELECT Ученик.Код_ученика, Ученик.ФИО, Группы.Группа, [Форма обучения].Форма

FROM (([Вспомагательный запрос текущей группы] INNER JOIN Ученик ON [Вспомагательный запрос текущей группы].Код_ученика = Ученик.Код_ученика) INNER JOIN Группа ON [Вспомагательный запрос текущей группы].Груп = Группы.Код_группы) INNER JOIN [Форма обучения] ON [Вспомагательный запрос текущей группы].Форма = [Форма обучения].Код_формы;

16. Запрос УСПЕВАЕМОСТЬ показывает полную информацию об успеваемости учеников.

SELECT [История Ученик и месяц - втч отчисленные].Код_ученика, [История Ученик и месяц - втч отчисленные].[Текущий месяц], [История Ученик и месяц - втч отчисленные].Код_группы, [История Ученик и месяц - втч отчисленные].Код_формы_обуч, [История Ученик и месяц - втч отчисленные].ФИО, [Состав экзаменационной ведомости].Результат, [Экзаменационная ведомость].Дата_экз_вед, [Экзаменационная ведомость].Номер_экз_вед, [Экзаменационная ведомость].Код_предм_план, Улица.Улица, Город.Город, Ученик.Номер_дома, Ученик.Корпус, Ученик.Квартира, Ученик.Дата_рождения, Группы.Группа AS Груп, [Форма обучения].Форма, Дисциплина.Дисциплина, [Группы учеников].Номер_гр

FROM [Форма обучения] INNER JOIN ((Улица INNER JOIN ((Дисциплина INNER JOIN (Город INNER JOIN ((Группа INNER JOIN (Ученик INNER JOIN ([Учебный план] INNER JOIN ([История Ученик и месяц - втч отчисленные] INNER JOIN [Состав экзаменационной ведомости] ON [История Ученик и месяц - втч отчисленные].Код_ученика = [Состав экзаменационной ведомости].Код_ученика) ON [Учебный план].Месяц = [История Ученик и месяц - втч отчисленные].[Текущий месяц]) ON (Ученик.Код_ученика = [История Ученик и месяц - втч отчисленные].Код_ученика) AND (Ученик.Код_ученика = [Состав экзаменационной ведомости].Код_ученика)) ON (Группы.Код_группы = [ История Ученик и месяц - втч отчисленные].Код_группы) AND (Группы.Код_группы = [Учебный план].Код_группы)) LEFT JOIN [Группы учеников] ON Ученик.Код_ученика = [Группы учеников].Код_ученика) ON Город.Код_города=Ученик.Код_города) ON Дисциплина.Код_дисциплины = [Учебный план].Код_дисциплины) INNER JOIN [Приказ о зачислении] ON Ученик.Код_ученика = [Приказ о зачислении].Код_ученика) ON Улица.Код_улицы = Ученик.Код_улицы) INNER JOIN [Экзаменационная ведомость] ON ([Учебный план].Код_дисциплины_план = [Экзаменационная ведомость].Код_предм_план) AND ([Экзаменационная ведомость].Номер_экз_вед = [Состав экзаменационной ведомости].Номер_ведомости)) ON [Форма обучения].Код_формы = [Учебный план].Код_формы_обучения;

3.2.8 Проектирование форм

«Города» - форма позволяет вводить и просматривать информацию о городах.

Рис 3.3. Форма «Города».

«Дисциплина» - форма позволяет вводить и просматривать информацию о дисциплинах.

Рис 3.4. Форма «Дисциплина».

«Оплата за обучение» - форма предназначена для просмотра и ввода данных по оплате учеников.

Рис 3.5. Форма «Оплата обучения».

«Приказ о зачислении» - форма предназначена для внесения и просмотра информации о зачислении ученика в группу.

Рис 3.6. Форма «Приказ о зачислении».

«Приказ о переводе в другую группу» - форма показывает учеников, которые переводились в другую группу, и подготавливает отчет.

Рис 3.7. Форма «Приказ о переводе в другую группу».

«Приказ о переводе в следующее полугодие» - форма отображает список учеников, которые переводятся в следующее полугодие.

Рис 3.8. Форма «Приказ о переводе в следующее полугодие».

«Приказ о стоимости» - форма показывает стоимость обучения за учебный месяц для групп и форм обучения.

Рис 3.9. Форма «Приказ о стоимости».

«Ученик» - форма предназначена для просмотра и ввода данных об учениках, а также предоставляет полную информацию об оплатах ученика и его успеваемости.

Рис 3.10. Форма «Ученик».

«Учебный план» - форма показывает, в какой группе, в каком месяце и для какой формы обучения читается дисциплина.

Рис 3.11. Форма «Учебный план».

«Экзаменационная ведомость» - форма показывает отчетность учеников по дисциплинам.

Рис 3.12. Форма «Экзаменационная ведомость».

«Группа» - форма позволяет вводить и просматривать информацию о группах.

Рис 3.13. Форма «Группа».

3.2.9 Проектирование отчетов

В разработанной системе для автоматизации отчетности были сгенерированы отчеты на основе форм и запросов. Отчеты позволяют выбрать из базы данных требуемую пользователем информацию и оформить ее в виде документов.

«Группы учеников» - отчет предназначен для просмотра информации о группах, в которых обучаются ученики. (Рис П.1)

«Карточка ученика - успеваемость» - отчет предназначен для просмотра информации о полной успеваемости ученика за период его обучения. (Рис П.2)

«Оплата обучения» - отчет показывает информацию обо всех оплатах ученика, которые он внес за период обучения. (Рис П.3)

«Приказ о зачислении» - отчет содержит информацию о зачислении ученика в учебное заведение. (Рис П.4)

«Приказ о переводе в другую группу» - отчет содержит информацию об учениках, которые были переведены в другую группу. (Рис П.5)

«Приказ о переводе в следующее полугодие» - отчет содержит информацию об учениках, которые были переведены в следующее полугодие. (Рис П.6)

«Приказ о стоимости» - отчет содержит информацию об установленной стоимости за период для определенной группы и формы обучения. (Рис П.7)

«Приказ об отчислении» - отчет содержит информацию об учениках, которые были отчислены из учебного заведения. (Рис П.8)

«Учебный план» - отчет показывает информацию об учебном процессе (какие дисциплины изучаются). (Рис П.9)

ЗАКЛЮЧЕНИЕ

Целью моей дипломной работы было оптимизировать работу административного отдела художественной школы, путем автоматизации учета оплаты за обучение и учета успеваемости учеников. Разработка дипломного проекта успешно завершена. Все поставленные задачи были выполнены. Была изучена организация баз данных. Выявлены следующие особенности:

среда Access может с успехом использоваться начинающими пользователями для познания секретов реляционных баз данных и увлекательных занятий по созданию несложных (поначалу) приложений;

перед тем, как создать базу данных, ее необходимо тщательно продумать. Изменение структуры базы на этапе эксплуатации системы очень трудоемко;

процесс внедрения программы в организацию является более быстрым и легким. Достаточно только скопировать базу данных на компьютер пользователя.

Гибкость среды разработки Microsoft Access 2010 позволила создать простой и эффективный интерфейс (по отзывам пользователей, тестировавших продукт). Такой интерфейс призван снизить нагрузку на эмоционально-психологическое состояние пользователя и ускорить работу пользователя с программой. Кроме того, интерфейс был упрощен до необходимого функционала, то есть пользователь будет видеть только те элементы интерфейса, которые необходимы ему в работе.

После внедрения программы на предприятие ускорился процесс ведения учета оплаты обучения. Бухгалтер затрачивает меньше времени на оформление еженедельных отчетных документов.

Исходя из вышесказанного, можно сделать вывод, что внедрение проекта помогло увеличить эффективность распределения рабочего времени на более важные задачи. Созданная программа позволяет оптимизировать работу пользователя, ускорить процесс формирования документов и отчетов, снизить затраты рабочего времени на действия, напрямую не относящиеся к должностным обязанностям.

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ И ЛИТЕРАТУРЫ

Бекаревич Ю. Б., Пушкина Н. В. Microsoft Access 2002. СПБ.: БХВ- Петербург, 2003.718 с.

Бойко В.В., Савинков В.М. Проектирование баз данных информационных систем. - М.: Финансы и статистика, 1989. - 351 с.

Буч Г. Объектно-ориентированное проектирование с примерами применения: Пер. с англ.-М.: Канкорд, 1992.

Голицина О.Л., Максимов Н.В., Попов И.И. Базы данных: Учебное пособие. - М.: ФОРУМ: ИНФРА-М, 2003. - 352 с.

Дейт К. Руководство по реляционной СУБД DB2. М.: Финансы и статистика, 1988.320 с.

Джексон Г. Проектирование реляционных баз данных для использования с микроЭВМ. -М.: Мир, 1991. - 252 с.

Карпова Т.С. Базы данных: модели, разработка, реализация. - СПб.: Питер, 2002. - 304 с.

Кириллов В.В. Структуризованный язык запросов (SQL). - СПб.: ИТМО, 1994. - 80 с.

Коннолли Т., Бегг К., Страчан А. База данных. Проектирование и сопровождение: Теория и практика. М.: Изд. Дом «Вильяме», 2000.1111с.

Корнеев И.К., Машурцов В.А. Информационные технологии в управлении. - М.: ИНФРА-М, 2001. - 158 с.

Плещёв В.В. Базы данных.Visual FoxPro, Access, SQL Server, Oracle с примерами и упражнениями: Екатеринбург 2007. 323 с.

Хаббард Дж. Автоматизированное проектирование баз данных. - М.: Мир, 1984. - 294 с.

Шарипова Н.Н. Теория и практика проектирования баз данных: Учеб. пособие. - Екатеринбург: Изд-во Урал. Ун-та, 2006. - 384 с.

Приложение 1

Отчеты

Рис П.1. Отчет «Группы учеников».

Рис П.2. Форма «Карточка ученика - успеваемость».

Рис П.3. Форма «Оплата обучения».

Рис П.4. Форма «Приказ о зачислении».

Рис П.5. Форма «Приказ о переводе в другую группу».

Рис П.6. Форма «Приказ о переводе в следующее полугодие».

Рис П.7. Форма «Приказ о стоимости».

Рис П.8. Форма «Приказ об отчислении».

Рис П.9. Форма «Учебный план».

Приложение 2

РУКОВОДСТВО ПОЛЬЗОВАТЕЛЮ

При загрузке базы данных «Учет оплаты за обучение и учет успеваемости учеников» появляется главная форма (Рис. 10), которая дает возможность быстрого доступа к формам ввода, получения различных отчетов и анализа информации.

Рис П.10. Главная страница базы данных.

В верхнем левом углу содержится информация о должниках по оплате обучения с указанием величины долга. При нажатии на ФИО ученика будет создан отчет по оплате обучения данным учеником.

Соседний правый блок содержит различную информацию об ученике. Ученика следует выбрать из списка. Если этого сделано не будет, то все формы и отчеты будут открыты для всех учеников школы. Из этого блока возможен быстрый доступ к форме внесения оплаты учеником - кнопка «Внесение оплаты», при нажатии кнопки откроется форма ввода (Рис П.11). Если данная форма открыта для конкретного ученика, выбранного в главной форме, то следует только внести необходимую информацию об оплате, в противном случае следует также выбрать ученика.

Рис П.11. Форма ввода оплаты обучения учеником.

Закрыв форму ввода, можно вернуться к главной форме. Кнопки «Отчет об оплате обучения» и «Отчет об успеваемости» выводят соответствующие отчеты (Рис П.12, Рис П.13).

Рис П.12. Отчет об оплате.

Рис П.13. Отчет об успеваемости.

При нажатии в главной форме кнопки «Редактировать данные» откроется форма ввода данных о выбранном ученике или обо всех учениках.

Правый блок на главной форме - «Документы». Он создан для быстрого доступа к формам ввода документов. Например, ссылка на форму «Приказ о зачислении». При нажатии откроется форма (Рис П.14)

Рис П.14. Форма ввода приказов о зачислении.

В верхней части формы необходимо выбрать группу, в которую будет зачислен человек. В табличной части следует ввести данные о приказе - номер, дату, ученика, которого зачисляют, номер и дату договора, форму обучения. После ввода можно нажать кнопку со значком принтера рядом с записью. При нажатии будет сформирована печатная форма приказа о зачислении (Рис П.15).

Рис П.15. Печатная форма приказа о зачислении.

Все формы ввода приказов содержат подобные кнопки, при нажатии которых будет сформирован печатный документ.

Вернемся к главной форме. В блоке «Просмотр» содержатся ссылки на различные отчеты и запросы. В нижней части расположен элемент управление с вкладками. На вкладках находятся различные диаграммы, которые позволяют наглядно оценить ситуацию в школе.

Кнопка «Ввод дополнительной информации» откроет форму, дающую доступ к различным формам ввода.

Рис П.16. Форма доступа к вспомогательным формам ввода.

Нажатие на выбранную кнопку откроет нужную форму для ввода. Например, выбор кнопки «Дисциплины» откроет форму ввода дисциплин (Рис П.17)

Рис П.17. Форма ввода дисциплин.

Приложение 3

Макросы

Главная

Option Compare Database

Private Sub Form_Open(Cancel As Integer)

If CInt(Left$(Me.Application.Version, InStr(1, Me.Application.Version, ".") - 1)) >= 12 Then

Me.ПолеСоСписком12.Visible = False

Me.Дисциплина_подпись.Visible = False

Else

Me.ПолеСоСписком12.Visible = True

Me.Дисциплина_подпись.Visible = True

End If

End Sub

Private Sub Кнопка6_Click()

End Sub

Private Sub Кнопка6_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

On Error GoTo Err_Кнопка6_Click

Dim stDocName As String

Dim S1 As String, S2 As String, S3 As String, S4 As String, S As String

If Not Me.ПолеСоСписком2 Then S1 = "[Код_формы_обучения]=" & Me.ПолеСоСписком2

If Not Me.ПолеСоСписком4 Then S2 = "[Учебный план_Код_группы]=" & Me.ПолеСоСписком4

If Not Me.ПолеСоСписком8 Then S3 = "[Семестр]=" & Me.ПолеСоСписком8

If Not Me.ПолеСоСписком12 Then S4 = "[Код_дисциплины]=" & Me.ПолеСоСписком12

If S1 <> "" Then S = S1

If S <> "" And S2 <> "" Then S = S & " And " & S2

If S = "" And S2 <> "" Then S = S2

If S <> "" And S3 <> "" Then S = S & " And " & S3

If S = "" And S3 <> "" Then S = S3

If S <> "" And S4 <> "" Then S = S & " And " & S4

If S = "" And S4 <> "" Then S = S4

If S = "" And (S2 <> "" Or S3 <> "" Or S4 <> "") Then S = S2 & S3 & S4

If CInt(Left$(Me.Application.Version, InStr(1, Me.Application.Version, ".") - 1)) < 12 Then

stDocName = "Экзаменационная ведомость - подготовка"

DoCmd.OpenReport stDocName, acViewPreview, , S

Else

stDocName = "Учебный план с печатью ведомости"

DoCmd.OpenReport stDocName, acViewReport, , S

End If

Exit_Кнопка6_Click:

Exit Sub

Err_Кнопка6_Click:

MsgBox Err.Description

Resume Exit_Кнопка6_Click

End Sub

Private Sub Кнопка33_Click()

On Error GoTo Err_Кнопка33_Click

Dim stDocName As String

stDocName = "Экзаменационная ведомость - подготовка"

DoCmd.OpenReport stDocName, acViewReport, , "[Код_дисциплины_план]=" & Me.Код_дисциплины_план

Exit_Кнопка33_Click:

Exit Sub

Err_Кнопка33_Click:

MsgBox Err.Description

Resume Exit_Кнопка33_Click

End Sub

Private Sub Кнопка15_Click()

On Error GoTo Err_Кнопка15_Click

Exit_Кнопка15_Click:

Exit Sub

Err_Кнопка15_Click:

MsgBox Err.Description

Resume Exit_Кнопка15_Click

End Sub

Private Sub Кнопка15_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

Dim S1 As String, S2 As String, S3 As String, S4 As String, S As String

Dim stDocName As String

If Not Me.ПолеСоСписком11 Then S1 = "[Код_ученика]=" & Me.ПолеСоСписком11

If Not Me.ПолеСоСписком4 Then S2 = "[Код_группы]=" & Me.ПолеСоСписком4

If Not Me.ПолеСоСписком2 Then S3 = "[Код_формы]=" & Me.ПолеСоСписком2

If Me.ПолеСоСписком16 <> "" Then

S4 = "[Номер_гр]=" & Chr(34) & Me.ПолеСоСписком16 & Chr(34)

End If

S = ""

If S1 <> "" Then S = S1

If S <> "" And S2 <> "" Then S = S & " And " & S2

If S = "" And S2 <> "" Then S = S2

If S <> "" And S3 <> "" Then S = S & " And " & S3

If S = "" And S3 <> "" Then S = S3

If S <> "" And S4 <> "" Then S = S & " And " & S4

If S = "" And S4 <> "" Then S = S4

If S = "" And (S2 <> "" Or S3 <> "" Or S4 <> "") Then S = S2 & S3 & S4

stDocName = ChrW(1043) & ChrW(1088) & ChrW(1091) & ChrW(1087) & ChrW(1087) & ChrW(1099) & ChrW(32) & ChrW(1089) & ChrW(1090) & ChrW(1091) & ChrW(1076) & ChrW(1077) & ChrW(1085) & ChrW(1090) & ChrW(1086) & ChrW(1074)

DoCmd.OpenReport stDocName, acViewPreview, , S

End Sub

Private Sub Кнопка6_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

On Error GoTo Err_Кнопка6_Click

Dim stDocName As String

Dim S1 As String, S2 As String, S3 As String

If Not Me.ПолеСоСписком2 Then S1 = "[Код_формы_обучения]=" & Me.ПолеСоСписком2

If Not Me.ПолеСоСписком4 Then S2 = "[Учебный план_Код_группы]=" & Me.ПолеСоСписком4

If Not Me.ПолеСоСписком8 Then S3 = "[Семестр]=" & Me.ПолеСоСписком8

If S1 <> "" And S2 <> "" Then S1 = S1 & " And "

If S2 <> "" And S3 <> "" Then S2 = S2 & " And "

If S2 = "" And S1 <> "" And S3 <> "" Then S1 = S1 & " And "

stDocName = ChrW(1059) & ChrW(1095) & ChrW(1077) & ChrW(1073) & ChrW(1085) & ChrW(1099) & ChrW(1081) & ChrW(32) & ChrW(1087) & ChrW(1083) & ChrW(1072) & ChrW(1085)

DoCmd.OpenReport stDocName, acViewPreview, , S1 & S2 & S3

Exit_Кнопка6_Click:

Exit Sub

Err_Кнопка6_Click:

MsgBox Err.Description

Resume Exit_Кнопка6_Click

End Sub

Option Compare Database

Private Sub Кнопка15_Click()

On Error GoTo Err_Кнопка15_Click

Dim stDocName As String

stDocName = ChrW(1055) & ChrW(1088) & ChrW(1080) & ChrW(1082) & ChrW(1072) & ChrW(1079) & ChrW(32) & ChrW(1086) & ChrW(32) & ChrW(1089) & ChrW(1090) & ChrW(1086) & ChrW(1080) & ChrW(1084) & ChrW(1086) & ChrW(1089) & ChrW(1090) & ChrW(1080)

DoCmd.OpenReport stDocName, acPreview, , "[Номер_приказа_стоимости]=" & Me.Номер_приказа_стоимости

Exit_Кнопка15_Click:

Exit Sub

Err_Кнопка15_Click:

MsgBox Err.Description

Resume Exit_Кнопка15_Click

End Sub

Option Compare Database

Private Sub Кнопка23_Click()

End Sub

Private Sub Кнопка8_Click()

On Error GoTo Err_Кнопка8_Click

Dim stDocName As String

Dim stLinkCriteria As String

stDocName = ChrW(1057) & ChrW(1090) & ChrW(1091) & ChrW(1076) & ChrW(1077) & ChrW(1085) & ChrW(1090)

If Not Me.Дан_ученика Then

DoCmd.OpenForm stDocName, , , "[Код_ ученика]=" & Me.Дан_ ученик

Else

MsgBox "Ученик не выбран. Будут показаны данные обо всех учениках", vbInformation

DoCmd.OpenForm stDocName

End If

Exit_Кнопка8_Click:

Exit Sub

Err_Кнопка8_Click:

MsgBox Err.Description

Resume Exit_Кнопка8_Click

End Sub

Private Sub Кнопка9_Click()

On Error GoTo Err_Кнопка9_Click

Dim stDocName As String

stDocName = ChrW(1050) & ChrW(1072) & ChrW(1088) & ChrW(1090) & ChrW(1086) & ChrW(1095) & ChrW(1082) & ChrW(1072) & ChrW(32) & ChrW(1089) & ChrW(1090) & ChrW(1091) & ChrW(1076) & ChrW(1077) & ChrW(1085) & ChrW(1090) & ChrW(1072) & ChrW(32) & ChrW(45) & ChrW(32) & ChrW(1091) & ChrW(1089) & ChrW(1087) & ChrW(1077) & ChrW(1074) & ChrW(1072) & ChrW(1077) & ChrW(1084) & ChrW(1086) & ChrW(1089) & ChrW(1090) & ChrW(1100)

If Not Me.Дан_ученик Then

DoCmd.OpenReport stDocName, acPreview, , "[Код_ ученика]=" & Me.Дан_ ученик

Else

MsgBox "Ученик не выбран. Будут показаны данные обо всех учениках", vbInformation

DoCmd.OpenReport stDocName, acPreview

End If

Exit_Кнопка9_Click:

Exit Sub

Err_Кнопка9_Click:

MsgBox Err.Description

Resume Exit_Кнопка9_Click

End Sub

Private Sub Кнопка10_Click()

On Error GoTo Err_Кнопка10_Click

Dim stDocName As String

stDocName = ChrW(1054) & ChrW(1087) & ChrW(1083) & ChrW(1072) & ChrW(1090) & ChrW(1072) & ChrW(32) & ChrW(1086) & ChrW(1073) & ChrW(1091) & ChrW(1095) & ChrW(1077) & ChrW(1085) & ChrW(1080) & ChrW(1103)


Подобные документы

  • Рассмотрение этапов автоматизации процесса информирования родителей об успеваемости учеников: реализация преобразования школьного журнала в электронный вид, формирование и администрирование баз данных школьников, создание множества SMS сообщений.

    дипломная работа [572,7 K], добавлен 12.05.2010

  • Разработка автоматизированной системы учета заявок и предоставление туров при помощи MS Access. Построение реляционной схемы базы данных. Создание таблиц и схем данных БД, запросов и отчетов. Использование интернет-маркетинга туристической фирме.

    курсовая работа [5,2 M], добавлен 05.12.2014

  • Построение концептуальной модели. Создание таблиц, входящих в состав базы данных. Разработка основных запросов, отчетов о количестве учеников в данном классе и работе школы; форм для просмотра и редактирования данных в программе Microsoft Access.

    курсовая работа [2,7 M], добавлен 08.05.2015

  • Создание информационной системы учета стран, поставляющих продукты в крупные фирмы. Схема данных и ее описание. Создание таблиц программы. Проектирование базы данных. Главная кнопочная форма. Рисунки структур запросов для отчетов в режиме конструктора.

    курсовая работа [2,9 M], добавлен 04.02.2013

  • Сущность и виды СУБД Microsoft Access. Алгоритм создания базы данных сессионной успеваемости студентов ВУЗа. Проектирование форм для сводных таблиц с помощью конструктора окон. Разработка отчетов и запросов на выборку данных. Создание кнопочной формы.

    курсовая работа [5,4 M], добавлен 09.05.2011

  • Разработка базы данных для автоматизации учета и хранения сведений о заявках от работодателей. Проектирование приложения в СУБД Access. Описание запросов, отчетов и представлений данных. Интерфейс, условия выполнения и тестирование программного продукта.

    курсовая работа [3,7 M], добавлен 05.04.2012

  • Система учета успеваемости студентов Байкальского государственного университета экономики и права. Действующая Информационная система, организация и требования к подсистеме учета успеваемости БГУЭП. Конструирование подсистемы, построение модели функций.

    дипломная работа [2,2 M], добавлен 20.11.2010

  • Анализ и описание данных, метода нормальных форм, нормализации отношений. Определение зависимостей атрибутов отношения. Создание и общая характеристика, внутренняя структура проектируемой базы данных, требования к ней. Разработка руководства оператора.

    курсовая работа [2,6 M], добавлен 16.06.2014

  • Методы проектирования базы данных по заданной предметной области с использованием CASE-средств ER/Studio и СУБД MS Access. Формирование и связывание таблиц, ввод данных. Создание экранных форм, запросов, отчетов, меню приложения. Генерация приложения.

    курсовая работа [884,0 K], добавлен 08.09.2010

  • Разработка программы для автоматизации складского учета. Описание предметной области и технологии функционирования информационной системы. Физическое проектирование базы данных. Создание экранных форм ввода-вывода, отчетов, модулей для прикладных решений.

    курсовая работа [3,6 M], добавлен 08.12.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.