Главная страница
Навигация по странице:

  • Атрибут Тип Ограничения

  • Таблица информация о читателе

  • Таблица читательский зал

  • Запрос на выборку 5 самых активных читателей библиотеки.

  • Запрос на выборку читателей, которые просрочили срок сдачи книги, с названием этой книги и количеством дней просрочки.

  • Запрос на выборку 3 самых популярных жанров среди выданных книг.

  • Запрос на количество выданных книг у каждого библиотекаря.

  • Запрос на выборку 5 популярнейших книг и количество их выдачи за год.

  • Результат запроса на выборку 5 самых активных читателей

  • Результат запроса на выборку читателей, которые просрочили срок сдачи книги, с названием этой книги и количеством дней просрочки

  • Результат запроса на выборку 3 самых популярных жанров среди выданных книг

  • Результат запроса на количество выданных книг у каждого библиотекаря

  • Результат запроса на выборку 5 популярнейших книг за год и количество их выдачи

  • Экономика. кп-библ. Проектирование и реализация базы данных библиотеки


    Скачать 414.59 Kb.
    НазваниеПроектирование и реализация базы данных библиотеки
    АнкорЭкономика
    Дата08.07.2022
    Размер414.59 Kb.
    Формат файлаdocx
    Имя файлакп-библ.docx
    ТипКурсовая
    #627055

    Федеральное государственное бюджетное образовательное учреждение

    высшего образования

    «Сибирский государственный индустриальный университет»
    Кафедра прикладной информатики и программирования

    КУРСОВАЯ РАБОТА
    по дисциплине «Базы данных»
    на тему:
    «Проектирование и реализация базы данных библиотеки»

    Выполнил: ст. гр. ИПМИ-20

    Федотова В. А.

    Проверил: к. т. н., доцент

    Соловьева Ю. А.

    Новокузнецк 2022 г


    Содержание







    Введение


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

    Вся информация, необходимая для заданной базы данных, хранится в таблицах, которые состоят из набора записей, расположенных друг за другом. Они представляют собой строки таблиц, над которыми можно совершать такие действия как добавление, изменение или удаление.
    (Зачем нужна БД библиотеки)
    Даже создав одну таблицу, пользователь уже может использовать её как базу данных, которая будет прекрасно работать. Однако, на крупных предприятиях используют базы данных состоящие их нескольких таблиц из-за чего процесс их создания заметно усложняется.
    Тема: Проектирование и реализация базы данных библиотеки.
    Цель создания базы данных: введение систематизированного учета данных о библиотекарях, читателях библиотеки, книгах и их выдачи, об авторах, издательствах, о жанрах книг и читательских залах, находящихся в данной библиотеке.
    Требования к базе данных:

    1. Создание в рамках данной базы данных отношений (таблиц), связей между ними, наполнить их данными.

    2. Нормализация таблиц и отношений в созданной базе данных.

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

    4. Возможность добавления, удаления и модификации данных.

    5. Возможность формирования результатов по запросам пользователя.



    1. Перечень таблиц базы данных



    Библиотекарь. Сущность является сильной и содержит сведения о библиотекарях.


    Атрибут

    Тип

    Ограничения

    ID библиотекаря

    Целое число

    >0

    Логин

    Текст

    varchar(45)

    Пароль

    Текст

    varchar(45)


    Информация о читателе. Сущность является сильной и содержит сведения о посетителях библиотеки.


    Атрибут

    Тип

    Ограничения

    ID читательского билета

    Целое число

    >0

    ФИО

    Текст

    varchar(45)

    Дата рождения

    Дата

    Формат даты

    гггг-мм-дд

    Адрес

    Текст

    varchar(45)

    Телефон

    Текст

    varchar(45)


    Читательский зал. Сущность является сильной и содержит сведения о читательских залах.


    Атрибут

    Тип

    Ограничения

    ID зала

    Целое число

    >0

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

    Текст

    varchar(45)


    Автор. Сущность является сильной и содержит сведения об авторах.


    Атрибут

    Тип

    Ограничения

    ID автора

    Целое число

    >0

    Фамилия

    Текст

    varchar(45)

    Имя Отчество

    Текст

    varchar(45)


    Жанр книги. Сущность является сильной и содержит сведения о жанрах книг.


    Атрибут

    Тип

    Ограничения

    ID жанра

    Целое число

    >0

    Название жанра

    Текст

    varchar(45)


    Город. Сущность является сильной и содержит сведения о городах.


    Атрибут

    Тип

    Ограничения

    ID города

    Целое число

    >0

    Название города

    Текст

    varchar(45)


    Издательство. Сущность является слабой и содержит сведения об издательствах.


    Атрибут

    Тип

    Ограничения

    ID издательства

    Целое число

    >0

    Название издательства

    Текст

    varchar(45)

    ID города

    Целое число

    >0


    Книга. Сущность является слабой и содержит сведения о книгах.


    Атрибут

    Тип

    Ограничения

    ID книги

    Целое число

    >0

    Название книги

    Текст

    varchar(45)

    ID жанра

    Целое число

    >0

    ID издательства

    Целое число

    >0

    Год издания

    Дата

    Формат даты

    гггг

    ID зала

    Целое число

    >0


    Авторство. Сущность является слабой и содержит сведения об авторах книг, представленных в библиотеке.


    Атрибут

    Тип

    Ограничения

    ID книги

    Целое число

    >0

    ID автора

    Целое число

    >0


    Выдача книг. Сущность является слабой и содержит сведения о выдачах книг.


    Атрибут

    Тип

    Ограничения

    Номер выдачи

    Целое число

    >0

    ID читательского билета

    Целое число

    >0

    ID книги

    Целое число

    >0

    Дата выдачи

    Дата

    Формат даты

    гггг-мм-дд

    Дата возврата

    Дата

    Формат даты

    гггг-мм-дд

    ID библиотекаря

    Целое число

    >0

    Статус возврата

    Целое число

    TINYINT

    (принимает значение 1, если книгу вернули в библиотеку, или 0, если книга находится на руках)



      1. Модель «сущность-связь»



    Концептуальная схема базы данных библиотеки представлена на рисунке 1.



    Рисунок 1 – Концептуальная схема базы данных

    1. Физическое моделирование

      1. Записи в таблицах


    В рамках курсовой работы база данных реализована с использованием СУБД MySQL Workbench.
    Таблица библиотекарь представлена на рисунке 2. Она отображает поля с информацией о библиотекарях.



    Рисунок 2 – Таблица библиотекарь

    Таблица информация о читателе представлена на рисунке 3. Она отображает поля с информацией о читателях библиотеки.



    Рисунок 3 – Таблица информация о читателе
    Таблица читательский зал представлена на рисунке 4. Она отображает поля с информацией о читательских залах, в которых находятся книги.



    Рисунок 4 – Таблица читательский зал
    Таблица автор представлена на рисунке 5. Она отображает поля с информацией об авторах.



    Рисунок 5 – Таблица автор
    Таблица жанр книги представлена на рисунке 6. Она отображает поля с информацией о жанрах книг.



    Рисунок 6 – Таблица жанр книги
    Таблица город представлена на рисунке 7. Она отображает поля с информацией о городах, в которых находятся издательства книг.



    Рисунок 7 – Таблица город
    Таблица издательство представлена на рисунке 8. Она отображает поля с информацией об издательствах.



    Рисунок 8 – Таблица издательство
    Таблица книга представлена на рисунке 9. Она отображает поля с информацией о книгах.



    Рисунок 9 – Таблица книга
    Таблица авторство представлена на рисунке 10. Она отображает поля с информацией о авторах книг, представленных в библиотеке.



    Рисунок 10 – Таблица авторство
    Таблица выдача книг представлена на рисунке 11. Она отображает поля с информацией о выдачах книг.



    Рисунок 11 – Таблица авторство

      1. Запросы


    Запросы для курсовой работы реализованы с использованием конструктора запросов и языка 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;

      1. Результаты запросов


    Результаты запросов, генерируемые в ходе работы с базой данных, визуализируются в таблицах MySQL Workbench.
    Результат запроса на выборку 5 самых активных читателей представлен на рисунке 12. Формируется список, состоящий из ФИО читателей, которые чаще других берут книги в библиотеке.



    Рисунок 12 – Результат запроса на выборку 5 самых активных читателей
    Результат запроса на выборку читателей, которые просрочили срок сдачи книги, с названием этой книги и количеством дней просрочки представлен на рисунке 13. Формируется полный список, состоящий из id читательского билета, ФИО читателя, просрочившего дату возврата книги, названия книги, которую не вернули, и количество дней просрочки.



    Рисунок 13 – Результат запроса на выборку читателей, которые просрочили срок сдачи книги, с названием этой книги и количеством дней просрочки
    Результат запроса на выборку 3 самых популярных жанров среди выданных книг представлен на рисунке 14. Ф Формируется полный список, состоящий из названий самых популярных жанров.



    Рисунок 14 – Результат запроса на выборку 3 самых популярных жанров среди выданных книг
    Результат запроса на количество выданных книг у каждого библиотекаря представлен на рисунке 15. Формируется полный список, состоящий из логина библиотекаря и количество книг, которые он выдал.



    Рисунок 15 – Результат запроса на количество выданных книг у каждого библиотекаря
    Результат запроса на выборку 5 популярнейших книг за год и количество их выдачи представлен на рисунке 16. Формируется полный список, состоящий из названия книги и количества ее выдач.



    Рисунок 16 – Результат запроса на выборку 5 популярнейших книг и количество их выдачи за год

    Заключение



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

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

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


    1. Методичка






    написать администратору сайта