логотип каи Группа 4309 самолет ту
Главная
Группа в контакте
Расписание для студентов в КАИ.
Преподаватели в КГТУ-КАИ.
Электронная библиотека КАИ

Курсовая по базам данных. 3 семестр. (КАИ)

1.Задание

Выполнить проектирование и создать базу данных «Библиотека» для автоматизации учета выдачи книг в библиотеке.

2.Анализ и описание предметной области

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

  1. Книга может не иметь ни одного автора, например, сборник  тезисов научной конференции;
  2. Каждая книга  может  относиться к множеству областей знаний и к каждой области знаний относится множество книг;
  3. Книги,  изданные  до 1970 года должны быть списаны и в библиотеке их нет;
  4. Читатели старше 17 лет;
  5. Каждый читатель может иметь на руках не более 5 книг;
  6. Каждый читатель должен иметь рабочий или домашний телефон;

и т. д.   Таких ограничений может быть и больше, они могут быть другими или их вообще может не быть, в зависимости от библиотеки, для которой разрабатывается база данных.
Работать с базой данных «Библиотека» будут следующие пользователи:
-библиотекари;
-читатели;
-дирекция библиотеки.
Библиотекари должны иметь возможность систематизировать книжный фонд, т.е. распределять книги по разным каталогам, добавлять новые книги и списывать старые, вести учет выдачи и возврата книг, записывать нового читателя в библиотеку или закрывать абонент читателя.
 
Читатель должен иметь возможность просматривать каталоги книг по разделам, по авторам и получать информацию о наличие книги и возможности ее получения.
Дирекция должна иметь возможность получать информацию о наиболее или наименее популярных книгах, о читателях должниках, с целью взыскания денег за утерянные книги в 5-кратном размере от стоимости утерянной книги.

3. Цели и задачи создания базы данных "Библиотека"

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

  1. Запись читателя в библиотеку
  2. Поиск и выдача книги читателю
  3. Отметка о возврате книг читателем
  4. Закрытие абонента читателя
  5. Пополнение книжного фонда
  6. Систематизация книг по каталогам
  7. Списание книг
  8. Подготовка списка книг по разделам
  9. Подготовка сведений о книгах по авторам
  10. Подготовка  сведений  о  читателях – должниках,  с  указанием суммы взыскания
  11. Подготовка списка книг на списание
  12. Подготовка списка книг на закупку библиотекой, с указанием необходимой суммы для их приобретения.

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

1.Входные и выходные данные задач

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

Информация о книге:
уникальный шифр книги (ISBN)
название
фамилии авторов
издательство
город издания
год издания
количество страниц в книге
стоимость книги
количество экземпляров в библиотеке
номер области знаний, к которой относится данная книга
название области знаний, к которой относится данная книга

Информация об экземпляре книги:
уникальный  инвентарный номер книги
уникальный шифр книги (ISBN)
место размещения в библиотеке (ряд -полка)

Читательский (абонентский) билет – информация о читателе:
№ читательского билета
Фамилия, имя, отчество
дата рождения
адрес
место работы
телефон домашний
телефон рабочий

5.Инфологическое проектирование базы данных

Выделить объекты данной предметной области и их свойства, определить связи между ними. Нарисовать инфологическую модель предметной области в графическом виде.
На этапе инфологического проектирования базы данных строится инфологическая модель предметной области, которая должна отражать семантику (смысл взаимосвязи объектов) предметной области. ИЛМ строится не для отдельного объекта, а отображает классы объектов и связи между ними. Диаграмма, отражающая связи объектов предметной области, называется диаграммой ER-типа (так как Entity – сущность, Relationship – связь).
Выделим основные сущности:
сущность «Книга»;
сущность «Экземпляр»;
сущность «Читатель».


Инфологическая модель базы данных «Библиотека» представлена на рис. 1.
infomodel 

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

Сущность «Книга» содержит информацию обо всех книгах, имеющихся в библиотеке. Отдельный экземпляр этой сущности соответствует не конкретному экземпляру книги, а описанию книги в целом. Каждая же книга может присутствовать в библиотеке в нескольких экземплярах,  поэтому вводится сущность «Экземпляр». Каждый экземпляр сущности «Экземпляр» содержит информацию о конкретном экземпляре книги. Между сущностью «Книга» и сущностью «Экземпляр»  существует связь типа «1:М», обязательная с обеих сторон (если есть информация о книге, то есть хотя бы один экземпляр этой книги, если есть экземпляр книги, то должна быть информация о книге). Сущность «Читатель» содержит информацию о читателях. Отдельный экземпляр этой сущности содержит информацию об одном читателе. Существует связь между сущностью «Читатель» и сущностью «Экземпляр» типа «1:М», не обязательна с обеих сторон (читатель может не держать на руках ни одной книги, также экземпляр книги может не быть на руках у читателя). Определяются  ключи – уникальные идентификаторы  экземпляров каждой сущности: для сущности «Книга» - это шифр книги,  для сущности «Экземпляр» - инвентарный номер экземпляра книги, для сущности «Читатель» - номер читательского билета.

6.Выбор СУБД

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

Основные достоинства СУБД Access:
1.Хранение данных в виде таблиц.
2.Легко связывать данные хранящиеся в разных таблицах.
3.Даёт возможность работать с другими БД таких как Paradox,FoxPro.
4.Позволяет устанавливать связь с другими программами из пакета Microsoft Office.
5.Возможность интеграции с Visual Basic Application или Delphi.
6. Для выполнения почти всех основных операций Access предлагает большое количество Мастеров (Wizards), которые делают основную работу за пользователя при работе с данными и разработке приложении.

Основные объекты Microsoft Access.

1.Таблица. Объект, который определяется и используется для хранения данных. Для каждой таблицы можно определить первичный ключ и один или несколько индексов, помогающих ускорить доступ к данным.
2. Запрос. Объект, который позволяет пользователю получить нужные данные из одной или нескольких таблиц.
3. Форма. Объект, предназначенный в основном для ввода данных, отображения их на экране или управления работой приложения. С помощью формы можно в ответ на некоторое событие  запустить макрос или процедуру VBA.
4. Отчет. Объект, предназначенный для создания документа, который впоследствии может быть распечатан или включен в документ другого приложения.
5. Макрос. Объект, представляющий собой структурированное описание одного или нескольких действий, которые должен выполнить Access в ответ на определенное событие.
6. Модуль. Объект, содержащий программы, написанные на языке Visual Basic для приложений.

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

7.Даталогическое проектирование базы данных

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

Книга (Шифр книги, Название, Автор, Издательство, Город издания, Год издания, Количество страниц, Количество  экземпляров в библиотеке, Цена, Номер области знаний,  Название области знаний)

Экземпляр  (Инвентарный номер книги,  Шифр книги,     Место    размещения,
 № читательского билета, Дата выдачи, Дата возврата)

Читатель (№читательского билета, Фамилия И.О., Дата рождения,   Домашний адрес, Место работы,  Телефон(рабочий), Телефон (домашний)).

8.Нормализация отношений

Следующим шагом в проектировании РБД является нормализация отношений (определить функциональные зависимости, определить ключи и привести отношения к 3-ей нормальной форме, дать определения нормальных форм).
Рассмотрим отношение «Книги». Каждая книга может относиться к многим областям  знаний , т.е. атрибуты  номер области знаний и название области знаний – сложные, а это значит, что  нарушена 1-ая нормальная форма. Чтобы привести к 1-ой нормальной форме  добавим к ключу еще один атрибут – номер области знаний.
Функциональные зависимости между атрибутами отношений   после приведения  отношения «Книги» к первой нормальной форме приведены на рис.2.    Отношения  «Читатель»  и  «Экземпляр»  находятся в 1-ой нормальной форме,  т.к. не имеют сложных атрибутов.
Поскольку отношения «Читатель» и «Экземпляр» имеют простые ключи, они уже во 2-ой нормальной форме. В отношении «Книги» 2-ая нормальная форма нарушена, т.к. есть неключевые атрибуты, зависящие только от части ключа,  а не от всего составного ключа. Приведем это отношение ко 2-ой форме,  разделив отношение на три отношения по зависимости от ключа или части ключа. Результат представлен  на рис.3.
Назовем новые отношения: «Книги»,  «Области знаний», «Принадлежность книги к области знаний». 
В результате  мы  получили  5  отношений:   «Книги»,  «Экземпляр»,      
 «Области  знаний»,     «Принадлежность  книги     к      области    знаний», «Читатель» .

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

Рис.4. Даталогическая модель  базы данных  «Библиотека»

9.Определение структуры таблиц реляционной базы данных

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

Таблица 1. Структура таблицы «Книга» РБД «Библиотека»


Название таблицы

Имя поля

Тип данных

Размер поля

Первичный ключ / вторичный ключ / индексированное поле

Книга

Шифр книги

Текстовый

15

Первичный ключ

 

Название

Текстовый

50

 

 

Авторы

Текстовый

50

 

 

Издательство

Текстовый

20

 

 

Город издан.

Текстовый

20

 

 

Год издания

Текстовый

4

 

 

Кол_страниц

Числовой

 

 

 

Количество экз. в библ.

Числовой

 

 

 

Цена

Денежный

 

 

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

Связи между таблицами в базе данных «Библиотека» представлены на рис.5

access
                              
 
                    Рис.5. Связи между таблицами в базе данных

10.Структура информационной системы

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

  1. Запись читателя в библиотеку
  2. Поиск и выдача книги читателю
  3. Отметка о возврате книг читателем
  4. Закрытие абонента читателя
  5. Пополнение книжного фонда
  6. Систематизация книг по каталогам
  7. Списание книг
  8. Подготовка списка книг по разделам
  9. Подготовка сведений о книгах по авторам
  10. Подготовка  сведений  о  читателях –  должниках,  с  указанием  суммы

             взыскания

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

        Читатель решает следующие задачи:

  1. Подготовка списка книг по разделам
  2. Подготовка сведений о книгах по авторам

        Администратор:

  1. Подготовка   сведений  о  читателях – должниках,   с   указанием  суммы взысканиz
  2. Подготовка списка книг на списание
  3. Подготовка списка книг на закупку библиотекой, с указанием необходимой суммы для их приобретения.

         Информационную систему «Библиотека» можно представить в виде 3-х подсистем (рис.6):
table 

Рис.6.   Укрупненная структура   АИС  «Библиотека»

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

 

Рис.8.  Структура компоненты для приема и списания книг

 

 

Рис.9. Структура компоненты для ввода и стирания информации по читателям.

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

 

Рис.11. Структура компоненты для поиска нужных книг.

На рисунках 8-11  представлены  Структуры основных компонентов подсистемы «Библиотекарь». Аналогично, исходя из решаемых задач, могут быть представлены  структуры  подсистем  «Читатель» и «Администратор»,в виде взаимосвязи созданных таблиц, запросов, форм и отчетов.

11.Запросы на выборку данных для решения поставленных задач

В этом  пункте необходимо показать структуру всех запросов, осуществляемых в системе на языке QBE,  а в приложении  результаты , получаемые на каждый запрос по таблицам контрольного примера.
Мы же в качестве примеров рассмотрим Запрос32 и  Запрос42 ( книги по программированию). Запросы эти приведены на рис.12  и рис.13.

        Рис.12.  Запрос для   выявления   «злостных»  задолжников

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

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

12.Отчеты по результатам решения задач

Создать отчеты с помощью мастера отчетов, конструктора отчетов по таблицам и запросам. Описать разработанные отчеты на выборку информации и показать результаты их работы. Для некоторых отчетов показать окно конструктора отчетов. Результаты привести в приложении.
В качестве примера создадим  «Письмо» задолжнику, который держит книги  на  руках  более  одного  года.    Используем   для   этого   конструктор отчетов и используем   результаты запроса  «Запрос32», сохранив их предварительно в новой таблице  «Злостные_задолжники» . Экранная форма конструктора отчетов приведена на рис.14,  а  само письмо для контрольного примера – в приложении.

Рис.14.  Создание отчета – письма «злостному» задолжнику

13.Организация интерфейса с пользователем.

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


                         

  Рис.15. Главная форма АИС «Библиотека» и  компоненты «Библиотекарь»

ПРИЛОЖЕНИЕ 1

ТАБЛИЦЫ БАЗЫ ДАННЫХ «БИБЛИОТЕКА»
Таблица1.  «Книги»

 

 

 

 

 

 

 

 

Продолжение таблицы «Книги»

Таблица2. Экземпляр

Таблица3.Книга_область_знаний

Таблица4. Область_знаний

Таблица5. Статистика

ПРИЛОЖЕНИЕ 2

РЕЗУЛЬТАТЫ  ВЫПОЛНЕНИЯ  ЗАПРОСОВ
Запрос32.

 

 

 

 

Запрос42

ПРИЛОЖЕНИЕ 3
ПРИМЕР ОТЧЕТА

 

Универсиада 2013 в Казани