Автор работы: Пользователь скрыл имя, 25 Января 2014 в 13:25, курсовая работа
Целью данной работы является разработка системы, автоматизирующей ведение базы данных библиотеки. Данная система упрощает процесс учета книг, связанный с обработкой больших объемов информации, а также позволяет читателям осуществлять в интерактивном режиме поиск и выбор интересующих книг.
Для достижения поставленной цели предполагается составление технического задания в соответствии с требованиями предметной области, разработка инфологической и физической модели базы данных на платформе Oracle, написание информационной системы на язык программирования C#.
Введение 5
1 Техническое задание 6
1.1 Описание предметной области 6
1.2 Модели вариантов использования 6
1.3 Требования к информационному и программному обеспечению 7
2 Технический проект 8
2.1 Модели локальных представлений 8
2.2 Инфологическая модель предметной области 11
2.3 Физическая модель базы данных 14
2.4 Основные запросы к базе данных 17
2.5 Хранимые процедуры 21
2.6 Архитектура информационной системы 24
3 Рабочий проект 25
3.1 SQL-скрипт создания базы данных 25
3.2 SQL-скрипт хранимых процедур 25
3.3 Текст программы 25
3.4 Руководство пользователя 25
Заключение 32
Список источников 32
СОДЕРЖАНИЕ
Введение 5
1 Техническое задание 6
1.1 Описание предметной области 6
1.2 Модели вариантов использования 6
1.3 Требования к информационному и программному обеспечению 7
2 Технический проект 8
2.1 Модели локальных представлений 8
2.2 Инфологическая модель предметной области 11
2.3 Физическая модель базы данных 14
2.4 Основные запросы к базе данных 17
2.5 Хранимые процедуры 21
2.6 Архитектура информационной системы 24
3 Рабочий проект 25
3.1 SQL-скрипт создания базы данных 25
3.2 SQL-скрипт хранимых процедур 25
3.3 Текст программы 25
3.4 Руководство пользователя 25
Заключение 32
Список источников 32
Приложение 1 SQL-скрипт создания базы данных 33
Приложение 2 SQL-скрипт хранимых процедур 38
Приложение 3 Тексты основных модулей программы 42
Приложение 4 Графическая часть 67
В настоящее время, в связи с распространением информационных технологий во всех сферах жизни, создание автоматизированных информационных систем становится все более актуальным.
Целью данной работы является разработка системы, автоматизирующей ведение базы данных библиотеки. Данная система упрощает процесс учета книг, связанный с обработкой больших объемов информации, а также позволяет читателям осуществлять в интерактивном режиме поиск и выбор интересующих книг.
Для достижения поставленной цели предполагается составление технического задания в соответствии с требованиями предметной области, разработка инфологической и физической модели базы данных на платформе Oracle, написание информационной системы на язык программирования C#.
1.1.1 Имеющиеся в библиотеке книги распределены в каталоге по разделам согласно тематике. Каждый раздел содержит множество книг, одна книга может относиться к нескольким разделам. Каждая книга может присутствовать в нескольких экземплярах.
1.1.2 Данные о читателях хранятся в картотеке. Каждый читатель может одновременно держать на руках не более пяти библиотечных книг и не более одного экземпляра каждой книги.
1.2.1 Читатель должен иметь возможность:
1.2.2 Библиотекарь должен:
1.2.3 Администрация библиотеки должна:
1.3.1 Программное обеспечение должно включать в себя модули, реализующие функции каждого из пользователей, указанные в пункте 1.2.
1.3.2 Программные модули реализуются в виде приложения C# Windows Forms на платформе .NET Framework 4.5. Для генерации и отображения отчетов используется интегрированный в .NET Framework компонент Report Viewer.
1.3.3 Для управления базой данных используется СУБД Oracle 11g Express Edition.
1.3.4 Используемая операционная система – Windows 7.
2.1.1 Пользователями информационной системы являются читатели, библиотекари и администрация библиотеки. Локальные ER-диаграммы для указанных групп пользователей приведены на рисунках 1, 2 и 3 соответственно.
Рисунок 1. Локальная ER-диаграмма читателя
Рисунок 2. Локальная ER-диаграмма библиотекаря
Рисунок 3. Локальная ER-диаграмма администрации
2.1.2 Основные запросы
2.1.2.1 Запросы для пользователей группы «Администрация»:
2.1.2.2 Запросы
для пользователей группы «
2.1.2.3 Запросы
для пользователей группы «
2.2.1 ER-диаграмма инфологической модели представлена на рисунке 4.
Рисунок 4. Обобщенная ER-диаграмма
2.2.2 Спецификация сущностей представлена в таблице 1.
Таблица 1. Спецификация сущностей
Название |
Код |
Тип |
Длина |
Обяз. |
Первич. | |
Раздел каталога (Section) | ||||||
Код раздела |
sCode |
Integer |
X |
X | ||
Название раздела |
sName |
Variable characters(50) |
50 |
X |
||
Книга (Book) | ||||||
ISBN |
ISBN |
Characters(13) |
13 |
X |
X | |
Название книги |
bName |
Variable characters(50) |
50 |
X |
||
Автор(ы) |
bAuthor |
Variable characters(50) |
50 |
X |
||
Место издания |
bPlace |
Variable characters(20) |
20 |
X |
||
Издательство |
bPublish |
Variable characters(20) |
20 |
X |
||
Год издания |
bYear |
Integer |
X |
|||
Количество страниц |
bPages |
Integer |
X |
|||
Экземпляр книги (Copy) | ||||||
Номер экземпляра |
cNumber |
Integer |
X |
X | ||
Стоимость экземпляра |
cCost |
Money |
X |
|||
Дата поставки |
cDate |
Date |
X |
|||
Утерян |
cLost |
Boolean |
||||
Место размещения (Place) | ||||||
Код места |
plCode |
Integer |
X |
X | ||
Отдел |
plSection |
Variable characters(50) |
50 |
X |
||
Стеллаж |
plRack |
Integer |
X |
|||
Полка |
plShelf |
Integer |
X |
|||
Сектор |
plSector |
Variable characters(2) |
2 |
X |
Окончание таблицы 1
Название |
Код |
Тип |
Длина |
Обяз. |
Первич. |
Выдача (Issuance) | |||||
Номер выдачи |
iNumber |
Integer |
X |
X | |
Дата выдачи |
iIssuance |
Date |
X |
||
Дата ожидаемого возврата |
iExpReturn |
Date |
X |
||
Дата фактического возврата |
iFactReturn |
Date |
|||
Выбор книги читателем |
ICHOICE |
Boolean |
|||
Читатель (Reader) | |||||
Номер читательского билета |
rNumber |
Number(6) |
6 |
X |
X |
ФИО |
rFullName |
Variable characters(50) |
50 |
X |
|
Адрес |
rAddress |
Variable characters(100) |
100 |
X |
|
Телефон |
rPhone |
Number(11) |
11 |
X |
|
Дата рождения |
rDate |
Date |
X |
||
Замена (Replacement) | |||||
Код замены |
repCode |
Integer |
X |
X | |
Дата замены |
repDate |
Date |
X |
||
Списание (Writeoff) | |||||
Код списания |
woCode |
Integer |
X |
X | |
Дата списания |
woDate |
Date |
X |
2.2.3
Спецификация связей
Таблица 2. Спецификация связей
Связь |
Тип связи |
От сущности |
К сущности |
По атрибуту |
хранится |
М:М |
Книга |
Раздел каталога |
ISBN / Код раздела |
имеется |
1:М |
Книга |
Экземпляр книги |
ISBN |
расположен |
1:М |
Место размещения |
Экземпляр книги |
Код места |
выдается |
1:М |
Экземпляр книги |
Выдача |
Номер экземпляра |
берет |
1:М |
Читатель |
Выдача |
Номер читательского билета |
заменяется |
1:М |
Замена |
Экземпляр книги |
Код замены |
списывается |
1:М |
Списание |
Экземпляр книги |
Код списания |
2.3.1 Диаграмма физической модели представлена на рисунке 5.
Рисунок 5. Диаграмма физической модели базы данных
2.3.2 Спецификация таблиц базы данных представлена в таблице 3.
Таблица 3. Спецификация таблиц
Название |
Код |
Тип |
Длина |
Первич. |
Внеш. |
Обяз. |
Раздел каталога (Section) | ||||||
Код раздела |
sCode |
INTEGER |
X |
X | ||
Название раздела |
sName |
VARCHAR2(100) |
100 |
X | ||
хранится (saved) | ||||||
Код раздела |
sCode |
INTEGER |
X |
X | ||
ISBN |
ISBN |
CHAR(13) |
13 |
X |
X | |
Книга (Book) | ||||||
ISBN |
ISBN |
CHAR(13) |
13 |
X |
X | |
Название книги |
bName |
VARCHAR2(100) |
100 |
X | ||
Автор(ы) |
bAuthor |
VARCHAR2(100) |
100 |
X | ||
Место издания |
bPlace |
VARCHAR2(40) |
40 |
X | ||
Издательство |
bPublish |
VARCHAR2(40) |
40 |
X | ||
Год издания |
bYear |
INTEGER |
X | |||
Количество страниц |
bPages |
INTEGER |
X | |||
Экземпляр книги (Copy) | ||||||
Номер экземпляра |
cNumber |
INTEGER |
X |
X | ||
Код списания |
woCode |
INTEGER |
X |
X | ||
ISBN |
ISBN |
CHAR(13) |
13 |
X |
X | |
Код замены |
repCode |
INTEGER |
X |
X | ||
Код места |
plCode |
INTEGER |
X |
X | ||
Стоимость экземпляра |
cCost |
NUMBER(8, 2) |
8 |
X | ||
Дата поставки |
cDate |
DATE |
X | |||
Утерян |
cLost |
SMALLINT |
||||
Место размещения (Place) | ||||||
Код места |
plCode |
INTEGER |
X |
X | ||
Отдел |
plSection |
VARCHAR2(100) |
100 |
X | ||
Стеллаж |
plRack |
INTEGER |
X | |||
Полка |
plShelf |
INTEGER |
X | |||
Сектор |
plSector |
VARCHAR2(4) |
4 |
X |