Разработка базы данных для АСУ "Компьютерные курсы"

Тип работы:
Курсовая
Предмет:
Программирование


Узнать стоимость

Детальная информация о работе

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

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

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

МОСКОВСКИЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ СВЯЗИ И ИНФОРМАТИКИ

ФАКУЛЬТЕТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ

Кафедра Математической Кибернетики

и Информационных Технологий

Разработка базы данных для АСУ «Компьютерные курсы»

Курсовая работа

Студента 4 курса группы ПО0701

Выполнил Мокин Сергей Сергеевич

Научный руководитель

д. ф. — м. н., профессор Воронова Лилия Ивановна

Москва 2010

Содержание

  • Введение
  • Глава I. Анализ предметной области объекта автоматизации «Компьютерные курсы»
  • 1.1 Системный анализ объекта автоматизации «Компьютерные курсы»
  • 1.2 Обзор информационных технологий, подходящих для разработки ИС компьютерных курсов
  • 1.3 Обзор продуктов-аналогов
  • 1.4 Требования к разрабатываемой базе данных
  • Выводы
  • Глава II. Проектирование базы данных
  • 2.1 Разработка инфологической модели
  • 2.2 Обоснование выбора модели данных
  • 2.3 Логическое проектирование
  • 2.4 Нормализация схемы базы данных
  • Выводы
  • Глава III. Программная реализация
  • 3.1 Анализ и выбор СУБД
  • 3.2 Физическое проектирование базы данных в СУБД
  • 3.3 Разработка представлений
  • 3.4 Разработка форм
  • 3.5 Разработка отчетов
  • 3.6 Реализация ограничений
  • 3.7 Безопасность и контроль
  • Выводы
  • Заключение
  • Список источников и литературы

Введение

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

Целью данной работы является построение информационной системы (ИС)"Компьютерные курсы" для автоматизации работы учебного заведения.

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

Задачи данной работы:

§ провести системный анализ предметной области «Компьютерные курсы»;

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

§ изучить аналогичные информационные системы данной предметной области;

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

§ разработать инфологическую модель базы данных;

§ обосновать выбор модели данных и осуществить логическое проектирование информационной системы;

§ нормализовать спроектированную модель и составить схему базы данных;

§ осуществить физическое проектирование базы данных выбранной СУБД;

§ разработать программное обеспечение, реализующее отчеты и формы для базы данных;

Глава I. Анализ предметной области объекта автоматизации «Компьютерные курсы»

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

1.1 Системный анализ объекта автоматизации «Компьютерные курсы»

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

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

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

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

§ номер группы;

§ название предмета;

§ время начала;

§ день недели;

Для каждого преподавателя заводится карточка в отделе кадров, которая содержит информацию о данном человеке:

§ ФИО;

§ адрес;

§ телефон;

§ дата рождения;

§ должность;

§ оклад;

§ стаж;

При зачислении студента, в базу также заносятся его личные данные:

§ ФИО;

§ адрес;

§ дата рождения;

§ телефон;

§ номер группы;

§ срок зачисления;

§ срок выпуска;

При зачислении студента, также заносится информация о нем в группу:

§ номер группы;

§ количество студентов в группе;

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

В аудиториях предусматривается:

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

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

§ кол-во мест для учащихся;

§ кол-во оборудования;

Для данной информационной системы требуется предусмотреть следующие ограничения на информацию:

§ оклад преподавателя не должен быть ниже минимального оклада (7000 руб.);

§ все преподаватели не должны быть моложе 18 лет;

§ в базе должен присутствовать только один заведующий;

§ все преподаватели числящиеся в базе, должны быть задействованы в проведении занятий;

§ все группы числящиеся в базе должны быть задействованы в занятиях;

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

§ у каждого студента обязательно должны быть заполнены все данные, кроме срока выпуска, при поступлении его на обучение;

§ у каждого преподавателя обязательно должны быть заполнены все данные;

§ количество занятий у одной группы не должно превышать 2;

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

§ один преподаватель может вести одно направление, только у одной группы;

§ могут быть задействованы не все направления;

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

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

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

СУБД можно условно разделить на следующие классы:

· домашние (настольные) СУБД — подходят для использования в домашних условиях и создания небольших баз данных;

· полупрофессиональные СУБД — в основном используются предприятиями малого бизнеса для проектирования баз данных обычных размеров;

· профессиональные СУБД — пригодны для использования в любых бизнес-предприятиях и крупных корпорациях, служат для создания баз данных любых размеров.

Домашние (настольные) СУБД

Microsoft Access

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

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

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

Особенности MS Access, отличающиеся от представления об «идеальной» реляционной СУБД:

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

Сеть обеспечивает аппаратную и программную поддержку обмена данными между компьютерами.

Access следит за разграничением доступа разных пользователей к БД и обеспечивает защиту данных. При одновременной работе. Так как Access не является клиент серверной СУБД, возможности его по обеспечению многопользовательской работы несколько ограничены. Обычно для доступа к данным по сети с нескольких рабочих станций, файл БД Access (с расширением *. mdb) выкладывается на файловый сервер. При этом обработка данных ведется в основном на клиенте — там, где запущено приложение, в силу принципов организации файловых СУБД. Этот фактор ограничивает использование Access для обеспечения работы множества пользователей (более 15−20) и при большом количестве данных в таблицах, так как многократно возрастает нагрузка не сеть.

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

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

Однако, при известных недостатках MS Access обладает большим количеством преимуществ по сравнению с системами подобного класса.

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

В целом MS Access предоставляет большое количество возможностей за сравнительно небольшую стоимость. Также необходимо отметить ориентированность на пользователя с разной профессиональной подготовкой, что выражается в наличии большого количества вспомогательных средств (Мастеров, как уже отмечалось), развитую систему справки и понятный интерфейс. Эти средства облегчают проектирование, создание БД и выборку данных из нее.

MS Access предоставляет в распоряжение непрограммирующему пользователю разнообразные диалоговые средства, которые позволяют ему создавать приложения не прибегая к разработке запросов на языке SQL или к программированию макросов или модулей на языке VBA.

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

Еще одно немаловажное преимущество MS Access заключается в развитых встроенных средствах разработки приложений. Большинство приложений, распространяемых среди пользователей, содержит тот или иной объем кода VBA (Visual Basic for Applications). Поскольку VBA является единственным средством для выполнения многих стандартных задач в Access (работа с переменными, построение команд SQL во время работы программы, обработка ошибок, использование Windows API и т. д.), для создания более-менее сложных приложений необходимо его знание и знание объектной модели MS Access.

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

Полупрофессиональные СУБД

SQLite

SQLite — встраиваемый движок баз данных. В 2005 году проект получил награду Google-O'Reilly Open Source Awards.

Слово «встраиваемый» означает, что SQLite не использует парадигму клиент-сервер, то есть движок SQLite не является отдельно работающим процессом, с которым взаимодействует программа, а предоставляет библиотеку, с которой программа компонуется и движок становится составной частью программы. Таким образом, в качестве протокола обмена используются вызовы функций (API) библиотеки SQLite. Такой подход уменьшает накладные расходы, время отклика и упрощает программу. SQLite хранит всю базу данных (включая определения, таблицы, индексы и данные) в единственном стандартном файле на том компьютере, на котором исполняется программа. Простота реализации достигается за счёт того, что перед началом исполнения транзакции весь файл, хранящий базу данных, блокируется; ACID-функции достигаются в том числе за счёт создания файла-журнала.

Несколько процессов или потоков могут одновременно без каких-либо проблем читать данные из одной базы. Запись в базу можно осуществить только в том случае, если никаких других запросов в данный момент не обслуживается; в противном случае попытка записи оканчивается неудачей, и в программу возвращается код ошибки. Другим вариантом развития событий является автоматическое повторение попыток записи в течение заданного интервала времени.

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

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

Технологии, поддерживающие SQLite. Языки программирования.

Сама библиотека SQLite написана на C; существует большое количество привязок к другим языкам программирования, в том числе C++, Java,. net, Python, Perl, PHP, Tcl (средства для работы с Tcl включены в комплект поставки SQLite), Ruby, Haskell, Scheme, Smalltalk и Lua, а также ко многим другим. Полный список существующих средств можно найти на странице проекта.

Web-инструментарии.

В ряде инструментариев присутствует возможность использования SQLite как базы данных, например:

§ Adobe Flex

§ PHP

§ Ruby on Rails

§ 1C Работа в 1С-Предприятии 7.7 с базами данных SQLite

§ SQLite Manager — add-on для Firefox предлагает визуальный интерфейс для работы с SQLite

MySQL

MySQL является собственностью компании Sun Microsystems, осуществляющей разработку и поддержку приложения. Распространяется под GNU General Public License и под собственной коммерческой лицензией, на выбор. Помимо этого компания MySQL AB разрабатывает функциональность по заказу лицензионных пользователей, именно благодаря такому заказу почти в самых ранних версиях появился механизм репликации.

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

Гибкость СУБД MySQL обеспечивается поддержкой большого количества типов таблиц: пользователи могут выбрать как таблицы типа MyISAM, поддерживающие полнотекстовый поиск, так и таблицы InnoDB, поддерживающие транзакции на уровне отдельных записей. Более того, СУБД MySQL поставляется со специальным типом таблиц EXAMPLE, демонстрирующим принципы создания новых типов таблиц. Благодаря открытой архитектуре и GPL-лицензированию, в СУБД MySQL постоянно появляются новые типы таблиц.

MySQL портирована на большое количество платформ: AIX, BSDi, FreeBSD, HP-UX, GNU/Linux, Mac OS X, NetBSD, OpenBSD, OS/2 Warp, SGI IRIX, Solaris, SunOS, SCO OpenServer, SCO UnixWare, Tru64, Windows 95, Windows 98, Windows NT, Windows 2000, Windows XP, Windows Server 2003, WinCE, Windows Vista и Windows 7. Существует также порт MySQL на OpenVMS. Важно отметить, что компания MySQL AB предоставляет для свободной загрузки не только исходные коды СУБД, но и откомпилированные и оптимизированные под конкретные операционные системы готовые исполняемые модули.

MySQL имеет API для языков Delphi, C, C++, Эйфель, Java, Лисп, Perl, PHP, Python, Ruby, Smalltalk и Tcl, библиотеки для языков платформы. net, а также обеспечивает поддержку для ODBC посредством ODBC-драйвера MyODBC.

Профессиональные СУБД

Microsoft SQL Server

Cистема управления реляционными базами данных (СУБД), разработанная корпорацией Microsoft. Основной используемый язык запросов — Transact-SQL, создан совместно Microsoft и Sybase. Transact-SQL является реализацией стандарта ANSI/ISO по структурированному языку запросов (SQL) с расширениями. Используется для небольших и средних по размеру баз данных, и в последние 5 лет — для крупных баз данных масштаба предприятия, конкурирует с другими СУБД в этом сегменте рынка.

Функциональность.

Microsoft SQL Server в качестве языка запросов использует версию SQL, получившую название Transact-SQL (сокращённо T-SQL), являющуюся реализацией SQL-92 (стандарт ISO для SQL) с множественными расширениями. T-SQL позволяет использовать дополнительный синтаксис для хранимых процедур и обеспечивает поддержку транзакций (взаимодействие базы данных с управляющим приложением). Microsoft SQL Server и Sybase ASE для взаимодействия с сетью используют протокол уровня приложения под названием Tabular Data Stream (TDS, протокол передачи табличных данных). Протокол TDS также реализован в проекте FreeTDS с целью обеспечить различным приложениям возможность взаимодействия с базами данных Microsoft SQL Server и Sybase.

Microsoft SQL Server также поддерживает Open Database Connectivity (ODBC) — интерфейс взаимодействия приложений с СУБД. Версия SQL Server 2005 обеспечивает возможность подключения пользователей через веб-сервисы, использующие протокол SOAP. Это позволяет клиентским программам, не предназначенным для Windows, кроссплатформенно соединяться с SQL Server. Microsoft также выпустила сертифицированный драйвер JDBC, позволяющий приложениям под управлением Java (таким как BEA и IBM WebSphere) соединяться с Microsoft SQL Server 2000 и 2005.

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

SQL Server поддерживает избыточное дублирование данных по трем сценариям:

§ Снимок: Производится «снимок» базы данных, который сервер отправляет получателям.

§ История изменений: Все изменения базы данных непрерывно передаются пользователям.

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

В SQL Server 2005 встроена поддержка. net Framework. Благодаря этому, хранимые процедуры БД могут быть написаны на любом языке платформы. net, используя полный набор библиотек, доступных для. net Framework, включая Common Type System (система обращения с типами данных в Microsoft. net Framework). Однако, в отличие от других процессов,. net Framework, будучи базисной системой для SQL Server 2005, выделяет дополнительную память и выстраивает средства управления SQL Server вместо того, чтобы использовать встроенные средства Windows. Это повышает производительность в сравнении с общими алгоритмами Windows, так как алгоритмы распределения ресурсов специально настроены для использования в структурах SQL Server.

Разработка приложений

Microsoft и другие компании производят большое число программных средств разработки, позволяющих разрабатывать бизнес-приложения с использованием баз данных Microsoft SQL Server. Microsoft SQL Server 2005 включает в себя также Common Language Runtime (CLR) Microsoft. net, позволяющий реализовывать хранимые процедуры и различные функции приложениям, разработанным на языках платформы. net (например, VB. net или C#). Предыдущие версии средств разработки Microsoft использовали только API для получения функционального доступа к Microsoft SQL Server.

1.3 Обзор продуктов-аналогов

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

АСУ «Колледж»

Концепция АСУ УП «Колледж» была предложена в конце 90-х годов, примерная работоспособная версия создана в 2000 году, а реально работающая система появилась в 2001 году. С 2002 года в ТПК в полном режиме работают и продолжают развиваться модули: «Отделение», «Отдел кадров», «Учебная часть», «Библиотека», «Тестирование».

АРМ «Отдел кадров»

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

АРМ «Учебная часть»

это мощный инструмент контроля за ходом учебного процесса. При помощи этого программного обеспечения можно получить достоверную картину по количеству проведенных часов данным преподавателем, в данной группе (это формы № 2 и № 3), графики учебного процесса конкретных групп. Кроме этого, можно получать списки ежедневного изменения расписания занятий и другие документы. Для корректировки учебного процесса существует раздел «Замены», в котором программа помогает подобрать предмет и преподавателя для проведения занятий в группе с учетом вычитанных часов и учебного плана.

АРМ «Отделение»

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

АРМ «Библиотека»

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

АРМ «Тестирование»

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

АСУ «Учебное заведение»

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

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

Информация представленная на сайте позволяет:

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

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

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

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

АСУ «ВУЗ»

Программный продукт автоматизированной системы управления вузом (АСУ ВУЗ)"Universys WS 3. 5″ является программной платформой для создания и функционирования проектов АСУ ВУЗ для образовательных учреждений и организаций.

Проекты, созданные на его базе состоят из следующих типовых модулей — виртуальных разделов:

§ электронный ректорат;

§ электронный деканат;

§ электронная учебно-методическая часть;

§ электронная канцелярия;

§ электронный отдел кадров;

§ электронная приемная комиссия;

§ электронная бухгалтерия;

§ электронная библиотека;

§ электронный кабинет преподавателя;

§ электронные личные кабинеты студентов.

ПП «Universys Web Server» представляет собой программный комплекс, состоящий из базы данных (БД) и программного обеспечения Web — интерфейса системы.

Проекты, построенные на базе ПП «Universys Web Server» позволяют автоматизировать следующие основные деловые процессы образовательного учреждения:

§ маркетинговое управление;

§ управление заказами образовательных услуг;

§ финансовый учет и планирование;

§ учебный процесс;

§ документооборот;

§ оперативную отчётность;

§ управление персоналом.

Проекты на базе ПО АСУ ВУЗ «Universys Web Server» становятся особенно полезными в случаях, если у образовательного учреждения:

§ сложная организационная структура;

§ имеются удалённые подразделения и филиалы;

§ численность обучающихся более 500 человек;

§ имеется широкое разнообразие предметов и методов обучения, которые с течением времени изменяются (совершенствуются);

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

1.4 Требования к разрабатываемой базе данных

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

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

§ заведующий — руководящая должность в учебном заведении;

§ преподаватели — сотрудник учебного заведения;

§ учащиеся — клиент учебного заведения;

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

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

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

§ распределять аудитории между преподавателями;

§ выводить любую информацию о преподавателе или учащемся;

§ принимать и отчислять учащихся;

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

§ просматривать личную информацию о себе;

§ просматривать список групп студентов;

§ просматривать расписание;

При работе с базой данных студент может:

§ просматривать расписание;

Выводы

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

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

Рассмотрены продукты-аналоги на рынке информационных систем (АСУ «КОЛЛЕДЖ», АСУ «Учебное заведение», АСУ «ВУЗ») и даны описания данных систем.

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

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

база программная реализация компьютерный

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

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

2.1 Разработка инфологической модели

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

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

§ корректность схемы БД (адекватное отображение моделированной ПО);

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

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

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

Для информационной системы «Компьютерные курсы» на основе проведенного системного анализа предметной области выделены следующие сущности:

§ преподаватель — сущность содержит информацию о преподавателях, включая заведующего;

§ студент — сущность содержит информацию об учащихся в данном учебном заведении;

§ аудитория — сущность содержит техническую информацию об аудиториях данного учебного заведения;

§ направление — сущность содержит информацию о доступных курсах обучения;

§ расписание — сущность содержит необходимую, для студентов и преподавателей, информацию;

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

/

57

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

2.2 Обоснование выбора модели данных

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

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

§ иерархическая модель;

§ сетевая модель;

§ реляционная модель;

§ объектно-ориентированная модель;

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

Иерархическая модель данных

Структура данных.

Организация данных в СУБД иерархического типа определяется в терминах:

§ Атрибут (элемент данных) — наименьшая единица структура данных. Обычно каждому элементу при описании базы данных присваивается уникальное имя. По этому имени к нему обращаются при обработке. Элемент данных также часто называют полем.

§ Запись — именованная совокупность атрибутов. Использование записей позволяет за одно обращение к базе получить некоторую логически связанную совокупность данных. Именно записи изменяются, добавляются и удаляются. Тип записи определяется составом ее атрибутов. Экземпляр записи — конкретная запись с конкретным значением элементов.

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

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

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

У иерархических БД имеются следующие недостатки:

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

§ Иерархическая модель реализует отношение между исходной и дочерней записью по схеме 1: N, то есть одной родительской записи может соответствовать любое число дочерних. Допустим теперь, что исполнитель может принимать участие более чем в одном контракте (т.е. возникает связь типа M: N). В этом случае в базу данных необходимо ввести еще одно групповое отношение, в котором исполнитель будет являться исходной записью, а контракт — дочерней. Таким образом, мы опять вынуждены дублировать информацию.

Операции над данными, определенные в иерархической модели:

§ ДОБАВИТЬ в базу данных новую запись. Для корневой записи обязательно формирование значения ключа.

§ ИЗМЕНИТЬ значение данных предварительно извлеченной записи. Ключевые данные не должны подвергаться изменениям.

§ УДАЛИТЬ некоторую запись и все подчиненные ей записи.

§ ИЗВЛЕЧЬ:

o Извлечь корневую запись по ключевому значению, допускается также последовательный просмотр корневых записей;

o Извлечь следующую запись (следующая запись извлекается в порядке левостороннего обхода дерева);

В операции ИЗВЛЕЧЬ допускается задание условий выборки (например, извлечь сотрудников с окладом более 1 тысячи рублей).

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

Ограничения целостности.

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

Сетевая модель данных

Структура данных.

На разработку этого стандарта большое влияние оказал американский ученый Ч. Бахман. Основные принципы сетевой модели данных разработаны в середине 60-х годов, эталонный вариант сетевой модели данных описан в отчетах рабочей группы по языкам баз данных (COnference on DAta SYstem Languages) CODASYL (1971 г.).

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

Основное различие этих моделей состоит в том, что в сетевой модели запись может быть членом более чем одного группового отношения. Согласно этой модели каждое групповое отношение именуется и проводится различие между его типом и экземпляром. Тип группового отношения задается его именем и определяет свойства общие для всех экземпляров данного типа. Экземпляр группового отношения представляется записью-владельцем и множеством (возможно пустым) подчиненных записей. При этом имеется следующее ограничение: экземпляр записи не может быть членом двух экземпляров групповых отношений одного типа.

Каждый экземпляр группового отношения характеризуется следующими признаками:

§ способ упорядочения подчиненных записей:

o произвольный,

o хронологический (очередь),

o обратный хронологический (стек),

o сортированный.

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

§ режим включения подчиненных записей:

o автоматический — невозможно занести в БД запись без того, чтобы она была сразу же закреплена за неким владельцем;

o ручной — позволяет запомнить в БД подчиненную запись и не включать ее немедленно в экземпляр группового отношения. Эта операция позже инициируется пользователем;

§ режим исключения Принято выделять три класса членства подчиненных записей в групповых отношениях:

o Фиксированное. Подчиненная запись жестко связана с записью владельцем и ее можно исключить из группового отношения только удалив. При удалении записи-владельца все подчиненные записи автоматически тоже удаляются. В рассмотренном выше примере фиксированное членство предполагает групповое отношение «ЗАКЛЮЧАЕТ» между записями «КОНТРАКТ» и «ЗАКАЗЧИК», поскольку контракт не может существовать без заказчика.

o Обязательное. Допускается переключение подчиненной записи на другого владельца, но невозможно ее существование без владельца. Для удаления записи-владельца необходимо, чтобы она не имела подчиненных записей с обязательным членством. Таким отношением связаны записи «СОТРУДНИК» и «ОТДЕЛ». Если отдел расформировывается, все его сотрудники должны быть либо переведены в другие отделы, либо уволены.

o Необязательное. Можно исключить запись из группового отношения, но сохранить ее в базе данных не прикрепляя к другому владельцу. При удалении записи-владельца ее подчиненные записи — необязательные члены сохраняются в базе, не участвуя более в групповом отношении такого типа. Примером такого группового отношения может служить «ВЫПОЛНЯЕТ» между «СОТРУДНИКИ» и «КОНТРАКТ», поскольку в организации могут существовать работники, чья деятельность не связана с выполнением каких-либо договорных обязательств перед заказчиками.

Операции над данными.

§ ДОБАВИТЬ — внести запись в БД и, в зависимости от режима включения, либо включить ее в групповое отношение, где она объявлена подчиненной, либо не включать ни в какое групповое отношение.

§ ВКЛЮЧИТЬ В ГРУППОВОЕ ОТНОШЕНИЕ — связать существующую подчиненную запись с записью-владельцем.

§ ПЕРЕКЛЮЧИТЬ — связать существующую подчиненную запись с другой записью-владельцем в том же групповом отношении.

§ ОБНОВИТЬ — изменить значение элементов предварительно извлеченной записи.

§ ИЗВЛЕЧЬ — извлечь записи последовательно по значению ключа, а также используя групповые отношения — от владельца можно перейти к записям — членам, а от подчиненной записи к владельцу набора.

§ УДАЛИТЬ — убрать из БД запись. Если эта запись является владельцем группового отношения, то анализируется класс членства подчиненных записей. Обязательные члены должны быть предварительно исключены из группового отношения, фиксированные удалены вместе с владельцем, необязательные останутся в БД.

§ ИСКЛЮЧИТЬ ИЗ ГРУППОВОГО ОТНОШЕНИЯ — разорвать связь между записью-владельцем и записью-членом.

Ограничения целостности.

Как и в иерархической модели обеспечивается только поддержание целостности по ссылкам (владелец отношения — член отношения).

Реляционная модель данных

Реляционная модель предложена сотрудником компании IBM Е. Ф. Коддом в 1970 г. (русский перевод статьи, в которой она впервые описана опубликован в журнале «СУБД» N 1 за 1995 г.). В настоящее время эта модель является фактическим стандартом, на который ориентируются практически все современные коммерческие СУБД.

Структура данных.

В реляционной модели достигается гораздо более высокий уровень абстракции данных, чем в иерархической или сетевой. В упомянутой статье Е. Ф. Кодда утверждается, что «реляционная модель предоставляет средства описания данных на основе только их естественной структуры, т.е. без потребности введения какой-либо дополнительной структуры для целей машинного представления». Другими словами, представление данных не зависит от способа их физической организации. Это обеспечивается за счет использования математической теории отношений (само название «реляционная» происходит от английского relation — «отношение»).

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

Определения:

§ Декартово произведение: Для заданных конечных множеств (не обязательно различных) декартовым произведением называется множество произведений вида:, где

§ Пример: если даны два множества A (a1,a2,a3) и B (b1,b2), их декартово произведение будет иметь вид С=A*B (a1*b1, a2*b1, a3*b1, a1*b2, a2*b2, a3*b2)

§ Отношение: Отношением R, определенным на множествах называется подмножество декартова произведения. При этом:

o множества называются доменами отношения

o элементы декартова произведения называются кортежами

o число n определяет степень отношения (n=1 — унарное, n=2 — бинарное,., n-арное)

o количество кортежей называется мощностью отношения

Пример: на множестве С могут быть определены отношения R1 (a1*b1, a3*b2) или R2 (a1*b1, a2*b1, a1*b2)

Отношения удобно представлять в виде таблиц. На рис. 2 представлена таблица (отношение степени 5), содержащая некоторые сведения о работниках гипотетического предприятия. Строки таблицы соответствуют кортежам. Каждая строка фактически представляет собой описание одного объекта реального мира (в данном случае работника), характеристики которого содержатся в столбцах. Можно провести аналогию между элементами реляционной модели данных и элементами модели «сущность-связь». Реляционные отношения соответствуют наборам сущностей, а кортежи — сущностям. Поэтому, также как и в модели «сущность-связь» столбцы в таблице, представляющей реляционное отношение, называют атрибутами.

Рис. 2. Основные компоненты реляционного отношения.

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

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

Именованное множество пар «имя атрибута — имя домена» называется схемой отношения. Мощность этого множества — называют степенью или «арностью» отношения. Набор именованных схем отношений представляет из себя схему базы данных.

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

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

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

Рис. 3. База данных о подразделениях и сотрудниках предприятия.

Например, связь между отношениями ОТДЕЛ и СОТРУДНИК создается путем копирования первичного ключа «Номер_отдела» из первого отношения во второе.

Таким образом:

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

o из таблицы ОТДЕЛ установить значение атрибута «Номер_отдела», соответствующее данному «Наименованию_отдела»

o выбрать из таблицы СОТРУДНИК все записи, значение атрибута «Номер_отдела» которых равно полученному на предыдушем шаге.

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

o определяем «Номер_отдела» из таблицы СОТРУДНИК

o по полученному значению находим запись в таблице ОТДЕЛ.

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

Свойства отношений.

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

2. Отсутствие упорядоченности кортежей.

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

4. Атомарность значений атрибутов, т. е. среди значений домена не могут содержаться множества значений (отношения).

Объектно-ориентированная модель данных

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

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

ПоказатьСвернуть
Заполнить форму текущей работой