Similar presentations:
4. БазыДанных (Access)
1. Базы данных (MS Access)
1Базы данных
(MS Access)
Введение
Многотабличные базы данных
Реляционная модель данных
Работа с таблицей
Запросы
Формы
Отчёты
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
2. Таблицы
Базы данных, 11 класс (Access)2
Таблицы
Примеры:
• записная книжка
• каталог в библиотеке
Иванов Пётр
Суворовский пр., д. 32, кв. 11
275-75-75
поля
записи
Фамилия
Иванов
Петров
Васильев
Имя
Петр
Василий
Иван
Типы полей:
• целые числа
• вещественные числа
• денежные суммы
• логические значения
• текстовые данные
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
Адрес
Суворовский пр., д. 32, кв. 11
Кутузовский пр., д. 12, кв. 20
Нахимовский пр., д. 23, кв. 33
Телефон
275-75-75
276-76-76
277-77-77
• время, дата
• произвольные двоичные данные
(рисунки, звук, видео)
http://kpolyakov.spb.ru
3. Ключ
Базы данных, 11 класс (Access)3
Ключ
Ключ – это поле или комбинация полей, однозначно
определяющие запись.
Могут ли эти данные быть ключом?
• фамилия
• имя
• номер паспорта
• номер дома
• регистрационный номер автомобиля
• город проживания
• адрес электронной почты
• дата выполнения работы
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
4. Ключ
Базы данных, 11 класс (Access)4
Ключ
Первичный ключ – это ключ, выбранный в качестве
основного.
Простой ключ – состоит из одного поля.
Составной ключ – состоит из нескольких полей.
Дата
Время
Температура
Влажность
Скорость ветра
21.07.2012
12:00
25
75
4
21.07.2012
15:00
23
70
3
…
…
…
…
…
? Какой ключ?
Составной ключ Дата + Время
Свойства ключа:
• уникальность
• несократимость (Дата + Время)
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
5. Суррогатный ключ
Базы данных, 11 класс (Access)5
Суррогатный ключ
Номер
1
2
3
Фамилия
Иванов
Петров
Васильев
Имя
Петр
Василий
Иван
Адрес
Суворовский пр., д. 32, кв. 11
Кутузовский пр., д. 12, кв. 20
Нахимовский пр., д. 23, кв. 33
? Какой ключ?
Телефон
275-75-75
276-76-76
277-77-77
Суррогатный ключ – это дополнительное поле, которое
служит первичным ключом.
операции с числами выполняются быстрее
уникальность поддерживается СУБД (поле-счётчик)
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
6. Поиск в БД
Базы данных, 11 класс (Access)6
Поиск в БД
Линейный поиск – это перебор всех записей до тех пор,
пока не будет найдена нужная.
Код
1
Фамилия
Сидоров
2
Ветров
…
1024 Померанцев
Иванов?
1024 сравнения!
данные не надо предварительно готовить
низкая скорость поиска
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
7. Двоичный поиск
Базы данных, 11 класс (Access)7
Двоичный поиск
1. Разделить область поиска на
две равные части.
2. Определить, в какой половине
находится нужный объект.
3. Перейти к шагу 1 для этой
половины.
4. Повторять шаги 1-3 пока
объект не будет «пойман».
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
8. Двоичный поиск в БД
Базы данных, 11 класс (Access)8
Двоичный поиск в БД
требует предварительной сортировки.
Иванов?
1
Андреев
1
2
Барсуков
…
…
512
?
255
Ковалев
Андреев
…
Журов
…
…
Игнатьев
383
Ковалев
…
…
512
1023 Юрьев
…
512
1024 Яшин
1024 Яшин
…
Сколько сравнений?
Журов
255
Ковалев
11 сравнений!
быстрый поиск
записи надо отсортировать по нужному полю
можно использовать только для одного поля
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
9. Индексный поиск в БД
Базы данных, 11 класс (Access)9
Индексный поиск в БД
Индекс – это вспомогательная таблица, которая служит
для ускорения поиска в основной таблице.
Номер
1
2
3
Фамилия
Иванов
Петров
Васильев
отсортированы!
Имя
Петр
Василий
Иван
Адрес
Суворовский пр., д. 32, кв. 11
Кутузовский пр., д. 12, кв. 20
Нахимовский пр., д. 23, кв. 33
Фамилия
Васильев
Иванов
Петров
Телефон
275-75-75
276-76-76
277-77-77
Номера записей
3
1
2
двоичный поиск по всем столбцам, для которых
построены индексы
индексы занимают место на диске
при изменении таблицы надо перестраивать все
индексы (в СУБД – автоматически)
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
10. Транзакции
Базы данных, 11 класс (Access)10
Транзакции
Задача: перевести 100 000 рублей
со счета 12345 на счет 54321.
• прочитать сумму на счету 12345
• уменьшить ее на 100 000 рублей
сбой питания!
• прочитать сумму на счету 54321
• увеличить ее на 100 000 рублей
Транзакция – это группа операций, которая
представляет собой одно законченное действие.
Транзакция должна быть выполнена целиком или не
выполнена вообще.
• журналирование
• создание новых записей (помечаются как
действительные после завершения транзакции)
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
11. Целостность БД
Базы данных, 11 класс (Access)11
Целостность БД
Целостность базы данных означает, что она содержит
полную и непротиворечивую информацию и
удовлетворяет всем заданным ограничениям.
Физическая целостность – сохранность данных в случае
отказа оборудования:
• транзакции
• резервное копирование
• RAID-массивы жёстких дисков (дублирование)
Логическая целостность – непротиворечивость:
• типы полей
• обязательные поля
• уникальные индексы
• ограничения на значения
• шаблоны ввода (###) ###-##-##
• условия на несколько полей (увольнение позже приёма)
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
12. Базы данных (MS Access)
12Базы данных
(MS Access)
Многотабличные базы
данных
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
13. Однотабличная БД
Базы данных, 11 класс (Access)13
Однотабличная БД
Альбомы
Код
Название
Группа
Год
Число композиций
1
Реки и мосты
Машина времени
1987
16
2
В круге света
Машина времени
1988
11
3
Группа крови
Кино
1988
11
4
Последний герой Кино
1989
10
? Что плохо?
дублирование данных
при изменении каких-то данных, возможно,
придется менять несколько записей
нет защиты от ошибок ввода (опечаток)
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
14. Многотабличная БД
Базы данных, 11 класс (Access)14
Многотабличная БД
Группы
Код
Название
Год создания
1 Машина времени
1969
2 Кино
1981
Альбомы
Код
Название
Код группы Год Число композиций
1 Реки и мосты
1
1987
16
2 В круге света
1
1988
11
3 Группа крови
2
1988
11
4 Последний герой
2
1989
10
? Что улучшилось?
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
15. Многотабличная БД
Базы данных, 11 класс (Access)15
Многотабличная БД
Группы
Код группы
Название
Год создания
Альбомы
Код
Название
Код группы
Год
Число композиций
Внешний ключ – это неключевое поле таблицы,
связанное с первичным ключом другой таблицы.
убрано дублирование
изменения нужно делать в одном месте
некоторая защита от опечаток (выбор из списка)
усложнение структуры (> 40-50 таблиц – много!)
при поиске нужно «собирать» данные разных таблиц
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
16. Ссылочная целостность
Базы данных, 11 класс (Access)16
Ссылочная целостность
? Удаление группы: что делать с альбомами?
СУБД:
• запретить удаление записи
• выполнить каскадное удаление (удалить все
связанные с ней записи в других таблицах)
• разрешить внести изменения
нарушится ссылочная
целостность!
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
17. Типы связей между таблицами
Базы данных, 11 класс (Access)17
Типы связей между таблицами
ключ
Группы
Код группы
Название
Год создания
1
Альбомы
Код
Название
Код группы
N
Год
не ключ Число композиций
Связь 1:N – с одной записью в первой таблице могут
быть связаны сколько угодно записей во второй
таблице.
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
18. Типы связей между таблицами
Базы данных, 11 класс (Access)18
Типы связей между таблицами
Связь 1:1 – с одной записью в первой таблице связана
ровно одна запись во второй таблице.
Сотрудники
Код
Фамилия
Имя
1 Иванов
Петр
2 Петров
Сидор
3 Сидоров
Иван
Отчество
Сидорович
Иванович
Петрович
Секретно
Код Зарплата
1
20 000 р.
2
30 000 р.
3
40 000 р.
ключ
Сотрудники
Код
Фамилия
Имя
Отчество
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
1
1
ключ
Секретно
Код
Зарплата
http://kpolyakov.spb.ru
19. Типы связей между таблицами
Базы данных, 11 класс (Access)19
Типы связей между таблицами
Заказы
Номер
Дата
N
N
? Может ли быть несколько
Блюда
Код
Название
Цена
одинаковых блюд в заказе?
? Может ли быть одно блюдо в
нескольких заказах?
Связь N:N – с одной записью в первой таблице могут
быть связаны сколько угодно записей во второй
таблице, и наоборот.
в СУБД не
поддерживаются
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
20. Типы связей между таблицами
Базы данных, 11 класс (Access)20
Типы связей между таблицами
Связь N:N
Заказы
Номер
Дата
Заказано
Код
Номер заказа
N Код блюда
1
1
N
Блюда
Код
Название
Цена
Пример:
Заказы
Номер
Дата
1
11.12.23
2
12.12.23
Код
1
2
3
4
5
6
7
Заказано
Номер
Код
заказа
блюда
1
1
1
3
1
4
2
1
2
2
2
2
2
5
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
Блюда
Код Название
1 борщ
2 бифштекс
3 гуляш
4 чай
5 кофе
Цена
80 р.
110 р.
70 р.
10 р.
50 р.
http://kpolyakov.spb.ru
21. Базы данных (MS Access)
21Базы данных
(MS Access)
Реляционная модель
данных
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
22. Математическое описание БД
Базы данных, 11 класс (Access)22
Математическое описание БД
Требуется:
• описание БД, независимое от способа хранения данных
• методы управления этими данными
Эдгар Кодд
Реляционная модель данных (Э. Кодд, 1970):
• все данные – свойства некоторых объектов
• объекты делятся на классы (сущности)
• данные об объекте – набор свойств
кортеж
(атрибутов):
(Название: «Кино», Лидер: «В. Цой»)
• порядок свойств не определён
• отношение (relation) – множество кортежей,
описывающих объекты одного класса
• в отношении нет одинаковых кортежей
• порядок кортежей в отношении не определен
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
23. Реляционные БД
Базы данных, 11 класс (Access)23
Реляционные БД
Реляционная БД – это БД, которая основана на
реляционной модели, то есть представляет собой
набор отношений.
Удобно хранить в виде таблицы:
отношение
Название
Машина времени
Кино
Аквариум
сущность
Группы
Лидер
А. Макаревич
В. Цой
Б. Гребенщиков
атрибуты
Год создания
1969
1981
1972
кортеж
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
24. Реляционные БД
Базы данных, 11 класс (Access)24
Реляционные БД
На языке таблиц:
• каждая таблица описывает один класс объектов
• порядок расположения полей в таблице не имеет значения
• все значения одного поля относятся к одному и тому же
типу данных
• в таблице нет двух одинаковых записей
• порядок записей в таблице не определён
Реляционная БД – это база данных, которая
представлена в виде набора таблиц и управляется с
помощью языка SQL.
SQL: обращение к данным по названиям таблиц (отношений)
и полей (атрибутов).
Основные операции:
• создание и удаление таблиц
• добавление, изменение и удаление записей
• выборка данных
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
25. Базы данных (MS Access)
25Базы данных
(MS Access)
Нормализация БД
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
26. Нормализация
Базы данных, 11 класс (Access)26
Нормализация
Рейс
ZX 001
ZX 002
ZX 003
От
До
Москва
Москва
Санкт-Петербург
Берлин
Санкт-Петербург
Берлин
? Что плохо?
Самолет
Boeing 737
Airbus A321
Boeing 737
Дата
11.12. 2022
12.12. 2022
13.12. 2022
! Есть дублирование!
Нормализация – это изменение структуры базы данных,
которое устраняет избыточность и предотвращает
возможные нарушения целостности.
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
27. Нормализация на примерах
Базы данных, 11 класс (Access)27
Нормализация на примерах
1. Любое поле должно быть неделимым:
Сотрудник
Иванов Петр Сидорович
Петров Сидор Иванович
Телефоны
123-45-67, (901) 111-22-33
345-67-89, (902) 222-33-44
? Что плохо?
Фамилия
Имя
Отчество
Телефон-Дом
Телефон-Моб
Иванов
Петр
Сидорович
123-45-67
(901) 111-22-33
Петров
Сидор
Иванович
345-67-89
(902) 222-33-44
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
28. Нормализация на примерах
Базы данных, 11 класс (Access)28
Нормализация на примерах
2. Любое неключевое поле должно зависеть от ключа:
Номер
Автомобиль
Владелец
Телефон
А123АА47
«Лада-Калина»
Иванов
155-77-23
Т234ТТ78
«Ока»
Петров
277-34-67
В345ВВ98
«Мерседес»
Васильев
322-98-44
А345CC47
«Ауди»
Иванов
155-77-23
? Что плохо?
Номер
А123АА47
Автомобили
Автомобиль
«Лада-Калина»
Б234ББ78
«Ока»
2
2
Петров
277-34-67
В345ВВ98
«Мерседес»
3
3
Васильев
322-98-44
А345CC47
«Ауди»
1
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
N
Владельцы
Код Фамилия
Телефон
1
Иванов
155-77-23
1
Владелец
1
http://kpolyakov.spb.ru
29. Нормализация на примерах
Базы данных, 11 класс (Access)29
Нормализация на примерах
3. Не должно быть одинаковых по смыслу полей:
Дата
21.05.2013
22.05.2013
23.05.2013
Бананы
120
153
87
Апельсины
78
99
55
плохо? новый товар!
! Проблема:
? Что добавить
Продажи N
Код
Дата
Товар
1 21.05.2022
1
2 21.05.2022
2
3 21.05.2022
3
4 22.05.2022
1
…
…
…
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
Продано
120
78
101
153
…
Яблоки
101
65
123
1 Товары
Код
Название
1 Бананы
2 Апельсины
3 Яблоки
http://kpolyakov.spb.ru
30. Нормализация на примерах
Базы данных, 11 класс (Access)30
Нормализация на примерах
4. Не нужно хранить то, что может быть вычислено:
Дата
03.2022
02.2022
01.2022
Доходы
155
178
194
Расходы
128
105
159
Дата
03.2022
02.2022
01.2022
Доходы
155
178
194
Расходы
128
105
159
можно вычислить!
Что плохо?
! ?Прибыль
Прибыль
27
73
35
прибыль вычисляется
через запрос!
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
31. Нормализация: «за» и «против»
Базы данных, 11 класс (Access)31
Нормализация: «за» и «против»
устранено дублирование
все изменения делаются в одном месте
некоторая защита от опечаток (выбор из списка)
СУБД поддерживает ссылочную целостность
усложнение структуры (> 40-50 таблиц – много!)
замедляется поиск (нужно «собирать» данные из
разных таблиц)
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
32. Базы данных (MS Access)
32Базы данных
(MS Access)
Работа с таблицей
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
33. Базы данных Microsoft Access
Базы данных, 11 класс (Access)33
Базы данных Microsoft Access
Файлы *.accdb, *.mdb
• таблицы с данными
• формы – диалоговые окна, с помощью которых
пользователь вводит и изменяет данные
• запросы – команды по управлению данными
• отчеты – шаблоны документов для вывода на печать
• макросы – средства автоматизации работы
• модули – программы на языке Visual Basic
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
34. Базы данных Microsoft Access
Базы данных, 11 класс (Access)34
Базы данных Microsoft Access
Пуск – Программы – Microsoft Office –
Microsoft Access
создание
новой базы
данных
открыть базу с
диска
шаблоны
последние
документы
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
35. Таблица
Базы данных, 11 класс (Access)35
Таблица
область
2xЛКМ
выделения
поля
текущее
поле
текущая
запись
записи
номер текущей
записи
новая
запись
на 1-ую
запись
предыдущая
запись
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
последняя
последня
запись
я запись
следующая
запись
новая
запись
http://kpolyakov.spb.ru
36. Поиск и сортировка
Базы данных, 11 класс (Access)36
Поиск и сортировка
Поиск и замена:
текущее поле
или все поля
целиком,
с любой частью,
с началом
всё, вверх, вниз
Сортировка по текущему полю (столбцу):
по возрастанию
по убыванию
сброс
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
37. Фильтрация
Базы данных, 11 класс (Access)37
Фильтрация
Фильтр – это условие для отбора записей.
! Остальные записи временно скрываются!
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
38. Фильтрация
Базы данных, 11 класс (Access)38
Фильтрация
Фильтр – это условие для отбора записей.
! Остальные записи временно скрываются!
быстрый фильтр (фильтр по выделенному)
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
39. Сложные фильтры
Базы данных, 11 класс (Access)39
Сложные фильтры
Сложные условия
одновременно
(операция И)
точное
совпадение
начинается
с буквы «С»
новое условие,
связанное через ИЛИ
применить/сбросить фильтр
Расширенный фильтр – можно
• переставлять столбцы
• выводить не все столбцы
• устанавливать порядок сортировки
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
40. Фильтрация
Базы данных, 11 класс (Access)40
Фильтрация
с таблицей хранится только один фильтр
не все условия можно записать
! Для сложных случаев – запросы!
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
41. Задача
Базы данных, 11 класс (Access)41
Задача
Фамилия
Пол Математика
Сомов
Кротов
Белочкина
Окунев
Судакова
Щукина
м
м
ж
м
ж
ж
75
83
55
75
68
76
Русский
язык
65
75
92
68
70
58
Химия
70
59
64
72
56
78
Информатика
90
87
65
70
58
80
Биология
58
60
86
56
60
85
Сколько записей будет отобрано:
а)Пол = 'ж' AND Химия > Биология
б)Пол = 'ж' OR Химия > Биология
в)Пол = 'м' AND Математика > Информатика
г)Пол = 'м' OR Математика > Информатика
д)Пол = 'ж' AND Русский язык > 70 OR Информатика > 80
е)Пол = 'ж' OR Русский язык > 70 AND Информатика > 80
ж)Пол = 'м' AND Информатика > 80 OR Русский язык > 60
з)Пол = 'м' OR Информатика > 80 AND Русский язык > 60
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
42. Однотабличная БД
Базы данных, 11 класс (Access)42
Однотабличная БД
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
43. Создание таблицы
Базы данных, 11 класс (Access)43
Создание таблицы
2xЛКМ
поле-счетчик
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
ввод
значения
http://kpolyakov.spb.ru
44. Конструктор таблицы
Базы данных, 11 класс (Access)44
Конструктор таблицы
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
45. Конструктор таблицы
Базы данных, 11 класс (Access)45
Конструктор таблицы
ключ
ПКМ
текущее
поле
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
тип поля (выбор
из списка)
свойства
текущего поля
http://kpolyakov.spb.ru
46. Типы полей
Базы данных, 11 класс (Access)46
Типы полей
? Зачем нужны типы полей?
• Текстовый
• Поле MEMO (многострочный текст)
• Числовой
• Денежный
• Поле объекта OLE (рисунок, звук, видео)
• Логический
• Дата / Время
• Счётчик (номер записи)
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
47. Свойства полей
Базы данных, 11 класс (Access)47
Свойства полей
Размер поля: байт, целое, вещественное, …
Формат поля: как выводить на экран.
Маска ввода: шаблон (ввод телефона).
Подпись: как называется столбец при выводе на экран;
можно использовать скобки, знаки и т.д.
(«Население, млн. чел.»)
Значение по умолчанию (вписывается автоматически).
Условие на значение: защита от ошибок ввода («>18»).
Сообщение об ошибке
(«Возраст должен быть > 18 лет!»)
Обязательное поле (да/нет)
Индексированное поле (да/нет)
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
48. Конструктор таблицы
Базы данных, 11 класс (Access)48
Конструктор таблицы
режим
таблицы
сделать поле
ключевым
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
изменить
индексы
http://kpolyakov.spb.ru
49. Индексы
Базы данных, 11 класс (Access)49
Индексы
ПКМ
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
50. Многотабличная БД
Базы данных, 11 класс (Access)50
Многотабличная БД
Заказы
Номер
Дата
Заказано
Код
Номер заказа
N Код блюда
1
1
N
Блюда
Код
Название
Цена
Пример:
Заказы
Номер
Дата
1
11.12.22
2
12.12.22
Код
1
2
3
4
5
6
7
Заказано
Номер
Код
заказа
блюда
1
1
1
3
1
4
2
1
2
2
2
2
2
5
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
Блюда
Код Название
1 борщ
2 бифштекс
3 гуляш
4 чай
5 кофе
Цена
80 р.
110 р.
70 р.
10 р.
50 р.
http://kpolyakov.spb.ru
51. Создание таблиц
Базы данных, 11 класс (Access)51
Создание таблиц
Заказы
Номер
Дата
Блюда
Код
Название
Цена
Заказано
Код
Номер заказа
Код блюда
Денежный
Числовой
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
52. Установка связей между таблицами
Базы данных, 11 класс (Access)52
Установка связей между таблицами
Работа с базами данных – Схема данных
добавить
все
перетащить
ЛКМ
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
53. Заполнение таблиц
Базы данных, 11 класс (Access)53
Заполнение таблиц
Заказы
Номер
Дата
1
11.04.13
2
12.04.13
3
12.04.13
Код
1
2
3
4
5
6
7
8
8
Заказано
Номер
Код
заказа
блюда
1
1
1
3
1
4
2
1
2
2
2
2
2
5
3
1
3
5
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
Блюда
Код Название
1 борщ
2 бифштекс
3 гуляш
4 чай
5 кофе
Цена
80 р.
110 р.
70 р.
10 р.
50 р.
http://kpolyakov.spb.ru
54. Базы данных (MS Access)
54Базы данных
(MS Access)
Запросы
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
55. Что такое запрос?
Базы данных, 11 класс (Access)55
Что такое запрос?
Запрос – это обращение к СУБД для отбора записей или
выполнения других операций с данными.
• выборка данных
• создание таблиц
• редактирование таблиц и записей
• изменение записей
• удаление записей
• удаление таблиц
SQL (англ. Structured Query Language – язык
структурных запросов).
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
56. Конструктор запросов
Базы данных, 11 класс (Access)56
Конструктор запросов
ЛКМ
ЛКМ
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
57. Конструктор запросов
Базы данных, 11 класс (Access)57
Конструктор запросов
выполнить (F5)
все поля
перетащить ЛКМ
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
58. Режим SQL
Базы данных, 11 класс (Access)58
Режим SQL
выбрать
SELECT Футбол.Команда, Футбол.Победы, Футбол.Зарплата
FROM Футбол;
из таблицы
ЛКМ
ЛКМ
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
59. Сортировка
Базы данных, 11 класс (Access)59
Сортировка
Сортировка
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
60. Запуск запроса
Базы данных, 11 класс (Access)60
Запуск запроса
2×ЛКМ
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
61. Изменение запроса
Базы данных, 11 класс (Access)61
Изменение запроса
ПКМ
ЛКМ
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
62. Условия отбора
Базы данных, 11 класс (Access)62
Условия отбора
Условие отбора
SELECT Футбол.Команда, Футбол.Победы, Футбол.Зарплата
FROM Футбол
WHERE Футбол.Победы>10;
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
63. Сложные условия
Базы данных, 11 класс (Access)63
Сложные условия
И
SELECT Футбол.Команда, Футбол.Победы, Футбол.Зарплата
FROM Футбол
WHERE Футбол.Победы>10 AND Футбол.Зарплата>18000;
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
64. Сложные условия
Базы данных, 11 класс (Access)64
Сложные условия
SELECT Футбол.Команда, Футбол.Победы, Футбол.Зарплата
FROM Футбол
WHERE Футбол.Победы>10 OR Футбол.Зарплата>18000;
ИЛИ
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
65. Шаблоны
Базы данных, 11 класс (Access)65
Шаблоны
условие с
шаблоном
SELECT Футбол.Команда, Футбол.Победы, Футбол.Зарплата
FROM Футбол
WHERE Футбол.Команда LIKE "К*";
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
66. Запросы с параметрами
Базы данных, 11 класс (Access)66
Запросы с параметрами
Параметры – это данные, которые пользователь вводит
при выполнении запроса.
параметр
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
67. Вычисляемые поля
Базы данных, 11 класс (Access)67
Вычисляемые поля
Очки = Ничьи + 3*Победы
вычисляемое
поле
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
68. Вычисляемые поля (SQL)
Базы данных, 11 класс (Access)68
Вычисляемые поля (SQL)
Очки = Ничьи + 3*Победы
вычисляемое
поле
SELECT Футбол.Команда, Футбол.Победы, Футбол.Зарплата,
[Ничьи]+3*[Победы] AS Очки
FROM Футбол;
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
69. Другие типы запросов
Базы данных, 11 класс (Access)69
Другие типы запросов
1) Создать пустой запрос.
2) Перейти в режим SQL.
3)
UPDATE Футбол
SET Зарплата = 2*Зарплата
WHERE Ничьи + 3*Победы > 40;
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
70. Запрос данных из нескольких таблиц
Базы данных, 11 класс (Access)70
Запрос данных из нескольких таблиц
Заказы
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
Блюда
http://kpolyakov.spb.ru
71. Запрос данных из нескольких таблиц
Базы данных, 11 класс (Access)71
Запрос данных из нескольких таблиц
ЛКМ
добавить
все
? Зачем добавлять все таблицы?
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
72. Запрос данных из нескольких таблиц
Базы данных, 11 класс (Access)72
Запрос данных из нескольких таблиц
перетащить
нужные поля
ПКМ – Свойства
Подпись: Блюдо
ПКМ – Свойства
Подпись: Заказ
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
73. Базы данных (MS Access)
73Базы данных
(MS Access)
Формы
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
74. Формы
Базы данных, 11 класс (Access)74
Формы
Форма – это диалоговое
окно, с помощью
которого пользователь
• просматривает
• изменяет
• добавляет
• удаляет
данные из базы.
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
75. Создание формы
Базы данных, 11 класс (Access)75
Создание формы
разные способы
создания форм
источник
данных
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
76. Форма на одну запись
Базы данных, 11 класс (Access)76
Форма на одну запись
переход по
записям
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
77. Ленточная форма
Базы данных, 11 класс (Access)77
Ленточная форма
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
78. Разделенная форма
Базы данных, 11 класс (Access)78
Разделенная форма
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
79. Режимы работы с формами
Базы данных, 11 класс (Access)79
Режимы работы с формами
Режим формы – просмотр и
редактирование данных.
Режим макета – просмотр данных,
изменение оформления,
перемещение элементов.
Конструктор – изменение структуры и
оформления, добавление новых
элементов, …
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
80. Конструктор форм
Базы данных, 11 класс (Access)80
Конструктор форм
заголовок
формы
изменение
размеров
область
данных
примечание
формы
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
81. Свойства формы и ее элементов
Базы данных, 11 класс (Access)81
Свойства формы и ее элементов
или ПКМ – Свойства
выбор
элемента
Макет = оформление
Данные: источник
(таблица или
запрос), фильтр,
сортировка
События:
• клавиши, мышь
• открытие, закрытие
• изменение записи
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
82. Некоторые свойства формы (Макет)
Базы данных, 11 класс (Access)82
Некоторые свойства формы (Макет)
область
выделения
(да/нет)
подпись
изменяемая
граница
(да/нет)
кнопки перехода
(да/нет)
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
83. Свойства элементов
Базы данных, 11 класс (Access)83
Свойства элементов
Макет
• размеры
• оформление
• полосы прокрутки
Данные:
• название поля таблицы
• маска ввода (телефон)
• значение по умолчанию
• условие на значение
• сообщение об ошибке
События:
• клавиши, мышь
• изменение значения
Другие:
• всплывающая подсказка
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
84. Связанные элементы
Базы данных, 11 класс (Access)84
Связанные элементы
надпись (текст
можно менять)
независимое
перемещение
поле (название
поля таблицы)
щелкнуть
внутри, чтобы
изменить текст
щелкнуть на
рамке, чтобы
выделить
элемент
маркеры
(изменение
размеров)
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
85. Группировка по столбцам (Макет)
Базы данных, 11 класс (Access)85
Группировка по столбцам (Макет)
переместить
весь столбец
общая
граница
«Оторвать» от столбца: ПКМ – Макет – Удалить
Создать новый столбец: ПКМ – Макет – Столбец
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
86. Оформление элементов
Базы данных, 11 класс (Access)86
Оформление элементов
Выделение элементов:
• ЛКМ на рамке элемента
• + Shift = выделить несколько элементов
условное
форматирование
толщина, стиль и цвет
контура
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
87. Добавление новых полей
Базы данных, 11 класс (Access)87
Добавление новых полей
перетащить
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
88. Добавление новых элементов
Базы данных, 11 класс (Access)88
Добавление новых элементов
Рисунок
Свободная рамка объекта (объект редактируется)
Гиперссылка
Присоединенная рамка объекта (объект из базы)
Подчиненная форма
Разрыв страницы
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
89. Кнопочные формы
Базы данных, 11 класс (Access)89
Кнопочные формы
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
90. Связать кнопку с действием
Базы данных, 11 класс (Access)90
Связать кнопку с действием
Макрос (макрокоманда) – это подпрограмма для
автоматизации действий пользователя.
Microsoft Office: Visual Basic for Applications (VBA)
ЛКМ
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
91. Базы данных (MS Access)
91Базы данных
(MS Access)
Отчёты
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
92. Что такое отчёт?
Базы данных, 11 класс (Access)92
Что такое отчёт?
Отчет – это документ, предназначенный для вывода
данных на печать.
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
93. Создание отчёта
Базы данных, 11 класс (Access)93
Создание отчёта
простой отчет
пустой отчет
конструктор
мастер отчетов
Источник данных – таблица или запрос, несколько
связанных таблиц/запросов (мастер).
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
94. Простой отчёт
Базы данных, 11 класс (Access)94
Простой отчёт
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
95. Режимы работы с отчётом
Базы данных, 11 класс (Access)95
Режимы работы с отчётом
Представление отчета
(без разбивки на страницы)
Предварительный просмотр
(как на печати, по страницам)
Режим макета (можно менять
оформление)
Конструктор (добавление новых
элементов)
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
96. Предварительный просмотр
Базы данных, 11 класс (Access)96
Предварительный просмотр
на печать
готовые варианты
размер бумаги
ручная настройка
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
97. Конструктор отчётов
Базы данных, 11 класс (Access)97
Конструктор отчётов
=Date()
=Time()
="Страница " & [Page] & " из " & [Pages]
Заголовок отчета
– один раз в начале отчета.
Верхний колонтитул – в начале каждой страницы.
Область данных
– информация из БД.
Нижний колонтитул – в конце каждой страницы.
Примечание отчета – один раз в конце отчета.
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
98. Редактирование отчётов
Базы данных, 11 класс (Access)98
Редактирование отчётов
Так же, как в конструкторе форм:
ЛКМ – выделить элемент
– свойства выбранного
элемента
Добавление элементов:
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru
99. Отчёт с группировкой
Базы данных, 11 класс (Access)99
Отчёт с группировкой
Запрос Заказы
группировка
по номеру
заказа
группировка
по дате
К.Ю. Поляков, Е.А. Ерёмин, 2018-2019
http://kpolyakov.spb.ru