- •Часть 2
- •Часть 2
- •Введение
- •Глава 1. Базы данных и системы управления базами данных
- •1.1. Данные и эвм
- •1.2. Концепция баз данных
- •1.3. Архитектура субд
- •1.4. Модели данных
- •1.5. Реляционные базы данных
- •1.6. Системы управления базами данных Access
- •1.7. Объекты Access
- •1.8. Запуск и завершение работы Access
- •1.9. Структура окна Access
- •1.10. Открытие и закрытие бд
- •1.11. Получение справки в Access
- •1.12. Учебные базы данных
- •Глава 2. Построение базы данных
- •2.1. Основные принципы проектирования бд
- •2.2. Создание новой базы данных
- •2.3. Создание таблиц
- •2.3.1. Режим таблицы
- •2.3.2. Режим конструктора таблицы
- •Задание свойства поля
- •Создание ключевого поля
- •Подстановка данных
- •Мастер подстановок
- •Установка свойств таблицы
- •2.3.3. Мастер таблиц
- •2.3.4 Импорт таблиц
- •2.3.5. Связывание таблиц
- •2.4. Сохранение таблицы
- •2.5. Определение связей между таблицами
- •2.5.1. Типы связей между таблицами
- •1. Связь типа «один-ко-многим»
- •2. Связь типа «один-к-одному»
- •3. Связь типа «многие-ко-многим»
- •2.5.2. Создание связей
- •2.6. Модификация бд
- •2.6.1. Операции над таблицами
- •Копирование таблицы
- •Переименование таблицы
- •Удаление таблицы
- •Экспорт таблицы
- •2.6.2 Модификация структуры таблицы
- •Вставка полей
- •Удаление полей
- •Перемещение полей
- •Копирование полей
- •Изменение типа данных и размера поля
- •Глава 3. Работа с таблицей
- •3.1. Ввод данных
- •3.2. Перемещение по таблице
- •3.3. Редактирование данных в таблице
- •Выделение данных в таблице
- •Отмена изменений
- •Использование буфера обмена Windows
- •3.4. Настройка внешнего вида таблицы
- •3.5. Поиск и замена данных
- •3.6. Сортировка и фильтрация данных
- •Глава 4. Выражения в access
- •4.1. Операторы
- •4.1.1. Арифметические операторы
- •4.1.2. Операторы слияния строк (конкатенации)
- •4.1.3. Операторы сравнения
- •Оператор Is
- •Оператор In
- •Оператор Between
- •Оператор Like
- •4.1.4. Логические операторы
- •4.1.5. Операторы идентификации. Идентификаторы
- •Оператор "!"
- •Оператор "."
- •1 В sql и vba для этой цели обычно используется оператор ".".
- •4.2. Константы
- •4.3. Функции
- •4.3.1. Функции для работы с датами
- •4.3.2. Функции для работы со строками
- •4.3.3. Математические функции
- •4.3.4. Статистические функции
- •4.3.5. Статистические функции по подмножеству
- •4.4. Построитель выражений
- •Глава 5. Создание запросов
- •5.1. Общая характеристика запросов
- •5.1.1. Типы запросов в Access
- •5.1.2. Режимы окна запроса
- •5.1.3. Создание запроса
- •Использование мастера Простой запрос
- •Использование режима Конструктор
- •5.2. Работа в окне конструктора запросов
- •5.2.1. Добавление или удаление таблицы/запроса
- •5.2.2. Включение полей в бланк запроса
- •5.2.3. Добавление столбца в бланк запроса
- •5.2.4. Удаление столбца из бланка запроса
- •5.2.5. Перемещение поля в бланке запроса
- •5.2.6. Добавление вычисляемого поля
- •5.2.7. Изменение имени поля в запросе
- •5.2.8. Отображение/скрытие поля в результатах запроса
- •5.2.9. Изменение ширины столбца в бланке запроса
- •5.2.10. Сортировка результатов запроса
- •5.2.11. Вставка или удаление строки условий отбора
- •5.2.12. Установка свойств запроса
- •5.2.13. Установка свойств полей запроса
- •5.3.2. Шаблоны общего вида. Оператор Like
- •5.3.3. Диапазон значений. Операторы And и Between
- •5.3.4. Список значений. Операторы Or и In
- •5.3.5. Отрицание образца. Оператор not
- •5.3.6. Отбор записей с Null значениями и пустыми строками
- •5.3.7. Использование нескольких строк условий
- •5.3.8. Использование вычисляемых полей
- •5.3.9. Использование ссылки на имя поля
- •5.3.10. Использование ссылки на элемент управления
- •5.3.11. Использование параметров в условиях отбора
- •5.3.12 Использование в условиях отбора подчиненного запроса
- •Глава 6. Отчеты
- •6.1. Основные понятия
- •6.2. Создание отчета
- •6.2.1. Создание отчета с помощью Мастера отчетов
- •6.2.2. Создание отчета с помощью Конструктора
- •6.3. Сортировка и группирование
- •6.4. Режимы окна отчета
- •6.5. Печать отчета
- •Глава 7. Работа с внешними данными
- •7.1. Access и внешние данные
- •7.1.1. Типы внешних данных
- •7.1.2. Работа с внешними данными
- •7.2. Импортирование или связывание данных
- •7.3. Связь внешних данных
- •7.4. Импортирование внешних данных
- •7.5. Данные в неподдерживаемых программах
- •7.6. Автоматизация операции импортирования
- •7.7. Связывание внешних данных
- •7.8. Типы субд
- •7.9. Связь с таблицами других баз данных Access
- •7.10. Связь с таблицами бд dBase и FoxPro
- •7.11. Индексы в Access и dBase/FoxPro
- •7.12. Установка связи с таблицами xBase
- •7.14. Индексные файлы Access и Paradox
- •7.15. Связывание с таблицами других форматов
- •7.16. Разделение базы данных Access на две связанные базы данных
- •7.17. Работа со связанными таблицами
- •7.18. Установка режимов просмотра
- •7.19. Установка отношений
- •7.20. Установка связей между внешними таблицами
- •7.21. Использование внешних таблиц в запросах
- •7.22. Изменение имени таблицы
- •7.23. Оптимизация связанных таблиц
- •7.24. Просмотр или изменение информации о связанных таблицах
- •7.25. Импортирование внешних данных
- •7.26. Импортирование других объектов Access
- •7.27. Импортирование таблиц из других бд
- •7.28. Импортирование данных электронной таблицы
- •7.29. Импортирование из файлов текстовых редакторов
- •7.30. Текстовые файлы с разделителями
- •7.31. Текстовые файлы с полями фиксированной ширины
- •7.32. Импортирование текстовых файлов с разделителями
- •7.33. Импортирование текстовых файлов с фиксированной шириной полей
- •7.34. Использование окна спецификации импорта
- •7.35. Импортирование html-таблиц
- •7.36. Ошибки, возникающие при импортировании данных
- •7.37. Таблица ошибок импортирования
- •7.38. Экспорт данных
- •Глава 8. Создание отчетов для презентаций и печать
- •8.1. Технология wysiwyg
- •8.2. Улучшение элементов управления, содержащих текст и надписей
- •8.3. Изменение размера и типа шрифта текста
- •8.4. Добавление тени к тексту
- •8.5. Отображение свойств надписи или поля
- •8.6. Использование многострочных полей
- •8.7. Отображение полей memo в многострочных элементах управления типа Поле (Text Box)
- •8.8. Добавление новых элементов управления
- •8.9. Отображение значений с помощью переключателей и групп переключателей
- •8.10. Создание группы переключателей
- •8.11. Создание группы переключателей с вычисляемым элементом управления
- •Глава 9. Средства защиты данных
- •9.1. Общие свойства
- •9. 2. Рабочие группы
- •9.2.1. Изменение файла рабочей группы
- •9.3. Ограничение доступа в Microsoft Access
- •9.4. Учетные записи
- •9. 5. Изменение прав владения
- •9.6. Присвоение и удаление прав доступа
- •9.7. Шифрование бд
- •3.1. Выполнение задания
- •3.1.1. Разработка структуры бд
- •3.1.2. Создание таблиц
- •3.1.7. Завершение работы с бд
- •3.2. Пример выполнения лабораторной работы
- •Характеристики таблицы-объекта сотрудник:
- •Характеристики таблицы-объекта состав семьи:
- •Характеристики таблицы-объекта штатное расписание:
- •Описание работы
- •Заполнение таблиц
- •Выполнить запрос на выборку
- •Создать параметрический запрос
- •Создание запрос, используемый для создания сложного отчета
- •II Создать сложный отчет, содержащий:
- •Приложение б
- •Литература
- •Часть 2
Заполнение таблиц
Заполнение таблиц целесообразно начинать с таблицы ШТАТНОЕ РАСПИСАНИЕ, так как поле Должн этой таблицы используется в качестве столбца подстановки для заполнения соответствующего поля таблицы СОТРУДНИК.
в окне Базы данных выбрать нужную таблицу;
активировать кнопку Открыть;
на экране появится структура БД в табличном виде;
заполнение производится по записям, т.е. вводится информация для всей строки целиком;
переход к следующему полю осуществляется нажатием клавиши Далее;
при заполнении первой строки следом за ней появится новая пустая строка.
Для заполнения поля МЕМО в таблице СОТРУДНИК нажать комбинацию клавиш SHIFT+F2, предварительно установив курсор в поле МЕМО. После ввода или редактирования данных в этом окне щелкнуть по кнопке ОК.
Для заполнения данными поля Должн в таблице СОТРУДНИК использовать список поля подстановки, раскрывая его щелчком мыши по кнопке раскрытия списка. Выбор нужной должности производится щелчком мыши в соответствующей строке. Аналогично заполняется данными поле Идент код в таблице СОСТАВ СЕМЬИ.
После заполнения таблиц данными установить связь между таблицами:
выбрать команду Сервис - Схема данных или выбрать пиктограмму Схема данных. Появится окно Схема данных, содержащее диалоговое окно Добавление таблицы;
выбрать таблицу СОТРУДНИК, затем активировать кнопку Добавить, для добавления таблицы в окно Схема данных;
повторить действие для каждой таблицы, участвующей в установке связи;
для создания связей между таблицами СОТРУДНИК и СОСТАВ СЕМЬИ поместить поле Идент код из таблицы СОТРУДНИК, на соответствующее поле таблицы СОСТАВ СЕМЬИ, появится диалоговое окно Связи;
для автоматической поддержки целостности БД установить флажок Обеспечение целостности данных;
установить также флажки Каскадное обновление связанных полей и Каскадное удаление связанных полей;
активировать кнопку Создать. В окне Тип отношений будет указан тип один-ко-многим;
соответствующим образом связать таблицы СОТРУДНИК и ШТАТНОЕ РАСПИСАНИЕ, выбрав для связи поле Должн и установив те же флажки;
закрыть окно Связи;
при запросе на сохранeние связи активировать кнопку Да.
В окне БД выбрать таблицу ШТАТНОЕ РАСПИСАНИЕ, открыть ее в режиме Таблицы. Удалить должность «статистик». Открыть таблицы СОТРУДНИК и СОСТАВ СЕМЬИ и убедиться в том, что из таблиц исчез сотрудник, занимавший эту должность, а также сведения о его семье.
Восстановить удаленную информацию во всех таблицах.
Таблица А1. Исходные данные
Идент код |
Фамилия |
Имя |
Отчество |
Пол |
Дата рожд |
1314152347 |
Старченко |
Светлана |
Борисовна |
ж |
22.04.43 |
1545678990 |
Архипов |
Сергей |
Иванович |
м |
23.03.49 |
1624790203 |
Круговой |
Геннадий |
Иванович |
м |
22.04.45 |
1748576413 |
Царева |
Анна |
Николаевна |
ж |
30.07.50 |
1934789231 |
Каменева |
Татьяна |
Дмитриевна |
ж |
24.06.59 |
1955443781 |
Безродный |
Владимир |
Михайлович |
м |
05.09.53 |
2014654788 |
Садчиков |
Аркадий |
Викторович |
м |
10.01.57 |
2055894321 |
Бронзов |
Станислав |
Иванович |
м |
12.11.60 |
2178943214 |
Мапошенко |
Юрий |
Николаевич |
м |
21.11.64 |
2200987654 |
Коваль |
Александра |
Николаевна |
ж |
31.03.65 |
2233668943 |
Строков |
Олег |
Викторович |
м |
05.08.65 |
2314743296 |
Бородулин |
Андрей |
Васильевич |
м |
31.12.69 |
Таблица А2. Таблица-объект СОТРУДНИК
Место рожд-я |
Образов-е |
Должность |
Стаж работы |
Сем. положение |
Дата зач |
Телефон |
г.Киев |
ср.технич. |
статистик |
36 |
замужем |
24.09.95 |
65-12-13 |
г. Одесса |
высш. |
директор |
30 |
женат |
10.12.88 |
нет |
г.Омск |
высшее |
зав.кафедрой |
32 |
вдовец |
01.09.90 |
68-14-13 |
г.Харьков |
высшее |
гл.бухгалтер |
29 |
замужем |
01.01.96 |
47-23-15 |
г.Курск |
высшее |
начальник ОК |
20 |
замужемм |
30.12.90 |
65-67-72 |
г.Измаил |
высшее |
зам. директора |
24 |
женат |
01.09.92 |
32-32-14 |
г.Рени |
ср.технич. |
диспетчер |
21 |
холост |
15.10.98 |
10-12-10 |
г.Лондон |
высшее |
преподаватель |
15 |
женат |
31.08.94 |
23-10-70 |
г.Омск |
высшее |
специалист |
13 |
женат |
31.08.94 |
43-35-13 |
г.Киев |
высшее |
методист |
10 |
замужем |
01.10.92 |
47-67-33 |
г.Осло |
высшее |
преподаватель |
12 |
женат |
10.09.92 |
69-05-03 |
г.Киев |
высшее |
доцент |
8 |
холост |
31.08.95 |
27-14-12 |
Продолжение Таблицы А2. Таблица-объект СОТРУДНИК
Адрес |
ул.Гв.Широнинцев 21,кв.30 |
пер.Хрустальный 8 |
ул.Светлая 14,кв.55 |
ул.Артема 24, кв.1 |
ул.Героев труда 28-Б,кв.76 |
пр.Правды 44, кв.55 |
пер.Короленко 2, кв.1 |
ул. Революции 6, кв.2 |
ул.Пушкинская 54,кв2 |
ул.Иванова 5, кв.2 |
пр. Косиора 162, кв161 |
пр.Гагарина 117, кв.20 |
МЕМО-поле Таблицы СОТРУДНИК
Идент. код |
Отношение |
Фамилия |
Имя |
Отчество |
Дата рожд. |
1314152347 |
отец |
Старченко |
Николай |
Иванович |
12/01/1917 |
1314152347 |
мать |
Старченко |
Людмила |
Яковлевна |
25/12/1920 |
1545678990 |
сын |
Архипов |
Дмитрий |
Сергеевич |
01/091988 |
1748576413 |
муж |
Царев |
Петр |
Алексеевич |
14/11/1948 |
1934789231 |
муж |
Каменев |
Александр |
Иванович |
15/02/1952 |
1955443781 |
дочь |
Безродная |
Алла |
Владимировна |
24/06/1991 |
2014654788 |
мать |
Садчикова |
Мария |
Ивановна |
29/04/1930 |
2055894321 |
дочь |
Бронзова |
Инна |
Станиславовна |
15/12/1998 |
2178943214 |
сын |
Мапошенко |
Игорь |
Юрьевич |
22/06/1992 |
2178943214 |
сын |
Мапошенко |
Владимир |
Юрьевич |
23/08/1995 |
2233668943 |
дочь |
Строкова |
Юлия |
Олеговна |
28/07/1985 |
2233668943 |
дочь |
Строкова |
Наталия |
Олеговна |
14/03/1990 |
Таблица А3. Таблица-объект СОСТАВ СЕМЬИ
Нпп |
Назв. подр. |
Должность |
Кол. ед. |
Оклад |
ФЗПМ |
ФЗПГ |
1 |
Дирекция |
бухгалтер |
2 |
230 |
460 |
5520 |
2 |
Дирекция |
гл.бухгалтер |
1 |
430 |
430 |
5160 |
3 |
Дирекция |
директор |
1 |
530 |
530 |
6360 |
4 |
уч.кафедра |
диспетчер |
1 |
100 |
100 |
1200 |
5 |
уч.кафедра |
доцент |
1 |
500 |
500 |
6000 |
6 |
уч.кафедра |
зав.кафедрой |
1 |
430 |
430 |
5160 |
7 |
Дирекция |
зам.директора |
1 |
500 |
500 |
6000 |
8 |
уч.кафедра |
методист |
2 |
200 |
400 |
4800 |
9 |
Дирекция |
начальник ОК |
1 |
150 |
150 |
1800 |
1800 |
уч.кафедра |
преподаватель |
4 |
350 |
1800 |
21600 |
11 |
уч.кафедра |
статистик |
1 |
100 |
100 |
1200 |
12 |
уч.кафедра |
Специалист |
2 |
150 |
300 |
3600 |
4. Выводы
При выполнении лабораторной работы были изучены следующие вопросы:
создание БД;
создание структуры таблиц;
создание индексных и ключевых полей;
заполнение таблиц;
установка связей между таблицами;
каскадное удаление.
Лабораторная работа № 3
Работа с запросами
1. Цель работы
Получение навыков работы по созданию запросов
2. Темы для предварительного изучения
Назначение запросов, типы запросов, создание запросов на выборку из одной или нескольких таблиц, типы запросов на изменение и технология их разработки.
3. Задание
Создать запрос на выборку информации из основной таблицы, из связанных таблиц, создать параметрический запрос, запрос для выбора информации для создания сложного отчета.
4. Пример выполнения задания
Создание запроса-выборки
Создать запрос, содержащий поля: Идент. код, Фамилия, Имя, Отчество, Дата рождения, включающий только тех сотрудников, фамилии которых начинаются с буквы «С». Список должен быть отсортирован по дате рождения по возрастанию. Для этого необходимо выполнить следующую последовательность действий:
При выбранной вкладке Запросы активировать кнопку Создать. Открывается окно Новый запрос, в котором выбрать режим создания запроса Конструктор, затем – ОК.
Открывается окно Запрос 1: запрос на выборку, а затем активизируется окно Добавление таблицы, в котором выбрать из списка таблиц таблицу Сотрудник щелчком мыши по имени таблицы, а затем активировать кнопку Добавить, после чего закрыть окно Добавление таблицы.
Окно Запрос 1: запрос на выборку, состоит из 2-х частей: В верхней части размещаются выбранные таблицы или запросы, на базе которых строится запрос; В нижней части расположен бланк построения запроса QBE (Query by example - запрос по образцу).
При помощи мыши переместить нужные поля из выбранной таблицы и задать способы сортировки и условия отбора из таблицы. Для этого:
выделить поля для запроса при помощи мыши в комбинации с клавишами Shift или Ctrl и отбуксировать на бланк построения запроса QBE. Поля можно перемещать в бланк QBE и по одному;
в строке Поле поля размещаются по столбцам слева направо;
в строке Имя таблицы отображается имя таблицы, из которой выбрано поле;
в строке Сортировка в столбце поля Дата рождения установить сортировку по возрастанию. Для этого выполнить щелчок мышью в строке Сортировка в столбце поля Дата рождения, при этом появляется кнопка со стрелкой, нажатие на которую раскрывает окно выбора типа сортировки. Выбрать тип сортировки по возрастанию;
в строке Вывод на экран можно отключить вывод поля на экран, убрав флажок для соответствующего поля;
в строке Условие отбора в столбце Фамилия ввести условие Like "C*". Перед вводом буквы С перейти на русский шрифт;
окончательный вид окна конструктора запросов будет иметь вид представленный на рис. А2;
Рис. А2. Вид окна конструктора запросов
закрыть окно конструктора запроса и ввести имя запроса fam_c в ответ на вопрос сохранить изменения или нет. В окне базы данных при выбранной вкладке Запросы появится запрос с именем fam_c.