Разработка базы данных «Составление расписания для высших учебных заведений. Проектирование и реализация базы данных расписание занятий Access создание расписания занятий с учетом вместимости

ВВЕДЕНИЕ

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

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

В мире существует множество систем управления базами данных. Несмотря на то, что они могут по-разному работать с разными объектами и предоставляют пользователю различные функции и средства, большинство СУБД опираются на единый устоявшийся комплекс основных понятий. Это дает нам возможность рассмотреть одну систему и обобщить ее понятия, приемы и методы на весь класс СУБД. В качестве такого учебного объекта мы выберем СУБД Microsoft Access, входящую в пакет Microsoft Office. Практически все СУБД позволяют добавлять новые данные в таблицы. С этой точки зрения СУБД не отличаются от программ электронных таблиц (Excel), которые могут эмулировать некоторые функции баз данных. Существует три принципиальных отличия между СУБД и программами электронных таблиц:

СУБД разрабатываются с целью обеспечения эффективной обработки больших объёмов информации, намного больших, чем те, с которыми справляются электронные таблицы.

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

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

Access – мощное приложение Windows. При этом производительность СУБД органично сочетаются со всеми удобствами и преимуществами Windows.

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

В рамках этого курсового проекта необходимо спроектировать и реализовать средствами MS ACCESS информационную систему, позволяющую составить расписание занятий.

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

· занятость аудиторий;

· группы;

· специализация и свободное время преподавателей;

· расписание звонков;

· дисциплины (учебный план);

· дни недели;

· расписание;

· учебный план.

Диспетчер должен вводить расписание в виде записей базы:

День недели

Время начала

Аудитория

Дисциплина

Преподаватель

При вводе требуется не допускать «накладок» вида:

1. В одной аудитории в одно и то же время занимаются разные группы;

2. Одна и та же группа в одно и то же время занимается в разных аудиториях, либо разными предметами, либо с разными преподавателями;

3. Один и тот же преподаватель занимается в одно и то же время либо в разных аудиториях, либо разными предметами, либо с разными группами.

Кроме того, информационная система должна выводить информацию по запросам расписаний:

· группы;

· преподаватели;

Для обеспечения пользователя указанной информацией в БД должны храниться справочные данные о группах, аудиториях и преподавателях. В результате анализа предметной области выявляются документы, содержащие справочную информацию: «Группы» (рис.1.2.1), «Аудитории» (рис.1.2.2), «Преподаватели» (рис.1.2.3), «Расписание звонков» (рис.1.2.4), «Дисциплины» (рис.1.2.5), «Дни недели» (рис.1.2.6), «Расписание» (рис.1.2.7), «Учебный план» (рис.1.2.8). Ниже приведены формы документов.

Рис.1.2.1 Форма справочного документа «Группы»

Рис.1.2.3 Форма справочного документа «Преподаватели»

Рис.1.2.4 Форма справочного документа « Расписание звонков»

Рис.1.2.5 Форма справочного документа «Дисциплины»

Рис.1.2.6 Форма справочного документа «Дни недели»

Рис.1.2.7 Форма справочного документа «Расписание»

Создание базы данных «расписание»

Введение.

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

Актуальность темы.

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

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

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

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

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

Одно из основных назначений СУБД – поддержка программными средствами представления, соответствующего реальности.

Краткое описание предметной области.

Предметной областью называется фрагмент реальности, который описывается или моделируется с помощью БД и ее приложений. В предметной области выделяются информационные объекты – идентифицируемые объекты реального мира, процессы, системы, понятия и т.д., сведения о которых хранятся в БД.

В данной курсовой работе разработана база данных “Расписание” для автоматизации и уменьшения времени составления расписания занятий в ВУЗах.

Расписание включает в себя следующие таблицы:

1 Преподаватели

2 Аудитории

4 Занятия

5 Время пары

6 Расписание

Таблица 1.Преподаватели Таблица 2.Аудитории

Аудитория

Код аудитории

Таблица 3.Группы

Код группы

Факультет

Специальность

Информатики

Информационные системы

Юриспреденции и права

Правовед

Информатики

Прикладная информатика (в экономике)

Экономики

история эк.наук

Экономики

Маркетинг

БУГ-123АГА

Таблица 5.Время пары Таблица 4.Занятия

Код занятия

Тип занятия

Базы данных

Программирование

Операционные Системы

Менеджмент

Философия

Время пары

Таблица 6.Расписание

Расписание

Код занятия

Тип занятия

Преподаватель

Аудитория

Программирование

Александрова О.А.

Менеджмент

Кирилов Н. Я

Менеджмент

Павлековская И.М.

Программирование

Акимов А.В..

Базы данных

Кирилов Н. Я

Операционные Системы

Александрова О.А.

Программирование

Кирилов Н. Я

Описание атрибутов и их свойств.

Атрибуты или поля имеют тип данных. При выборе типа данных необходимо учитывать следующее:

Какие значения должны отображаться в поле.

Сколько места необходимо для хранения значений в поле.

Какие операции должны производится со значениями в поле.

Нужна ли сортировка или индексирование поля.

Будет ли использоваться группировка в запросах или отчетах.

Каким образом должны быть отсортированы значения в поле.

Всего имеется 10 типов полей.

Таблица 2.

Тип данных

Применение

Текстовый

Текст или комбинация текста и чисел

До 255 символов

Длинный текст. Не сортируется и не индексируется.

До 64 000 символов

Числовой

Числовые данные, использующиеся для вычислений

1, 2, 4, 8 байт

Дата/время

Даты и время, обеспечивает правильную сортировку.

Денежный

Значения валют. Для предотвращения округлений.

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

Логический

Два значения типа Да/Нет

Объект OLE

Объекты, созданные в других программах.

До 1 Гигабайта

До 64 000 символов

Мастер подстановок

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

По размеру ключевого поля

Кроме типа поля имеют форматы, которые позволяют указать форматы вывода текста, чисел, дат и значений времени на экран и на печать. Формат поля для элементов управления задается в окне свойств, а для поля в таблице или запросе в режиме конструктора таблицы (в разделе свойств поля) или в окне запроса (в окне свойств поля). Форматы можно выбирать из списка встроенных форматов для полей, имеющих числовой, денежный, логический типы данных, а также типы данных счетчика и даты/времени. Также для любых типов полей, отличных от объектов OLE есть возможность создания собственных специальных форматов. Кроме того, значение данного свойства можно задать в макросе или в программе Visual Basic.

Проектирование отношений

Таблица 7. Связи информационных объектов

Номер связи

Главный объект

Подчиненный объект

Тип связи

Преподаватели

Расписание

Аудитория

Расписание

Расписание

Расписание

Время пары

Расписание

Описание связей между таблицами-отношениями.

После разработки всех таблиц необходимо установить связи между ними.

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

Наиболее часто используемый тип связи «один-к-многим». В такой связи каждой записи в таблице А могут соответствовать несколько записей в таблице В, а запись в таблице В не может иметь более одной соответствующей ей записи в таблице А.

Еще могут быть отношения «многие-к-многим». При таком отношении одной записи в таблице А могут соответствовать несколько записей в таблице В, а одной записи в таблице В – несколько записей в таблице А. Такая схема реализуется только с помощью третьей (связующей) таблицы, ключ которой состоит по крайней мере из двух полей, являющихся полями внешнего ключа в таблицах А и В.

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

Для создания схемы следует воспользоваться средством создания схемы данных.

Схема данных представлена на рисунке 1. Таблица Группа, Аудитория, Преподаватели, Занятия, Время пары связанны с таблицей расписание посредством кодового поля.

Рис 1.Схема данных “Расписание”

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

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

В Microsoft Access можно выделить три типа ключевых полей: счетчик, простой ключ и составной ключ.

Указание поля счетчика в качестве ключевого – наиболее простой способ создания ключевых полей.

Если поле содержит уникальные значения, такие как коды или инвентарные номера, то это поле можно определить как ключевое.

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

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

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

3. Проектирование базы данных.

В Microsoft Access, прежде чем создавать таблицы, формы и другие объекты необходимо задать структуру базы данных. Хорошая структура базы данных является основой для создания адекватной требованиям, эффективной базы данных.

Этапы проектирования базы данных

Ниже приведены основные этапы проектирования базы данных:

Определение цели создания базы данных.

Определение таблиц, которые должна содержать база данных.

Определение необходимых в таблице полей.

Задание индивидуального значения каждому полю.

Определение связей между таблицами.

Обновление структуры базы данных.

Добавление данных и создание других объектов базы данных.

Использование средств анализа в Microsoft Access.

Определение цели создания базы данных

На первом этапе проектирования базы данных необходимо определить цель создания базы данных, основные ее функции и информацию, которую она должна содержать. То есть нужно определить основные темы таблиц базы данных и информацию, которую будут содержать поля таблиц.

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

Определение таблиц, которые должна содержать база данных

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

При проектировании таблиц вовсе не обязательно использовать Microsoft Access. Сначала лучше разработать структуру на бумаге. При проектировке таблиц, рекомендуется руководствоваться следующими основными принципами:

Информация в таблице не должна дублироваться. Не должно быть повторений и между таблицами.

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

Каждая таблица должна содержать информацию только на одну тему.

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

Определение необходимых в таблице полей

Каждая таблица содержит информацию на отдельную тему, а каждое поле в таблице содержит отдельные сведения по теме таблицы. Например, в таблице с данными о преподавателях могут содержаться поля с названием специальность, факультет, курс, номер группы. При разработке полей для каждой таблицы необходимо помнить:

Каждое поле должно быть связано с темой таблицы.

В таблице должна присутствовать вся необходимая информация.

Информацию следует разбивать на наименьшие логические единицы (Например, поля «Имя» и «Фамилия», а не общее поле «Имя»).

Задание индивидуального значения каждому полю

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

Определение связей между таблицами

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

Желательно изучить связи между таблицами в уже существующей базе данных.

Обновление структуры базы данных

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

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

Добавление данных и создание других объектов базы данных

Если структуры таблиц отвечают поставленным требованиям, то можно вводить все данные. Затем можно создавать любые запросы, формы, отчеты, макросы и модули.

Использование средств анализа в Microsoft Access

В Microsoft Access существует два инструмента для усовершенствования структуры баз данных. Мастер анализа таблиц исследует таблицу, в случае необходимости предлагает новую ее структуру и связи, а также переделывает ее.

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

Разработка и создание форм.

Формы – одно из основных средств для работы с базами данных в Access - используются для ввода новых записей (строк таблиц), просмотра и редактирования уже имеющихся данных, задания параметров запросов и вывода ответов на них и др. Формы представляют собой прямоугольные окна с размещенными в них элементами управления.

Форму можно создать тремя различными способами.

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

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

Вручную в режиме конструктора. Сначала создается базовая форма, которая затем изменяется в соответствии с требованиями в режиме конструктора.

Создание форм в режиме Мастера форм.

В окне базы данных выберите Формы в списке Объекты.

Нажмите кнопку Создать на панели инструментов окна базы данных.

В диалоговом окне Новая форма выберите нужного мастера. Описание мастера появляется в левой части диалогового окна.

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

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

Нажмите кнопку OK.

Следуйте инструкциям мастера.

Созданную форму можно изменить в режиме конструктора, сводной таблицы или сводной диаграммы.

Рис 2 Форма расписание

Рис 3 Конструктор форм

Организация запросов.

Запросы в Microsoft Access можно создать либо автоматически, с помощью мастеров, либо самостоятельно, в окне конструктора запросов. Доработать и оптимизировать инструкцию запроса можно в режиме SQL.

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

В диалоговом окне Новый запрос выберите в списке строку Простой запрос и нажмите кнопку OK.

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

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

Работа с запросами в режиме конструктора.

В окне базы данных в списке Объекты выберите Запросы и на панели инструментов окна базы данных нажмите кнопку Создать.

В диалоговом окне Новый запрос щелкните строку Конструктор, а затем нажмите кнопку OK.

В диалоговом окне Добавление таблицы выберите вкладку, содержащую объекты, данные из которых будут использованы в запросе.

Дважды щелкните объекты, которые нужно добавить в запрос, а затем нажмите кнопку Закрыть.

Добавьте поля в строку Поле в бланке запроса и, если необходимо, укажите условия и порядок сортировки.

Для просмотра результатов запроса на панели инструментов нажмите кнопку Вид.

Запросы могут нам в основном понадобиться для создания отчетов. Или для распечатки выборочных данных. Для этой базы данных в запросах есть необходимость. Создадим запрос по дате.

Разработка и создание отчетов.

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

Отчеты во многом схожи с формами. При проектировании отчетов используются многие технологии, применяемые для форм.

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

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

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

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

Можно настроить отчет следующими способами.

Источник записей. Измените таблицу или запрос, на котором основан отчет.

Сортировка и группировка данных. Можно сортировать данные по возрастанию и по убыванию. Также можно группировать записи по одному или нескольким полям и отображать промежуточные и общие итоги в отчете.

Окно отчета. Можно добавить или удалить кнопки Развернуть и Свернуть, изменить текст заголовка и другие элементы окна отчета.

Разделы. Можно добавить, удалить, скрыть или изменить размер подписи, примечания и области данных отчета. Можно также задавать свойства разделов, определяющие вид отчета на экране и при печати.

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

Рис5. Отчет по Расписанию.

Заключение.

Рассмотрев свою курсовую работу на практическом примере, я понимаю, что Microsoft Access обладает всеми чертами классической СУБД и предоставляет дополнительные возможности. Access - это не только мощная, гибкая и простая в использовании СУБД, но и система для разработки работающих с базами данных приложений. С помощью Access можно создать приложение, работающее в среде Windows и полностью соответствующее нашим потребностям по управлению данными. Используя запросы, можно выбирать и обрабатывать хранящуюся в таблицах информацию. Можно создавать формы для ввода, просмотра и обновления данных, а также использовать Access для создания как простых, так и сложных отчетов. Формы и отчеты «наследуют» свойства базовой таблицы или запроса, так что в большинстве случаев вы указываете форматы, условия на значения и некоторые другие характеристики данных только один раз. К числу наиболее мощных средств Access относятся средства разработки объектов - Мастера, которые можно использовать для создания таблиц, запросов различных типов форм и отчетов, просто выбрав с помощью мыши нужные опции. Чтобы полностью автоматизировать работу вашего приложения, с помощью макросов Access можно легко связать данные с формами и отчетами. Вы можете создать большинство приложений, не написав ни единой строки программы, но если необходимо создать нечто уж совсем изощренное, то на этот случай Microsoft Access предоставляет мощный язык программирования - Microsoft Access Basic.

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

Список литературы

ACCESS 2000: Разработка приложений. И. Харитонова, В. Михеева. BHV, 2000.

Access97. В. Корнелюк, З. Веккер, Н. Зиновьев. «СОЛОН», 1998.

Крёнке Д.Теория и практика построения баз данных, 8-е изд. СПб: «Питер», 2003.

Д., Цыганков В. М., Мальцев М. Г. Базы данных: Учебник для высших учебных

заведений /Под ред. проф. А. Д. Хомоненко. Спб.: КОРОНА принт, 2000.

Справочная система Microsoft Access.

Для подготовки данной работы были использованы материалы с сайта http://referat.ru

Постановка задачи: необходимо в СУБД «MS Access 2002» создать базу данных «Расписание занятий преподавателя».

Запускаем «MS Access 2002», создаем новую базу данных, сохраняем ее на диск. Долее переходим в первый раздел «Таблицы» и начинаем его заполнять. В общей сложности нужно будет создать следующие таблицы:

– Дни недели;

– Четность недели;

– Аудитории;

– Группы;

– Виды занятий;

– Дисциплины.

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

Название поля

Тип поля, размер

Код дня недели

Счетчик, первичный ключ

День недели

Название поля

Тип поля, размер

Счетчик, первичный ключ

Номер пары

Числовой, байт

Время начала

Дата/время

Время окончания

Дата/время

Затем создаем таблицу «Группы».

Название поля

Тип поля, размер

Код группы

Счетчик, первичный ключ

Название

Текстовый, 5

Потом переходим к созданию таблицы «Виды занятий».

Название поля

Тип поля, размер

Счетчик, первичный ключ

Название поля

Тип поля, размер

Код аудитории

Счетчик, первичный ключ

Аудитория

Текстовый, 5

Затем создаем таблицу «Четность недели», т.к. занятия очень часто имеют различное расписание по четным и нечетным неделям.

Название поля

Тип поля, размер

Код четности

Счетчик, первичный ключ

Название поля

Тип поля, размер

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

Счетчик, первичный ключ

Дисциплина

Текстовый, 50

И, наконец, создаем ключевую таблицу во всех смыслах «Расписание».

Название поля

Тип поля, размер

Код расписания

Счетчик, первичный ключ

День недели

Внешний ключ, таблица «Дни недели»

Четность

Внешний ключ, таблица «Четность недели»

Внешний ключ, таблица «Пары»

Внешний ключ, таблица «Группы»

Дисциплина

Внешний ключ, таблица «Дисциплины»

Вид занятия

Внешний ключ, таблица «Виды занятий»

Аудитория

Внешний ключ, таблица «Аудитории»

Когда все таблицы созданы, нужно перейти в раздел «Сервис – Схема данных…», чтобы подкорректировать связи, а именно установить в них обеспечение целостности, каскадное удаление и каскадное обновление данных.

Рис. 1. Схема данных базы

Рис. 2. Таблица «Дни недели»

Рис. 3. Таблица «Пары»

Рис. 4. Таблица «Группы»

Рис. 5. Таблица «Виды занятий»

Рис. 6. Таблица «Аудитории»

Рис. 7. Таблица «Четность недели»

Рис. 8. Таблица «Дисциплины»

Рис. 9. Таблица «Расписание»

Чтобы создать отчет нужно перейти в раздел «Отчеты», запустить мастер отчетов, далее выбрать таблицу, например, «Расписание», затем отобрать необходимые поля, добавить уровни группировки. Потом выбрать порядок сортировки по полю «Пара». Далее выбирается макет отчета.Затем нужно определить стиль отчета. А в конце задать имя отчета и сохранить его.

Рис. 10. Отчет «Расписание» в первом приближении

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

Министерство образования и науки РФ

Федеральное государственное бюджетное образовательное учреждение

Высшего профессионального образования

«ВОСТОЧНО-СИБИРСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

ТЕХНОЛОГИЙ И УПРАВЛЕНИЯ»

(ФГБОУ ВПО ВСГУТУ)

Кафедра «Системы информатики»

КУРСОВОЙ ПРОЕКТ

по дисциплине «БАЗЫ ДАННЫХ»

на тему «Разработка базы данных

«Составление расписания для высших учебных заведений»

Выполнл(а):

студент гр.529

__________

Руководитель:

к.т.н, доцент

___________

Базарон С.А.

Нормоконтролер:

к.п.н., доцент

___________

Чимитова Е.Г.

Оценка:

___________

Дата защиты:

___________

Улан-Удэ

2012

Введение…………………………………….……………...……………...…3

1. Проектирование Базы данных………………………...………….………5

1.1. Постановка задачи……………………………………………………....6

1.2. Описание предметной обла с ти…………………………………………6

1.3. Проектирование логической модели базы да н ных…………………...8

2. Реализация базы данных и пользовательское приложения…………..10

2.1. Проектирование физической модели базы данных …………………11

2.2. Создание базы данных в Microsoft SQL Server ……………………...13

2.3. Реализация клиентского прилож е ния………………………………...17

Заключ е ние………………………………………………………………….21

Список использованных источн и ков……………………………………...23

Приложение А………………………………………………………………25

Приложение Б……………………………………………………………….27

Приложение В………………………………………………………………29

ВВЕДЕНИЕ


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

Если использовать при организации процесса обучения ЭВМ, в частн о сти различного рода программные продукты, то можно сделать этот процесс гораздо более точным и быстрым, лишенным множества накладок, которые возникают при его организации вручную.

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

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

Задачи курсового проекта можно сформулировать как:

  • Создание логической и физической моделей базы данных;
  • Создание базы данных в Среда SQL Server Management Studio;
  • Создание интерфейса программы в Delphi 7.

1. ПРОЕКТИРОВАНИЕ БАЗЫ ДАННЫХ


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

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

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

1.2. Описание предметной области

Расписание занятий в высшем учебном заведении служит для сведения в единую взаимосвязанную систему учащихся, преподавателей и мест пров е дения занятий (аудиторий).

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

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


Традиционный способ представляет собой следующие этапы, выполняющи е ся вручную:

1. Разработка и утверждение учебных планов.

2. Выборка из планов перечня дисциплин и закрепление их за кафедр а ми.

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

4. Распределение нагрузки на кафедрах.

5. Составление проходки на семестр, которая содержит информацию о дисциплинах, видах занятий, часами по каждому из видов и преподавателе.

6. Учёт занятого и свободного времени преподавателей работающих по совместительству.

7. Составление расписания.


1.3. Проектирование логической модели базы данных

Процесс проектирования данных можно условно разделить на два этапа: логическое моделирование и физическое проектирование. Результатом пе р вого из них является так называемая логическая (или концептуальная) м о дель данных, выражаемая обычно диаграммой «сущность-связь» или ER (Entity-Relationship) диаграммой, которая представлена в одной из стандар т ных нотаций, принятых для отображения подобных диаграмм. Результатом второго этапа является готовая база данных либо DDL-скрипт для ее созд а ния.

Логическая модель данных описывает факты и объекты, подлежащие р е гистрации в будущей базе данных. Основными компонентами такой модели являются сущности, их атрибуты и связи между ними. Как правило, физич е ским аналогом сущности в будущей базе данных является таблица, а физич е ским аналогом атрибута — поле этой таблицы. С логической точки зрения сущность представляет собой совокупность однотипных объектов или фа к тов, называемых экземплярами этой сущности. Физическим аналогом экзе м пляра обычно является запись в таблице базы данных. Как и записи в таблице реляционной СУБД, экземпляры сущности должны быть уникальными, то есть полный набор значений их атрибутов не должен дублироваться. И так же, как и поля в таблице, атрибуты могут быть ключевыми и неключевыми. На этапе логического проектирования для каждого атрибута обычно опред е ляется примерный тип данных (строковый, числовой, BLOB и др.). Конкр е тизация происходит на этапе физического проектирования, так как разли ч ные СУБД поддерживают разные типы данных и ограничения на их длину или точность.


Таблица 1. Сущности и их атрибуты

сущности

атрибуты

описание

расписание

код расписания

составление расписания

код группы

номер аудитории

код преподавателя

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

из остальных сущностей

код дня недели

код типа занятия

номер пары

факультет

код факультета

информация о факультетах

факультет

специальность

код специальности

информация о специальностях ВУЗа

наименование специальности

аудитория

номер аудитории

информация аудиториях во всех имеющихся корпусах

корпус

количество мест

адрес

дисциплина

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

Все изучаемы дисциплины

название дисциплины

номер пары

номер пары

информация о длительности пары

время начала

время окончания

день недели

код дня недели

информация о днях неделях и о их кодах

название дня недели

тип занятия

код типа занятия

лекция или практика

название дня недели

фома обучения

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

очная или заочная формы обучения

наименование формы обучения

преподаватель

код преподавателя

содержит ифнормацию преподавателе

ФИО преподавателя

код кафедры

код досжности

код звания

код ученой степени

кафедра

код кафедры

информафия о кафедре

название кафедры

должность

код должности

должности работников ВУЗов

наименование должности

звание

код звания

звания работников ВУЗов

наименование звания

ученая степень

код ученой степени

ученые степени работников ВУЗов

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

2. РАЗРАБОТКА БВЗЫ ДАННЫХ И ПОЛЬЗОВАТЕЛЬСКОГО ПРИЛОЖЕНИЯ


2.1. Проектирование физической модели базы данных

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

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

Как правило, основной целью физического проектирования базы данных является описание способа физической реализации логического проекта базы данных. Представим физическую модель базы данных «Составление расп и сания для ВУЗов» в виде таблиц сущностей из таблицы 1.

Таблица 2. Расписание

код расписания

код группы

номер аудитории

код преподавателя

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

код дня недели

код типа занятия

номер пары

Таблица 3. Группы

код группы

количество студентов

код факультета

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

код специальности

Таблица 4. Факультет


Таблица 5. Специальность

Таблица 6. Аудитория

номер аудитории

корпус

количество мест

адрес

Таблица 7. Дисциплина

Таблица 8. Номер пары

номер пары

время начала

время окончания

Таблица 9. День недели

Таблица 10. Тип занятия

код типа занятия

тип занятия

Таблица 11. Кафедра

код кафедры

название кафедры

Таблица 12. Форма обучения

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

наименование формы обучения

Таблица 13. Преподаватель

код преподавателя

ФИО преподавателя

код кафедры

код должности

код звания

код ученой степени

Таблица 14. Должность

Таблица 15. Звание

код звания

наименование звания

Таблица 16. Ученая степень

код ученой степени

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

2.2. Создание базы данных в Microsoft SQL Server

Создание базы данных в Среда SQL Server Management Studio использ у ются логическая и физические модели проектирования базы данных (см. 1.3. и 2.1.).

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

Создание таблиц базы данных « raspisanie ». Описываются свойства атр и бутов данных таблиц (тип данных, длина, разрешение нулевого значения п о ля).


Таблица 17. Аудитория

Таблица 18. Группа

Таблица 19. День недели

Таблица 20. Дисциплина

Таблица 21. Должность


Таблица 22. Звание

Таблица 23. Кафедра

Таблица 24. Номер пары

Таблица 25. Преподаватель


Таблица 26. Расписание

Таблица 27. Специальность

Таблица 28. Тип занятия

Таблица 29. Ученая степень

Таблица 30. Факультет


Таблица 31. Форма обучения

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

Связывание таблиц происходит через создание диаграммы, где устана в ливаются все связи между таблицами. Диаграмма отношений базы данных « raspisanie » находится в Приложении Б.

2.3. Реализация клиентского приложения

Клиентское приложение реализуется в среде Delphi 7. Интерфейс базы данных « raspisanie » состоит из 9 форм, в которых осуществляются операции такие как: ввод, вывод и редактирование информации. А также 3 формы с операциями: поиск, фильтрация, отчет.

Рассмотрим для наглядного примера главную форму, поиск и отчет.

В форме «Расписание» вводятся данные в DBEdit и DBLoockUpCo m boBox и с помощью DBNavigator отображаются в компоненте DBGrid . С п о мощью этих компонентов можно вносить изменения в саму базу данных SQL .


Рис 1 Форма «Расписание групп»

Для удобства перемещения по самой программе был использован ко м понент MainMenu . Он помогает переходить на любые формы программы (см. рис 2).

Рис 2. Использование компонента MainMenu


Операция поиск позволяет найти данные о выбранной группе из таблицы «Группы».

Рис 3. Поиск

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

Рис 4. Операция поиск

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

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

Рис 5. Форма «Отчет»

При нажатии на кнопку «Показать отчет» выведется непосредственно сам отчет.

Рис 6. Сгруппированный отчет по группам

ЗАКЛЮЧЕНИЕ


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

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

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

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

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

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

  1. Изучение основ работы с СУБД Microsoft SQL Server 2005. Методич е ские указания для проведения лабораторных работ по курсу «Орган и зация баз данных и знаний», Орловский Д.Л., НТУ «ХПИ», кафедра АСУ, 2009.
  2. Разработка клиент-серверных приложений в Delphi , Андрей Шкрыль, БХВ-Петербург, 2006.

ПРИЛОЖЕНИЕ А


Сущности в ERwin


ПРИЛОЖЕНИЕ Б


Диаграмма таблиц SQL


ПРИЛОЖЕНИЕ В


Листинг операции «поиск»

Поиск

procedure TForm9.Button2Click(Sender: TObject);

begin

Query1.Active:=false;

КоличествоСтудентов , b. Факультет , c. НаименованиеФормыОбучения , a. КодСпециальности , d. НаименованиеСпециальности ";

КодФормыОбучения =c. КодФормыОбучения ) and (a. КодСпециальности =d. КодСпециальности ) and (e. КодГруппы ="""+combobox1.Text+""")");

Query1.Active:=true;

end;

Отмена

procedure TForm9.Button3Click(Sender: TObject);

begin

Query1.Active:=false;

Query1.SQL.text:="select e. КодГруппы , a. КоличествоСтудентов , b. Факультет , c. НаименованиеФормыОбучения , a. КодСпециальности , d. НаименованиеСпециальности ";

Query1.SQL.Add("from dbo. Группа a, dbo. Факультет b, dbo. ФормаОбучения c, dbo. Специальность d, dbo. Группа e");

Query1.SQL.Add("where (a. КодГруппы =e. КодГруппы ) and (a. КодФакультета =b. КодФакультета ) and (a. КодФормыОбучения =c. КодФормыОбучения ) and (a. КодСпециальности =d. КодСпециальности )");

Query1.Active:=true;

end;


Листинг операции «Фильтрация»

Фильтрация

procedure TForm10.Button1Click(Sender: TObject);

begin

Query1.Active:=false;

ФИОпреподавателя , b. НазваниеДисциплины , c. НазваниеДняНедели

Query1.SQL.Add("where (e. КодПреподавателя =a. КодПреподавателя ) and (e. КодДисциплины =b. КодДисциплины ) and (e. КодДняНедели =c. КодДняНедели ) and (e. КодТипаЗанятия =d. КодТипаЗанятия ) and (c. НазваниеДняНедели ="""+combobox1.Text+""")");

Query1.Active:=true;

end;

Отмена

procedure TForm10.Button2Click(Sender: TObject);

begin

Query1.Active:=false;

Query1.SQL.Text:="select e. КодРасписания , e. КодГруппы , e. НомерАудитории , a. ФИОпреподавателя , b. НазваниеДисциплины , c. НазваниеДняНедели , d. ТипЗанятия , e. НомерПары ";

Query1.SQL.Add("from dbo. Преподаватель a, dbo. Дисциплина b, dbo. ДеньНедели c, dbo. ТипЗанятия d, dbo. Расписание e");

Query1.SQL.Add("where (e. КодПреподавателя =a. КодПреподавателя ) and (e. КодДисциплины =b. КодДисциплины ) and (e. КодДняНедели =c. КодДняНедели ) and (e. КодТипаЗанятия =d. КодТипаЗанятия )");

Query1.Active:=true;

end;


Изм.

Лист

№ докум.

Подпись

Дата

Лист

Д.529.3.4.2.124.12.ПЗ

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Д.529.3.4.2.124.12.ПЗ

Разраб.

Улахаев А.Ю.

Провер.

Базарон С.А.

Н. Контр.

Чимитова Е.Г.

Утверд.

Базарон С.А.

с ших учебных заведений

Лит.

Листов

ВСГУТУ

зм.

Лист

№ докум.

Подпись

Дата

Лист

Д.529.3.4.2.124.12.ПЗ

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Д.529.3.4.2.124.12.ПЗ

Разраб.

Улахаев А.Ю.

Провер.

Базарон С.А.

Н. Контр.

Чимитова Е.Г.

Утверд.

Базарон С.А.

Составление расписания для вы с ших учебных заведений

Лит.

Листов

ВСГУТУ

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Д.529.3.4.2.124.12.ПЗ

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Д.529.3.4.2.124.12.ПЗ

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Д.529.3.4.2.124.12.ПЗ

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Д.529.3.4.2.124.12.ПЗ

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Д.529.3.4.2.124.12.ПЗ

Разраб.

Улахаев А.Ю.

Провер.

Базарон С.А.

Н. Контр.

Чимитова Е.Г.

Утверд.

Базарон С.А.

Составление расписания для вы с ших учебных заведений

Лит.

Листов

ВСГУТУ

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Д.529.3.4.2.124.12.ПЗ

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Д.529.3.4.2.124.12.ПЗ

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Д.529.3.4.2.124.12.ПЗ

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Д.529.3.4.2.124.12.ПЗ

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Д.529.3.4.2.124.12.ПЗ

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Д.529.3.4.2.124.12.ПЗ

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Д.529.3.4.2.124.12.ПЗ

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Д.529.3.4.2.124.12.ПЗ

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Д.529.3.4.2.124.12.ПЗ

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Д.529.3.4.2.124.12.ПЗ

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Д.529.3.4.2.124.12.ПЗ

Разраб.

Улахаев А.Ю.

Провер.

Базарон С.А.

Н. Контр.

Чимитова Е.Г.

Утверд.

Базарон С.А.

Составление расписания для вы с ших учебных заведений

Лит.

Листов

ВСГУТУ

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Д.529.3.4.2.124.12.ПЗ

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Д.529.3.4.2.124.12.ПЗ

Разраб.

Улахаев А.Ю.

Провер.

Базарон С.А.

Н. Контр.

Чимитова Е.Г.

Утверд.

Базарон С.А.

Составление расписания для вы с ших учебных заведений

Лит.

Листов

ВСГУТУ

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Д.529.3.4.2.124.12.ПЗ

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Д.529.3.4.2.124.12.ПЗ

Разраб.

Улахаев А.Ю.

Провер.

Базарон С.А.

Н. Контр.

Чимитова Е.Г.

Утверд.

Базарон С.А.

Составление расписания для вы с ших учебных заведений

Лит.

Листов

ВСГУТУ

Изм.

Лист

№ докум.

Подпись

Дата

Лист

Д.529.3.4.2.124.12.ПЗ

Разраб.

Улахаев А.Ю.

Провер.

Базарон С.А.

Н. Контр.

Чимитова Е.Г.

Утверд.

Базарон С.А.

Составление расписания для вы с ших учебных заведений

Лит.

Листов

2

ВСГУТУ

Изм.

Лист

№ докум.

Подпись

Дата

Лист

29

Д.529.3.4.2.124.12.ПЗ

Разраб.

Улахаев А.Ю.

Провер.

Базарон С.А.

Н. Контр.

Чимитова Е.Г.

Утверд.

Базарон С.А.

Составление расписания для вы с ших учебных заведений

Лит.

Листов

3

Организация

Сочи, 2008 г.

Сочинский государственный университет туризма и курортного дела

Кафедра ИТ

УТВЕРЖДАЮ

Зав. кафедрой

к.т.н., проф. Ю. И. Дрейзис

_______________________

_____” __________ 2008г.

ЗАДАНИЕ

на курсовое проектирование по курсу

Базы данных и знаний”

Студенту _____________________ Группа - ______________

Тема проекта: “Проектирование и реализация базы данных “Расписание занятий"

Исходные данные на проектирование:

Входные документы:

    занятость аудиторий;

    группы;

    расписание звонков;

    дисциплины (учебный план);

    дни недели.

Выходные документы: группы; преподаватели; аудитории.

Технические средства - ПЭВМ типа IBM PC.

Операционная система - MS Windows.

СУБД и инструментальные программные средства - по выбору разработчика.

Объем работы по курсу

    Расчетная часть:

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

      Инфологическое моделирование предметной области.

      Проектирование реализации.

      Физическое проектирование.

    Графическая часть:

    1. Схема инфологической модели.

      Схема структуры БД.

      Укрупненная схема программы.

      Чертежи (распечатки) форм и документов.

    Тестирование и отладка базы данных.

Срок выполнения проекта по разделам:

1, Пункты 1.1, 1.2 - к 7 неделя

2. Пункты 1.3, 3.1 - к 9 неделя

3. Пункты 1.4, 3.2 - к 12 неделя

4. Оформление ПЗ и графической части - к 14 неделе

Дата выдачи задания – 3 неделя семестра.

Дата защиты проекта – 16 неделя

Руководитель - __________________________

Задание получил ________________________

Студент ________________________________

ВВЕДЕНИЕ

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

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

В мире существует множество систем управления базами данных. Несмотря на то, что они могут по-разному работать с разными объектами и предоставляют пользователю различные функции и средства, большинство СУБД опираются на единый устоявшийся комплекс основных понятий. Это дает нам возможность рассмотреть одну систему и обобщить ее понятия, приемы и методы на весь класс СУБД. В качестве такого учебного объекта мы выберем СУБД Microsoft Access, входящую в пакет Microsoft Office. Практически все СУБД позволяют добавлять новые данные в таблицы. С этой точки зрения СУБД не отличаются от программ электронных таблиц (Excel), которые могут эмулировать некоторые функции баз данных. Существует три принципиальных отличия между СУБД и программами электронных таблиц:

    СУБД разрабатываются с целью обеспечения эффективной обработки больших объёмов информации, намного больших, чем те, с которыми справляются электронные таблицы.

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

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

Access – мощное приложение Windows. При этом производительность СУБД органично сочетаются со всеми удобствами и преимуществами Windows.

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

В рамках этого курсового проекта необходимо спроектировать и реализовать средствами MS ACCESS информационную систему, позволяющую составить расписание занятий.

1. Аналитическая часть

      Описание предметной области

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

    занятость аудиторий;

    группы;

    специализация и свободное время преподавателей;

    расписание звонков;

    дисциплины (учебный план);

    дни недели;

    расписание;

    учебный план.

Диспетчер должен вводить расписание в виде записей базы:

      День недели

      Время начала

      Аудитория

      Группа

      Дисциплина

      Преподаватель

При вводе требуется не допускать «накладок» вида:

    В одной аудитории в одно и то же время занимаются разные группы;

    Одна и та же группа в одно и то же время занимается в разных аудиториях, либо разными предметами, либо с разными преподавателями;

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

Кроме того, информационная система должна выводить информацию по запросам расписаний:

    группы;

    преподаватели;

    аудитории.

      Определение состава данных.

Для обеспечения пользователя указанной информацией в БД должны храниться справочные данные о группах, аудиториях и преподавателях. В результате анализа предметной области выявляются документы, содержащие справочную информацию: «Группы» (рис.1.2.1), «Аудитории» (рис.1.2.2), «Преподаватели» (рис.1.2.3), «Расписание звонков» (рис.1.2.4), «Дисциплины» (рис.1.2.5), «Дни недели» (рис.1.2.6), «Расписание» (рис.1.2.7), «Учебный план» (рис.1.2.8). Ниже приведены формы документов.

Рис.1.2.1 Форма справочного документа «Группы»

Рис.1.2.2 Форма справочного документа «Аудитории»

Рис.1.2.3 Форма справочного документа «Преподаватели»

Рис.1.2.4 Форма справочного документа « Расписание звонков»

Рис.1.2.5 Форма справочного документа «Дисциплины»

Рис.1.2.6 Форма справочного документа «Дни недели»

Рис.1.2.7 Форма справочного документа «Расписание»

Рис.1.2.8 Форма справочного документа «Учебный план»

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

    РАЗРАБОТКА КОНЦЕПТУАЛЬНОЙ МОДЕЛИ

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

    1. Выявление информационных объектов

Необходимо проанализировать каждый реквизит на наличие взаимосвязей с другими реквизитами. Реквизит приобретает смысл только тогда, когда он связан с другими реквизитами, обладающими смысловым единством. Так, код техники, наименование техники, количество отражают сведения об изделии; код объекта, наименование объекта, начальник объекта отражают сведения об объектах.

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

Реквизиты каждого информационного объекта канонической модели данных должны отвечать требованиям, соответствующим третьей нормальной форме реляционной модели данных:

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

Реквизитный состав первичных документов:


Таблица 2.1.1. Анализ документа «Группы»

Документ

Таблица 2.1.2. Анализ документа «Аудитории»

Документ

Таблица 2.1.3. Анализ документа «Дисциплины»

Документ

Таблица 2.1.4. Анализ документа «Дни недели»

Документ

Таблица 2.1.5. Анализ документа «Преподаватели»

Документ


Таблица 2.1.6. Анализ документа «Расписание»

Документ

Таблица 2.1.7. Анализ документа «Расписание звонков»

Документ

Таблица 2.1.8. Анализ документа «Учебный план»

Документ

Полученные информационные объекты отвечают требованиям нормализации, т. е. находятся в третьей нормальной форме.

Таблица 2.1.9. Объекты справочной информации

Информационный объект


У – уникальный, П – простой, С - составной.

2.2. Определение связей информационных объектов, построение информационно-логической модели и ER -диаграммы

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

Существуют следующие типы отношений между объектами:

    Один-к-одному (1:1). Каждому экземпляру первого информационного объекта соответствует только один экземпляр второго информационного объекта

    Один-ко-многим (1:М). Каждому экземпляру одного информационного объекта соответствует несколько экземпляров другого информационного объекта, а каждому экземпляру второго информационного объекта соответствовать не более одного экземпляра первого информационного объекта.

    Многие-ко-многим (М:М). Каждому экземпляру одного информационного объекта соответствует несколько экземпляров другого информационного объекта и каждому экземпляру второго информационного объекта может соответствовать несколько экземпляров первого.

В результате анализа получили 8 информационных объектов: ДНИ НЕДЕЛИ, АУДИТОРИИ, РАСПИСАНИЕ ЗВОНКОВ, УЧЕБНЫЙ ПЛАН, ГРУППЫ, ДИСЦИПЛИНЫ, РАСПИСАНИЕ, ПРЕПОДАВАТЕЛИ. Проведем попарный анализ связей между ними:

Дни недели (1) Расписание (7). Тип связи 1:М. Связь между этими объектами обеспечивается с помощью реквизита Код дня недели.

Аудитории (2) Расписание (7). Тип связи 1:М. Связь между этими объектами обеспечивается с помощью реквизита Номер аудитории.

Расписание звонков (3) Расписание (7). Тип связи 1:М. Связь между этими объектами обеспечивается с помощью реквизита Номер пары.

Учебный план (4) Дисциплины (6). Тип связи 1:М. Связь между этими объектами обеспечивается с помощью реквизита Дисциплина.

Группы (5) Расписание (7). Тип связи 1:М. Связь между этими объектами обеспечивается с помощью реквизита Код группы.

Дисциплины (6) Расписание (7). Тип связи 1:М. Связь между этими объектами обеспечивается с помощью реквизита Код дисциплины.

Преподаватели (8) Расписание (7). Тип связи 1:М. Связь между этими объектами обеспечивается с помощью реквизита Табельный номер преподавателя.

По этим данным можно построить матрицу смежности, которая позволяет выстроить информационные объекты по уровням (Рис.2.2.)

Рис. 2.2 Матрица смежности

Информационно-логическая модель приведена к каноническому виду, и объекты расположены в ней по уровням. На нулевом уровне располагаются объекты не подчиненные никаким другим объектам, на 1 уровне подчиненные 0 уровню и т.д. Такое размещение объектов дает представление об иерархической подчиненности, делает модель более наглядной и облегчает понимание зависимостей 1:М.

Матрица смежности показывает, что:

Информационные объекты Дни недели, Аудитории, Расписание звонков, Учебный план, Группы, Преподаватели находятся на 0 ом уровне;

Информационный объект Дисциплины находится на 1 ом уровне;

Информационный объект Расписание находится на 2 ом уровне.

Диаграммы отношений между таблицами помогают наглядно представить проект базы данных. Диаграммы объект-отношение (Entity - relation - ER), которые также называют диаграммами объект-атрибут-отношение (entity- atribute- relation – EAR), представляют собой один из наиболее широко используемых методов для изображения отношений между таблицами базы данных. Эллипсы над прямоугольниками таблиц обозначают классы атрибутов (поля), входящие в отношение. Ромбы, соединяющие пары прямоугольников таблиц и эллипсы полей, представляющих отношение между полями.

ER-диаграмма предметной области «Расписание» представлена в ПРИЛОЖЕНИИ А.

      Определение логической и физической моделей базы данных

Логическая структура реляционной базы данных является адекватным отображением полученной информационно-логической модели предметной области. Для канонической модели не требуется дополнительных преобразований. Каждый информационный объект модели данных отображается соответствующей реляционной таблицей. Структура реляционной таблицы определяется реквизитным составом соответствующего информационного объекта, где каждый столбец (поле) соответствует одному из реквизитов. Ключевые реквизиты образуют уникальный ключ реляционной таблицы. Для каждого столбца таблицы задается тип, размер данных и другие свойства. Топология проекта схемы данных практически совпадает с топологией информационно – логической модели. Логическая структура базы данных приведена в ПРИЛОЖЕНИИ В, а физическая – в ПРИЛОЖЕНИИ С.

      Описание работы с программой «Расписание занятий»

Программа, с условным названием «Расписание занятий», предназначена для составления расписания занятий. Для этого необходимо иметь следующую информацию: занятость аудиторий, сведения о группах, специализация преподавателей, расписание звонков, сведения о дисциплинах (учебный план), дни недели. Для обеспечения пользователя указанной информацией в БД должны храниться справочные данные о группах, аудиториях и преподавателях. В результате анализа предметной области выявляются документы, содержащие справочную информацию: «Группы», «Аудитории», «Преподаватели».

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

Рис. 2.4.1 Главное окно программы

При нажатии на кнопки «Расписание» появляется возможность работать со всей базой данных. Главная форма «Дни недели» содержит подчинённую форму «Расписание». Можно редактировать расписание в виде записей базы (рис. 2.4.2):

Рис. 2.4.2 Редактирование расписания на основе всех данных

При нажатии кнопки «Расписание группы» появляется форма с запросом кода группы (рис. 2.4.3), в нашем примере для группы с кодом «3514», затем сама база для редактирования расписания (рис. 2.4.4).

Рис. 2.4.4 Редактирование расписания для определённой группы

При нажатии кнопки «Аудитория» появляется запрос номера аудитории (рис. 2.4.5), в нашем примере номер аудитории «1», затем запрос кода дня недели (рис. 2.4.6), в нашем примере – «1» (Понедельник), и, затем форма для редактирования расписания (рис. 2.4.7).

Рис. 2.4.7 Редактирования расписания

При нажатии кнопки «Преподаватель», появляется запрос фамилии преподавателя (рис. 2.4.8), затем запрос кода дня недели (рис. 2.4.9), затем сама форма редактирования расписания (рис. 2.4.10)

Рис. 2.4.10 Редактирование расписания

При нажатии кнопки работа с программой будет завершена.

2.5. Выполнение запросов

Запросы являются важным инструментом в любых системах управления базами данных. Они используются для выделения, обновления и добавления новых записей в таблицы. Чаще всего запросы используются для выделения специфических групп записей, чтобы удовлетворить определенному критерию. Кроме того, их можно использовать для получения данных из различных таблиц, обеспечивая единое представление связанных элементов данных. При помощи этих средств можно:

    Формировать сложные критерии для выбора записей из одной или нескольких таблиц;

    Указать поля, которые должны быть отображены для выбранных записей;

    Выполнять вычисления с использованием выбранных данных.

В Access существует четыре типа запросов для различных целей:

    Запросы на выборку отображают данные из одной или нескольких таблиц в виде таблицы.

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

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

Запросы с параметрами - это такие запросы, свойства которых изменяются пользователем при каждом запуске. При запуске запроса с параметром появляется диалоговое окно, в котором нужно ввести условие отбора. Этот тип запроса не является обособленным, т. е. параметр можно добавить к запросу любого типа. Программа выводит следующие запросы расписаний:
    Группы Преподаватели Аудитории

Рассмотрим на примере запроса расписания по аудиториям. Пусть нам необходимо узнать расписание для аудитории «1», на понедельник. Выбираем запрос «Аудитории». Появляется окно (рис. 2.5.1). Вводим номер аудитории – «1».

Затем появляется окно (рис. 2.5.2). Вводим код дня недели; понедельнику соответствует код «1».

После того, как введены все данные, получим результат (рис. 2.5.3)

Рис. 2.5.3 Вывод расписания по запросу «Аудитория»

Аналогичным образом работают запросы «Группы» и «Преподаватель».

ЗАКЛЮЧЕНИЕ

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

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

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

Результатом проделанной мной работы является программа «Расписание занятий», позволяющая составить и редактировать расписание занятий с учётом занятости аудиторий, сведениях о группах, специализации и свободном времени преподавателей, расписание звонков, дисциплин (учебный план), дней недели.

В работе я использовала QBE – запросы. Это запросы, строящиеся с помощью конструктора запросов, представляющего собой графический инструмент для создания запросов по образцу. Язык SQL разработан для работы с реляционными базами данных и фактически представляет собой систему управления реляционными базами данных, также он ориентирован на операции с данными, представленными в виде логически связанной совокупности таблиц.

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

Список литературы

    Информатика. Базовый курс /Симонович С.В. и др. – СПб: Издательство «Питер», 2000. – 640с.

    Информатика. Учебное пособие /Ломтадзе В.В., Шишкина Л.П. – Иркутск: ИрГТУ, 1999. – 116с.

    Лобова О.Е. Базы данных. Курс лекций. Сочи. Учебные материалы. 2007

    Лобова О.Е. Методические указания по выполнению курсового проекта для студентов специальности 010502 «Прикладная информатика», очной формы обучения, по дисциплине «Базы данных». Сочинский государственный университет туризма и курортного дела – Сочи: СГУТ и КД, 2004, 90 с.













ПРИЛОЖЕНИЕ А

ER -диаграмма предметной области «РАСПИСАНИЕ ЗАНЯТИЙ»