Проектирование базы данных для библиотеки
Проектирование базы данных для библиотеки
22 Курсовая работа по дисциплине «Корпоративные информационные системы» на тему: «Проектирование базы данных для библиотеки» Содержание Введение I. Описание 1.1 Назначение и предметная область II. Проектирование базы данных 2.1 Модель "сущность - связь" 2.2. Модель БД (SQL-диаграмма) 2.3. Модель UML БД "Library" 2.4.Основные SQL-скрипты III. Алгоритм работы программы "Библиотека" IV. Програмное обеспечение 4.1. Главная форма 4.2 "Справка" 4.3. "Читатели" 4.3.1 "Добавление нового читателя" 4.3.2. "Отчёт по читателям" 4.4. "Книги" 4.4.1 "Добавление новой книги" 4.4.2 "Список всех книг" 4.5 "О создателях" Список использованной литературы Введение Информационные технологии становятся неотъемлемой частью жизни третьего тысячелетия. Сегодняшние читатели получат профессиональные знания и личностно осознают себя, в том числе и за счет нетрадиционных форм доступа к информационным ресурсам. Поэтому глубина и направленность в раскрытии библиотечных фондов средствами информатизации во многом определяют возможности их использования для саморазвития и самообучения, в творчестве и научно-исследовательской деятельности. Читатели библиотеки всех уровней и категорий выступают при этом в роли пользователей автоматизированных библиотечных систем. Библиотеки, вступившие на путь автоматизации в последние 3-4 года, оснащаются иностранной компьютерной техникой, исходя из ее универсальности. Но правила работы зарубежных библиотекарей универсальны не в той же мере, и для адаптации к ним должны быть приняты решения на государственном уровне с последующей реализацией в национальных масштабах. Невозможно и прямое заимствование отечественного опыта автоматизации крупнейших библиотек или информационных центров, работающих в этой области с конца 70-х начала 80-х годов, т.к. они, как правило, имеют специализированный, самобытный характер разработок. В настоящее время на федеральном уровне идет процесс решения задач приведения нормативной базы в соответствие с международными требованиями и стандартами; создания системы связи в масштабах страны; разработки национального формата обмена библиографическими данными; разработки национального авторитетного/нормативного файла; реализации проекта корпоративной каталогизации. Работа по этим направлениям фундаментально определяет создание Федеральной библиотечной компьютерной сети, призванной объединить библиотеки разной степени автоматизации в информационное межбиблиотечное пространство в пределах страны с одновременной интеграцией в масштабах планеты, которая не так уж и велика. Наша курсовая работа по дисциплине «Базы данных» посвящена созданию базы данных библиотеки для работы в ней как обычному библиотекарю, так и администратору самой библиотеки. В действительности же, администратор библиотеки отличается от обычного библиотекаря (в смысле своих прав по отношению к базе данных) лишь в том, что библиотекарь не имеет права (если не знает пароль администратора) вносить новые издания библиотеки в базу данных. В остальном же их права равны, и база данных является фактически единой как для администратора, так и для библиотекаря (кроме вышеуказанного случая). В нашей курсовой работе, посвященной данной теме, мы сделали возможным производить следующие действия над данными библиотеки: искать информацию об абонементе добавлять нового читателя и информацию о нём редактировать информацию о читателе удалять информацию о зарегистрированном читателе искать информацию о зарегистрированном издании добавлять новое издание удалять информацию о библиотечном издании заносить очередную информацию о выдаче абонементу библиотечной литературы искать информацию о выдаче абонементу библиотечной литературы заносить очередную информацию о возврате абонементом библиотечной литературы искать информацию о возврате абонементом библиотечной литературы искать книгу не только по автору и названию, но и по редактору, и по переводчику Библиографическая деятельность осуществляется в библиотеках всех типов, независимо от состава читателей и профиля работы. Она заключается в подборе нужной литературы для читателя. Так как мы живём в XXI веке, то объём литературы непрерывно растёт. Библиотекарям всё сложнее и сложнее найти быстро нужную книгу или журнал. Для этого необходимо создать базу данных, с помощью которой будет легко осуществляться поиск нужной книги, читателя и не только. Так же в ней можно отражать всех пользователей, сроки возврата книг, количество экземпляров книг. Создание базы данных возникает из-за необходимости повышения качества и эффективности библиографической работы. Библиотека представляет собой совокупность нескольких отделов: * Абонемент * Читальный зал * Зал периодических изданий Каждый из них подразделяется на направления: тематический и систематический каталог, в читальном зале книги так же расставлены по темам и каждой тематике присвоен свой шифр, в зале периодической литературы - на журналы и газеты. Далее каждый из этих разделов может содержать и книги, расставленные по алфавиту. Каждый шифр является заглавием общей темы данного раздела. Этот раздел может иметь в свою очередь и подразделы: Например, общий шифр темы «Точная механика. Приборостроение. Измерительная техника.» - 68. Вычислительная техника - 681.3 Аналоговые системы, машины и устройства - 681.33 Цифровые системы машины и устройства - 681.32 В абонементе так же надо учитывать, какие книги на руках и сколько книг в открытом фонде. Основой для создания нашей базы данных послужило увеличение объёма книг, трудоёмкость поиска нужной книги. Использование автоматизированной информационно-библиотечной системы позволит библиотечным работникам практически полностью избавиться от ручного ввода в ЭВМ литературы, путём получения от автоматизированных библиотек региона, из централизованных источников, а так же из-за рубежа уже введённых на дискеты описаний первоисточников. Создавая нашу базу данных, в качестве сущности мы решили взять издание. Издание, в свою очередь, принадлежит библиотеке, которая имеет адрес, номер, название. Она может находиться в одном из залов: зал периодики, читальный зал и абонемент. Зал периодики содержит газеты и журналы, главными атрибутами которых являются название, номер, год издания, дата выпуска. В читальном зале находятся книги, которые не выдаются на руки читателям, так как очень редкие и находятся в единственных экземплярах. Их основные атрибуты - это автор, год издания, шифр, название. Абонемент состоит из тематического и систематического каталога. Первый содержит книги по названию темы, второй - по названию самих книг. Так же в библиотеке есть алфавитный каталог, книги в котором расположены по автору. I. Описание 1.1 Назначение и предметная область База данных предназначена для хранения данных о приобретенных библиотекой изданиях (монографиях, справочниках, сборниках статей и т.п.), информации о местонахождении отдельных экземпляров (переплетов) каждого издания и сведений о читателях. |
Дейт К. Руководство по реляционной СУБД DB2 / Пер. с англ. И предисл. М.Р.Когаловского. - М.: Финансы и статистика, 1988. - 320 с.: ил. ISBN 5-279-00063-9 Книга американского специалиста в области реляционных баз данных К.Дейта, автора популярной в СССР монографии "Введение в системы баз данных" (М.: Наука, 1981), представляет собой руководство по перспективной СУБД фирмы ИБМ DB2, сочетающей возможности широко известной системы IMS/VS и реляционной СУБД. Для специалистов по программному обеспечению информационных систем и студентов вузов. ББК 32.973 | | |
Рисунок 1 - Макет аннотированной каталожной карточки. Для ведения библиотечных каталогов, организации поиска требуемых изданий и библиотечной статистики в базе должны храниться сведения, большая часть которых размещаются в аннотированных каталожных карточках (в соответствии с рисунком 1.). Анализ запросов на литературу (как читателями, так и сотрудниками библиотек) показывает, что для поиска подходящих изданий (по тематике, автору, редактору, переводчику и т.п.) и отбора нужного следует выделить следующие атрибуты каталожной карточки: Автор (фамилия и имена (инициалы) или псевдоним каждого автора издания). Название (заглавие) издания. Номер тома (части, книги, выпуска). Тема книги (издания). Вид издания (газета, журнал). Язык, с которого выполнен перевод издания. Переводчик (фамилия и инициалы каждого переводчика). Под чьей редакцией (фамилия и имена, отчества каждого из титульных редакторов). Характер переиздания (дополненное, переработанное, без измене-ний и т.п.). Год выпуска издания. Библиотечный шифр (например, ББК 32.973). Библиотечный шифр используется при составлении каталогов и организации расстановки изданий на полках по содержанию (в соответствии с библиотечным шифром). Библиотечно-библиографическая классификация (ББК) распределяет издания по отраслям знания в соответствии с их содержанием. В ней используется цифро-буквенные индексы ступенчатой структуры. Каждый из девяти классов: Марксизм-ленинизм; Естественные науки; Техника. Технические науки; Сельское и лесное хозяйство; Здравоохранение; 7. 8. Общественные и гуманитарные науки; 9. Библиографические пособия. Справочные издания. Журналы. делится на подклассы и следующие ступени деления: 3. Техника. Технические науки. 32 Радиоэлектроника. 32.97 Вычислительная техника. 32.973 Электронные вычислительные машины и устройства. 32.973.2 Электронно-вычислительные машины и устройства дискретного действия. Шифр ББК используется при выделении хранимым изданиям определенных комнат, стеллажей и полок, а также для составления каталогов и статистических отчетов. К объектам и атрибутам, позволяющим охарактеризовать отдельные экземпляры изданий (переплеты), места их хранения и читателей, можно отнести: 18. Дата изъятия переплета с установленного места. 19. Номер читательского билета (формуляра). 20. Фамилия читателя. 21. Имя читателя. 22. Отчество читателя. 23. Адрес читателя (адрес по прописке). 24.Дата выдачи (возврата) читателем конкретного переплета. 25.№ и серия паспорта. 26.Когда выдан паспорт. 27.Кем выдан паспорт. 28.Места размещения переплётов (читальный зал, абонемент, зал периодики). II. Проектирование базы данных 2.1 Модель «сущность - связь» Центральной сущностью в нашей схеме (в соответствии с рисунком 2) является издание. Мы выбрали его центральным, потому что сущность работы библиотеки заключается в приобретении, хранении, списании изданий и обеспечении читателей нужной литературой. Естественно, каждое издание имеет свое название, автора, год издания, а так же инвентарный номер. Каждое издание пишется отдельным автором. Следовательно, мы выделили автора в отдельную сущность. В итоге у него появятся новые характеристики: имя, фамилия и отчество автора. Так же каждое издание выдаётся читателю - в этом и есть основной смысл деятельности библиотеки. Естественно, читатель имеет ряд своих атрибутов. К ним относятся фамилия, имя, отчество. Причём их надо отражать как отдельные поля, так как, например, Петровых может быть много. Так же необходим год рождения читателя и номер его читательского билета. Эти атрибуты необходимы непосредственно для поиска потом читателя по базе данных. Человек, приходя в библиотеку, первым делом даёт свой читательский билет. На нём указывается название библиотеки, фамилия, имя, отчество читателя, а так же его подпись. Каждому читателю присваивается свой индивидуальный номер, который можно назвать номером читательского билета. Если книга находится на абонементе, то нужно отражать в базе данных дату возврата книги читателем. Это необходимо для контроля над возвратом книг, а так же это помогает при начислении штрафов, пенни за просроченные дни. Паспорт, как атрибут читателя, надо выделить в отдельную сущность, потому что это не «прямая» характеристика читателя. Его атрибутами являются: номер и серия паспорта. Этого будет достаточно, так как в случае совпадения фамилии и паспортных данных выручит № читательского билета. Этот номер является уникальным. Каждому читателю, взявшему книгу, выдается квитанция. Она имеет следующие атрибуты: дата получения, дата окончания и № квитанции. Рисунок 2 - Схема модели «Сущность - связь». 2.2 Модель БД (SQL-диаграмма) Рисунок 3 - Схема модели БД (SQL-диаграмма). 2.3. Модель UML БД «Library» Рисунок 4 - Схема модели UML БД «Library». 2.4 Основные SQL-скрипты Таблица 1 - Основные SQL-скрипты |
№ | Текст скрипта | Назначение скрипта | | 1 | select name, lastname, seriaPassport, numberPassport from client | Для отчета о читателях библиотеки | | 2 | select * from book b, link l, client c where b.recid=l.bookid and l.clientid=c.recid and b.isnot=1 and l.dategetreal is null order by (l.dategetdoc) | Для отчета о книгах, выданных на данный момент времени | | 3 | select * from link l, book b, client c where l.dategetdoc<l.dategetreal and l.bookID=b.recID and l.clientID=c.recID order by (c.lastname) | Для отчета о не вовремя сданных книгах | | 4 | book.SQL.Add('select recID,numberBook, yearPublic, name, author, isNot, isValid' +' from book where author like ''%'+ authorV+'%'' and name like ''%'+ nameV+'%'' '); | Поиск нужных книг по заданным автору и названию | | 5 | DeleteBook.SQL.Add('delete book where recID='+inttostr(rec)+''); | Удаление выбранной книги | | 6 | vozvrat.SQL.Add('update book set isnot=0 where recid='''+inttostr(rec)+''''); | Оформление возврата (сдачи) книги - изменения в поле о наличии книги | | 7 | link_edit.SQL.Add('update link set dategetreal='''+datenow+''' where bookID='''+inttostr(rec)+''' and dategetreal is null'); | Оформление возврата (сдачи) книги - изменения в поле о дате сдачи книги | | 8 | client.SQL.Add('select * ' +' from client where lastname like ''%'+ lastnameV+'%'' and name like ''%'+ nameV+'%''and seriaPassport like ''%'+seria+'%'' and numberPassport like ''%'+number+'%'' '); | Поиск нужного читателя по заданным имени, фамилии, номеру и серии паспорта | | 9 | giving.SQL.Add('insert link(recID, bookID, clientID) values('''+inttostr(rec)+''',''' +inttostr(bok)+''','''+inttostr(client)+''')'); | Оформление выдачи книги - внесение данных в таблицу link-кому выдана, какая книга | | 10 | ADOQuery1.SQL.Add('update book set isnot=1 where isnot=0 and recID='''+inttostr(bok)+''''); | Оформление выдачи книги - изменения в таблице book - данные о наличии книги | | 11 | giving.SQL.Add('update link set dateGetDoc='''+datenow+''' where recID=''' +inttostr(rec)+''''); | Оформление выдачи книги - изменение данных в таблице link-дата выдачи | | 12 | kvitancija.SQL.Add('select c.lastname, c.name, l.dategive, l.dategetdoc, b.name, b.author'); kvitancija.SQL.Add('from client c, link l, book b'); kvitancija.SQL.Add('where c.recID='''+DBText1.Caption+''' and c.recID=l.clientID'); kvitancija.SQL.Add('and l.bookID=b.recID and l.dateGetDoc='''+datenow+''' '); | Для квитанции о выдаче книг | | 13 | deletePerson.SQL.Add('delete client where recID='+inttostr (recPerson)+''); | Удаление читателя из библиотеки | | 14 | AddNewClient.SQL.Add('insert client (name, secondname, lastname, yearbirth, seriaPassport, numberPassport)' +' values ('''+name+''','''+middlename+''','''+lastname+''','''+inttostr(year)+''','''+inttostr(seria)+''','''+inttostr(number)+''') '); | Добавление нового читателя | | 15 | bookAdd.SQL.Add('insert book (name, author, numberBook, YearPublic) values ('''+nameNew+''','''+authorNew+''','''+numberBookNew+''','''+inttostr(yearDate)+''')'); | Добавление новой книги | | |
III. Алгоритм работы программы «Библиотека» 22 Рисунок 5 - Схема алгоритма работы программы. IV. Програмное обеспечение 4.1 Главная форма АИС «Библиотека» была разработана для автоматизации работы библиотеки. Она является незаменимым помощником в нелегком труде библиотекаря по учету всех имеющихся книг в библиотеке. Наша программа состоит из множества форм. Опишем форму «Главное меню» (в соответствии с рисунком 6). В этой форме описаны основные задачи и функции, которые выполняет наша программа. В нашем главном меню находятся поля: работа, справочники, отчеты, справка и выход из программы. Так же здесь можно просмотреть информацию о самой программе. Рисунок 6 - Форма «Главное меню» 4.2 «Справка» Рассмотрим одну из важных частей нашей программы «Справку», обратившись к которой пользователь может ознакомиться с работой программы в целом и по каждому разделу, а также найти ответ на возникший в ходе работы вопрос. Осуществив нажатие на «Справку», откроется соответствующая форма (рисунок 7). Справка разбита на разделы, что очень удобно для чтения. Всего 6 разделов: Создание новой книги в БД, Создание нового читателя в БД, Оформление выдачи книги, Оформление возврата книги, Поиск книги, поиск читателя по минимальным данным, Получение необходимых отчётов. В каждом разделе дана последовательность выполнения всех действий пользователя по учету книг в библиотеке. «Справка» облегчит работу библиотекаря и, конечно же, сэкономит его время. Рисунок 7 - Окно меню «Справка». 4.3 «Читатели» Итак, переходим к закладке «Работа». Есть выбор работать с книгами или с читателями. Начнём с читателей (рисунок 8). Эта форма считается одной из главных, так как именно в ней производится выбор определенного читателя и выдача книг на руки. Рассмотрим эту форму подробнее. Библиотекарь выбирает из своей базы данных нужного читателя и путем нажатия на кнопку «Выдать книги» выбирает книги в открывшейся форме «Книги», в которых нуждается читатель. Сначала он должен определить срок, на который выдается книга, а только потом оформить выдачу, нажав на соответствующую кнопку. Справа располагается окошко, где видны все книги, которые выдал библиотекарь или вернул читатель. Для удобства в нашей программе есть календарь. В этой форме библиотекарь может осуществлять поиск читателя по его минимальным данным: фамилии или имени, а также по паспортным данным. Здесь же библиотекарь может добавить нового читателя или удалить ненужного. При необходимости форму можно закрыть. Рисунок 8 - Содержание формы «Читатели». 4.3.1 «Добавление нового читателя». Перейдем к следующей закладке «Справочники». Библиотекарь может добавить нового читателя, открыв форму «Добавление нового читателя». После заполнения всех полей запись можно сохранить, а форму закрыть (рисунок 9). Рисунок 9 - Содержание формы «Добавление нового читателя». 4.3.2. «Отчёт по читателям» Теперь обратимся к закладке «Отчеты». Для удобства учета не только книг, но и читателей в нашей программе существует форма «Отчет по читателям» (рисунок 10). После работы библиотекаря с читателями он может создать отчет по тем читателям, которым выдал книги. Этот отчет можно редактировать и печатать. Рисунок 10 - Отчет по читателям. 4.4 «Книги» Форма «Книги» открывается после того, как библиотекарь на форме «Читатели» нажмет кнопку «выдать книгу». Форма «Книги» по своей структуре похожа на «Читателей». Здесь библиотекарь может выбрать нужную книгу, оформить выдачу, а также осуществить ее возврат (рисунок 11). Для удобства быстрого поиска книг из всей базы данных здесь есть «Поиск книг » по автору или по названию книги. Также библиотекарь может как добавить книгу, так и ее удалить. При необходимости или после окончания работы форму можно закрыть нажатием на кнопку «Закрыть». Рисунок 11 - Форма «книги». 4.4.1 «Добавление новой книги» Если библиотекарь хочет добавить новую книгу, то на форме «книги» он нажимает кнопку «добавить». После этого открывается форма «добавить новую книгу» (рисунок 12). Здесь библиотекарь должен заполнить все данные о книге, добавить ее или подтвердить изменения, если он просто меняет данные о уже существующей книге. Как и в любой другой форме здесь есть кнопка «Закрыть», которой можно воспользоваться при необходимости или после окончания работы с этой формой. Рисунок 12 - Форма «Добавление новой книги». 4.4.2 «Список всех книг» После окончания работы «выдачи книг» или «возврату книг» создается отчет о всех книгах, с которыми велась работа. В этом отчете собраны все необходимые данные о книгах (рисунок 13). Этот отчет можно редактировать и печатать. Рисунок 13 - Отчет по списку всех книг. 4.5 «О создателях» Нажав в главном меню кнопку «о создателях» (в соответствии с рисунком 14), можно, как уже говорилось выше, ознакомиться с создателями этой программы, а так же и с руководителями данного проекта. Переход в главное Рисунок 14 - Форма «О создателях». меню осуществляется нажатием на кнопку «на главную». Список использованной литературы 1.Бойко В.В., Савинков В.М. Проектирование баз данных информационных систем. - М.: Финансы и статистика, 1989. 2.Глушаков С.В., Ломотько Д.В. Базы данных: Учебный курс. - Киев: Абрис, 2000. 3.Карпова Т.С. Базы данных: модели, разработка, реализация. - СПб.: Питер, 2001. 4.Гофман В.Э., Хомоненко А.Д. Работа с базами данных в Delphi. - СПб.: БВХ-Петербург, 2000.- 656с.: ил. 5.Григорьев Ю.А., Ревунков Г.И. Банки данных: Учеб. Для вузов. - М.: Издательство МГТУ им. Н. Э. Баумана, 2002. - 320с.
|