Описание набора тестовых данных

Таблица 1.

Авторы.

Описание набора тестовых данных - student2.ru

Таблица 2.

Блоки.

Описание набора тестовых данных - student2.ru

Таблица 3.

Издательства.

Описание набора тестовых данных - student2.ru

Таблица 4.

Каталог.

Описание набора тестовых данных - student2.ru

Таблица 5.

Книги.

Описание набора тестовых данных - student2.ru

Таблица 6.

Личности.

Описание набора тестовых данных - student2.ru

Таблица 7.

Рецензенты.

Описание набора тестовых данных - student2.ru

Таблица 8.

Связь с каталогом.

Описание набора тестовых данных - student2.ru

Таблица 9.

Стеллажи.

Описание набора тестовых данных - student2.ru

Таблица 10.

Экземпляры книг.

Описание набора тестовых данных - student2.ru

SQL-запросы

1) Вывести все пункты каталога

select c.name from catalog c

Описание набора тестовых данных - student2.ru

2) Вывести всех личностей, отсортировать по алфавиту

select p.fio from person porder by p.fio asc

Описание набора тестовых данных - student2.ru

3) Вывести всех рецензентов

select distinct e.fio from edition e

Описание набора тестовых данных - student2.ru

4) Вывести названия книг где больше 500 страниц

select b.name from book b where b.str_num > 500

Описание набора тестовых данных - student2.ru

5) Вывести книги опубликованные с 2002 до 2005 года

select b.name from book b where b.pub_year between '2002' and '2005'

Описание набора тестовых данных - student2.ru

6) Посчитать количество экземпляров книг в библиоте

кеselect count(be.expl_id)from book_expl be

Описание набора тестовых данных - student2.ru

7) Вывести книги с ISBN начинающимся на 5

select b.name from book b where b.isbn like '5%'

Описание набора тестовых данных - student2.ru

8) Вывести книгу в которой больше всего страниц

select b.name from book b where b.str_num =(select max(b.str_num) from book b)

Описание набора тестовых данных - student2.ru

9) Вывести книги 2002 года выпуска или те в которых более 800 страниц

select b.name from book b where b.pub_year = 2002or b.str_num > 800

Описание набора тестовых данных - student2.ru

10) Посчитать количество книг для каждой категории каталога

select cl.catalog_id, count(cl.isbn) from catalog_link clgroup by cl.catalog_id

Описание набора тестовых данных - student2.ru

11) Вывести стеллажи на которых больше 3 экземпляров книг

select be.rack_id from book_expl begroup by be.rack_idhaving count(be.expl_id) > 4

Описание набора тестовых данных - student2.ru

12) Вывести книги написанные более чем одним автором

select b.name from book b, author a where a.isbn = b.isbngroup by b.namehaving count(a.fio) > 1

Описание набора тестовых данных - student2.ru

13) Вывести авторов кники "Ноутбук на сто процентов"

select a.fio from book b, author a where b.name = 'Ноутбук на сто процентов'and a.isbn = b.isbn

Описание набора тестовых данных - student2.ru

14) Вывести издательства от которых нет ниодной книги

select p.publishing from publishing p where p.publishing not in (select b.publishing from book b)

Описание набора тестовых данных - student2.ru

15) Вывести авторов и рецензентов книги с ISBN 5-17-011197-5

select a.fiofrom author a where a.isbn = '5-17-011197-5'unionselect e.fio from edition ewhere e.isbn = '5-17-011197-5

' Описание набора тестовых данных - student2.ru

16) Вывести все издательства и количество книг изданных ими

select p.publishing, count(b.isbn) from publishing pleft outer join book b on b.publishing = p.publishinggroup by p.publishing

Описание набора тестовых данных - student2.ru

17) Вывести информацию о книге с ISBN 5-17-011197-5

select b.name, a.fio, e.fio, b.pub_year, b.str_num, b.publishing, b.blockfrom book b, author a, edition e where b.isbn = '5-17-011197-5'and e.isbn = b.isbnand a.isbn = b.isbn

Описание набора тестовых данных - student2.ru

18) Добавить личность Купчина И.И.

insert into person (fio) values ('купчина и.и.')

Описание набора тестовых данных - student2.ru

19) Удалить экземпляры книги "Язык С++ в С++ Builder"

delete from book_expl bewhere be.isbn = (select b.isbn from book b where b.name = 'Язык С++ в С++ Builder')

Описание набора тестовых данных - student2.ru

20) Изменить категорию каталога у книги "Метрология и радиоизмерения" на раздел физикиu

pdate catalog_link clset cl.catalog_id = (select c.catalog_id from catalog c where c.name = 'Физика')where cl.isbn = (select b.isbn from book b where b.name = 'Метрология и радиоизмерения')

Описание набора тестовых данных - student2.ru

21) Вывести кники у которых нет рецензентов

select b.name from book b where not exists (select 1 from edition e where e.isbn = b.isbn)

Описание набора тестовых данных - student2.ru

22) Вывести книги и информацию по ним из раздела "Математика"

select b.isbn, b.name, a.fio, e.fio, b.pub_year, b.str_num, b.publishingfrom catalog c, catalog_link cl, book bleft outer join author a on a.isbn = b.isbnleft outer join edition e on e.isbn = b.isbn where c.name = 'Математика'and cl.catalog_id = c.catalog_idand b.isbn = cl.isbn

Описание набора тестовых данных - student2.ru

23) Вывести личностей которые являлись как авторами, так и рецензентами

select p.fio from person p where exists (select 1 from author a where a.fio = p.fio)and exists (select 1 from edition e where e.fio = p.fio)

Описание набора тестовых данных - student2.ru

24) Вывести каталог библиотеки

select c.name, c1.name from catalog cright outer join catalog c1 on c1.parent_cat_id = c.catalog_id

Описание набора тестовых данных - student2.ru

25) Добавить экземпляр книги "КПК и коммуникатор." на стеллаж 4

insert into book_expl (rack_id,expl_id,isbn) values (4,21,'978-5-477-00604-5')

Описание набора тестовых данных - student2.ru

26) Вывести личностей которые не являются авторами

select p.fio from person p where not exists (select 1 from author a where a.fio = p.fio)

Описание набора тестовых данных - student2.ru

27) Вывести ISBN идентификаторы книг от издательств Аквариум и Дрофа

select b.isbn from book b where b.publishing in ('Аквариум', 'Дрофа')

Описание набора тестовых данных - student2.ru

28) Вывести какого автора какое издательство публиковало

select distinct a.fio, b.publishingfrom author a, book b where b.isbn = a.isbn

Описание набора тестовых данных - student2.ru

29) Вывести книги автора Кузьминова В.И.

select b.name, c.name from author a, book b, catalog_link cl, catalog cwhere a.fio = 'Кузьминов В.И.'and b.isbn = a.isbnand cl.isbn = b.isbnand c.catalog_id = cl.catalog_id

Описание набора тестовых данных - student2.ru

30) Вывести того кто являлся одновременно и автором книги и ее рецензентом

select distinct p.fio from person p, author a, edition ewhere a.fio = p.fio and e.fio = p.fio and a.isbn = e.isbn

Описание набора тестовых данных - student2.ru

Заключение

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

Наши рекомендации