sozdanie_i_ispolzovanie_bazy_dannykh

Лабораторная работа
Создание и использование базы данных «Библиотека»
Цель работы: создать базу данных «Библиотека».

Этапы работы:

1. Проектирование структуры базы данных.
База данных будет состоять из семи таблиц:
1. Авторы,
2. Книги,
3. Разделы,
4. Издательства,
5. АвторКниги.
6. Читатели,
7. Выдача.

Соответствующие поля в таблице Книги должны быть полями подстановок из Разделы и Издательства.

2. Построение пустых таблиц базы данных.

В таблице Разделы только одно поле Раздел. Оно является ключевым.
Имя поля
Тип данных

Раздел
Текстовое


В таблице Издательства существует два поля Издательство и Город. Поле Издательство является ключевым.
Имя поля
Тип данных

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

Город
Текстовое


Таблицу Книги будем создавать в режиме Конструктор. В ней будет 6 полей (КодКниги, Название, Раздел, Издательство, ГодИздания и МестоХранения). Поле КодКниги ключевое.
Имя поля
Тип данных
Описание поля

КодКниги
Счетчик


Название
Текстовое


Раздел
Текстовое
Внешний ключ

Издательство
Текстовое
Внешний ключ

ГодИздания
Текстовое


МестоХранения
Текстовое


Для полей Раздел, Издательство настроить свойства поля во вкладке Подстановка: выбрать Поле со списком, Источник строк соответственно таблицы Разделы и Издательства.

В таблице Авторы четыре поля (КодАвтора, Фамилия, Имя и Примечание). Поле КодАвтора является ключевым.
Имя поля
Тип данных

КодАвтора
Счетчик

Фамилия
Текстовое

Имя
Текстовое

Примечание
Текстовое


Таблица АвторКниги создается для многозначной связи таблиц Авторы и Книги. В ней три поля: КодАвтораКниги, КодКниги, и КодАвтора. Поле КодАвтораКниги следует сделать ключевым.

Имя поля
Тип данных
Описание поля

КодАвтораКниги
Счетчик


КодКниги
Числовое
Внешний ключ

КодАвтора
Числовое
Внешний ключ


В таблице Читатели представлена информация о читателях библиотеки. Поле НомерЧитателБилета является ключевым.
Имя поля
Тип данных
Описание поля

НомерЧитБилета
Текстовое


Фамилия
Текстовое
Размер 20

Имя
Текстовое
Размер 20

Отчество
Текстовое


Адрес
Текстовое


Телефон
Текстовое
Размер 11


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

НомерВыдачи
Счетчик


ДатаВыдачи
Дата\время
Краткий формат даты

ДатаВозврата
Дата\время
Краткий формат даты

Сдано
Логическое
Да, нет

Срок
числовое


НомерЧитБилета
Текстовое
Внешний ключ

КодКниги
Числовое
Внешний ключ


3. Создание схемы базы данных.
13 EMBED PBrush 1415
Рис.1. Схема данных БД «Библиотека».

4. Заполните таблицы исходными данными.
Сначала заполняются таблицы Издательства, Разделы, Авторы, Читатели, а затем - таблицы Книги и Выдача.
Заполнять можно в режиме таблицы, а можно создать форму ввода.
5. Использование базы данных. Следует использовать базу данных для таких заданий, как:
1. Найдите место хранения определенной книги.
2. Выберите все книги одного автора.
3. Выберите всех авторов данного издательства.
4. Выберите книги, изданные в определенном городе.
5. Выберите всех авторов данной книги.
6. Выберите все книги по заданному разделу.
7. Выберите все книги определенного года издания.

Ход работы
Задание 1. Создайте новую базу данных. Создайте структуры таблиц Разделы, Издательства, Авторы, АвторыКниги, Книги, Читатели и Выдача в режиме Конструктор.

Задание 2. Создайте связи в соответствии со схемой данных.
Включите Обеспечение целостности данных при настройке связи.

Задание 3. Заполните вспомогательные таблицы.
Заполните таблицу Разделы данными: Экономика, Информатика, Психология, Математика, Техника.
Заполните таблицу Издательства данными: Финансы и Статистика (Москва), Тригон (Санкт-Петербург), Питер (Санкт-Петербург), Наука (Москва), Парадокс (Минск).

Задание 4. Создайте сложную форму с подчинением для таблицы Книги:
В окне базы данных выберите вкладку Создание.
В диалоговом окне Другие формы выберите Мастер Форм.
Щелкните по кнопке ОК.
Выберите все поля из таблицы Книги, все поля из таблицы Авторы и все поля из таблицы АвторКниги.
Для этого выберите имя таблицы в окне Таблицы/запросы.
Появится список полей в окне Доступные поля.
Кнопка переносить Доступные поля в окно Выбранные поля по одному, а кнопка - все сразу. Выберите все поля.
Щелкните по кнопке Далее. Оставьте вид формы табличный.
Вновь щелкните по кнопке Далее. Выберите стиль формы.
Вновь щелкните по кнопке Далее.
Задайте имя формы Общая форма. Щелкните по кнопке Готово.

В результате получите форму, в которой можно менять существующие данные и вводить новые значения. При этом записи меняются в основной форме и в подчиненной форме.
Отредактируйте внешний вид формы.

В основной форме введите сведения о книге, а в подчиненной - сведения об авторе (или авторах, если их несколько). Данные брать из таблицы задания №5 и из файла Литература ОГПУ.doc, лежащего в том же каталоге что и работа.
Связанные поля будут заполняться сами(коды книг, авторов).

Рис. 2. Вид основной формы БД «Библиотека».

Задание 5. Введите данные при помощи полученной формы.
Порядок работы:
Введите название поля и значения данных в соответствии с таблицей.
КодКниги

1


Название
Практический курс программирования

Раздел

Информатика


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

Наука


ГодИздания

1983


МестоХранения

6-11


КодАвтора

1


Фамилия

Фролов


Имя

Геннадий


Примечание

Рекомендована студентам 1 и 2 курса, изучающих программирование


КодАвтораКниги

1


КодКниги

1


КодАвтора

1


КодАвтора

2


Фамилия

Олюнин


Имя

Виктор


Примечание




КодАвтораКниги

2


КодКниги

1


КодАвтора

2


КодКниги

2


Название

Турбо Паскаль для школьников


Раздел

Информатика


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

Финансы и статистика


ГодИздания

1999


МестоХранения

6-22


КодАвтора

3


Фамилия

Попов


Имя

Владимир


Примечание

Рекомендовано министерством образования


КодАвтораКниги

3


КодКниги

2


КодАвтора

3


КодКниги

3


Название

НТМL в действии


Раздел

Информатика


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

Питер


ГодИздания

1997


МестоХранения

5-4


КодАвтора

4


Фамилия

Морис


Имя

Брюс


Примечание

Перевод с английского


КодАвтораКниги

4


КодКниги

3


КодАвтора

4


КодКниги

4


Название

Занимательная математика


Раздел

Математика


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

Тригон


ГодИздания

1998


МестоХранения

3-14


КодАвтора

5


Фамилия

Акимова


Имя

Светлана


Примечание




КодАвтораКниги

5


КодКниги

4


КодАвтора

5


КодКниги

5


Название

Карьера менеджера


Раздел

Экономика


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

Парадокс


ГодИздания

1998


МестоХранения

1-212


КодАвтора

6


Фамилия

Якокка


Имя

Ли


Примечание

Перевод с английского


КодАвтораКниги

6


КодКниги

5


КодАвтора

6


КодКниги

6


Название

Национальное счетоводство


Раздел

Экономика


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

Финансы и Статистика


ГодИздания

1998


МестоХранения

4-11


КодАвтора

7


Фамилия

Кулагина


Имя

Галина


Примечание




КодАвтораКниги

7


КодКниги

6


КодАвтора

7


Введите еще 4 книги
У различных книг могут быть и одни авторы, а также и несколько авторов


Задание 6. Заполнить таблицу Читатели данными о 10-15 читателей различных групп.
Только после этого можно заполнять таблицу Выдача. Для заполнения таблицы Выдача можно создать вспомогательную форму для ввода данных.

Задание 7. Создание запросов на поиск информации в БД «Библиотека».
Для создания запроса в MS Access 2007 необходимо выбрать вкладку Создание и Конструктор запросов.
Появится окно Запроса 1 (рис. 4-5.) и вкладка Конструктор (рис. 3).
Вкладка Конструктор содержит все виды запросов и режимы работы с запросами.


Рис.3. Вкладка Конструктор запросов.
Рис 4. Окно конструктора запросов.

Рис. 5. Окно добавления таблицы ля выборки данных.

Виды запросов: на выборку, создание таблицы новой, добавление, обновление и удаление записей.

Рис. 6. Режимы работы с запросом.

Создать запрос для поиска читателей с заданной фамилией.
- В окне добавления таблицы выбрать таблицу Читатель. Закрыть окно Добавление таблицы. В таблице конструктора запросов выбрать Поля для вывода на экран: НомерЧитБилета, Фамилия, Имя, Отчество.
- В Условии отбора под полем Фамилия ввести фамилию одного из читателей (например, Иванов).
- Сохранить запрос под именем Поиск_по_фамилии.
- Запустить на выполнение запрос. Проверить результат выполнения запроса.









Создать запрос на поиск читателей, у которых фамилия начинается на определенную букву.
Для этого в условии отбора под полем фамилия необходимо записать выражение LIKE A* или просто А* (поиск читателей с фамилией, начинающейся на А). Сохраните запрос под именем «Читатели на А».

Создать запрос на поиск читательниц.
Для этого в условии отбора под полем Отчество необходимо записать выражение LIKE *A (поиск читателей с отчеством, заканчивающимся на А). Сохраните запрос под именем «Читательницы».
Создать запрос для подсчета, через сколько дней читатель сдал книгу.
Создать новый запрос, добавить таблицы Читатель, Выдача, Книги.
Вывести поля как указано на рис.7. Поле для расчета создать в конце таблицы. Ввести с клавиатуры следующее выражение Количество дней: [ДатаВозврата]-[ДатаВыдачи].

Рис. 7. Окно конструктора запроса задания 8.

Сохранить запрос с именем «Количество_дней».

Создание запрос на нахождение читателей, сдавших книгу не в срок.
Открыть ранее созданный запрос Количество_дней и добавить в бланк запроса поле Срок из табл
·ицы Выдача и под вычисляемым полем Количество дней в строке Условие отбора ввести следующее выражение >[Срок].Сохранить запрос как Сдали_не_в_срок.

10. Итоговые запросы.
Итоговый запрос предназначен для выполнения итоговых операций с использованием функций.
Операции находятся за кнопкой на вкладке Конструктор . В бланке запроса появиться дополнительная строка Групповая операция: Группировка (рис 8).

Рис.8. Итоговые функции и установки для групповых операций.

Функция
Назначение

Sum
Сумма всех значений данного поля в каждой группе. Используется только для денежных и числовых полей.

Avg
Среднее арифметическое всех значений данного поля в каждой группе.

Min
Наименьшее значение в данном поле в каждой группе.

Max
Наибольшее значение в данном поле в каждой группе.

Count
Число не нулевых записей в данном поле.

Выражение
Составляется из нескольких функций.

условие
Устанавливается условие для отбора записей из группы по определенному критерию.


Создать запрос на подсчет книг по каждому разделу.
- Создать запрос на основе таблицы Книги с двумя полями – КодКниги и Раздел.
- Установить Групповые операции под полем КодКниги функцию Count.
- сохранить запрос с именем Сортировка по тематике.

12. Параметрические запросы.
Создайте запрос на выборку с параметром для получения всех книг определенного года издания. Для этого при составлении условия в запросе под полем ГодИздания набрать в квадратных скобках словосочетание [Введите год издания]. При выполнении запроса введите в появившееся диалоговое окно год 1998 или любой другой. Получите запрос на произведения этого года издания.

Создать запрос для вывода списка читателей, которым книги были выданы в определенный срок.
Бланк запроса на рис.9.

Рис.9. Вид Конструктора запросов задания 13.

В строке Условие запроса введите следующее выражение:
Between [Введите начальную дату] and [введите конечную дату].

Сохраните запрос с именем Книги за период.

Перекрестные запросы. Предназначены для обобщения обрабатываемых данных и отображения их в формате компактной электронной таблицы.
Создать запрос для формирования списка о том, сколько книг каждый читатель брал ежемесячно.
- создать бланк запроса как на рис. 10.

Рис. 10. Бланк запроса задания 14.
- сохраните запрос с именем Сводная таблица.

15. Активные запросы: создание таблицы, обновление, удаление данных в таблицах, добавление таблиц.
Создать запрос на создание таблицы, которая содержит сведения о книгах, взятых читателями в 2008 году.
Создать запрос на создание таблицы, выбрав из таблицы Читатель поля Имя, Фамилия, НомерЧитБилета, из таблицы Выдача поля ДатаВыдачи и ДатаВозврата, из таблицы Книги – поле Название.
Создайте вычисляемое поле с функцией Year, которая в качестве аргумента использует поле ДатаВыдачи: Выражение1: YEAR([Выдача]![ДатаВыдачи])
В строке Условие отбора введите значение – 2008.
Выполните запрос и подтвердите нажатием на кнопку Да создание таблицы. Сохраните запрос с именем Архив.
Найдите в объектах Таблицы вновь созданную таблицу с именем Архив_2008 и откройте ее в режиме таблицы для просмотра результата выполнения запроса.

16. Создать в таблице Книги поле ЦенаКниги, тип данных – числовое. Заполнить это поле в таблице Книги.

17. Создание запроса на обновление стоимости всех книг
1) Создайте запрос на выборку на основе таблицы Книга с полями Цена и ГодИздания.
2) Преобразуйте запрос в Запрос на Обновление, в результате в бланк запроса будет добавлена строка – Обновление.
3) В строке Обновление введите выражение – [Цена]*0,95 под полем Цена, в строке Условие под полем ГодИздания введите значение – 2005.
4) Выполните запрос, в результате будет снижена стоимость всех книг 2005г. выпуска на 5%.

18. Создание запроса на обновление стоимости конкретных книг.
1) Создайте запрос на выборку на основе таблицы Книга с полями Название, Цена и ГодИздания.
2) Создайте запрос на обновление.
3) В строке Обновление под полем Цена введите параметр – [Новая цена книги].
4) В строке Условие отбора введите параметры под полем Название – [Введите название книги], под полем ГодИздания – [Введите год издания].
5) Выполните запрос, в результате выводиться диалоговые окна, в которые необходимо ввести соответствующие значения параметров.

19. Запрос на удаление. Создание запроса на удаление читателя из базы данных.
1) Создайте запрос на выборку на основе таблицы Читатель с полями Читатель* (перетащить * из таблицы в бланк запроса) и НомерЧитательскогоБилета.
2) В строке условие отбора под полем НомерЧитательскогоБилета введите выражение – [Введите номер читательского билета].
3) Преобразуйте запрос в Запрос на Удаление, при этом в бланк запроса будет добавлена строка – Удаление, соответственно со значением – Из и Условие.
4) Сохраните запрос с именем Удаление_читателя.

Отчетные запросы.
Найти все книги по программированию.
Найти данные о читателях, которые брали книги издательства «Тригон» или «Питер».
Создайте запрос на выборку с параметром для получения всех книг определенного года издания. Для этого при составлении условия в запросе под полем ГодИздания набрать в квадратных скобках словосочетание [Введите год издания]. При выполнении запроса введите в появившееся диалоговое окно год 1998 или любой другой. Получите запрос на произведения этого года издания.
Подсчитать количество книг на руках у конкретного читателя.
Создайте запрос на выборку с параметром для получения всех авторов данной книги.
Получить список читателей с заданными характеристиками: студентов указанного учебного заведения, факультета, научных работников по определенной тематике и т.д.
Выдать перечень читателей, на руках у которых находится указанное произведение.
Получить список читателей, на руках у которых только 2 книги.
Получить список литературы, которая в настоящий момент выдана с определенной полки некоторой библиотеки.
Выдать список читателей, которые в течение обозначенного периода были обслужены указанным библиотекарем.
Получить данные о задолжниках.
Получить список читателей с просроченным сроком литературы более 2-х дней, считая с сегодняшнего дня.
Получить перечень указанной литературы, которая поступила (была списана) в течение некоторого периода.
Получить список читателей, не посещавших библиотеку в течение указанного времени.
Получить список самых популярных произведений.
Добавить в таблицу Читатели поле Пол и заполнить данными это поле.
Найти самую дорогую книгу в библиотеке, общую стоимость книг в библиотеке.
Подсчитать количество читательниц в библиотеке.
Для должников рассчитать сумму штрафа по следующей формуле: [ЦенаКниги]*0,1*(Количество просроченных дней=сегодняшняя дата-срок+1).

Задание 8. Составить 3 отчета по выполненным запросам.
Задание 9. Изучить команды языка SQL в лабораторном практикуме.


Задание 10. Макросы в БД
Макрос это объект, предназначенный для автоматизации работы пользователя. Макрос включает в себя одну или несколько макрокоманд.
Макрокоманда это инструкция, ориентированная на выполнение определенного действия над объектами Access и их элементами.
Создание макроса начинается с выбора вкладки Создание, пункт Макрос (рис.)
Откроется окно Макрос1.

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

Просмотреть список макрокоманд.

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

Создание макроса на добавление новых книг в таблицу Книги.
Создать форму для ввода новых книг для таблицы книги (настроив свойства формы: только для ввода данных).
Создать макрокоманду, открывающую данную форму для ввода новых книг. Сохранить под именем Добавление новых книг.
Задание 11. Создание приложения пользователя.
создать интерфейс БД «Библиотека» на основе кнопочной формы. Примерная ее структура.
13 SHAPE 1415


Самостоятельно разработать дизайны форм. Примерный вид.










Выдача книг
Открыть форму Выдача

Форма «Читатели»


Книги у читателя
Запуск запроса «Книги у итателя»

Найти читателя
Запуск запроса «Поиск по фамилии»

Выдача книг
Открыть форму «Выдача книг»

Список должников
Запуск запроса «Должники»

Форма «Книги»


Оформление новых книг
Открыть форму «Новые книги»

Добавление новых книг
Запуск макроса «Добавить-удалить новые книги»

Новые цены
Запуск запроса на обновление «Новые цены книг»

Книги по тематике
Запуск запроса «Книги по тематике»

Форма «Выдача книг»

Ввести выражение:
Выражение1: MonthName(Month([ДатаВозврата]))

Стартовая форма «Библиотека»


Выйти из приложения
Запуск макроса Выход

Наши читатели
Открыть форму или таблицу Читатели

Книги
Открыть форму Книги



У 1
·
·
·Є
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·Љ
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·ћ
·
·
·
·
·O
·
·
·Ђ
·
·
·
·
·Ђ
·
·
·
·Ч
·
·
·
·І
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·B
·
·
·
·
·@
·
·
·
·
·
·°
·
·
·
·
·°
·
·
·
·
·
·
·
·s
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·Ч
·
·
·
·І
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·B
·
·
·
·
·@
·
·
·
·
·
·°
·
·
·
·
·°
·
·
·
·
·
·
·
·
·
·Ё
·
·
·
·
·
·
·
·‰
·
·
·
·
·
·
·ћ
·
·
·
·
·Є
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·B
·
·
·
·
·@
·
·
·
·
·
·°
·
·
·
·
·°
·
·
·
·
·
·
·
·
·
·Ё
·
·
·
·
·
·
·
·‰
·
·
·
·
·
·
·ћ
·
·
·
·
·O
·
·
·Ђ
·
·
·
·
·Ђ
·
·
·
·Ч
·
·
·
·
·
·™
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·Ё
·
·
·
·
·
·
·
·‰
·
·
·
·
·
·
·ћ
·
·
·
·
·O
·
·
·Ђ
·
·
·
·
·Ђ
·
·
·
·Ч
·
·
·
·І
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·B
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·Щ
·
·
·
·
·
·
·
·§
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·A
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·‚
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·’
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·Ђ
·
·
·
·
·
·Є
·
·
·
·
·
·
·
·
·
·
·
·B
·
·
·
·
·
·
·
·
·
·ж
·
·
·
·
·
·
·
·
·
·
·
·Ђ
·
·
·
·
·
·
·
·@
·
·
·
·
·†
·
·
·
·
·
·
·C
·
·
·
·°
·
·
·
·!
·
·
·
·
·
·
·
·
·
·°
·Ж
·
·
·
·
·
·
·
·c
·
·F
·
·
·
·
·1
·
·
·
·
·
·Ђ
·
·°
·
·
·
·
·
·@
·
·
·
·’
·
·
·°
·
·
·
·I
·
·
·
·
·
·
·Ђ
·
·
·
·
·
·
·
·@
·
·
·
·
·Ђ
·
·
·
·
·BRoot Entry

Приложенные файлы

  • doc 18006574
    Размер файла: 2 MB Загрузок: 0

Добавить комментарий