База данных для информационной модели "Библиотека"

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


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

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

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

Введение

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

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

— формализовать исходное описание предметной области;

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

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

— реализовать простое пользовательское приложение, демонстрирующее накопленные студентом знания по курсу Организация Б Д.

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

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

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

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

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

Каждый читатель имеет индивидуальный номер и читательский билет. По индивидуальному номеру работник библиотеки может определить ФИО читателя, дату рождения и его контактные данные

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

— ФИО автора;

— наименование книги;

— жанр;

— год;

— издательство.

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

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

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

2. Описание и обоснование выбранного средства реализации

Разработка проекта базы данных проводилось с использованием 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 являются:

· Таблицы — содержат данные.

· Запросы — позволяют задавать условия для отбора данных и вносить изменения в данные.

· Формы — позволяют просматривать и редактировать информацию.

· Страницы — файлы в формате HTML, позволяющие просматривать данные Access с помощью браузера Internet Explorer.

· Отчеты — позволяют обобщать и распечатывать информацию.

Макросы — выполняют одну или несколько операций автоматически.

3. Концептуальная модель предметной области

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

— «один к одному»,

— «один ко многим»,

— «многие ко многим».

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

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

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

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

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

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

Принципиальными различиями обладают три модели данных:

— реляционная,

— иерархическая,

— сетевая.

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

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

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

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

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

Таблица в терминологии реляционной модели называется отношением.

Атрибут (поле) — каждый (любой) столбец в таблице.

Домен — множество значений, которые может принимать атрибут.

Кортежи (записи) — строки таблицы.

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

Ключ — это столбец или ряд столбцов, значение которых однозначно идентифицируют строки таблицы.

Реляционная модель основана на хорошо проработанной теории отношений (нормализации отношений). Свойства отношений в реляционной модели:

— Отсутствуют одинаковые строки,

— Порядок строк не существенен,

— Порядок столбцов не существенен,

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

Достоинства реляционной модели данных:

— простота — пользователь работает с простой моделью данных;

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

— реляционная модель основана на хорошо проработанной теории отношений.

Недостатки модели:

— достаточно низкая производительность СУБД, основанных на использовании реляционной модели.

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

При разработке системы были выделены следующие сущности: Книга, Экземпляр, Читатель, Город, Улица, Автор, Жанр, Издательство, Абонемент.

Далее приведем описание атрибутов сущностей

1. Книга — Код книги (PK), Наименование, Год, Количество страниц, Цена, Код автора (FK), Код издательства (FK), Код жанра (FK).

2. Экземпляр — Код экземпляра (PK), Инвентарный номер, Код книги (FK), Дата поступления, Состояние.

3. Абонемент — Код абонемента (PK), Код читателя (FK), Код экземпляра (FK), Дата выдачи, Дата возврата п, Срок продления, Дата возврата р.

4. Читатель — Код читателя (PK), ФИО, Дата рождения, Дата регистрации, Код города (FK), Код улицы (FK), Дом, Корпус, Квартира, Телефон.

5. Улица — Код улицы (PK), Код города (FK), Улица.

6. Город — Код города (PK), Город.

7. Автор — Код автора (PK), Автор, Соавторы.

8. Издательство — Код издательства (PK), Код города (FK), Название.

9. Жанр — Код жанра (PK), Жанр.

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

Рис. 1. Концептуальная модель данных.

4. Физическая модель базы данных

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

Различают два уровня физической модели:

— трансформационную модель;

— модель СУБД.

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

Модель СУБД автоматически генерируется из трансформационной модели и является точным отображением системного каталога СУБД.

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

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

Физическая модель представлена на рис. 2.

Рис. 2. Физическая модель данных

5. Описание пользовательского приложения

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

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

Приложение выполняет следующие функции:

— ввод информации в БД;

— удаление информации из БД;

— редактирование внесенной информации;

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

— формирование отчетов и вывод информации из базы данных на экран и на принтер.

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

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

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

Разработанные формы, запросы и отчеты представлены в приложении.

база данные библиотека концептуальный

Заключение

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

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

База данных и приложение реализованы с использованием СУБД Microsoft Access.

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

1. Вендров А. М. CASE-технологии. Современные методы и средства проектирования информационных систем. -- Электронная версия, http: //citforum. ru/database/case/index. shtml.

2. Кузин А. В., Демин В. М. Разработка баз данных в системе Microsoft

Access. Учебник. 2-е издание, Инфра-М, 2007 г.

3. Чудинов И. Л. Организация баз данных: Учебное пособие. -- Томск: ТУСУР, 2000. -- 89 с.

Приложение

1. Формы и отчеты

Рисунок 1

Рисунок 2

Рисунок 3

Рисунок 4

Рисунок 5

Рисунок 6

Рисунок 7

Рисунок 8

Рисунок 9

Рисунок 10

Рисунок 11

Рисунок 12

Рисунок 13

Рисунок 14

2. Запросы

Запрос «Автор». Содержит информацию об авторах и их книгах, имеющихся в фонде библиотеки.

SELECT Автор. Автор, Автор. Соавторы, Книга. Название, Книга. Издательство, Книга. Страниц

FROM Книга INNER JOIN (Автор INNER JOIN [Книги автора] ON Автор. Код автора] = [Книги автора]. Автор) ON Книга. Код книги] = [Книги автора]. Книга;

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

SELECT Книга. Название, Автор. Автор, Автор. Соавторы, Экземпляр. Инв номер], Экземпляр. Состояние, Экземпляр. Цена, Экземпляр. Дата поступления]

FROM (Книга INNER JOIN Экземпляр ON Книга. Код книги] = Экземпляр. Код книги]) INNER JOIN (Автор INNER JOIN [Книги автора] ON Автор. Код автора] = [Книги автора]. Автор) ON Книга. Код книги] = [Книги автора]. Книга;

Запрос «Читатель». Содержит информацию о читателях библиотеки и о книгах, которые они брали.

SELECT Читатель. ФИО, Книга. Название, Автор. Автор, Автор. Соавторы, Абонемент. Дата выдачи], Абонемент. Дата возврата п], Абонемент. Продление, Абонемент. Дата возврата р]

FROM (Книга INNER JOIN (Экземпляр INNER JOIN (Читатель INNER JOIN Абонемент ON Читатель. Код читателя] = Абонемент. Код читателя]) ON Экземпляр. Код экз] = Абонемент. Код экземпляра]) ON Книга. Код книги] = Экземпляр. Код книги]) INNER JOIN (Автор INNER JOIN [Книги автора] ON Автор. Код автора] = [Книги автора]. Автор) ON Книга. Код книги] = [Книги автора]. Книга;

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