R1 «Книги» ( Шифр, Название, Автор, Жанр, Год, Издательство, Количество страниц, Описание, Обзор, Наличие)
R2 «Список читателей» ( ID номер, Фамилия, Имя, Отчество, Улица, Дом, Квартира, Телефон)
R3
«Выдача книг» (Ш_выдачи, ID номер, Дата выдачи, Дата возврата, Шифр)
2. Физическая реализация базы данных «Библиотека»
Физическая модель данных описывает данные средствами конкретной СУБД. Мы будем считать, что физическая модель данных реализована средствами именно реляционной СУБД, хотя, как уже сказано выше, это необязательно. Отношения, разработанные на стадии формирования логической модели данных, преобразуются в таблицы, атрибуты становятся столбцами таблиц, для ключевых атрибутов создаются уникальные индексы, домены преображаются в типы данных, принятые в конкретной СУБД.
Ограничения, имеющиеся в логической модели данных, реализуются различными средствами СУБД, например, при помощи индексов, декларативных ограничений целостности, триггеров, хранимых процедур. При этом опять-таки решения, принятые на уровне логического моделирования определяют некоторые границы, в пределах которых можно развивать физическую модель данных. Точно также, в пределах этих границ можно принимать различные решения. Например, отношения, содержащиеся в логической модели данных, должны быть преобразованы в таблицы, но для каждой таблицы можно дополнительно объявить различные индексы, повышающие скорость обращения к данным. Многое тут зависит от конкретной СУБД.
При разработке физической модели данных возникают вопросы: хорошо ли спроектированы таблицы? Правильно ли выбраны индексы? Насколько многопрограммного кода в виде триггеров и хранимых процедур необходимо разработать для поддержания целостности данных?
И, наконец, как результат предыдущих этапов появляется собственно сама база данных. База данных реализована на конкретной программно-аппаратной основе, и выбор этой основы позволяет существенно повысить скорость работы с базой данных. Например, можно выбирать различные типы компьютеров, менять количество процессоров, объем оперативной памяти, дисковые подсистемы и т.п. Очень большое значение имеет также настройка СУБД в пределах выбранной программно-аппаратной платформы.
Но опять решения, принятые на предыдущем уровне - уровне физического проектирования, определяют границы, в пределах которых можно принимать решения по выбору программно-аппаратной платформы и настройки СУБД.
Таким образом, ясно, что решения, принятые на каждом этапе моделирования
и разработки базы данных, будут сказываться на дальнейших этапах. Поэтому
особую роль играет принятие правильных решений на ранних этапах моделирования.
.1 Структура таблиц БД «Библиотека»
Моя база данных состоит из главной таблицы «Книги» и связанных с ней таблиц : Выдача книг и Список читателей.
Поименуем атрибуты, определим типы данных и размерность атрибутов. В
таблицах выберем первичные ключи и индексированные поля.
Таблица 1. Структура таблиц РБД «Библиотека»
|
Название таблицы |
Имя поля |
Тип данных |
Размер поля |
Примечание |
|
Книги |
Шифр |
Текстовый |
10 |
Ключ |
|
|
Название |
Текстовый |
60 |
|
|
|
Автор |
Текстовый |
50 |
|
|
|
Жанр |
Текстовый |
20 |
|
|
|
Год |
Дата/время |
Краткий формат даты |
|
|
|
Издательство |
Текстовый |
50 |
|
|
|
Кол-во страниц |
Текстовый |
50 |
|
|
|
Описание |
|
|
|
|
|
Обзор |
Поле объекта |
|
|
|
|
Наличие |
Логический |
|
|
|
Список читателей |
ID номер |
Числовой |
Действительное |
Ключ |
|
|
Фамилия |
Текстовый |
25 |
|
|
|
Имя |
Текстовый |
15 |
|
|
|
Отчество Улица |
Текстовый |
25 |
|
|
|
Дата рождения |
Дата/время |
Краткий формат даты |
|
|
|
Улица |
Текстовый |
25 |
|
|
|
Дом |
Текстовый |
10 |
|
|
|
Квартира |
Числовой |
Целое |
|
|
|
Телефон |
Текстовый |
11 |
|
|
Прокат |
Ш_выдачи |
Счетчик |
Длинное целое |
Ключ |
|
|
Дата выдачи |
Дата/время |
Краткий формат даты |
|
|
|
Дата возврата |
Дата/время |
Краткий формат даты |
|
|
|
Шифр |
Текстовый |
10 |
|
|
|
ID номер |
Числовой |
Действительное |
|
После того как были созданы поля таблицы, применены к ним свойства и
заполнены атрибуты, мы составляем схему данных. Она выглядит следующим образом
Рис.3. Связи между таблицами в базе данных
.2 Формы базы данных библиотеки
При открытии базы появляется заставка главной формы базы данных:
Рис.4. Главная форма базы данных «Библиотека»
Форма имеет две основные, наиболее используемые, кнопки: Выдача книг и
Возврат книг. Кнопка «Выдача книг» предназначена для регистрации выданных книг.
При нажатии на кнопку открывается форма, в которой представлен список книг. При
выборе книги из списка можно посмотреть описание книги, автора, год издания.
Рис.5. Форма Выдача книг
Чтобы зарегистрировать выданную книгу надо нажать на кнопку «Выдать
читателю», откроется форма в которую необходимо занести данные о читателе и
дату возврата и выдачи книги.
Рис.6. Форма для регистрации выданных книг
При возврате книги в библиотеку надо нажать на кнопку «Возврат книг»,
откроется форма, в которой находится список должников.
Рис.7. Форма возврата книг
Из списка необходимо выбрать фамилию читателя, который вернул книгу, и нажать на кнопку «Принять книги», откроется форма со списком книг, которые находятся на руках у выбранного читателя. Из списка выбираем книгу, которую надо вернуть, и нажимаем на кнопку «Принять».
На форме так же имеются кнопки, объединённые в две группы: книги и
читатели. В группе «книги» расположены три кнопки: Редактировать список, В
наличии и на руках. Кнопка «Редактировать список» предназначена для добавления
и удаления книг, а так же для редактирования данных имеющихся книг. В форме
представлены данные, о всех имеющихся книгах, а также кнопки «добавить» для
добавления новой книги, «удалить» для удаления имеющихся книг. Для более быстрого
поиска книги существует кнопка поиска, с помощью которой можно найти книгу по
любому её параметру.
Рис.7. Форма для редактирования списка книг
Рис.8. Форма для книг, находящихся в наличии в библиотеке
Кнопка «На руках» открывает форму с данными о книгах, которых нет в
наличии, а находящиеся на руках у читателей:
Рис.8. Форма для книг, находящихся на руках у читателях
В группе кнопок «читатели» имеются три кнопки: Редактировать список, Должники и Список читателей.
Кнопка «Редактировать список» предназначена для добавления и удаления
читателей, а так же для редактирования данных о имеющихся читателях. В форме
представлены данные, о всех имеющихся читателях, а также кнопки «добавить» для
добавления новой читателя, «удалить» для удаления читателя. Для более быстрого
поиска читателя существует кнопка поиска, с помощью которой можно найти
читателя по любому параметру.
Рис.9. Форма для редактирования списка читателей
.3 «Отчеты базы данных Библиотека»
Кнопка «Должники» выдаёт отчёт о читателях, у которых на руках имеются
книги
Рис.10. Отчёт о должниках библиотеки
Кнопка «Читатели» выдаёт отчёт о всех читателях библиотеки, в котором
фамилии расположены в алфавитном порядке
Рис.11. Отчёт о всех читателях библиотеки
.4 Запросы базы данных «Библиотека»
Запрос «в наличии» показывает книги которые имеются в библиотеке
Рис 12. Запрос «В наличии»
Запрос в режиме SQL.
SELECT Книги.Шифр, Книги.Название, Книги.Автор, Книги.Жанр, Книги.Год, Книги.Издательство, Книги.Наличие
FROM Книги
WHERE
(((Книги.Наличие)=Yes));
Запрос «Должники» показывает тех, кто должен книги в библиотеку.
Рис.13. Запрос «Должники»
Запрос в режиме SQL.
[Выдача книг].[Дата выдачи], [Выдача книг].[Дата возврата], [Список
читателей].[ID номер], [Список читателей].Фамилия, Книги.НазваниеКниги INNER
JOIN ([Список читателей] INNER JOIN [Выдача книг] ON [Список читателей].[ID
номер]=[Выдача книг].[ID номер]) ON Книги.Шифр=[Выдача книг].ШифрBY [Выдача
книг].[Дата выдачи], [Выдача книг].[Дата возврата], [Список читателей].[ID
номер], [Список читателей].Фамилия, Книги.Название((([Выдача книг].[Дата
возврата])<Date()));
Для выхода из базы нужно нажать кнопку «STOP»:
Рис.14. Кнопка для закрытия базы
Заключение
В данном курсовом проекте была разработана база данных «Библиотека» соответствующая всем требованиям задания, она протестирована и отлажена. Программа полностью автоматизирует труд библиотекаря и организует надежное хранение и обработку данных.
При разработке базы данных можно выделить несколько уровней моделирования:
· Анализ предметной области
· Инфологическое проектирование
· Даталогическое проектирование
· Физическая модель данных
· Собственно база данных и приложения
В базе данных используются следующие объекты:
- таблицы для сохранения данных;
запросы для поиска и извлечения только требуемых данных;
формы для просмотра, добавления и изменения данных в таблицах;
отчеты для анализа и печати данных в определенном формате.
В ходе работы мною были созданы:
3 таблицы
9 запросов
13 форм
3 отчёта
таблица алгоритм база данные
Список литературы
1. Марков А.С. Базы данных. Введение в теорию и методологию Лисовский К. Ю., Москва, 2004
2. Когаловский М.Р. Технология баз данных на персональных ЭВМ. / М.: Финансы и статистика, 2002
. Ревунков Г.И., Самохвалов Э.Н., Чистов В.В. Базы и банки данных и знаний: Учеб. для вузов / Под ред. Четверикова В.Н. - М.: Высш. шк., 1999.
. Тиори Т., Фрай Дж. Проектирование структур баз данных : В 2-х кн. Пер. с англ. / М.: Мир, 2005
. Голицина О. Л. Базы данных / Голицина О. Л., Максимов Н. В., Попов И. И. - М.: Форум, 2003
. Карпова Т.С. Базы данных: модели, разработка, реализация / Питер, 2002
. Бемер С., Фратер Г. Microsoft Access для пользователя / Микап, Москва 2004
. Коннолли Т., Бегг К. Базы данных. Проектирование, реализация и сопровождение / Москва, Питер, Киев, 2003
9. Мейер, М. Теория реляционных баз данных / М. Мейер - М.: Мир, 2008
. Хаббард, Дж. Автоматизированное проектирование баз данных / Хаббард Дж. - М.: Мир, 2005
. Бойко, В. В. Проектирование баз данных информационных систем / Бойко В.В., Савинков В.М. - М.: Финансы и статистика, 2007
. Бакаревич, Ю. Б. Самоучитель Microsoft Access 2007 / Бакаревич Ю.Б., Пушкина Н.В. - СПб.: БХВ-Петербург, 2007