Экономика. кп-библ. Проектирование и реализация базы данных библиотеки
Скачать 414.59 Kb.
|
Федеральное государственное бюджетное образовательное учреждение высшего образования «Сибирский государственный индустриальный университет» Кафедра прикладной информатики и программирования КУРСОВАЯ РАБОТА по дисциплине «Базы данных» на тему: «Проектирование и реализация базы данных библиотеки» Выполнил: ст. гр. ИПМИ-20 Федотова В. А. Проверил: к. т. н., доцент Соловьева Ю. А. Новокузнецк 2022 г СодержаниеВведениеБазы данных – именованная совокупность структурированных данных, относящихся в определенной предметной области. С помощью баз данных пользователь осуществляет управление данными, их выборку, сортировку и другие действия. Вся информация, необходимая для заданной базы данных, хранится в таблицах, которые состоят из набора записей, расположенных друг за другом. Они представляют собой строки таблиц, над которыми можно совершать такие действия как добавление, изменение или удаление. (Зачем нужна БД библиотеки) Даже создав одну таблицу, пользователь уже может использовать её как базу данных, которая будет прекрасно работать. Однако, на крупных предприятиях используют базы данных состоящие их нескольких таблиц из-за чего процесс их создания заметно усложняется. Тема: Проектирование и реализация базы данных библиотеки. Цель создания базы данных: введение систематизированного учета данных о библиотекарях, читателях библиотеки, книгах и их выдачи, об авторах, издательствах, о жанрах книг и читательских залах, находящихся в данной библиотеке. Требования к базе данных: Создание в рамках данной базы данных отношений (таблиц), связей между ними, наполнить их данными. Нормализация таблиц и отношений в созданной базе данных. Структурированное хранение информации о библиотекарях, читателях библиотеки, книгах и их выдачах, об авторах и издательствах, о жанрах книг и читательских залах библиотеки. Возможность добавления, удаления и модификации данных. Возможность формирования результатов по запросам пользователя. Перечень таблиц базы данныхБиблиотекарь. Сущность является сильной и содержит сведения о библиотекарях.
Информация о читателе. Сущность является сильной и содержит сведения о посетителях библиотеки.
Читательский зал. Сущность является сильной и содержит сведения о читательских залах.
Автор. Сущность является сильной и содержит сведения об авторах.
Жанр книги. Сущность является сильной и содержит сведения о жанрах книг.
Город. Сущность является сильной и содержит сведения о городах.
Издательство. Сущность является слабой и содержит сведения об издательствах.
Книга. Сущность является слабой и содержит сведения о книгах.
Авторство. Сущность является слабой и содержит сведения об авторах книг, представленных в библиотеке.
Выдача книг. Сущность является слабой и содержит сведения о выдачах книг.
Модель «сущность-связь»Концептуальная схема базы данных библиотеки представлена на рисунке 1. Рисунок 1 – Концептуальная схема базы данных Физическое моделированиеЗаписи в таблицахВ рамках курсовой работы база данных реализована с использованием СУБД MySQL Workbench. Таблица библиотекарь представлена на рисунке 2. Она отображает поля с информацией о библиотекарях. Рисунок 2 – Таблица библиотекарь Таблица информация о читателе представлена на рисунке 3. Она отображает поля с информацией о читателях библиотеки. Рисунок 3 – Таблица информация о читателе Таблица читательский зал представлена на рисунке 4. Она отображает поля с информацией о читательских залах, в которых находятся книги. Рисунок 4 – Таблица читательский зал Таблица автор представлена на рисунке 5. Она отображает поля с информацией об авторах. Рисунок 5 – Таблица автор Таблица жанр книги представлена на рисунке 6. Она отображает поля с информацией о жанрах книг. Рисунок 6 – Таблица жанр книги Таблица город представлена на рисунке 7. Она отображает поля с информацией о городах, в которых находятся издательства книг. Рисунок 7 – Таблица город Таблица издательство представлена на рисунке 8. Она отображает поля с информацией об издательствах. Рисунок 8 – Таблица издательство Таблица книга представлена на рисунке 9. Она отображает поля с информацией о книгах. Рисунок 9 – Таблица книга Таблица авторство представлена на рисунке 10. Она отображает поля с информацией о авторах книг, представленных в библиотеке. Рисунок 10 – Таблица авторство Таблица выдача книг представлена на рисунке 11. Она отображает поля с информацией о выдачах книг. Рисунок 11 – Таблица авторство ЗапросыЗапросы для курсовой работы реализованы с использованием конструктора запросов и языка SQL. Запрос на выборку 5 самых активных читателей библиотеки. select b.ФИО from `выдача книг` as a,`информация о читателе` as b where a.`ID читательского билета` = b.`ID читательского билета` group by b.`ID читательского билета` order by count(*) desc limit 5; Запрос на выборку читателей, которые просрочили срок сдачи книги, с названием этой книги и количеством дней просрочки. Select a.`ID читательского билета`, ФИО, c.Название, datediff(current_date(), `Дата возврата`) as `Просрочка` from `информация о читателе` as a inner join `выдача книг` as b on a.`ID читательского билета` = b.`ID читательского билета` inner join книга as c on b.`ID книги` = c.`ID книги` where b.`Статус возврата` = 0 and date(`Дата возврата`) < date(current_date()); Запрос на выборку 3 самых популярных жанров среди выданных книг. select distinct `Название жанра` from книга as a inner join `выдача книг` as b on a.`ID книги`=b.`ID книги` inner join `жанр книги` as c on a.`ID жанра`=c.`ID жанра` group by c.`Название жанра` order by count(*) desc limit 3; Запрос на количество выданных книг у каждого библиотекаря. select a.Логин, count(*) as `Количество выдач` from библиотекарь as a, `выдача книг` as b where a.`ID библиотекаря` = b.`ID библиотекаря` group by b.`ID библиотекаря`; Запрос на выборку 5 популярнейших книг и количество их выдачи за год. b.`Название книги`,count(*) as `Количество выдач` from biblioteka.`выдача книг` as a, biblioteka.книга as b where a.`ID книги` = b.`ID книги` and (year(CURRENT_DATE) - year(a.`Дата выдачи`)) < 1 group by b.`Название книги` order by count(*) desc limit 5; Результаты запросовРезультаты запросов, генерируемые в ходе работы с базой данных, визуализируются в таблицах MySQL Workbench. Результат запроса на выборку 5 самых активных читателей представлен на рисунке 12. Формируется список, состоящий из ФИО читателей, которые чаще других берут книги в библиотеке. Рисунок 12 – Результат запроса на выборку 5 самых активных читателей Результат запроса на выборку читателей, которые просрочили срок сдачи книги, с названием этой книги и количеством дней просрочки представлен на рисунке 13. Формируется полный список, состоящий из id читательского билета, ФИО читателя, просрочившего дату возврата книги, названия книги, которую не вернули, и количество дней просрочки. Рисунок 13 – Результат запроса на выборку читателей, которые просрочили срок сдачи книги, с названием этой книги и количеством дней просрочки Результат запроса на выборку 3 самых популярных жанров среди выданных книг представлен на рисунке 14. Ф Формируется полный список, состоящий из названий самых популярных жанров. Рисунок 14 – Результат запроса на выборку 3 самых популярных жанров среди выданных книг Результат запроса на количество выданных книг у каждого библиотекаря представлен на рисунке 15. Формируется полный список, состоящий из логина библиотекаря и количество книг, которые он выдал. Рисунок 15 – Результат запроса на количество выданных книг у каждого библиотекаря Результат запроса на выборку 5 популярнейших книг за год и количество их выдачи представлен на рисунке 16. Формируется полный список, состоящий из названия книги и количества ее выдач. Рисунок 16 – Результат запроса на выборку 5 популярнейших книг и количество их выдачи за год ЗаключениеВ ходе выполнения курсовой работы была проделана работа по анализу предметной области, построению концептуальной схемы и физической реализации базы данных в MySQL Workbench. Результатом выполнения курсовой стала работающая база данных, которая удовлетворяет требования курсовой работы и таблицы, которые удовлетворяют требованиям нормализации, что позволяет обеспечить целостность информации. Список использованной литературыМетодичка |