База данных "Библиотека"

Министерство образования и науки Украины

Кафедра компьютерных информационных технологий


Контрольная работа

по дисциплине "Технические средства коммуникаций"


2004

Вариант 1


Индивидуальное задание


Вариант 1 "Библиотека"

Абонент

Книги

Код абонента

Фамилия

Имя

Отчество

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

Домашний адрес

Номер паспорта

Инвентарный номер книги

Шифр темы

Шифр книги

Автор

Наименование

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

Год издания

Количество страниц

Стоимость

Тип книги

Особенности

Темы

Абонентская книжка

Шифр темы

Направление

Жанр

Номер абонентской книжки

Инвентарный номер книги

Дата выдачи

Дата сдачи

Примечание

Кем выдана


Создадим новую базу данных "Библиотека". Создание таблиц базы данных осуществим в режиме конструктора. В режиме конструктора назначаем имена полям таблицы и тип полей. В результате этих действий были созданы таблицы (рисунок 2, 3, 4,5) и им были присвоены следующие имена: "Абонент", "Книги", "Темы", "Абонентская книжка" (рисунок 1).

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

Рисунок 1 - Наименование таблиц базы данных "Библиотека"


Рисунок 2 - Структура таблицы "Абонент"


Рисунок 3 - Структура таблицы "Книги"


Рисунок 4 - Структура таблицы "Темы"

Рисунок 5 - Структура таблицы "Абонентская книжка"


Отобразим структуру таблиц воспользовавшись командой "Сервис-Анализ-Архивариус".

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

В числовом поле хранятся только числа. Числовой тип данных позволяет выбрать следующие форматы: "Основной", "Денежный", "Фиксированный", "С разделителями разрядов", "Процентный". Размер числового поля принимает значение целое - от - 32768 до 32767.

Дата/Время имеет встроенные готовые к использованию форматы для отражения календарного времени и даты. Таким образом, это поле используется для хранения информации о дате произошедшего события.

Для определения "Примечание", "Кем выдана" используем текстовый формат, "Инвентарный номер" - тип поля числовой, формат длинное целое.

Необходимо сделать так, чтобы "Номер абонентской книжки" всегда был положительным числом. Для этой операции воспользуемся установкой условия на значение, т.е. необходимо использовать построитель выражений (рисунок 6) или общую панель в конструкторе (рисунок 7).

Рисунок 6 - Построенное выражение


Рисунок 7 - Общая панель конструктора

Применим для базы данных "Библиотека" поля подстановок. Создадим фиксированный список значений для полей: "Примечание", "Кем выдана". Для примера на рисунке 8 представим подстановку для поля "Примечание".


Рисунок 8 - Использование вкладки подстановка


Перед тем как создать связь между таблицами, необходимо назначить ключевые поля. Ключевое поле должно идентифицировать записи в таблицы и являться уникальным. Для таблицы "Абонент" ключом будет поле "Код абонента", "Книги" - ключевым полем является "Инвентарный номер книги", "Темы" - ключевым полем является "Шифр темы", "Абонентская книжка" - ключом является поле "Номер абонентской книжки". Для того чтобы установить ключевое поле, необходимо перейти в режим конструктора и нажать на панели инструментов значок с изображением ключа, при этом курсор должен быть установлен на поле, которое нужно сделать ключом.

Создадим связь между таблицами. Таблица "Абонентская книжка" является главной, а оставшиеся таблицы связываются с ней по соответствующим полям. Для создания связи необходимо выполнить команду "Сервис - Схема данных". В появившемся диалоговом окне (рисунок 9) открываем все таблицы, удерживая нажатой левую кнопку мыши на нужном поле одной таблицы, перетаскиваем это поле на соответствующее поле другой таблицы.


Рисунок 9 - Схема связи между таблицами


Заполним таблицы "Абонент", "Книги", "Темы", "Абонентская книжка" (рисунок 10) значениями.


Рисунок 10 - Таблица "Абонентская книжка"


Выберем из таблицы "Абонентская книжка" все книги, выданные библиотекарем Высоцким. Для этого воспользуемся "Фильтром по выделенному". Выделим значение "Высоцкий" в поле "Кем выдана" и нажмем кнопку "Фильтр по выделенному" на панели инструментов (рисунок 11).


Рисунок 11 - Результат работы фильтра по выделенному


Выберем в таблице "Абонентская книжка" все книги, выданные библиотекарем Тимовым 10.02.2003. Для этого на панели инструментов нажмем кнопку "Изменить фильтр", в поле "Кем выдана" указываем "Тимов", затем внизу на панели переключаемся на закладку "Или" и в поле "Дата выдачи" вводим 10.02.2003. После этих действий нажимаем на панели инструментов кнопку "Применить фильтр" (рисунок 12).


Рисунок 12 - Результат работы простого фильтра


Выберем из таблицы "Абонентская книжка" все книги с инвентарным номером больше 13. Для этого воспользуемся "Фильтром для". Установим курсор в поле "Инвентарный номер книги" и, нажав правую кнопку мыши, выбираем "Фильтр для" и в строке указываем условие >13, нажимаем Enter (рисунок 13).


Рисунок 13 - Результат работы "Фильтр для"


Выберем из таблицы "Абонентская книжка" все книги, которые выдавал Тимов и которые сдали 25.03.2003. Для этого воспользуемся "Расширенным фильтром". Откроем в меню "Записи - Фильтр - Расширенный фильтр" и укажем условие отбора (рисунок 14).


Рисунок 14 - Простановка условия в "Расширенном фильтре"


Результат работы "Расширенного фильтра" представлен на рисунке 15.


Рисунок 15 - Результат выполнения "Расширенного фильтра"


Выполним запросы к базе данных. Требуется определить количество книг выданных в один день. Реализуем запрос по принципу, указываем условие группировки по дате выдачи и суммирование по количеству одинаковых дат. Формирование запроса (рисунок 16) и выполнение запроса (рисунок 17).

Рисунок 16 - Формирование запроса


Рисунок 17 - Выполнение запроса


Требуется определить информацию о книгах по запрашиваемой фамилии библиотекаря, выдававшего книги. Реализуем запрос по принципу, рассмотренному выше, только пользователю в диалоговом окне необходимо будет ввести фамилию библиотекаря (рисунок 18). Формирование запроса (рисунок 19) и выполнение запроса (рисунок 20).


Рисунок 18 - Диалоговое окно ввода параметра

Рисунок 19 - Формирование запроса


Рисунок 20 - Выполнение запроса


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

Абонентская книжка

Кем выдана Дата выдачи - по месяцам Дата выдачи Дата сдачи Номер абон книжки

Высоцким

Февраль 2003

10.02.2003 15.02.20031

11.02.2003 20.02.20033

Сомов

Март 2003

21.03.2003 25.03.20036

22.03.2003 26.03.20037

Тиимов

Февраль 2003

11.02.2003 21.02.20034

Тимов

Февраль 2003

10.02.2003 16.02.20032

Март 2003

20.03.2003 25.03.20035