Базы данных�(MS Access)
§ 13. Введение
§ 14. Многотабличные базы данных
§ 15. Реляционная модель данных
§ 16. Работа с таблицей
§ 17. Запросы
§ 18. Формы
§ 19. Отчёты
§ 20. Нереляционные базы данных
§ 21. Экспертные системы
1
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Базы данных �(MS Access)
§ 13. Введение
2
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Что такое информационная система?
3
Информационная система (ИС) в широком смысле — это аппаратные и программные средства, предназначенные для того, чтобы своевременно обеспечить пользователей нужной информацией.
Задачи:
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
БД и СУБД
4
База данных (БД) — это специальным образом организованная совокупность данных о некоторой предметной области, хранящаяся во внешней памяти компьютера.
Система управления базой данных (СУБД) — это программные средства, которые позволяют выполнять все необходимые операции с базой данных.
БД + СУБД = информационная система
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
БД и СУБД
5
Задачи СУБД:
БД
СУБД
прикладная программа
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Классификация ИС
6
ИС
локальные
удалённые
БД и СУБД на компьютере �пользователя
БД на удалённом компьютере �(в сети)
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Как хранить данные?
7
БД:
метаданные | данные |
«данные о данных»
Иванов;Иван;Петрович;1968;«Audi»;20 000 р.
Петров;Пётр;Иванович;1975;«Лада»;30 000 р.
Сидоров;Семён;Иванович;1975;«Нива»;15 000 р.
Что плохо?
?
нет переносимости (БД можно использовать только с этой программой)
Переносимость – это возможность использовать БД в других информационных системах.
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Файл-серверные СУБД
8
сервер
рабочие станции
БД
СУБД
СУБД
Решение – перенести СУБД на сервер!
!
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Клиент-серверные СУБД
9
сервер
рабочие станции (клиенты)
БД
СУБД
прикладная
программа
прикладная
программа
запрос
ответ
Задачи клиента:
Задачи сервера:
SQL = Structured Query Language – язык структурных запросов для управления данными
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Клиент-серверные СУБД
10
MS SQL Server
Firebird (www.firebirdsql.org)
PostgreSQL (wwwwww.www.postgresqlwww.postgresql.www.postgresql.org)
бесплатно!
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Транзакции
11
Транзакция – это группа операций, которая представляет собой одно законченное действие. Транзакция должна быть выполнена целиком или не выполнена вообще.
Задача: перевести 100 000 рублей � со счета 12345 на счет 54321.
сбой питания!
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Таблицы
12
Фамилия | Имя | Адрес | Телефон |
Иванов | Петр | Суворовский пр., д. 32, кв. 11 | 275-75-75 |
Петров | Василий | Кутузовский пр., д. 12, кв. 20 | 276-76-76 |
Васильев | Иван | Нахимовский пр., д. 23, кв. 33 | 277-77-77 |
Примеры:
Иванов Пётр�Суворовский пр., д. 32, кв. 11
275-75-75
поля
записи
Типы полей:
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Ключ
13
Ключ – это поле или комбинация полей, однозначно определяющие запись.
Могут ли эти данные быть ключом?
?
Может ли быть несколько ключей в таблице?
?
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Ключ
14
Первичный ключ – это ключ, выбранный в качестве основного.
Простой ключ – состоит из одного поля.
Составной ключ – состоит из нескольких полей.
Дата | Время | Температура | Влажность | Скорость ветра |
21.07.2012 | 12:00 | 25 | 75 | 4 |
21.07.2012 | 15:00 | 23 | 70 | 3 |
… | … | … | … | … |
Составной ключ ← Дата + Время
Какой ключ?
?
Свойства ключа:
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Суррогатный ключ
15
Номер | Фамилия | Имя | Адрес | Телефон |
1 | Иванов | Петр | Суворовский пр., д. 32, кв. 11 | 275-75-75 |
2 | Петров | Василий | Кутузовский пр., д. 12, кв. 20 | 276-76-76 |
3 | Васильев | Иван | Нахимовский пр., д. 23, кв. 33 | 277-77-77 |
Какой ключ?
?
Суррогатный ключ – это дополнительное поле, которое служит первичным ключом.
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Поиск в БД
16
Линейный поиск – это перебор всех записей до тех пор, пока не будет найдена нужная.
Код | Фамилия |
1 | Сидоров |
2 | Ветров |
… | |
1024 | Померанцев |
Иванов?
1024 сравнения!
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Двоичный поиск
17
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Двоичный поиск в БД
18
1 | Андреев |
2 | Барсуков |
… | |
512 | Ковалев |
… | |
1023 | Юрьев |
1024 | Яшин |
требует предварительной сортировки.
Иванов?
1 | Андреев |
… | |
255 | Журов |
… | |
512 | Ковалев |
… | |
1024 | Яшин |
… | |
255 | Журов |
… | |
383 | Игнатьев |
… | |
512 | Ковалев |
… | |
Сколько сравнений?
?
11 сравнений!
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Индексный поиск в БД
19
Индекс – это вспомогательная таблица, которая служит для ускорения поиска в основной таблице.
Фамилия | Номера записей |
Васильев | 3 |
Иванов | 1 |
Петров | 2 |
Номер | Фамилия | Имя | Адрес | Телефон |
1 | Иванов | Петр | Суворовский пр., д. 32, кв. 11 | 275-75-75 |
2 | Петров | Василий | Кутузовский пр., д. 12, кв. 20 | 276-76-76 |
3 | Васильев | Иван | Нахимовский пр., д. 23, кв. 33 | 277-77-77 |
отсортированы!
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Целостность БД
20
Целостность базы данных означает, что она содержит полную и непротиворечивую информацию и удовлетворяет всем заданным ограничениям.
Физическая целостность – сохранность данных в случае отказа оборудования:
Логическая целостность – непротиворечивость:
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Задача
21
Постройте индексы по всем полям:
Номер | Дата | Заказ | Товар | Количество, т |
1 | 12.09.13 | 12 | Ананасы | 12 |
2 | 12.09.13 | 13 | Апельсины | 12 |
3 | 13.09.13 | 14 | Ананасы | 15 |
4 | 13.09.13 | 14 | Бананы | 13 |
5 | 13.09.13 | 15 | Апельсины | 11 |
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Базы данных �(MS Access)
§ 14. Многотабличные базы данных
22
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Однотабличная БД
23
Альбомы | ||||
Код | Название | Группа | Год | Число композиций |
1 | Реки и мосты | Машина времени | 1987 | 16 |
2 | В круге света | Машина времени | 1988 | 11 |
3 | Группа крови | Кино | 1988 | 11 |
4 | Последний герой | Кино | 1989 | 10 |
Что плохо?
?
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Многотабличная БД
24
Группы | ||
Код | Название | Год создания |
1 | Машина времени | 1969 |
2 | Кино | 1981 |
Альбомы | ||||
Код | Название | Код группы | Год | Число композиций |
1 | Реки и мосты | 1 | 1987 | 16 |
2 | В круге света | 1 | 1988 | 11 |
3 | Группа крови | 2 | 1988 | 11 |
4 | Последний герой | 2 | 1989 | 10 |
Что улучшилось?
?
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Многотабличная БД
25
Группы |
Код |
Название |
Год создания |
Альбомы |
Код |
Название |
Код группы |
Год |
Число композиций |
Внешний ключ – это неключевое поле таблицы, связанное с первичным ключом другой таблицы.
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Ссылочная целостность
26
Удаление группы: что делать с альбомами?
?
нарушится ссылочная целостность!
СУБД:
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Типы связей между таблицами
27
Группы |
Код |
Название |
Год создания |
Альбомы |
Код |
Название |
Код группы |
Год |
Число композиций |
1
N
Связь 1:N – с одной записью в первой таблице могут быть связаны сколько угодно записей во второй таблице.
ключ
не ключ
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Типы связей между таблицами
28
Связь 1:1 – с одной записью в первой таблице связана ровно одна запись во второй таблице.
ключ
Сотрудники | | Секретно | ||||
Код | Фамилия | Имя | Отчество | | Код | Зарплата |
1 | Иванов | Петр | Сидорович | 1 | 20 000 р. | |
2 | Петров | Сидор | Иванович | 2 | 30 000 р. | |
3 | Сидоров | Иван | Петрович | 3 | 40 000 р. | |
Сотрудники |
Код |
Фамилия |
Имя |
Отчество |
Секретно |
Код |
Зарплата |
1
1
ключ
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Типы связей между таблицами
29
Заказы |
Номер |
Дата |
Блюда |
Код |
Название |
Цена |
N
N
Может ли быть несколько одинаковых блюд в заказе?
?
Может ли быть одно блюдо в нескольких заказах?
?
Связь N:N – с одной записью в первой таблице могут быть связаны сколько угодно записей во второй таблице, и наоборот.
в СУБД не поддерживаются
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Типы связей между таблицами
30
Заказы |
Номер |
Дата |
Заказано |
Код |
Номер заказа |
Код блюда |
Блюда |
Код |
Название |
Цена |
N
1
Связь N:N
N
1
Пример:
Заказы | |
Номер | Дата |
1 | 11.12.12 |
2 | 12.12.12 |
Заказано | ||
Код | Номер заказа | Код блюда |
1 | 1 | 1 |
2 | 1 | 3 |
3 | 1 | 4 |
4 | 2 | 1 |
5 | 2 | 2 |
6 | 2 | 2 |
7 | 2 | 5 |
Блюда | ||
Код | Название | Цена |
1 | борщ | 80 р. |
2 | бифштекс | 110 р. |
3 | гуляш | 70 р. |
4 | чай | 10 р. |
5 | кофе | 50 р. |
Состав заказов?
?
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Задачи
31
Сколько заказчиков располагаются в Перми?
Заказчики | | Города | |||
Код | Название | Код города | | Код | Название |
1 | ООО «Альфа» | 3 | | 1 | Москва |
2 | ЗАО «Бета» | 2 | | 2 | Санкт-Петербург |
3 | ООО «Гамма» | 3 | | 3 | Пермь |
4 | ОАО «Дельта» | 2 | | 4 | Воронеж |
5 | ООО «Каппа» | 1 | | 5 | Липецк |
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Задачи
32
Заказчики | | Города | |||
Код | Название | Код города | | Код | Название |
1 | ООО «Альфа» | 3 | | 1 | Москва |
2 | ЗАО «Бета» | 2 | | 2 | Санкт-Петербург |
3 | ООО «Гамма» | 3 | | 3 | Пермь |
4 | ОАО «Дельта» | 2 | | 4 | Воронеж |
5 | ООО «Каппа» | 1 | | 5 | Липецк |
Заказы | |||
Накладная | Код заказчика | Артикул | Кол-во упаковок |
1011 | 3 | 7576 | 10 |
1012 | 5 | 7576 | 20 |
1013 | 4 | 3889 | 25 |
1014 | 1 | 7825 | 30 |
1015 | 3 | 7576 | 10 |
Товары | ||
Артикул | Название | Цена за упаковку |
7576 | Бумага | 150 руб. |
2325 | Карандаши | 200 руб. |
3889 | Фломастеры | 350 руб. |
2987 | Дневники | 400 руб. |
7825 | Пеналы | 250 руб. |
Определите:
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Задачи
33
Персоны | ||
Код | ФИО | Пол |
71 | Иванов Т.М. | М |
85 | Пановко И.Т. | М |
13 | Черненко И.А. | Ж |
42 | Пановко А.И. | Ж |
23 | Иванова А.И. | Ж |
96 | Пановко Н.Н. | Ж |
82 | Черненко А.Н. | M |
95 | Фукс Т.Н. | Ж |
10 | Фукс Н.А. | М |
… | … | … |
Дети | |
Код родителя | Код ребенка |
23 | 71 |
13 | 23 |
85 | 23 |
82 | 13 |
95 | 13 |
85 | 42 |
82 | 10 |
95 | 10 |
… | … |
Определить фамилию и инициалы
а) бабушки А.И.Ивановой
б) родного брата И.А. Черненко
в) прадеда Т.М. Иванова
г) внука И.Т. Пановко
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Задачи
34
Персоны | ||
Код | ФИО | Пол |
86 | Сизых И.Т. | М |
83 | Сизых А.И. | М |
50 | Малых А.Т. | Ж |
79 | Сидоров Т.М. | М |
23 | Сидоров А.Т. | М |
13 | Малых И.И. | Ж |
98 | Симоняк Т.Н. | Ж |
11 | Симоняк Н.И. | М |
… | … | … |
Дети | |
Код родителя | Код ребенка |
98 | 83 |
86 | 13 |
79 | 50 |
86 | 83 |
13 | 50 |
79 | 23 |
13 | 23 |
98 | 13 |
86 | 11 |
… | … |
Определить фамилию и инициалы
а) племянника Н.И. Симоняка
б) всех родных братьев и сестёр Н.И. Симоняка
в) бабушки А.Т. Малых
г) дедушки А.Т. Сидорова
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Задачи
35
Персоны | ||
Код | ФИО | Пол |
11 | Косарева Л.П. | Ж |
12 | Левитин И.А. | М |
24 | Шумахер А.Ф. | Ж |
45 | Бланш А.А. | М |
56 | Васильева М.А. | Ж |
83 | Левитин Б.И. | М |
94 | Левитина В.И. | Ж |
115 | Кузнецов А.П. | М |
140 | Левитина Р.Б. | Ж |
162 | Левитин Л.Б. | М |
171 | Гайдарова З.Н. | Ж |
186 | Мурина С.А. | Ж |
201 | Кузнецов П.А. | М |
… | … | … |
Дети | |
Код родителя | Код ребенка |
11 | 83 |
11 | 94 |
12 | 83 |
12 | 94 |
24 | 115 |
56 | 140 |
56 | 162 |
83 | 140 |
83 | 162 |
94 | 186 |
94 | 201 |
115 | 186 |
115 | 201 |
… | … |
Определить фамилию и инициалы
а) всех внуков и внучек И.А. Левитина;
б) родной сестры П.А. Кузнецова;
в) родного брата С.А. Муриной;
г) бабушки Р.Б. Левитиной.
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Базы данных �(MS Access)
§ 15. Реляционная модель данных
36
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Математическое описание БД
37
Требуется:
Эдгар Кодд
Реляционная модель данных (Э. Кодд, 1970):
(Название: «Кино», Лидер: «В. Цой»)
кортеж
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Реляционные БД
38
Реляционная БД – это БД, которая основана на реляционной модели, то есть представляет собой набор отношений.
Удобно хранить в виде таблицы:
Группы | ||
Название | Лидер | Год создания |
Машина времени | А. Макаревич | 1969 |
Кино | В. Цой | 1981 |
Аквариум | Б. Гребенщиков | 1972 |
отношение
атрибуты
сущность
кортеж
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Реляционные БД
39
Реляционная БД – это база данных, которая представлена в виде набора таблиц и управляется с помощью языка SQL.
SQL: обращение к данным по названиям таблиц (отношений) и полей (атрибутов).
Основные операции:
На языке таблиц:
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Нормализация
40
Рейс | От | До | Самолет | Дата |
ZX 001 | Москва | Берлин | Boeing 737 | 11.12.2013 |
ZX 002 | Москва | Санкт-Петербург | Airbus A321 | 12.12. 2013 |
ZX 003 | Санкт-Петербург | Берлин | Boeing 737 | 13.12. 2013 |
Есть дублирование!
!
Нормализация – это изменение структуры базы данных, которое устраняет избыточность и предотвращает возможные нарушения целостности.
Что плохо?
?
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Нормализация на примерах
41
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 |
Что плохо?
?
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Нормализация на примерах
42
2. Любое неключевое поле должно зависеть от ключа:
Номер | Автомобиль | Владелец | Телефон |
А123АА47 | «Лада-Калина» | Иванов | 155-77-23 |
Т234ТТ78 | «Ока» | Петров | 277-34-67 |
В345ВВ98 | «Мерседес» | Васильев | 322-98-44 |
А345CC47 | «Ауди» | Иванов | 155-77-23 |
Автомобили | | Владельцы | ||||
Номер | Автомобиль | Владелец | | Код | Фамилия | Телефон |
А123АА47 | «Лада-Калина» | 1 | | 1 | Иванов | 155-77-23 |
Б234ББ78 | «Ока» | 2 | | 2 | Петров | 277-34-67 |
В345ВВ98 | «Мерседес» | 3 | | 3 | Васильев | 322-98-44 |
А345CC47 | «Ауди» | 1 | | | | |
N
1
Что плохо?
?
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Нормализация на примерах
43
3. Не должно быть одинаковых по смыслу полей:
Дата | Бананы | Апельсины | Яблоки |
21.05.2013 | 120 | 78 | 101 |
22.05.2013 | 153 | 99 | 65 |
23.05.2013 | 87 | 55 | 123 |
| Продажи | | Товары | |||
Код | Дата | Товар | Продано | | Код | Название |
1 | 21.05.2013 | 1 | 120 | | 1 | Бананы |
2 | 21.05.2013 | 2 | 78 | | 2 | Апельсины |
3 | 21.05.2013 | 3 | 101 | | 3 | Яблоки |
4 | 22.05.2013 | 1 | 153 | | | |
… | … | … | … | | | |
Проблема: добавить новый товар!
!
N
1
Что плохо?
?
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Нормализация на примерах
44
4. Не нужно хранить то, что может быть вычислено:
Прибыль можно вычислить!
!
Дата | Доходы | Расходы | Прибыль |
03.2013 | 155 | 128 | 27 |
02.2013 | 178 | 105 | 73 |
01.2013 | 194 | 159 | 35 |
Дата | Доходы | Расходы |
03.2013 | 155 | 128 |
02.2013 | 178 | 105 |
01.2013 | 194 | 159 |
прибыль вычисляется через запрос!
Что плохо?
?
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Нормализация: «за» и «против»
45
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Задача
46
Выполните нормализацию:
Год | Животные | Район | Количество |
2009 | белки | Нижняя Балка | 12 |
2009 | бурундуки | Верхняя Балка | 5 |
2010 | еноты | Нижняя Балка | 7 |
2010 | еноты | Овраг | 3 |
2010 | белки | Верхняя Балка | 10 |
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Задача
47
Выполните нормализацию:
Год спуска на воду | Название | Проект | Экипаж |
1980 | Удалой | 1155 | 220 чел. |
1985 | Адмирал Трибуц | 1155 | 220 чел. |
1987 | Североморск | 1155 | 220 чел. |
1982 | Москва | 1164 | 510 чел. |
1983 | Варяг | 1164 | 510 чел. |
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Задача
48
Выполните нормализацию:
Год | Изготовитель | Город | Модель | Скорость | Цена |
2007 | ВАЗ | Тольятти | 1119 | 165 км/ч | 120000 р. |
1995 | ВАЗ | Тольятти | 11113 | 130 км/ч | 50000 р. |
1992 | КАМАЗ | Набережные Челны | 5320 | 90 км/ч | 200000 р. |
2006 | КАМАЗ | Набережные Челны | 55102 | 90 км/ч | 450000 р. |
2007 | БелАЗ | Жодино | 75600 | 64 км/ч | 1200000 р. |
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Задача
49
Выполните нормализацию:
Страна | Фамилия | Инструмент | Автор произведения | Место |
Россия | Иванов | фортепьяно | Рахманинов | 1 |
Россия | Петров | флейта | Лист | 2 |
Германия | Шмидт | скрипка | Моцарт | 3 |
США | Смит | скрипка | Рахманинов | 4 |
США | Браун | гобой | Моцарт | 5 |
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Базы данных �(MS Access)
§ 16. Работа с таблицей
50
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Базы данных Microsoft Access
51
Файлы *.accdb, *.mdb
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Базы данных Microsoft Access
52
Пуск – Программы – Microsoft Office – �Microsoft Access
шаблоны
создание новой базы данных
открыть базу с диска
последние документы
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Таблица
53
2xЛКМ
последняя запись
поля
записи
текущая запись
область выделения
новая запись
на 1-ую запись
предыдущая запись
номер текущей записи
следующая запись
новая запись
текущее поле
последняя�запись
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Поиск и сортировка
54
Поиск и замена:
текущее поле или все поля
целиком, �с любой частью, �с началом
всё, вверх, вниз
Сортировка по текущему полю (столбцу):
по возрастанию
по убыванию
сброс
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Задача
55
Фамилия | Пол | Математика | Русский язык | Химия | Информа-тика | Биология |
Сомов | м | 75 | 65 | 70 | 90 | 58 |
Кротов | м | 83 | 75 | 59 | 87 | 60 |
Белочкина | ж | 55 | 92 | 64 | 65 | 86 |
Окунев | м | 75 | 68 | 72 | 70 | 56 |
Судакова | ж | 68 | 70 | 56 | 58 | 60 |
Щукина | ж | 76 | 58 | 78 | 80 | 85 |
Какой по счету будет запись с фамилией Белочкина, если отсортировать таблицу по полю:
а) Фамилия (по алфавиту)
б) Математика (по убыванию)
в) Русский язык (по убыванию)
г) Химия (по возрастанию)
д) Информатика (по возрастанию)
е) Биология (по убыванию)
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Фильтрация
56
Фильтр – это условие для отбора записей.
Остальные записи временно скрываются!
!
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Фильтрация
57
Фильтр – это условие для отбора записей.
Остальные записи временно скрываются!
!
быстрый фильтр (фильтр по выделенному)
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Сложные фильтры
58
Сложные условия
одновременно
(операция И)
начинается �с буквы «С»
новое условие, связанное через ИЛИ
Расширенный фильтр – можно
точное совпадение
применить/сбросить фильтр
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Фильтрация
59
какие нельзя?
Для сложных случаев – запросы!
!
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Задача
60
В чём разница между фильтрами:
а) Предмет = 'Математика' AND Класс = 2 �OR Год издания > 2009
б) Предмет = 'Математика' OR Класс = 2 �AND Год издания > 2009
в) Предмет = 'Математика' OR Год издания > 2009 AND Класс = 2
г) Предмет = 'Математика' AND Год издания > 2009 OR Класс = 2
Какие фильтры дают одинаковый результат?
?
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Задача
61
Фамилия | Пол | Математика | Русский язык | Химия | Информа-тика | Биология |
Сомов | м | 75 | 65 | 70 | 90 | 58 |
Кротов | м | 83 | 75 | 59 | 87 | 60 |
Белочкина | ж | 55 | 92 | 64 | 65 | 86 |
Окунев | м | 75 | 68 | 72 | 70 | 56 |
Судакова | ж | 68 | 70 | 56 | 58 | 60 |
Щукина | ж | 76 | 58 | 78 | 80 | 85 |
Сколько записей будет отобрано:
а)Пол = 'ж' AND Химия > Биология
б)Пол = 'ж' OR Химия > Биология
в)Пол = 'м' AND Математика > Информатика
г)Пол = 'м' OR Математика > Информатика
д)Пол = 'ж' AND Русский язык > 70 OR Информатика > 80
е)Пол = 'ж' OR Русский язык > 70 AND Информатика > 80
ж)Пол = 'м' AND Информатика > 80 OR Русский язык > 60
з)Пол = 'м' OR Информатика > 80 AND Русский язык > 60
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Однотабличная БД
62
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Создание таблицы
63
2xЛКМ
поле-счетчик
ввод значения
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Конструктор таблицы
64
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Конструктор таблицы
65
текущее �поле
ключ
тип поля (выбор из списка)
свойства текущего поля
ПКМ
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Типы полей
66
Зачем нужны типы полей?
?
Зачем?
?
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Свойства полей
67
Размер поля: байт, целое, вещественное, …
Формат поля: как выводить на экран.
Маска ввода: шаблон (ввод телефона).
Подпись: как называется столбец при выводе на экран; можно использовать скобки, знаки и т.д. �(«Население, млн. чел.»)
Значение по умолчанию (вписывается автоматически).
Условие на значение: защита от ошибок ввода («>18»).
Сообщение об ошибке �(«Возраст должен быть > 18 лет!»)
Обязательное поле (да/нет)
Индексированное поле (да/нет)
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Конструктор таблицы
68
режим таблицы
сделать поле ключевым
изменить индексы
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Индексы
69
ПКМ
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Многотабличная БД
70
Заказы |
Номер |
Дата |
Заказано |
Код |
Номер заказа |
Код блюда |
Блюда |
Код |
Название |
Цена |
N
1
N
1
Пример:
Заказы | |
Номер | Дата |
1 | 11.12.12 |
2 | 12.12.12 |
Заказано | ||
Код | Номер заказа | Код блюда |
1 | 1 | 1 |
2 | 1 | 3 |
3 | 1 | 4 |
4 | 2 | 1 |
5 | 2 | 2 |
6 | 2 | 2 |
7 | 2 | 5 |
Блюда | ||
Код | Название | Цена |
1 | борщ | 80 р. |
2 | бифштекс | 110 р. |
3 | гуляш | 70 р. |
4 | чай | 10 р. |
5 | кофе | 50 р. |
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Создание таблиц
71
Заказы |
Номер |
Дата |
Заказано |
Код |
Номер заказа |
Код блюда |
Блюда |
Код |
Название |
Цена |
Числовой
Денежный
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Установка связей между таблицами
72
добавить все
Как определить, где 1 и N?
?
Работа с базами данных – Схема данных
перетащить ЛКМ
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Заполнение таблиц
73
Заказы | |
Номер | Дата |
1 | 11.04.13 |
2 | 12.04.13 |
3 | 12.04.13 |
Заказано | ||
Код | Номер заказа | Код блюда |
1 | 1 | 1 |
2 | 1 | 3 |
3 | 1 | 4 |
4 | 2 | 1 |
5 | 2 | 2 |
6 | 2 | 2 |
7 | 2 | 5 |
8 | 3 | 1 |
8 | 3 | 5 |
Блюда | ||
Код | Название | Цена |
1 | борщ | 80 р. |
2 | бифштекс | 110 р. |
3 | гуляш | 70 р. |
4 | чай | 10 р. |
5 | кофе | 50 р. |
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Базы данных �(MS Access)
§ 17. Запросы
74
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Что такое запрос?
75
Запрос – это обращение к СУБД для отбора записей или выполнения других операций с данными.
SQL (англ. Structured Query Language – язык структурных запросов).
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Конструктор запросов
76
ЛКМ
ЛКМ
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Конструктор запросов
77
перетащить ЛКМ
все поля
выполнить (F5)
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Режим SQL
78
ЛКМ
ЛКМ
SELECT Футбол.Команда, Футбол.Победы, Футбол.Зарплата
FROM Футбол;
выбрать
из таблицы
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Сортировка
79
Сортировка
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Запуск запроса
80
2×ЛКМ
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Изменение запроса
81
ПКМ
ЛКМ
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Условия отбора
82
Условие отбора
SELECT Футбол.Команда, Футбол.Победы, Футбол.Зарплата
FROM Футбол
WHERE Футбол.Победы>10;
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Сложные условия
83
И
SELECT Футбол.Команда, Футбол.Победы, Футбол.Зарплата
FROM Футбол
WHERE Футбол.Победы>10 AND Футбол.Зарплата>18000;
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Сложные условия
SELECT Футбол.Команда, Футбол.Победы, Футбол.Зарплата
FROM Футбол
WHERE Футбол.Победы>10 OR Футбол.Зарплата>18000;
84
ИЛИ
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Шаблоны
85
условие с шаблоном
SELECT Футбол.Команда, Футбол.Победы, Футбол.Зарплата
FROM Футбол
WHERE Футбол.Команда LIKE "К*";
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Запросы с параметрами
86
Параметры – это данные, которые пользователь вводит при выполнении запроса.
параметр
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Вычисляемые поля
87
Очки = Ничьи + 3*Победы
вычисляемое поле
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Вычисляемые поля (SQL)
88
Очки = Ничьи + 3*Победы
вычисляемое поле
SELECT Футбол.Команда, Футбол.Победы, Футбол.Зарплата,
[Ничьи]+3*[Победы] AS Очки
FROM Футбол;
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Другие типы запросов
89
UPDATE Футбол
SET Зарплата = 2*Зарплата
WHERE Ничьи + 3*Победы > 40;
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Запрос данных из нескольких таблиц
90
Заказы
Блюда
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Запрос данных из нескольких таблиц
91
ЛКМ
добавить все
Зачем добавлять все таблицы?
?
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Запрос данных из нескольких таблиц
92
ПКМ – Свойства
Подпись: Заказ
перетащить нужные поля
ПКМ – Свойства
Подпись: Блюдо
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Запрос данных из нескольких таблиц
93
ПКМ – Режим SQL
SELECT Заказы.Номер AS Заказ, Заказы.Дата,
Блюда.Название AS Блюдо, Блюда.Цена
FROM Заказы
INNER JOIN
(Блюда INNER JOIN Заказано ON Блюда.Код = Заказано.[Код блюда])
ON Заказы.Номер = Заказано.[Номер заказа];
подпись
связи
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Итоговый запрос
94
Почему?
?
Как сменить подписи?
?
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Итоговый запрос
95
Считать сумму цен
Групповая операция
ЛКМ
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Базы данных �(MS Access)
§ 18. Формы
96
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Зачем нужны формы?
97
БД
СУБД
прикладная программа
SQL
формы
Форма – это диалоговое окно, с помощью которого пользователь
данные из базы.
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Создание формы
98
источник данных
разные способы создания форм
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Форма на одну запись
99
переход по записям
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Ленточная форма
100
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Разделенная форма
101
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Режимы работы с формами
102
Режим формы – просмотр и редактирование данных.
Режим макета – просмотр данных, изменение оформления, перемещение элементов.
Конструктор – изменение структуры и оформления, добавление новых элементов, …
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Конструктор форм
103
заголовок формы
область данных
примечание формы
изменение размеров
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Свойства формы и ее элементов
104
или ПКМ – Свойства
выбор элемента
Макет = оформление
Данные: источник (таблица или запрос), фильтр, сортировка
События:
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Некоторые свойства формы (Макет)
105
подпись
кнопки перехода (да/нет)
область выделения
(да/нет)
изменяемая граница
(да/нет)
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Свойства элементов
106
Макет
Данные:
События:
Другие:
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Связанные элементы
107
надпись (текст можно менять)
поле (название поля таблицы)
маркеры (изменение размеров)
независимое перемещение
щелкнуть внутри, чтобы изменить текст
щелкнуть на рамке, чтобы выделить элемент
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Группировка по столбцам (Макет)
108
общая граница
переместить весь столбец
«Оторвать» от столбца: ПКМ – Макет – Удалить
Создать новый столбец: ПКМ – Макет – Столбец
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Оформление элементов
109
Выделение элементов:
условное �форматирование
толщина, стиль и цвет�контура
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Добавление новых полей
110
перетащить
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Добавление новых элементов
111
Рисунок
Свободная рамка объекта (объект редактируется)
Гиперссылка
Присоединенная рамка объекта (объект из базы)
Подчиненная форма
Разрыв страницы
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Форма с подчинённой (субформой)
112
Откуда брать данные?
?
Таблица Заказы
ЗапросЗаказы
ЗапросКОплате
Задача: объединить данные из трёх связанных источников!
!
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Подчинённая форма ЗапросЗаказы
113
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Подчинённая форма ЗапросЗаказы
114
Убрать поле Номер
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Подчинённая форма ЗапросКОплате
115
Убрать поля Номер, Дата
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Добавление подчинённых форм
116
Перетащить ЛКМ в режиме Конструктор
Перетащить ЛКМ в режиме Конструктор
ЗапросЗаказы
ЗапросКОплате
Связи по номеру заказа настроены автоматически!
!
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Кнопочные формы
117
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Связать кнопку с действием
118
Макрос (макрокоманда) – это подпрограмма для автоматизации действий пользователя.
Microsoft Office: Visual Basic for Applications (VBA)
ЛКМ
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Макрос
119
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Базы данных �(MS Access)
§ 19. Отчёты
120
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Что такое отчёт?
121
Отчет – это документ, предназначенный для вывода данных на печать.
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Создание отчёта
122
Источник данных – таблица или запрос, несколько связанных таблиц/запросов (мастер).
простой отчет
конструктор
пустой отчет
мастер отчетов
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Простой отчёт
123
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Режимы работы с отчётом
124
Представление отчета � (без разбивки на страницы)
Предварительный просмотр � (как на печати, по страницам)
Режим макета (можно менять � оформление)
Конструктор (добавление новых � элементов)
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Предварительный просмотр
125
готовые варианты
размер бумаги
ручная настройка
на печать
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Конструктор отчётов
126
Заголовок отчета – один раз в начале отчета.
Верхний колонтитул – в начале каждой страницы.
Область данных – информация из БД.
Нижний колонтитул – в конце каждой страницы.
Примечание отчета – один раз в конце отчета.
="Страница " & [Page] & " из " & [Pages]
=Date()
=Time()
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Редактирование отчётов
127
– свойства выбранного � элемента
ЛКМ – выделить элемент
Добавление элементов:
Так же, как в конструкторе форм:
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Отчёт с группировкой
128
Запрос Заказы
группировка по номеру заказа
группировка по дате
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Создание отчёта вручную
129
пустой отчет
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Настройка группировки
130
или
ЛКМ
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Настройка группировки по дате
131
подробная настройка
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Группировка по дате в Конструкторе
132
заголовок группы
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Группировка по Номеру
133
заголовок группы
примечаниегруппы
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Расстановка надписей и полей
134
связь поля с данными в запросе
надпись
поле
поле
линия
поле: сумма заказа
поле
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Базы данных �(MS Access)
§ 20. Нереляционные базы данных
135
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Проблемы реляционных БД
136
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Базы данных NoSQL
137
NoSQL = Not Only SQL
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
БД «ключ-значение»
138
Связи объектов не поддерживаются!
!
data(12345) = "Вася"
номер сервера:
12345 mod 100 = 45
Масштабируемость – возможность распределить нагрузку на несколько серверов.
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
БД «ключ-значение»
139
ключи
1-1000
1-500
501-1000
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Большие разреженные таблицы
140
два ключа – номера строки и столбца
| Имя | Дата рождения | Эл. почта | Телефон | |
1 | Денис | 12.11.1993 | den@sql.ru | 365-13-78 | |
2 | Кирилл | | | 572-12-80 | |
3 | Василий | | vasil@nosql.ru | | |
не все ячейки заполнены
Строки и столбцы распределены по серверам!
!
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Документо-ориентированные БД
141
{ ключ: 1231239786234762394769237,
автор: "solaris",
название: "Новая ОС",
дата: "15.12.2016",
текст: "Начал писать операционку...",
комментарии: [
{ автор: "linus",
дата: "16.12.2016",
текст: "Отлично! Держи в курсе."
}
]
}
хэш-код
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Базы данных на основе графов
142
код: 1
имя: Анна
телефон: 911-11-12
код: 2
имя: Борис
email: boris@mail.ru
код: 101
друг с: 15.12.2014
код: 102
друг с: 15.12.2014
объекты в базе – данные об узлах и связях
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Базы данных �(MS Access)
§ 21. Экспертные системы
143
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Что такое экспертная система?
144
Экспертная система – это компьютерная программа, задача которой – заменить человека-эксперта при выработке рекомендаций для принятия решений в сложной ситуации.
искусственный интеллект
Эксперт
Кто такой эксперт?
?
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Состав экспертной системы
145
База знаний
Факты
Правила
эксперт
инженер по знаниям
Оценка степени уверенности!
!
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Экспертная система: пример
146
птица
да
рыба
?
да
нет
хищник
?
да
нет
да
млекопитающее
кормит детей молоком?
нет
дышит жабрами?
нет
имеет перья?
ест мясо?
Язык программирования Пролог!
!
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Экспертные системы: итоги
147
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Конец фильма
148
ПОЛЯКОВ Константин Юрьевич
д.т.н., учитель информатики
ГБОУ СОШ № 163, г. Санкт-Петербург
ЕРЕМИН Евгений Александрович
к.ф.-м.н., доцент кафедры мультимедийной дидактики и ИТО ПГГПУ, г. Пермь
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru
Источники иллюстраций
149
Базы данных, 11 класс (Access)
© К.Ю. Поляков, Е.А. Ерёмин, 2018-2019 http://kpolyakov.spb.ru