Главная      Учебники - Разные     Лекции (разные) - часть 13

 

Поиск            

 

Отчёт по дисциплине «Базы данных» Тема

 

             

Отчёт по дисциплине «Базы данных» Тема

Министерство образования и науки Российской Федерации

САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ ЭЛЕКТРОТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ "ЛЭТИ"
ИМ. В.И. УЛЬЯНОВА (ЛЕНИНА)

197376, Санкт-Петербург, ул. проф. Попова, 5.

Факультет компьютерных технологий и информатики

Кафедра вычислительной техники

«ЗАЧТЕНО»

__________ О.А. Жирнова

“__” ____________ 2011 г.

ОТЧЁТ
по дисциплине «Базы данных»

Тема: «Создание базы данных в MySQL »

Шифр темы: 01

Студент группы 9307 ________________

Н. А. Звездин

Санкт Петербург, 2011

Отчет: 19 с., 15 рис., 1 табл., 3 прил.

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

База данных разработана для MySQL 5.1.49, работающей под управлением ОС Debian Linux 5.0.9 “Lenny”, с использованием PHP 5.2.6 и Apache 2.2.16 для реализации пользовательского веб-интерфейса. Все таблицы используют систему хранения данных MyISAM и кодировку UTF-8.

Содержание

. 2

Содержание. 3

1. Разработка базы данных. 4

1.1 Постановка задачи. 4

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

1.3 Проектирование базы данных с помощью ER-диаграмм. 5

2. Общие сведения программисту. 6

2.1 Минимальные системные требования для работы БД.. 6

2.2 Состав базы данных. 6

2.3 Структура интерфейса пользователя. 7

3 Инструкция пользователю.. 8

3.1 Назначение базы данных. 8

3.2 Рекомендации по использованию базы данных. 8

3.3 Начало работы с базой данных. 8

3.4 Просмотр информации. 9

3.5 Ввод информации. 11

3.6 Создание отчётов и выдача справок. 13

Заключение. 14

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

Приложение А – Схема данных. 16

Приложение Б – Примеры полей таблиц. 17

Приложение В – Пример отчёта. 18


1. Разработка базы данных

1.1 Постановка задачи

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

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

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

Предусмотреть возможность получения сведений о текущем состоянии библиотеки (в виде справки):

· какие книги закреплены за читателем;

· как называется книга с заданным шифром;

· какой шифр у книги с заданным названием;

· когда книга была закреплена за читателем;

· какое число читателей пользуется библиотекой.

Библиотекарь может вносить следующие изменения:

· запись нового читателя в библиотеку;

· списывание старой книги;

· изменение шифра книги.

Необходимо предусмотреть возможность выдачи справки о количестве книг определенного автора в читальном зале и отчёта о работе библиотеки в течение месяца (общее количество читателей, количество записавшихся в этот месяц, какие книги и сколько раз были взяты, кто из читателей не брал книги в этот месяц).

Предусмотреть вывод справок и отчётов на печать по требованию пользователя.

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

Предметная область – библиотека зарубежной и отечественной литературы.

Работнику библиотеки (в том числе, библиотекарю) доступны следующие сведения :

· информация о книгах в библиотеке;

· информация о книгах, закреплённых за определённым читателем;

· дата закрепления и дата возврата книги;

· определение шифра книги по её названию;

· определение названия книги по её шифру;

В виде месячного отчёта доступны следующие данные:

· количество записавшихся читателей;

· перечень зарегистрированных в этом месяце читателей;

· перечень читателей, не бравших книг в этом месяце;

· перечень выданных в этом месяце книг;

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

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

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

1.3 Проектирование базы данных с помощью ER-диаграмм.

После проведения анализа предметной области, выделим следующие сущности:

· lib_authors

· lib_books

· lib_rooms

· lib_takeaway

· lib_users

Сущности имееют следующие атрибуты:

lib_authors: author, last_name, name

lib_books: book, name, author, year, published_by, room, count, readings

lib_rooms: room, name, capacity

lib_takeaway: user, book, date, return.date

lib_users: user, last_name, name, room, joined, phone, last_takeaway, photo

Каждый читатель закрепляется за одним читальным залом, следовательно отношение «многие к одному»:

Аналогичным образом связаны сущности «книга» и «читальный зал»:

Таким же способом связаны сущности «автор» и «книга»:

Сущности «читатель» и «книга» не связаны между собой, так как каждый читатель может взять несколько книг и каждая книга может быть взята несколькими читателями, следовательно, получаем отношение «многие ко многим». Для разрешения этого отношения вводится сущность «закрепление книги» или “lib_takeaway”:

2. Общие сведения программисту

2.1 Минимальные системные требования для работы БД

Для работы сервера базы данных подойдёт любой компьютер под управлением таких ОС как Linux, BSD, MS Windows или даже Mac OS и других.

Из программного обеспечения необходима предустановленная база данных MySQL 5-ой версии и подключение к сети.

Для работы веб-интерфейса необходим компьютер со следующим программным обеспечением:

· PHP 5 с библиотекой mysql;

· Apache 2 (или любой другой HTTP-сервер, например nginx или lighttpd);

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

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

· Pentium III 667 MHz

· 256 MiB RAM

· Около 1GiB свободного места на жёстком диске.

Рекомендуемая операционная система Debian Linux или FreeBSD.

Наконец, для конечного пользователя (библиотекаря) необходим лишь компьютер, имеющий сетевой доступ к веб-интерфейсу и относительно современный браузер (Firefox, Opera или Google Chrome. Вряд ли в библиотеке будет Mac, но Safari тоже подойдёт).

2.2 Состав базы данных

База данных разработана для работников библиотек. В БД хранятся сведения об имеющихся в библиотеке книгах, о читателях библиотеки и читальном зале.

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

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

Предусмотрена возможность получения сведений о текущем состоянии библиотеки (в виде справки):

· какие книги закреплены за читателем;

· как называется книга с заданным шифром;

· какой шифр у книги с заданным названием;

· когда книга была закреплена за читателем;

· какое число читателей пользуется библиотекой.

Библиотекарь может вносить следующие изменения:

· запись нового читателя в библиотеку;

· списывание старой книги;

· изменение шифра книги.

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

Схема базы данных приведена в приложении А.

База данных состоит из следующих таблиц: lib_authors, lib_books, lib_rooms, lib_takeaway, lib_users.

Таблица «lib_rooms» содержит информацию о читальных залах. Она содержит поля: номер читального зала, название и вместимость.

Таблица «lib_books» содержит информацию о книгах, имеющихся в библиотеке, и включает поля: фамилия автора, название книги, год издания, количество экземпляров и шифр. Ключевое поле «book» (шифр) данной таблицы, имеет текстовый тип данных. Шифр для книги является индивидуальным номером, поэтому совпадения не приемлемы, как и отсутствие данных.

Таблица «lib_users» содержит информацию о читателях, записанных в библиотеку, и включает поля: фамилия читателя, имя и отчество читателя, контактный телефон, номер читательского билета, номер читального зала и дата записи в библиотеку. Ключевым полем является номер читательского билета («user»). Фамилии и имена читателей могут совпадать.

Таблица «lib_takeaway» содержит информацию о книгах, закрепленных за читателями в данный момент или бывших закреплёнными ранее. В таблице составной ключ, состоящий из полей «user» и «book» - номер читательского билета и шифр книги соответственно. Также в таблице хранится дата выдачи книги и дата возврата книги. Дата выдачи используется, к примеру, при подсчёте пользователей, не бравших книг в этом месяце.

Таблица «lib_authors» содержит информацию об авторах книг, находящихся в библиотеке. Ключевое поле – «author» является номером (ID) автора, так как фамилия или имя не могут быть уникальными полями, позволяющими точно идентифицировать автора.

Структуры вышеназванных таблиц, а также спецификации полей этих таблиц представлены в приложении Б.

2.3 Структура интерфейса пользователя

Интерфейс представлен условно в виде вкладок. Вкладки перечислены в таблице 1.

Название вкладки

Назначение

Книги

Список книг

Читатели

Список читателей

Статистика

Статистическая информация и отчёты

Регистрация читателя

Форма регистрации читателя

Добавление книги

Форма добавления новой книги

3 Инструкция пользователю

3.1 Назначение базы данных

База данных разработана для работников библиотек. В БД хранятся сведения об имеющихся в библиотеке книгах, о читателях библиотеки и читальном зале.

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

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

Предусмотреть возможность получения сведений о текущем состоянии библиотеки (в виде справки):

· какие книги закреплены за читателем;

· как называется книга с заданным шифром;

· какой шифр у книги с заданным названием;

· когда книга была закреплена за читателем;

· какое число читателей пользуется библиотекой.

Библиотекарь может вносить следующие изменения:

· запись нового читателя в библиотеку;

· списывание старой книги;

· изменение шифра книги.

Необходимо предусмотреть возможность выдачи справки о количестве книг определенного автора в читальном зале и отчёта о работе библиотеки в течение месяца (общее количество читателей, количество записавшихся в этот месяц, какие книги и сколько раз были взяты, кто из читателей не брал книги в этот месяц).

3.2 Рекомендации по использованию базы данных

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

Наличие в системе принтера даст возможность печатать отчеты и другую информацию.

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

3.3 Начало работы с базой данных

Первая страница, которую видит пользователь, содержит некоторую поясняющую информацию по БД (рисунок 3.3.1).

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

· Книги – поиск, просмотр информации о книгах и выдача на руки;

· Читатели – управление читателями библиотеки;

· Регистрация читателя – форма регистрации нового читателя;

· Добавление книги – форма добавления новой книги;

· Статистика – вывод статистической информации и отчётов о работе библиотеки за выбранный месяц.

Рисунок 3.3.1

3.4 Просмотр информации

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

Сократить диапазон поиска можно кликнув по соответствующей букве сверху, по имени автора или по названию зала. Для удобства книги всегда отсортированы в алфавитном порядке (см. рисунок 3.4.1).

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

Рисунок 3.4.1

Кликнув по названию книги или же, введя её шифр, вы перейдёте на страницу самой книги.

Рисунок 3.4.2.

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

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

Перейдя на страницу пользователя (рисунок 3.4.2) можно увидеть, какие книги находятся на руках у данного пользователя, и когда каждая книга была взята. Тут же можно вернуть книгу назад в библиотеку, если читатель принёс её обратно. Для этого нужно кликнуть по ссылке «Вернуть» напротив возвращаемой книги.

Можно изменить контактные данные читателя, кликнув по кнопке «Редактировать» или выписать читателя из библиотеки, кликнув по кнопке «Удалить».

Рисунок 3.4.3

3.5 Ввод информации

Рассмотрим конкретно формы ввода информации. Для добавления новой книги следует выбрать вкладку «Добавление книги».

Все поля формы (см. рисунок 3.5.1) заполняются вполне ожидаемым образом, кроме несколько оригинального поля «Автор». Если автор существует, то достаточно вводить его фамилию до тех пор, пока справа не появится список, из которого можно будет выбрать нужного автора. Если же автор не существует – система уведомит вас об этом. А в поле нужно будет ввести имя автора полностью в формате «Фамилия, Имя Отчество». При добавлении книги, в базу данных автоматически добавится и автор.

Рисунок 3.5.1

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

Рисунок 3.5.2

Для регистрации читателя следует выбрать вкладку «Регистрация читателя». Поля заполняются вполне ожидаемым образом; В качестве фотографии пользователя можно загрузить какое-нибудь изображение.

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

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

3.6 Создание отчётов и выдача справок

Для создания отчёта следует перейти на вкладку «Статистика» (см. рисунок 3.6.1).

Рисунок 3.6.1

Выбрав месяц и год вы получите отчёт о работе библиотеке за интересующий вас период.

Отчёт будет оформлен без использования лишних графических элементов в наиболее подходящей для печати форме. Для печати отчёта достаточно кликнуть по кнопке «Печать» находящейся справа сверху.

Пример отчёта приведён в приложении В.

Заключение

При разработке базы данных и пользовательского интерфейса был получен ещё один опыт работы с MySQL, PHP, конфигурацией Apache 2.x, языком разметки HTML, CSS и JavaScript (в том числе библиотека jQuery) для более дружественного интерфейса. Для работы с базой данных непосредственно использовался phpMyAdmin 3.5.0-dev. Благодаря этому получилось создать базу данных, доступ к которой может быть удобно организован в рамках сети одной библиотеки, даже если отдельные её залы находятся далеко друг от друга, а библиотекари имеют на своих компьютерах разные операционные системы.

Список литературы и источников информации

2. PHP Manual (англ.) (http://www.php.net/manual/en/)

Приложение А – Схема данных

Рисунок А-1

Приложение Б – Примеры полей таблиц

Рисунок Б-1. Таблица lib_authors

Рисунок Б-2. Таблица lib_takeaway

Приложение В – Пример отчёта

Отчёт о работе библиотеки за декабрь 2011

Общие сведения

Общее количество читателей

15

Записавшихся в этом месяце

6

Читатели, зарегистрированные в этом месяце

Номер билета

Читатель

Дата регистрации

Телефон

#000020

Кеннеди, Джон Фицджеральд

2011-12-01 23:15:17

1961-01-20

#000021

Никсон, Ричард Милхауз

2011-12-01 23:16:57

1969-01-20

#000022

Форд, Джеральд Рудольф

2011-12-01 23:17:44

1973-12-06

#000024

Рузвельт, Фра́нклин Делано́

2011-12-02 05:50:25

1933-03-04

#000025

Кливленд, Стивен Гровер

2011-12-02 05:52:03

1885-03-04

Читатели, не бравшие книг в этом месяце

Номер билета

Читатель

Дата регистрации

Телефон

#000002

Иванов, Иван Иваныч

2011-08-18 01:39:30

555-WE-TIP

#000012

Джефферсон, Томас

2011-11-29 00:57:54

1801-03-04

#000015

Гарфилд, Джеймс Абрам

2011-11-29 01:08:20

1881-03-04

#000024

Рузвельт, Фра́нклин Делано́

2011-12-02 05:50:25

1933-03-04

#000025

Кливленд, Стивен Гровер

2011-12-02 05:52:03

1885-03-04

Выдача книг

Шифр

Название

Автор

Выдана в этом месяце, раз

Выдана всего, раз

I01 X03

Алое кольцо

Дойл, Артур Конан

1

1

I01 J99

Ангел Необъяснимого

По, Эдгар Аллан

3

3

I01 J79

Бес противоречия

По, Эдгар Аллан

2

2

I01 X55

Вампир в Суссексе

Дойл, Артур Конан

1

1

M01 U12

Вий

Гоголь, Николай Васильевич

3

3

M01 R56

Война и мир. Том 1

Толстой, Лев Николаевич

1

1

M01 R57

Война и мир. Том 2

Толстой, Лев Николаевич

1

1

M01 R58

Война и мир. Том 3

Толстой, Лев Николаевич

1

1

M01 R59

Война и мир. Том 4

Толстой, Лев Николаевич

1

1

M01 R02

Горе от ума

Грибоедов, Александр Сергеевич

1

1

M01 Y99

Господа Головлевы

Салтыков-Щедрин, Михаил Евграфович

1

1

I01 X07

Долина ужаса

Дойл, Артур Конан

2

2

I01 W12

Смерть в облаках

Кристи, Агата

1

1

I01 W11

Смерть лорда Эдвера

Кристи, Агата

1

1

I01 W10

Убийство в доме викария

Кристи, Агата

1

1

I01 J81

Убийство на улице Морг

По, Эдгар Аллан

1

1

I01 J82

Чёрный кот

По, Эдгар Аллан

4

4

Рисунок В-1.