Автор работы: Пользователь скрыл имя, 21 Сентября 2014 в 10:39, курсовая работа
Целью выполнения курсовой работы является закрепление теоретических знаний по курсу «Организация баз данных», освоение методики проектирования концептуальной информационной модели предметной области, преобразование концептуальной модели в физическую структуру базы данных (БД).
В ходе выполнения курсовой работы необходимо решить следующие задачи:
формализовать исходное описание предметной области;
построить концептуальную информационную модель, используя методику, изученную в рамках теоретического курса;
сгенерировать физическую структуру базы данных;
реализовать простое пользовательское приложение, демонстрирующее накопленные студентом знания по курсу Организация БД.
Введение 3
Описание предметной области 4
Описание и обоснование выбранного средства реализации 6
Концептуальная модель предметной области 11
Физическая модель базы данных 16
Описание пользовательского приложения 18
Заключение 20
Список литературы 21
Приложение 22
Содержание
Целью выполнения курсовой работы является закрепление теоретических знаний по курсу «Организация баз данных», освоение методики проектирования концептуальной информационной модели предметной области, преобразование концептуальной модели в физическую структуру базы данных (БД).
В ходе выполнения курсовой
работы необходимо решить
Концептуальная модель базы данных была разработана при помощи ER Win. Выбранное средство позволяет создавать, документировать и сопровождать базы данных, хранилища и витрины данных. Модели данных помогают визуализировать структуру данных, обеспечивая эффективный процесс организации, управления и администрирования таких аспектов деятельности предприятия, как уровень сложности данных, технологий баз данных и среды развертывания.
В качестве среды разработки выбрана реляционная СУБД Microsoft Access, входящая в пакет Microsoft Office, имеющая широкий спектр функций, включая связанные запросы, связь с внешними таблицами и базами данных. Благодаря встроенному языку VBA, в самом Access можно писать приложения, работающие с базами данных.
Библиотека представляет собой хранилище книг. Основные ее функции – выдавать читателям книги и принимать их. Остальные функции относятся к обслуживанию процесса выдачи и приема. Экземпляр каждой книги, хранящейся в библиотеке, должен иметь индивидуальный номер. Каждый читатель должен иметь свой абонемент, который хранит как историю заказов, так и информацию о самом читателе. Кроме этого, имеет значение учет должников.
Книги выдаются читателям на руки, на определенный срок. Индивидуальный номер книги, дата выдачи и дата возврата записываются в читательский билет. В пределах указанного срока читатель должен вернуть книгу в библиотеку. При необходимости срок использования книги может быть продлен читателем. Если читатель не вернул книгу в срок и не сообщил о продлении, то у него возникает задолженность. Наличие задолженностей влияет на дальнейшие отношения библиотеки с читателем.
Каждый читатель имеет индивидуальный номер и читательский билет. По индивидуальному номеру работник библиотеки может определить ФИО читателя, дату рождения и его контактные данные
Придя в библиотеку, читатель, делает заказ на книгу. Сотрудник библиотеки может принять заказ в устной форме или заполнить бланк заказа, на котором следует указать следующие данные:
Сотрудник принимает заказ, проверяет наличие ассортимента и по возможности выдает необходимые книги.
Информация о выданной книге заносится библиотекарем в читательский билет, где указывается дата выдачи книги и предполагаемая дата возврата. Это позволяет регулировать возврат книг и определять должников.
В случае не возврата книги в указанные сроки, сотрудник библиотеки может, воспользовавшись абонементом читателя, определить его личные данные и обратится к нему с уведомлением или же напомнить ему посредством телефонного звонка об имеющемся долге. В случае утери читатель обязуется выплатить полную стоимость экземпляра или же возместить ущерб покупкой такой же самой книги для библиотеки.
Разработка проекта базы данных проводилось с использованием CASE-средства ER Win.
Обычно разработка модели базы данных состоит из двух этапов: составление логической модели и создание на ее основе физической модели. ERwin полностью поддерживает такой процесс, он имеет два представления модели: логическое (logical) и физическое (physical). Таким образом, разработчик может строить логическую модель базы данных, не задумываясь над деталями физической реализации, т.е. уделяя основное внимание требованиям к информации и бизнес-процессам, которые будет поддерживать будущая база данных. ERwin имеет очень удобный пользовательский интерфейс, позволяющий представить базу данных в самых различных аспектах. Например, ERwin имеет такие средства визуализации как "хранимое представление" (stored display) и "предметная область" (subject area). Хранимые представления позволяют иметь несколько вариантов представления модели, в каждом из которых могут быть подчеркнуты определенные детали, которые вызвали бы перенасыщение модели, если бы они были помещены на одном представлении. Предметные области помогают вычленить из сложной и трудной для восприятия модели отдельные фрагменты, которые относятся лишь к определенной области, из числа тех, что охватывает информационная модель. Интерфейс среды разработки ERwin представлен на рисунке.
Возможности редактирования и визуализации в среде ERwin весьма широки, так, например, создание отношений возможно при помощи перетаскивания атрибута из одной сущности в другую. Такое редактирование модели позволяет вносить изменения и проводить нормализацию быстрее и эффективнее, чем с использованием других инструментов. Для того, чтобы добавить новый элемент на диаграмму, его просто нужно выбрать на панели инструментов (Toolbox) и перенести в нужное место диаграммы. Добавив новую сущность на диаграмму, в нее можно добавить атрибуты, не открывая никаких редакторов, а просто ввести их названия прямо на диаграмме. Таким образом, ERwin позволяет значительно снизить время на создание самой диаграммы и сконцентрироваться на самих задачах, стоящих перед разработчиком.
ERwin имеет мощные средства визуализации модели, такие, как использование различных шрифтов, цветов и отображение модели на различных уровнях, например, на уровне описания сущности, на уровне первичных ключей сущности и т.д. Эти средства ER win значительно помогают при презентации модели в кругу разработчиков системы или сторонним лицам.
Возможность использования модели ER win одновременно для логического и физического представления данных позволяет по окончании работы получить полностью документированную модель. ER win, как и инструмент моделирования бизнес-процессов BP win, интегрирован с генератором отчетов фирмы Logic Works – RPT win. Это средство позволяет получать подробные отчеты по модели, освещая самые различные ракурсы и аспекты. Инструмент RPTwin поставляется вместе с ER win и имеет богатый набор встроенных отчетов, позволяющих получать многогранную информацию по модели. Документирование структуры данных является очень важной частью моделирования, т.к. это позволяет другим разработчикам или лицам, которые будут сопровождать систему, быстрее начать ориентироваться во внутренней структуре и понимать назначение компонентов.
Как уже говорилось, ERwin является не только инструментом для дизайна баз данных, он также поддерживает автоматическую генерацию спроектированной и определенной на физическом уровне структуры данных. ERwin поддерживает широчайший спектр серверных и настольных СУБД. В этот список входят такие продукты, как Microsoft SQL Server, Oracle, Sybase, DB2, INFORMIX, Red Brick, Teradata, PROGRESS, Microsoft Access, FoxPro, Clipper и многие другие. Для каждой из перечисленных СУБД в ERwin предусмотрено присоединение по "родному" для этой СУБД протоколу и поддержка всех средств управления данными, присущих этой СУБД. Инструмент имеет богатый и гибкий макроязык, позволяющий создавать сценарии (pre- и postscripts), которые будут выполняться до и после генерации определенного объекта на СУБД назначения. С помощью этого макроязыка можно также сгенерировать на СУБД назначения тысячи строк шаблонов, хранимых процедур и триггеров. ERwin не поддерживает моделирования механизмов защиты базы данных, однако при помощи макроязыка можно автоматически выдать права на объект, пользуясь языком определения прав, который используется в конкретной СУБД.
ERwin имеет средство, выполняющее задачу, обратную генерации, что называется "обратная разработка" (reverse engineering). Т.е. ERwin может присоединиться к СУБД, получить всю информацию о структуре базы данных и отобразить ее в графическом интерфейсе, сохранив все сущности, связи, атрибуты и прочие свойства. Таким образом, можно переносить существующую структуру данных с одной платформы на другую, а также исследовать структуру существующих баз данных.
ERwin имеет средство Complete-Compare, которое является единственным на данный момент средством интерактивной разработки. ERwin демонстрирует разногласия между моделью и базой данных, эти несоответствия можно переносить или оставлять без изменений. При помощи этого средства можно все изменения модели вносить в базу данных автоматически без необходимости контроля за соответствием модели и базы данных "вручную", при этом существующие данные не будут затронуты.
Начиная с версии 3.5 ERwin, поддерживает многомерное моделирование, которое используется при построении хранилищ данных. Производительность OLAP-приложений определяется, в основном, качеством дизайна хранилища данных, поэтому критически важно при разработке хранилища иметь инструмент, который бы поддерживал распространенные технологии. ERwin поддерживает две технологии моделирования хранилищ данных: звезда (star) и снежинка (snowflake).
ERwin тесно интегрирован с другими продуктами Logic Works. Словарь данных, созданный при анализе бизнес-процессов при помощи инструмента BPwin, может быть использован как основа для построения модели базы данных. Однако взаимосвязь между этими двумя инструментами двусторонняя, модели BPwin и ERwin можно постоянно поддерживать в согласованном состоянии. Интеграция этих двух продуктов очень важна с точки зрения их совместного использования при разработке программного обеспечения, т.к. отпадает необходимость в повторном выполнении действий и процесс создания словаря данных становится практически автоматическим.
В качестве средства реализации выбрана СУБД Microsoft Access. Система управления базами данных Microsoft Access является одним из самых популярных приложений в семействе настольных СУБД. Все версии Access имеют в своем арсенале средства, значительно упрощающие ввод и обработку данных, поиск данных и предоставление информации в виде таблиц, графиков и отчетов. Начиная с версии Access 2000, появились также Web-страницы доступа к данным, которые пользователь может просматривать с помощью программы Internet Explorer. Помимо этого, Access позволяет использовать электронные таблицы и таблицы из других настольных и серверных баз данных для хранения информации, необходимой приложению. Присоединив внешние таблицы, пользователь Access будет работать с базами данных в этих таблицах так, как если бы это были таблицы Access. При этом и другие пользователи могут продолжать работать с этими данными в той среде, в которой они были созданы. Основу базы данных составляют хранящиеся в ней данные. Кроме того, в базе данных Access есть другие важные компоненты, которые называются объектами. Объектами Access являются:
Макросы – выполняют одну или несколько операций автоматически.
Концептуальная модель - это модель предметной области. Компонентами модели являются объекты и взаимосвязи. Концептуальная модель служит средством общения между различными пользователями и поэтому разрабатывается без учета особенностей физического представления данных. При проектировании концептуальной модели все усилия разработчика должны быть направлены в основном на структуризацию данных и выявление взаимосвязей между ними без рассмотрения особенностей реализации и вопросов эффективности обработки. Проектирование концептуальной модели основано на основе анализа решаемых на этом предприятии задач по обработке данных. Концептуальная модель включает описания объектов и их взаимосвязей, представляющих интерес в рассматриваемой предметной области. Взаимосвязи между объектами являются частью концептуальной модели и должны отображаться в базе данных. Взаимосвязь может охватывать любое число объектов. С другой стороны, каждый объект может участвовать в любом числе связей. Наряду с этим существуют взаимосвязи между атрибутами объекта. Различают взаимосвязи типа:
- "один к одному",
- "один ко многим",
- "многие ко многим".
Взаимосвязь «один к одному» означает, что каждой записи в одном объекте может соответствовать только одна запись в другом объекте и обозначается одинарными стрелками между объектами.
Взаимосвязь «один ко многим» свидетельствует о том, что одной записи в одном объекте может соответствовать несколько записей в другом объекте и обозначается с помощью одинарной стрелки в одном направлении и двойной стрелки в другом направлении.
Взаимосвязь «многие ко многим» свидетельствует о том, что одной записи в одном объекте может соответствовать несколько записей в другом объекте и наоборот, обозначается такая связь с помощью двойной стрелки в одном направлении и двойной стрелки в другом направлении.