конференция_Чан_Тхюи_Зунг_Чан_Вьет_Миньx

advertisement
БАЗА ДАННЫХ БИБЛИОТЕКА
Чан Тхюи Зунг, Чан Вьет Минь
Томский политехнический университет, 634050, Россия, г. Томск, пр. Ленина, 30
Научный руководитель: Полякова Н.С
Введение
Библиографическая деятельность осуществляется в библиотеках всех типов,
независимо от состава читателей и профиля работы. Основная задача сотрудников библиотеки – сделать обращение читателей удобным и комфортным. Это означает своевременный и качественный подбор нужной литературы для читателя. Библиотеки играют огромную роль для студентов ВУЗов в учебном процессе. Объём информации в
библиотечных фондах непрерывно растёт. В связи с этим, существует проблема повышения качества и эффективности работы библиотек. Для этого создаются электронные базы данных, с помощью которых можно быстро осуществлять поиск нужной книги для студента, преподавателя. Так же в базе данных можно отражать всех пользователей, сроки возврата книг, количество экземпляров книг и многое другое. Если база
данных разработана удачно, то можно легко управлять работой библиотеки. Также
можно составлять разнообразные запросы, которые позволяют отображать нужную
информацию. В настоящее время существует большое множество электронных каталогов различных библиотек. В данной статье рассматривается процесс создания структуры базы данных для типичной библиотеки.
Описание базы данных «Библиотека».
Построение базы данных (БД) «Библиотека» позволяет выполнять следующие
действия:
Хранить информацию о книгах, читателях, сотрудниках и выдачах книг. БД
должна обеспечивать гибкий поиск книг. Экземпляры книг хранятся по отделам , для
каждого экземпляра можно узнать, в каком отделе он находится (или кому выдан на
руки). На каждый экземпляр ставится инвентарный номер. В БД сохраняется история
перемещения экземпляров между отделами.
Читатели регистрируются в библиотеке на определённый срок (могут выписаться). Когда читатель берёт или возвращает книги, это оформляется библиотекарем, информация об этом заносится в БД. Иногда читатели теряют книги, информация о потерях должна также сохраняться в БД. Также экземпляры книг могут быть уничтожены,
проданы или переданы другим библиотекам (в БД необходимо только отмечать факт
изъятия экземпляра книги из фонда с указанием причины).
БД библиотеки должна обеспечивать гибкий поиск книг (по ФИО автора, по году
выпуска, по названию издательства). Полная информация о конкретной книге должна
включать в себя следующие элементы: автор, издательство, заглавие, номер тома, повторность, ISBN, год выпуска.
При разработке структуры базы данных«Библиотека» была использована концептуальная модель построения базы данных.
Построение структуры базы данных «Библиотека»
Один автор может участвовать в подготовке нескольких книг, и в подготовке конкретной книги могут участвовать некоторые авторы. Кроме этого, нам нужно сохранить не только ФИО автора, а ещё другие сведения о нём. Поэтому, мы считаем понятие "Автор" отдельной сущностью. У этой сущности есть следующие атрибуты : Код
автора, ФИО, страна, дата рождения, описание (необязательный).
Конкретное издательство тоже выпускает много книг. Мы создаем сущность "Издательство" с тремя атрибутами : Код издательства, название, город.
Поскольку у одной книги может быть много томов, и повторные тоже имеют одинаковые заглавия, мы создаем отдельную сущность "Заглавие". У этой сущности только 2 атрибута : Код заглавия и заглавие. (Рисунок 1)
Рис. 1. Сущности в концептуальной схеме.
Чтобы удобно сохранять и искать книги в библиотеке, нам нужно разделять их по
типу издания. Например: словарь, справочник, учебник, сборник и т.д. Для этого мы
создаем сущность "Тип_издания".
Остальные данные о книгах можно считать атрибутами сущности "Книга". На рисунке 2 показаны сущность "Книга" и её связи с некоторыми сущностями в концептуальной схеме:
Рис. 2. Сущность "Книга" и её связи.
У одной книги есть множество экземпляров. Поэтому требуется создать сущность
"Экземпляр", у которой есть следующие атрибуты: Код экземпляра, Инвентарный номер, Отдел ( где данной экземпляр хранится), Наличие в библиотеке, Причина изъятия.
Атрибут "Наличие в библиотеке" играет роль "флаг", который отвечает на вопрос:
находится ли в библиотеке данный экземпляр в данный момент. Атрибут "Причина
изъятия" используется для хранения информации об изъятии экземпляра от библиотеки. Если значение данного атрибута у какого-то экземпляра не равно нулю, значит, что
данный экземпляр больше никогда не присутствует в нашей библиотеке.
Чтобы сократить объем данных, поскольку у библиотеки есть определенное количество отделов, создаем сущность "отдел" (Код отдела, Название). Ещё, согласно требованию, БД сохраняет историю перемещения экземпляров между отделами. Поэтому
мы создаем сущность "История перемещения экземпляра" (Код записи, Дата перемещения, Из отдела, В отдел).
Далее создаем сущности "Читатель" и "Сотрудник". У сущности "Читатель" есть
множество атрибутов, которые сохраняют полную информацию о читателях: Номер
билета, ФИО, Паспорт, Телефон, Адрес, Дата получения билета, Дата срока). Для описания сотрудника, нам нужно создать ещё одну сущность - "Должность".
Теперь создаем последнюю сущность данной БД - "Выдача книги". Поскольку в
один день можно выдать конкретный экземпляр только один раз, первичный ключ
сущности "Выдача книги" является составным. Кроме этого у данной сущности есть
несколько атрибутов: срок, дата возврата (необязательный), Утеряна, Номер билета,
Номер сотрудника. Атрибут "Утеряна" играет роль флага, который отвечает на вопрос:
утерян ли данный экземпляр после выдачи. На рисунке 4 показаны связи между данной
сущностью и остальными сущностями в концептуальной схеме:
Рис. 4. Сущность "Выдача книги" и её связи.
Теперь концептуальная схема создана. После создания концептуальной схемы мы
создаем реляционную схему. В результате преобразования, мы получаем такую схему,
как показано на рисунке 5:
Рис. 5. Реляционная схема.
Заключение
Таким образом, представленная структура базы данных «Библиотека» является
первым этапом в разработке электронного приложения. Предполагается второй этап –
это создание компьютерной программы создания и ведения данной БД. Этот вопрос
рассматривается в моей второй статье Создание программы «Библиотека» в среде
SQL2008.
Download