Библиотеки ВУЗов Донецка

 

ДОНЕЦКИЙ  НАЦИОНАЛЬНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

Кафедра прикладной математики и информатики

 

 

 

 

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

к курсовой работе по курсу

«Базы данных»

Тема работы:

«Библиотеки ВУЗов Донецка»

 

 

 

Руководители:_______________________________ ????

                                 _______________________________ ????

                                    (подпись)                             (дата)

       

 

Разработал:     _______________________________ Р.Ю.Черевко

ст. гр. ПС-09а    (подпись)                             (дата)

 

 

 

 

Донецк – 2011

РЕФЕРАТ

 

Пояснительная записка к курсовой работе: 47 стр., 5 прил., 6 библ., 44 ил.

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

В прикладной системе реализованы функции  ввода, корректировки и просмотра данных о библиотеках, отделах библиотек, читателях, книгах в отделах, взятых книгах. Реализованы запросы, позволяющие получать разнообразную информацию по базе данных. В качестве инструментария использована СУБД Microsoft Access 2003.

 

 

 

 

 

 

 

 

 

 

 

 

 

БИБЛИОТЕКА, ОТДЕЛ БИБЛИОТЕКИ, ЧИТАТЕЛЬ, КНИГА, КНИГА В ОТДЕЛЕ, ВЗЯТАЯ КНИГА, БАЗА ДАННЫХ, РЕЛЯЦИОННАЯ МОДЕЛЬ ДАННЫХ, СИСТЕМА УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ, СУБД MICROSOFT ACCESS

СОДЕРЖАНИЕ

 

Введение ………………………………………………………………………4

1 Проблемы автоматизации библиотечной деятельности …………………6

2 Разработка системы «Библиотеки ВУЗов Донецка» ..................................7

2.1 Назначение  и функции системы ………………………………………...7

2.2 Проектирование концептуальной модели данных ……………………..7

2.3 Формирование  запросов ………………………………………………..10

2.3.1 Книги  по отделам всех библиотек  …………………………………...11

2.3.2 Читатели, бравшие книги за период …………………………………12

2.3.3 Отделы библиотек – количество  экземпляров ……………………...12

2.3.4 Общая  информация о книгах ………………………………………...13

2.3.5 Информация  о взятых книгах по годам  ……………………………...14

2.3.6 Информация  о взятых книгах по кварталам  ………………………...14

2.3.7 Читатели, которые не брали книги за  период ……………………….15

2.3.8 Книги  по отделам всех библиотек  …………………………………...16

2.3.9 Читатели, бравшие книги за период …………………………………17

2.3.10 Информация  о взятых книгах по годам  …………………………….18

2.3.11 Библиотеки, в которых есть заданный отдел  ………………………19

2.4 Структура  системы ……………………………………………………...20

Выводы ………………………………………………………………………27

Перечень  ссылок …………………………………………………………….28

Приложение  А SQL запросы………………..………………………..……..29

Приложение Б Примеры форм…..……………………………………..…...32

Приложение  В Примеры отчетов..……………………………………….....38

Приложение  Г Руководство пользователя………………...…………..…...40

Приложение  Д Задание на курсовую работу…………..………….……….46

 

 

 

ВВЕДЕНИЕ

 

Развитие  компьютерных технологий позволило  человечеству упростить свою жизнь. Вначале компьютер служил как  вычислительный аппарат. Собственно, в  наше время, он до сих пор таковым  и является, только у него появилось  огромное количество дополнительных функций. Большим достижением инженеров  можно назвать хранение данных в  памяти. Это большой плюс, без  которого огромное количество возможностей компьютера было бы невозможным. Одна из них это обработка данных. Конечно  же, мир не стоял на месте. Компьютерные технологии развивались, и в наше время компьютер может хранить невероятно большое количество данных. Для достаточно удобного управления данными было придумано использовать файловые системы. Однако файловые системы имели ряд недостатков, и последовательницей стала СУБД.

В середине 60-х годов корпорация IBM совместно с фирмой NAA (North American Aviation, в настоящее время - Rockwell International) разработали первую СУБД - иерархическую систему IMS (Information Management System). Несмотря на то, что IMS является самой первой из всех коммерческих СУБД, она до сих пор остается основной иерархической СУБД, используемой на большинстве крупных мейнфреймов.

Другим заметным достижением  середины 60-х годов было появление  системы IDS (Integrated Data Store) фирмы General Electric. Развитие этой системы привело к созданию нового типа систем управления базами данных - сетевых СУБД, что оказало существенное влияние на информационные системы того поколения. Сетевая СУБД создавалась для представления более сложных взаимосвязей между данными, чем те, которые можно было моделировать с помощью иерархических структур, и послужили основой для разработки первых стандартов БД. Для создания таких стандартов в 1965 году на конференции CODASYL (Conference on Data Systems Languages) была сформирована рабочая группа List Processing Task Force, переименованная в 1967 году в группу Data Base Task Group (DBTG). В компетенцию группы DBTG входило определение спецификаций среды, которая допускала бы разработку баз данных и управление данными.

В 1970 году Э. Ф. Кодд , работавший в корпорации IBM, опубликовал статью о реляционной модели данных, позволявшей  устранить недостатки прежних моделей. Вслед за этим появилось множество  экспериментальных реляционных  СУБД, а первые коммерческие продукты появились в конце  70-х - начале 80-х годов. Особенно следует отметить проект System R, разработанный в корпорации IBM в конце 70-х годов (Astrahan et al., 1976). Этот проект был задуман с целью доказать практичность реляционной модели, что достигалось посредством реализации предусмотренных ею структур данных и требуемых функциональных возможностей. На основе этого проекта были получены важнейшие результаты.

  • Был разработан структурированный язык запросов SQL, который с тех пор стал стандартным языком любых реляционных СУБД.
  • В 80-х годах были созданы различные коммерческие реляционные СУБД - например, DB2 или SQL/DS корпорации IBM, Oracle корпорации Oracle , др.

В настоящее время существует несколько сотен различных реляционных  СУБД для мейнфреймов и персональных ЭВМ. В качестве примера многопользовательских  СУБД может служить система CA-OpenIngres фирмы Computer Associates и система Informix фирмы Informix Software, Inc. Примерами реляционных  СУБД для персональных компьютеров  являются Access и FoxPro фирмы Microsoft, Paradox и Visual dBase фирмы Borland, а также R-Base фирмы Microrim.

1 ПРОБЛЕМЫ  АВТОМАТИЗАЦИИ БИБЛИОТЕЧНОЙ ДЕЯТЕЛЬНОСТИ

 

Мир растет, а с ним и размеры потоков  информации. И естественно они  не достигли пика своего роста. В любой  организации возникают проблемы хранения этой информации. Конечно, ее можно хранить в архивах, но ведь это так неудобно и занимает много  места. Поэтому многие организации  используют компьютерные способы хранения.

На примере  библиотеки можно рассмотреть достоинства  компьютерных баз данных. Первое, что  следует заметить, так это то, что происходит солидная экономия на бумажных изделиях. Иначе, куча бумаг вытеснила бы все книги. Также, пространство, которое занимает архив, заметно уменьшится, так как его может заменить даже один компьютер. Можно заметить,  что эти доводы весьма весомы, но это еще не все. Получение данных намного ускоряется. Учитывая то, что библиотека ВУЗа и у нее около 10 тыс. читателей, скорость получения данных как никогда важна. Также, в особо оснащенных библиотеках, можно посмотреть данные о книгах, зайдя на сервер библиотеки с помощью услуг интернета.

“Ручная” обработка данных не позволяет редактировать данные. Для этого следует переписывать весь документ, в то время как, при использовании СУБД можно добавлять, изменять, удалять данные, не переделывая документ. Немаловажным фактором является использование любых форматов данных: тексты, чертежи, изображения, звуковые файлы и т.д.

 

 

 

 

 

2 РАЗРАБОТКА  СИСТЕМЫ «БИБЛИОТЕКИ ВУЗОВ ДОНЕЦКА»

 

2.1 Назначение  и функции системы

Данная база данных была создана для удобной обработки данных о читателях и книгах. Конечно же, она не идеальна, но вряд ли в мире существует идеальная база данных. БД “Библиотеки ВУЗов Донецка” может выполнять такие функции:

- Просмотр  данных о библиотеках, их отделах, книгах и читателях;

- Добавление  новых библиотек, новых читателей;

- Возможность  просмотра данных с указываемыми  пользователем условиями;

- Возможность  просмотра диаграмм и гистограмм, основанных на данных БД;

- Изменение данных БД;

- Просмотр отчетов;

 

2.2 Проектирование  концептуальной модели данных

Американский  национальный институт стандартов (ANSI) предложил трехуровневое представление данных в БД, т.е. трехуровневую систему организации данных:

- уровень  внешней модели;

- уровни  концептуальной модели, представляющие  общую структуру БД;

- уровень  внутренней модели, определяющей  физическое расположение данных;

Центральное место представление в подобном представлении данных занимает концептуальная модель данных. Ей отводится главная роль в обеспечении независимости, целостности и защиты данных. Концептуальная модель отображает объекты предметной области и взаимосвязи между ними. Таким образом, по существу концептуальная модель является моделью предметной области.

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

Модель  данных – это форма представления  объектов предметной области и связей между ними.

Для хранения данных об объектах предметной области  и для моделирования взаимосвязей между ними используется набор таблиц, что как раз в полной мере отражает концепцию реляционной модели данных. Основной структурой данных в реляционной  модели является отношение именно потому модель получила название реляционной (от английского relation - отношение).

Для представления  предметной области были созданы  следующие объекты предметной области  и реализованы в БД в виде таблиц (рис. 2.1):

 

Объект предметной области

Данные об объекте

Представление таблицей

Библиотека

- Название ВУЗа

- Район города

- Телефон

- Год открытия  ВУЗа

Читатель

- ФИО читателя

- Название ВУЗа

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

Отдел библиотеки

- Название ВУЗа

- Название  отдела

- Количество  сотрудников

Книга

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

- Автор

- Год издания  книги

- Язык издания  книги

Книга в отделе

- Название отдела и ВУЗа

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

- Цена возмещения

- Количество  экземпляров

Взятая книга

- ФИО читателя

- Книга в  отделе

- Дата выдачи

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


 

Рисунок 2.1 – Предметная область

 

Следует заметить, что на рисунке 2.1 показаны только базовые таблицы и таблица пересечения. Но для реализации потребовалось использование справочников. Справочники отличаются от базовых таблиц и таблиц пересечения тем, что данные, которые вводятся в справочники, обычно вводятся на этапе создания БД и на протяжении работы практически не изменяются.

Базовые таблицы: Библиотеки, Отделы_библиотек, Читатели, Книги, Книги_в_отделах.

Таблица пересечения: Взятые_книги.

Справочники: Названия_отделов, Районы, Языки.

Для общего понимания концептуальной модели данной предметной области приведена схема  данных (рис. 2.2):

 

Рисунок 2.2 – Схема данных

 

2.3 Формирование  запросов 

Запросы являются важным инструментом в любых  системах управления базами данных. Они  используются для выделения, обновления и добавления новых записей в  таблицы. Чаще всего запросы используются для выделения специфических  групп записей, чтобы удовлетворить  определенному критерию. Кроме того, их можно использовать для получения  данных из различных таблиц, обеспечивая  единое представление связанных  элементов данных.

Для обработки  данных в Access используются следующие  средства создания запросов:

- QBE (Query By Example – Запрос по образцу) – Средство графического построения запросов;

- язык SQL (Structed Query Language – Структурированный язык запросов) – для создания сложных запросов;

Запросы могут выполнять такие операции:

- Отбор, сортировка и фильтрация данных.

- Формировать  сложные критерии для выбора  записей из одной или нескольких  таблиц;

- Указать  поля, которые должны быть отображены  для выбранных записей; 

- Выполнять  вычисления с использованием  выбранных данных.

- Выполнять  преобразования данных по заданному  алгоритму.

- Создавать  новые таблицы, изменять, удалять и добавлять данные.

 

2.3.1 Книги по отделам всех библиотек

Для каждого  отдела определить количество книг, количество экземпляров и общую стоимость возмещения книг. Данный запрос является итоговым и реализован с помощью QBE. Бланк QBE имеет следующий вид (рис. 2.3):

Рисунок 2.3

 

2.3.2 Читатели, бравшие книги за период

Определить  для каждого читателя количество книг, взятых в указанный период. Данный запрос является итоговым с условием на данные и реализован с помощью QBE. Бланк QBE имеет следующий вид (рис. 2.4):

 

Рисунок 2.4

 

2.3.3 Отделы  библиотек – количество экземпляров

Определить  отделы библиотек, в которых количество экземпляров книг превышает заданное число. Данный запрос является итоговым с условием на группы и реализованный  с помощью QBE. Бланк QBE имеет следующий вид (рис. 2.5):

 

Рисунок 2.5

 

2.3.4 Общая  информация о книгах

Определить  количество разных книг, количество экземпляров  и общую стоимость возмещения по всем библиотекам. Данный запрос является обобщенным итоговым и реализован с помощью QBE. Бланк QBE имеет следующий вид (рис. 2.6):

 

Рисунок 2.6

 

2.3.5 Информация  о взятых книгах по годам

Для каждой библиотеки определить количество взятых книг по годам и общее количество взятых книг. Данный запрос является перекрестным без условия и реализован при помощи средств QBE. Бланк QBE имеет следующий вид (рис. 2.7):

 

Рисунок 2.7

 

2.3.6 Информация  о взятых книгах по кварталам

Для каждой библиотеки определить количество взятых книг по кварталам. Данный запрос является перекрестным с условием и реализован при помощи средств QBE. Бланк QBE имеет следующий вид (рис. 2.8):

Рисунок 2.8

 

2.3.7 Читатели, которые не брали книги за  период

Определить  список читателей, которые не брали  в библиотеках книги за указанный  период. Данный запрос является запросом на запросе с использованием левого объединения и реализован с помощью QBE. Бланк QBE вспомогательного запроса имеет следующий вид (рис. 2.9):

 

Рисунок 2.9

Бланк QBE основного запроса имеет следующий  вид (рис. 2.10):

 

Рисунок 2.10

 

2.3.8 Книги  по отделам всех библиотек

Для каждого  отдела определить количество книг, количество экземпляров и общую стоимость возмещения книг. Данный запрос является симметрическим объединением. Бланк QBE имеет следующий вид (рис 2.11):

Рисунок 2.11

 

2.3.9 Читатели, бравшие книги за период

Определить  для каждого читателя количество книг, взятых в указанный период. Данный запрос является симметрическим объединением с условием на дату и реализован с помощью QBE. Бланк QBE имеет следующий вид (рис. 2.12):

 

Рисунок 2.12

 

2.3.10 Информация о взятых книгах по годам

Для каждой библиотеки определить количество взятых книг по годам и общее количество взятых книг. Данный запрос является симметрическим объединением и реализован при помощи средств QBE. Бланк QBE имеет следующий  вид (рис. 2.13):

 

Рисунок 2.13

 

2.3.11 Библиотеки, в которых есть заданный отдел

Вывести те библиотеки и информацию о них, у которых есть заданный отдел. Данный запрос является симметрическим объединением с условием по текстовому полю и  реализован при помощи средств QBE. Бланк QBE имеет следующий вид (рис. 2.14):

 

Рисунок 2.14

 

2.4 Структура  системы

Запросы Microsoft Access позволяют быстро получать нужную информацию. Но чтобы было более компактно и удобно их использовать запросы, следует использовать формы.

Формы создаются  с помощью особого набора элементов, в который входят: Надпись, Поле, Список, Поле со спиком, Группа переключателей, Выключатель, Переключатель, Флажок, Кнопка, Рисунок, Свободная рамка объекта, Присоединенная рамка объекта, Разрыв страницы, Вкладка, Подчиненная форма/отчет, Линия, Прямоугольник, а также дополнительные объекты, используемые в других программах.

Также с  помощью форм можно передавать данные для условий запросов.

Для удобного использования БД было создано ряд  форм. Иерархия частей приложения приведена  на рис.2.15:


Рисунок 2.15

 

Главной кнопочной формой является “Главная форма” (рис 2.16):

 

Рисунок 2.16

 

Данная  форма является основной, только из нее можно попасть на другие формы.

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

Access предлагает более 50 макрокоманд. Каждая МК имеет имя и набор аргументов. Значения одних аргументов задаются автоматически, значение других аргументов должен устанавливать программист.

Собрание  более одной макрокоманды в одном  макросе называют группой макросов. Это позволяет сэкономить на рабочем  пространстве и удобно пользоваться. Обычно на одну форму создают группу макросов, которые используются только в этой форме. Пример самой простой группы макросов приведен на рис 2.17:

Рисунок 2.17

 

Данная  группа макросов используется в главной  кнопочной форме. Макрокоманда “ОткрытьФорму” используется для перехода на другую форму. Параметры, которые задаются для этой макрокоманды приведены на рис. 2.18. Макрокоманда “Закрыть” закрывает форму.

 

 

Рисунок 2.18

 

Более сложная  группа макросов используется в форме  Сведения о библиотеках (рис 2.18):

Рисунок 2.19

Первый  макрос “Просмотр читателей” используется для проверки наличия читателей. Ставится на запуск формы. “Читатели”, “Добавить библиотеку”, “Добавить читателя”, “Все библиотеки” служат для перехода на формы. Макрос “Удалить” позволяет удалить текущую запись. “Найти” позволяет найти запись из выпадающего списка. “Вывести список” позволяет вывести список с записями, которые используются для поиска. “Спрятать список” прячет спиок.

Более сложная группа макросов используемая в этой СУБД это “Сведения о книгах” (рис 1.20):

 

Рисунок 1.20

 

Форма, в которой используется данная группа макросов состоит из группы переключателей, которая называется “Выбор”. Макрос “Выбор списка” позволяет выводить поля и списки в зависимости от выбранного переключателя. “Просмотр” позволяет переходить на разные формы, используя одну кнопку. 3 проверки нужны для проверки наличия записей. “Скрыть” скрывает все сплывающие списки и поля.

Наиболее  сложная группа макросов используется при изменении БД (рис 1.21):

 

Рисунок 1.21

 

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

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ВЫВОДЫ

 

В ходе данной работы было выявлено основные возможности и назначения Microsoft Access. Microsoft Access служит для создания и обработки баз данных, с использованием запросов сформированных как с помощью бланков QBE, так и с помощью языка SQL. Для удобного управления СУБД используются формы и макросы. Также в СУБД можно использовать отчеты, которые формируются на основе данных БД. Отчеты очень удобны, так как их можно быстро сформулировать и распечатать как документ.

СУБД  “Библиотеи ВУЗов Донецка” - хорошее решение в управлении данными в библиотеках. Однако, данная СУБД не является идеальной. Для наибольшей пользы следует добавить возможность обновления, добавления и удаления записей для каждой таблицы и справочников. Также, должна быть возможность просматривать данные всех таблиц. Схему данных можно модифицировать, добавив ряд таблиц.

Для функционирования системы необходим компьютер IBM PC с процессором частотой не ниже 333 МГц объемом памяти не менее 128Мб, операционная система не ниже Microsoft Windows XP, пакет Office 2007 или более новый.

 

 

 

 

 

 

 

 

 

 

ПЕРЕЧЕНЬ  ССЫЛОК

 

1. Дейт  К. Введение в системы баз  данных. К.; М; СПб.; Издательский дом  «Вильямс», 2000. -848с.:ил.

2. Т.С.  Карпова. Базы данных: модели, разработка, реализация – СПб.: Питер, 2001. –  304 с.:ил.

3. С.  Робинсон. Microsoft Access 2003: учебный курс  – СПб: издательство «Питер», 2005. – 512 с.: ил.

4. Д.  Вейкас. Эффективная работа в  Microsoft Access 2003 СПб.: Питер, 2004. – 850 с.: ил.

5. Керри  Н. Праг, Майкл Р. Ирвин, Access 2003. Библия пользователя: Пер. с англ. М.: Издательский дом «Вильямс», 2005. – 1040 с.:ил 

6. Михеева  В.Д., Харитонова И.А. Microsoft Access 2002. –  СПб.: БХВ – Петербург, 2002. – 1040 с.: ил.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ПРИЛОЖЕНИЕ  А

SQL –ЗАПРОСЫ

 

1. Симметрическое  объединение с использованием  предиката DISTINCT:

Определить  все разные книги каждой библиотеки (рис. А.1):

 

SELECT DISTINCT Библиотеки.ВУЗ, Библиотеки.Код_библиотеки, Книги.Книга

FROM (Библиотеки INNER JOIN [Отделы библиотек] ON Библиотеки.Код_библиотеки = [Отделы библиотек].Код_библиотеки) INNER JOIN (Книги INNER JOIN [Книги в отделах] ON Книги.Код_книги = [Книги в отделах].Код_книги) ON [Отделы библиотек].Код_отдела = [Книги  в отделах].Код_отдела

ORDER BY Библиотеки.Код_библиотеки, Книги.Книга;

Рисунок А.1 Симметрическое объединение с DISTINCT

 

2. Симметрическое  объединение или итоговый запрос  с использованием TOP n:

Определить  первых трех читателей, которые брали  больше всего книг (рис. A.2):

 

SELECT TOP 3 Библиотеки.ВУЗ, Читатели.ФИО, Count([Взятые  книги].Код_взятой_книги) AS [Количество  книг]

FROM (Библиотеки INNER JOIN Читатели ON Библиотеки.Код_библиотеки=Читатели.Код_библиотеки) INNER JOIN [Взятые книги] ON Читатели.Код_читателя=[Взятые  книги].Код_читателя

GROUP BY Библиотеки.ВУЗ, Читатели.ФИО

ORDER BY Count([Взятые книги].Код_взятой_книги) DESC;

Рисунок А.2 Запрос с TOP n

 

 

 

3. Итоговый  запрос с условием на данные  и с условием на группы:

Определить  отделы ВУЗов которые находятся в заданном районе и имеют количество экземпляров книг больше заданного (рис А.3):

 

SELECT Библиотеки.ВУЗ, [Отделы библиотек].Код_названия, Count([Книги  в отделах].Код_отдела) AS [Количество  книг], Sum([Книги в отделах].Количество_экземпляров) AS [Количество экземпляров], Sum([Книги  в отделах]!Цена_возмещения*[Книги  в отделах]!Количество_экземпляров) AS [Общая стоимость]

FROM Районы INNER JOIN ((Библиотеки INNER JOIN [Отделы библиотек] ON Библиотеки.Код_библиотеки = [Отделы  библиотек].Код_библиотеки) INNER JOIN [Книги  в отделах] ON [Отделы библиотек].Код_отдела = [Книги в отделах].Код_отдела) ON Районы.Код_района = Библиотеки.Код_района

GROUP BY Библиотеки.ВУЗ, Районы.Район, [Отделы  библиотек].Код_названия

HAVING (((Районы.Район)=[Введите  район]) AND ((Sum([Книги в отделах].Количество_экземпляров))>=[Формы]![4-1 Сведенья о книгах]![Количество  экземпляров 2]))

ORDER BY Библиотеки.ВУЗ, [Отделы библиотек].Код_названия;

Рисунок А.3 Итоговый запрос с условием на данные и группы

 

4. Перекрестный  запрос с условием:

Определить  количество взятых книг для каждой библиотеки по кварталам заданного года (рис А.4):

 

PARAMETERS [Укажите год] Short;

TRANSFORM Count([Взятые книги].Код_взятой_книги) AS [Количество взятых книг]

SELECT Библиотеки.ВУЗ,  Библиотеки.Код_района

FROM Районы INNER JOIN ((Библиотеки INNER JOIN [Отделы библиотек] ON Библиотеки.Код_библиотеки = [Отделы  библиотек].Код_библиотеки) INNER JOIN ([Книги  в отделах] INNER JOIN [Взятые книги] ON [Книги в отделах].Код_книги_в_отделе = [Взятые книги].Код_книги_в_отделе) ON [Отделы библиотек].Код_отдела = [Книги  в отделах].Код_отдела) ON Районы.Код_района = Библиотеки.Код_района

WHERE (((Year([Взятые  книги]![Дата_выдачи]))=[Укажите год]))

GROUP BY Библиотеки.ВУЗ, Библиотеки.Код_района

ORDER BY Библиотеки.ВУЗ

PIVOT Year([Взятые  книги]!Дата_выдачи) & "г " & "Квартал " & DatePart("q",[Взятые  книги]!Дата_выдачи);

Рисунок А.4 Перекрестный запрос с условием

 

5. Подчиненный  запрос (использовать предикаты  сравнения, EXISTS, ANY, ALL, IN):

Определить  те книги, у которых цена возмещения превышает все цены возмещения по всем отделам всех библиотек определенной книги (рис. А.5):

 

SELECT [Книги  в отделах].Код_книги_в_отделе, Книги.Книга, [Книги в отделах].Цена_возмещения, [Книги в отделах].Код_отдела

FROM Книги  INNER JOIN [Книги в отделах] ON Книги.Код_книги  = [Книги в отделах].Код_книги

WHERE ((([Книги  в отделах].Цена_возмещения)>All (SELECT Distinct [Книги в отделах].Цена_возмещения  FROM Книги INNER JOIN [Книги в отделах] ON Книги.Код_книги = [Книги в отделах].Код_книги  WHERE [Книги.Код_книги]=[Формы]![4-1 Сведенья  о книгах]![Выбор книги])))

Библиотеки ВУЗов Донецка