2.47M
Категория: ИнформатикаИнформатика

Проектирование базы данных для информационной системы «библиотека

1.

ПРОЕКТИРОВАНИЕ БАЗЫ
ДАННЫХ ДЛЯ
ИНФОРМАЦИОННОЙ СИСТЕМЫ
«БИБЛИОТЕКА
Ковчуженко Д.И.
Группа 2П-20

2.

Актуальность разработки программы для заданной
предметной области заключается в следующем:
приложение
«Библиотека»
представляет
собой
программу для управления базой данных;
программа
полностью
автоматизирует
труд
оператора ПЭВМ: автоматически заносит вводимые
пользователем данные в таблицы базы данных,
изменяет структуру таблиц (добавление/удаление
записей).
при использовании программы значительно снижается
трудоёмкость ведения базы данных взятых и
оставшихся книг.
Проектирование БД «Библиотека» ведется для упрощения
работы
библиотекаря
со
всем
ассортиментом
предложенных книг и учебных пособий, а также для учёта
выданных и оставшихся в наличии книг.

3.

Перечень входных данных
Перечень выходных данных

4.

Список выделенных объектов предметной области

Наименование объектов
Первичный ключ
1
Авторы
Код автора
2
Библиотека
Код библиотеки
3
Факультет
Код факультета
4
Кафедра
Код кафедры
5
Группы
Код группы
6
Книги
Шифр
7
Категории
Код категории
8
Справочник актов
№ акта
9
Списание книг
Код списания
10 Справочник должности
Код должности
11
Приход книг
№ накладной
12
Учет книг
Место распределения
13
Залы
Код зала
14
Выдача книг
Код выдачи

5.

Логическая схема

6.

SQL запросы на создание базы данных:
Получить перечень групп начинающихся на «1П».
Select `Kod_grup` as 'Код', `Nazv` as 'Название группы',`Kurs`as 'Курс'
From gruppi
WHERE Nazv LIKE '1П%‘
Получить перечень книг выпушенных с 1800 г. по 1890 г.
Select`Nazv` as 'Название',`God_izd` as 'Год издания',`Mesto_izd`as 'Место издания'
From Knigi
WHERE god_izd BETWEEN 1800 AND 1890
Получить перечень книг начинающихся на «К» и отсортировать.
Select `Shifr` as 'Шифр',`Nazv` as 'Название',`Izd` as 'Издание'
From Knigi
WHERE nazv like 'К%'
ORDER BY Kod_avtora
Получить перечень групп которые учатся на «1» и «4» курсе.
Select `Nazv` as 'Название группы',`Kurs`as 'Курс'
From gruppi
WHERE kurs in(1,4)

7.

Получить количество читателей по их категориям.
Select kategorii.Kategoriya as 'Категория', Count(`FIO`) as 'Количество читателей'
From chitateli, kategorii
where chitateli.Kategoriya=kategorii.Kod_kat
group by kategorii.Kategoriya
На какую сумму пришло новых книг по каждой накладной.
SELECT prihod_kn.№_nak as 'Номер накладной', knigi.Nazv as'Название книги', Kolvo_ekz as'Количество',Cena
as'Цена,руб.', (Kolvo_ekz*Cena)as' Итого, руб.'
FROM `prihod_kn`, knigi
WHERE prihod_kn.Nazv_kn= knigi.Shifr
Книги выданные читателям в библиотеке
SELECT vid_knig.№CHB as 'Номер читательского билета', chitateli.FIO as 'ФИО', `Data_vid` as 'Дата
выдачи',knigi.Nazv as 'Название книги',`Srok_vid`as 'Количество дней'
FROM `vid_knig`,chitateli, knigi
WHERE vid_knig.№CHB=chitateli.№CHB and vid_knig.Shifr= knigi.Shifr
order by chitateli.FIO

8.

На какую сумму закуплено книг в библиотеку
SELECT sum(Kolvo_ekz*Cena) as 'Общая сумма закупленных книг в библиотеке, руб.'
FROM `prihod_kn`, knigi
WHERE prihod_kn.Nazv_kn= knigi.Shifr
Перечень списанных книг из библиотечного фонда
SELECT `№_akta` as 'Номер акта спмсания',knigi.Nazv as 'Название книги',`Kolvo` as
'Количество'
FROM `spisanie_kn`, knigi
WHERE spisanie_kn.Shifr= knigi.Shifr

9.

Схема данных реализованной базы данных в MySQL

10.

11.

Пользовательское приложение
Форма «Главная страница»

12.

Отчеты

13.

14.

15.

16.

17.

18.

Спасибо за внимание.
English     Русский Правила