Similar presentations:
11ux-7_БазыДанных
1. Базы данных
1Базы данных
• Введение
• Многотабличные базы данных
• Реляционная модель данных
• Работа с таблицей
• Запросы
• Формы
• Отчёты
• Нереляционные базы данных
• Экспертные системы
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
2. Базы данных
2Базы данных
Введение
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
3. Что такое информационная система?
3Базы данных, 11 класс
Что такое информационная система?
Информационная система (ИС) в широком смысле —
это аппаратные и программные средства,
предназначенные для того, чтобы своевременно
обеспечить пользователей нужной информацией.
Задачи:
• хранение данных
• доступ к данным
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
4. БД и СУБД
4Базы данных, 11 класс
БД и СУБД
База данных (БД) — это специальным образом
организованная совокупность данных о некоторой
предметной области, хранящаяся во внешней памяти
компьютера.
Система управления базой данных (СУБД) — это
программные средства, которые позволяют выполнять
все необходимые операции с базой данных.
БД + СУБД = информационная система
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
5. БД и СУБД
5Базы данных, 11 класс
БД и СУБД
Задачи СУБД:
• поиск данных
• редактирование данных
• выполнение несложных расчетов
• обеспечение целостности (корректности,
непротиворечивости) данных
• восстановление данных после сбоев
прикладная
программа
© К.Ю. Поляков, Е.А. Ерёмин, 2025
СУБД
БД
http://kpolyakov.spb.ru
6. Классификация ИС
6Базы данных, 11 класс
Классификация ИС
ИС
локальные
удалённые
БД и СУБД на компьютере
пользователя
БД на удалённом компьютере
(в сети)
▪ автономность
▪ все работают с одной БД
▪ нужно обновлять БД на
каждом компьютере
▪ как учесть изменения,
внесённые пользователями
▪ зависимость от сети
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
7. Как хранить данные?
7Базы данных, 11 класс
Как хранить данные?
▪ Текстовый формат:
Иванов;Иван;Петрович;1968;«Audi»;20 000 р.
Петров;Пётр;Иванович;1975;«Лада»;30 000 р.
Сидоров;Семён;Иванович;1975;«Нива»;15 000 р.
▪ Собственный формат программы:
? Что плохо?
нет переносимости (БД можно использовать
только с этой программой)
Переносимость – это возможность использовать БД в
других информационных системах.
▪ Универсальный формат:
БД:
«данные о данных»
метаданные
© К.Ю. Поляков, Е.А. Ерёмин, 2025
данные
http://kpolyakov.spb.ru
8. Файл-серверные СУБД
8Базы данных, 11 класс
Файл-серверные СУБД
рабочие станции
сервер
СУБД
БД
СУБД
▪ рабочие станции должны быть мощными
▪ высокая нагрузка на сеть
▪ слабая защита данных
▪ ненадежность при большом количестве
пользователей
! Решение – перенести СУБД на сервер!
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
9. Клиент-серверные СУБД
9Базы данных, 11 класс
Клиент-серверные СУБД
рабочие станции (клиенты)
запрос
прикладная
программа
ответ
сервер
СУБД
БД
прикладная
программа
Задачи клиента:
Задачи сервера:
• отправить серверу
• при получении запроса
запрос на языке SQL
поставить его в очередь
• принять ответ сервера • выполнить запрос
• вывести результаты
• отправить ответ клиенту
SQL = Structured Query Language – язык структурных
запросов для управления данными
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
10. Клиент-серверные СУБД
10Базы данных, 11 класс
Клиент-серверные СУБД
▪ обработка данных на сервере
▪ рабочие станции могут быть маломощными
▪ проще модернизация
▪ надежная защита данных (на сервере)
▪ снижается нагрузка на сеть
▪ надежная работа при большом количестве
пользователей
▪ нужен мощный сервер
▪ высокая стоимость коммерческих СУБД бесплатно!
MS SQL Server
Firebird (www.firebirdsql.org)
PostgreSQL (www.postgresql.org)
MySQL (www.mysql.com)
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
11. Транзакции
11Базы данных, 11 класс
Транзакции
Задача: перевести 100 000 рублей
со счета 12345 на счет 54321.
• прочитать сумму на счету 12345
• уменьшить ее на 100 000 рублей
• прочитать сумму на счету 54321
сбой питания!
• увеличить ее на 100 000 рублей
Транзакция – это группа операций, которая
представляет собой одно законченное действие.
Транзакция должна быть выполнена целиком или не
выполнена вообще.
• журналирование
• создание новых записей (помечаются как
действительные после завершения транзакции)
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
12. Таблицы
12Базы данных, 11 класс
Таблицы
Примеры:
• записная книжка
• каталог в библиотеке
Иванов Пётр
Суворовский пр., д. 32, кв. 11
275-75-75
поля
записи
Фамилия
Иванов
Петров
Васильев
Имя
Петр
Василий
Иван
Типы полей:
• целые числа
• вещественные числа
• денежные суммы
• логические значения
• текстовые данные
© К.Ю. Поляков, Е.А. Ерёмин, 2025
Адрес
Суворовский пр., д. 32, кв. 11
Кутузовский пр., д. 12, кв. 20
Нахимовский пр., д. 23, кв. 33
Телефон
275-75-75
276-76-76
277-77-77
• время, дата
• произвольные двоичные данные
(рисунки, звук, видео)
http://kpolyakov.spb.ru
13. Ключ
13Базы данных, 11 класс
Ключ
Ключ – это поле или комбинация полей, однозначно
определяющие запись.
Могут ли эти данные быть ключом?
• фамилия
Может ли быть несколько
• имя
ключей в таблице?
• номер паспорта
• номер дома
• регистрационный номер автомобиля
• город проживания
• адрес электронной почты
• дата выполнения работы
• марка стиральной машины ?
?
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
14. Ключ
14Базы данных, 11 класс
Ключ
Первичный ключ – это ключ, выбранный в качестве
основного.
Простой ключ – состоит из одного поля.
Составной ключ – состоит из нескольких полей.
Дата
Время
Температура
Влажность
Скорость ветра
21.07.2024
12:00
25
75
4
21.07.2024
15:00
23
70
3
…
…
…
…
…
? Какой ключ?
Составной ключ Дата + Время
Свойства ключа:
• уникальность
• несократимость (Дата + Время + Влажность)
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
15. Суррогатный ключ
15Базы данных, 11 класс
Суррогатный ключ
Номер
1
2
3
Фамилия
Иванов
Петров
Васильев
Имя
Петр
Василий
Иван
Адрес
Суворовский пр., д. 32, кв. 11
Кутузовский пр., д. 12, кв. 20
Нахимовский пр., д. 23, кв. 33
? Какой ключ?
Телефон
275-75-75
276-76-76
277-77-77
Суррогатный ключ – это дополнительное поле, которое
служит первичным ключом.
▪ операции с числами выполняются быстрее
▪ уникальность поддерживается СУБД (поле-счётчик)
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
16. Поиск в БД
16Базы данных, 11 класс
Поиск в БД
Линейный поиск – это перебор всех записей до тех пор,
пока не будет найдена нужная.
Код
1
Фамилия
Сидоров
2
Ветров
…
1024 Померанцев
Иванов?
1024 сравнения!
▪ данные не надо предварительно готовить
▪ низкая скорость поиска
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
17. Двоичный поиск
17Базы данных, 11 класс
Двоичный поиск
1. Разделить область поиска на
две равные части.
2. Определить, в какой половине
находится нужный объект.
3. Перейти к шагу 1 для этой
половины.
4. Повторять шаги 1-3 пока
объект не будет «пойман».
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
18. Двоичный поиск в БД
18Базы данных, 11 класс
Двоичный поиск в БД
требует предварительной сортировки.
Иванов?
1
Андреев
1
2
Барсуков
…
255
…
512
?
Ковалев
Андреев
…
255
Журов
…
383
…
Ковалев
Игнатьев
…
…
512
1023 Юрьев
…
512
1024 Яшин
1024 Яшин
…
Сколько сравнений?
Журов
Ковалев
11 сравнений!
▪ быстрый поиск
▪ записи надо отсортировать по нужному полю
▪ можно использовать только для одного поля
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
19. Индексный поиск в БД
19Базы данных, 11 класс
Индексный поиск в БД
Индекс – это вспомогательная таблица, которая служит
для ускорения поиска в основной таблице.
Номер
1
2
3
Фамилия
Иванов
Петров
Васильев
Имя
Петр
Василий
Иван
отсортированы!
Адрес
Суворовский пр., д. 32, кв. 11
Кутузовский пр., д. 12, кв. 20
Нахимовский пр., д. 23, кв. 33
Фамилия
Васильев
Иванов
Петров
Телефон
275-75-75
276-76-76
277-77-77
Номера записей
3
1
2
▪ двоичный поиск по всем столбцам, для которых
построены индексы
▪ индексы занимают место на диске
▪ при изменении таблицы надо перестраивать все
индексы (в СУБД – автоматически)
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
20. Целостность БД
20Базы данных, 11 класс
Целостность БД
Целостность базы данных означает, что она содержит
полную и непротиворечивую информацию и
удовлетворяет всем заданным ограничениям.
Физическая целостность – сохранность данных в случае
отказа оборудования:
• транзакции
• резервное копирование
• RAID-массивы жёстких дисков (дублирование)
Логическая целостность – непротиворечивость:
• типы полей
• обязательные поля
• уникальные индексы
• ограничения на значения
• шаблоны ввода (###) ###-##-##
• условия на несколько полей (увольнение позже приёма)
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
21. Задача
21Базы данных, 11 класс
Задача
Постройте индексы по всем полям:
Номер
Дата
Заказ
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
© К.Ю. Поляков, Е.А. Ерёмин, 2025
Товар
Количество, т
http://kpolyakov.spb.ru
22. Базы данных
22Базы данных
Многотабличные
базы данных
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
23. Однотабличная БД
23Базы данных, 11 класс
Однотабличная БД
Альбомы
Код
Название
Группа
Год
Число композиций
1
Стиляги из Москвы Браво
1990
11
2
Дорога в облака
Браво
1994
13
3
Группа крови
Кино
1988
11
4
Последний герой
Кино
1989
10
? Что плохо?
▪ дублирование данных
▪ при изменении каких-то данных, возможно,
придется менять несколько записей
▪ нет защиты от ошибок ввода (опечаток)
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
24. Многотабличная БД
24Базы данных, 11 класс
Многотабличная БД
Группы
Код
Название
Год создания
1 Браво
1983
2 Кино
1981
Альбомы
Код
Название
Код группы
1 Стиляги из Москвы
1
2 Дорога в облака
1
3 Группа крови
2
4 Последний герой
2
Год Число композиций
1990
11
1994
13
1988
11
1989
10
? Что улучшилось?
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
25. Многотабличная БД
25Базы данных, 11 класс
Многотабличная БД
Группы
Альбомы
Код
Название
Год создания
Код
Название
Код группы
Год
Число композиций
Внешний ключ – это неключевое поле таблицы,
связанное с первичным ключом другой таблицы.
▪ убрано дублирование
▪ изменения нужно делать в одном месте
▪ некоторая защита от опечаток (выбор из списка)
▪ усложнение структуры (> 40-50 таблиц – много!)
▪ при поиске нужно «собирать» данные разных таблиц
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
26. Ссылочная целостность
26Базы данных, 11 класс
Ссылочная целостность
? Удаление группы: что делать с альбомами?
СУБД:
• запретить удаление записи
• выполнить каскадное удаление (удалить все
связанные с ней записи в других таблицах)
• разрешить внести изменения
нарушится ссылочная
целостность!
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
27. Типы связей между таблицами
27Базы данных, 11 класс
Типы связей между таблицами
ключ
Группы
Код
Название
Год создания
1
Альбомы
Код
Название
Код группы
N
Год
не ключ Число композиций
Связь 1:N – с одной записью в первой таблице могут
быть связаны сколько угодно записей во второй
таблице.
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
28. Типы связей между таблицами
28Базы данных, 11 класс
Типы связей между таблицами
Связь 1:1 – с одной записью в первой таблице связана
ровно одна запись во второй таблице.
Сотрудники
Код
Фамилия
Имя
1 Иванов
Петр
2 Петров
Сидор
3 Сидоров
Иван
Отчество
Сидорович
Иванович
Петрович
Секретно
Код Зарплата
1
20 000 р.
2
30 000 р.
3
40 000 р.
ключ
Сотрудники
Код
Фамилия
Имя
Отчество
© К.Ю. Поляков, Е.А. Ерёмин, 2025
1
1
ключ
Секретно
Код
Зарплата
http://kpolyakov.spb.ru
29. Типы связей между таблицами
29Базы данных, 11 класс
Типы связей между таблицами
Заказы
Номер
Дата
N
N
? Может ли быть несколько
Блюда
Код
Название
Цена
одинаковых блюд в заказе?
? Может ли быть одно блюдо в
нескольких заказах?
Связь N:N – с одной записью в первой таблице могут
быть связаны сколько угодно записей во второй
таблице, и наоборот.
в СУБД не
поддерживаются
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
30. Типы связей между таблицами
30Базы данных, 11 класс
Типы связей между таблицами
Связь N:N
Заказы
Номер
Дата
Заказано
Код
Номер заказа
N Код блюда
1
1
N
Блюда
Код
Название
Цена
Пример:
Заказы
Номер
Дата
1
11.12.12
2
12.12.12
Код
1
2
3
4
5
6
7
© К.Ю. Поляков, Е.А. Ерёмин, 2025
Заказано
Номер
Код
заказа
блюда
1
1
1
3
1
4
2
1
2
2
2
2
2
5
Блюда
Код Название
1 борщ
2 бифштекс
3 гуляш
4 чай
5 кофе
Цена
80 р.
110 р.
70 р.
10 р.
50 р.
? Состав заказов?
http://kpolyakov.spb.ru
31. Проектирование БД
31Базы данных, 11 класс
Проектирование БД
Турфирма организует туры по разным маршрутам. В базе
данных нужно хранить информацию о
1) сотрудниках фирмы (ФИО, год рождения, телефон, …),
2) маршрутах (название, контрольные точки, карта, …),
3) туристских группах, которые идут по маршруту (маршрут,
инструктор, даты, состав, …)
4) туристах (ФИО, телефон,).
Один турист может идти на несколько маршрутов.
Порядок проектирования БД:
1) выделить классы объектов; класс – таблица;
2) определить ключи в таблицах;
3) определить связи между таблицами;
4) добавить свойства объектов, которые не участвуют в
связях.
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
32. Проектирование БД
32Базы данных, 11 класс
Проектирование БД
Сотрудники
Код
Фамилия
Имя
…
Группы
1
N
Код
Код инструктора
Код маршрута
…
Маршрут
Код
1 Название
Карта
…
© К.Ю. Поляков, Е.А. Ерёмин, 2025
1
Состав
Код
Код туриста
Код группы
N …
Туристы
Код
Фамилия
Имя
…
N
1
http://kpolyakov.spb.ru
33. Задачи
33Базы данных, 11 класс
Задачи
Сколько заказчиков располагаются в Перми?
Заказчики
Код
Название
Код города
1 ООО «Альфа»
3
2 ЗАО «Бета»
2
3 ООО «Гамма»
3
4 ОАО «Дельта»
2
5 ООО «Каппа»
1
© К.Ю. Поляков, Е.А. Ерёмин, 2025
Города
Код
Название
1
Москва
2
Санкт-Петербург
3
Пермь
4
Воронеж
5
Липецк
http://kpolyakov.spb.ru
34. Задачи
34Базы данных, 11 класс
Задачи
Заказчики
Код
Название
Код города
1
ООО «Альфа»
3
2
ЗАО «Бета»
2
3
ООО «Гамма»
3
4
ОАО «Дельта»
2
5
ООО «Каппа»
1
Заказы
Код
Кол-во
Накладная
Артикул
заказчика
упаковок
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 руб.
© К.Ю. Поляков, Е.А. Ерёмин, 2025
Код
1
2
3
4
5
Города
Название
Москва
Санкт-Петербург
Пермь
Воронеж
Липецк
Определите:
1)какие товары
отправлены в каждый
из городов;
2)сколько бумаги
отправлено в каждый
из городов;
3)общую стоимость
товаров, отправленных
в каждый из городов.
http://kpolyakov.spb.ru
35. Задачи
35Базы данных, 11 класс
Задачи
Персоны
Дети
Код
ФИО
Пол
Код родителя Код ребенка
71 Иванов Т.М.
М
23
71
85 Пановко И.Т.
М
13
23
13 Черненко И.А. Ж
85
23
42 Пановко А.И.
Ж
82
13
23 Иванова А.И.
Ж
95
13
96 Пановко Н.Н.
Ж
85
42
82 Черненко А.Н.
M
82
10
95 Фукс Т.Н.
Ж
95
10
10 Фукс Н.А.
М
…
…
… …
…
Определить фамилию и инициалы
а) бабушки А.И.Ивановой
б) родного брата И.А. Черненко
в) прадеда Т.М. Иванова
г) внука И.Т. Пановко
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
36. Задачи
36Базы данных, 11 класс
Задачи
Персоны
Код
ФИО
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
…
…
Определить фамилию и инициалы
а) племянника Н.И. Симоняка
б) всех родных братьев и сестёр Н.И. Симоняка
в) бабушки А.Т. Малых
г) дедушки А.Т. Сидорова
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
37. Задачи
37Базы данных, 11 класс
Задачи
Код
Персоны
ФИО
Пол
11
12
24
45
56
83
94
115
140
162
171
186
201
…
Косарева Л.П.
Левитин И.А.
Шумахер А.Ф.
Бланш А.А.
Васильева М.А.
Левитин Б.И.
Левитина В.И.
Кузнецов А.П.
Левитина Р.Б.
Левитин Л.Б.
Гайдарова З.Н.
Мурина С.А.
Кузнецов П.А.
…
Ж
М
Ж
М
Ж
М
Ж
М
Ж
М
Ж
Ж
М
…
Дети
Код родителя
Код ребенка
11
11
12
12
24
56
56
83
83
94
94
115
115
…
83
94
83
94
115
140
162
140
162
186
201
186
201
…
Определить фамилию и инициалы
а) всех внуков и внучек И.А. Левитина;
б) родной сестры П.А. Кузнецова;
в) родного брата С.А. Муриной;
г) бабушки Р.Б. Левитиной.
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
38. Базы данных
38Базы данных
Реляционная
модель данных
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
39. Математическое описание БД
39Базы данных, 11 класс
Математическое описание БД
Требуется:
• описание БД, независимое от способа хранения данных
• методы управления этими данными
Эдгар Кодд
Реляционная модель данных (Э. Кодд, 1970):
• все данные – свойства некоторых объектов
• объекты делятся на классы (сущности)
• данные об объекте – набор свойств
кортеж
(атрибутов):
(Название: «Кино», Лидер: «В. Цой»)
• порядок свойств не определён
• отношение (relation) – множество кортежей,
описывающих объекты одного класса
• в отношении нет одинаковых кортежей
• порядок кортежей в отношении не определен
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
40. Реляционные БД
40Базы данных, 11 класс
Реляционные БД
Реляционная БД – это БД, которая основана на
реляционной модели, то есть представляет собой
набор отношений.
Удобно хранить в виде таблицы:
отношение
Название
Браво
Кино
Алиса
сущность
Группы
Лидер
Е. Хавтан
В. Цой
К. Кинчев
атрибуты
Год создания
1983
1981
1983
кортеж
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
41. Реляционные БД
41Базы данных, 11 класс
Реляционные БД
На языке таблиц:
• каждая таблица описывает один класс объектов
• порядок расположения полей в таблице не имеет значения
• все значения одного поля относятся к одному и тому же
типу данных
• в таблице нет двух одинаковых записей
• порядок записей в таблице не определён
Реляционная БД – это база данных, которая
представлена в виде набора таблиц и управляется с
помощью языка SQL.
SQL: обращение к данным по названиям таблиц (отношений)
и полей (атрибутов).
Основные операции:
• создание и удаление таблиц
• добавление, изменение и удаление записей
• выборка данных
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
42. Нормализация
42Базы данных, 11 класс
Нормализация
Рейс
ZX 001
ZX 002
ZX 003
От
До
Москва
Москва
Санкт-Петербург
Берлин
Санкт-Петербург
Берлин
? Что плохо?
Самолет
Boeing 737
Airbus A321
Boeing 737
Дата
11.12.2013
12.12. 2013
13.12. 2013
! Есть дублирование!
Нормализация – это изменение структуры базы данных,
которое устраняет избыточность и предотвращает
возможные нарушения целостности.
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
43. Нормализация на примерах
43Базы данных, 11 класс
Нормализация на примерах
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
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
44. Нормализация на примерах
44Базы данных, 11 класс
Нормализация на примерах
2. Любое неключевое поле должно зависеть от ключа:
Номер
Автомобиль
Владелец
Телефон
А123АА47
«Лада-Калина»
Иванов
155-77-23
Т234ТТ78
«Ока»
Петров
277-34-67
В345ВВ98
«Мерседес»
Васильев
322-98-44
А345CC47
«Ауди»
Иванов
155-77-23
? Что плохо?
N
1
Номер
А123АА47
Автомобили
Автомобиль
«Лада-Калина»
Б234ББ78
«Ока»
2
2
Петров
277-34-67
В345ВВ98
«Мерседес»
3
3
Васильев
322-98-44
А345CC47
«Ауди»
1
© К.Ю. Поляков, Е.А. Ерёмин, 2025
Владелец
1
Владельцы
Код Фамилия
Телефон
1
Иванов
155-77-23
http://kpolyakov.spb.ru
45. Нормализация на примерах
45Базы данных, 11 класс
Нормализация на примерах
3. Не должно быть одинаковых по смыслу полей:
Дата
21.05.2013
22.05.2013
23.05.2013
Бананы
120
153
87
Апельсины
78
99
55
плохо? новый товар!
! Проблема:
? Что добавить
Продажи N
Дата
Товар
21.05.2013
1
21.05.2013
2
21.05.2013
3
22.05.2013
1
…
…
© К.Ю. Поляков, Е.А. Ерёмин, 2025
Продано
120
78
101
153
…
Яблоки
101
65
123
1 Товары
Код
Название
1
Бананы
2
Апельсины
3
Яблоки
http://kpolyakov.spb.ru
46. Нормализация на примерах
46Базы данных, 11 класс
Нормализация на примерах
4. Не нужно хранить то, что может быть вычислено:
Дата
03.2013
02.2013
01.2013
Доходы
155
178
194
Расходы
128
105
159
Дата
03.2013
02.2013
01.2013
Доходы
155
178
194
Расходы
128
105
159
можно вычислить!
Что плохо?
! ?Прибыль
Прибыль
27
73
35
прибыль вычисляется
через запрос!
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
47. Нормализация: «за» и «против»
47Базы данных, 11 класс
Нормализация: «за» и «против»
▪ устранено дублирование
▪ все изменения делаются в одном месте
▪ некоторая защита от опечаток (выбор из списка)
▪ СУБД поддерживает ссылочную целостность
▪ усложнение структуры (> 40-50 таблиц – много!)
▪ замедляется поиск (нужно «собирать» данные из
разных таблиц)
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
48. Задача
48Базы данных, 11 класс
Задача
Выполните нормализацию:
Год спуска на воду
Название
Проект
Экипаж
1980
Удалой
1155
220 чел.
1985
Адмирал Трибуц
1155
220 чел.
1987
Североморск
1155
220 чел.
1982
Москва
1164
510 чел.
1983
Варяг
1164
510 чел.
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
49. Задача
49Базы данных, 11 класс
Задача
Выполните нормализацию:
Год
Изготовитель
Город
Модель
Скорость
Цена
2007 ВАЗ
Тольятти
1119
165 км/ч
120000 р.
1995 ВАЗ
Тольятти
11113
130 км/ч
50000 р.
1992 КАМАЗ
Набережные Челны
5320
90 км/ч
200000 р.
2006 КАМАЗ
Набережные Челны
55102
90 км/ч
450000 р.
2007 БелАЗ
Жодино
75600
64 км/ч
1200000 р.
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
50. Задача
50Базы данных, 11 класс
Задача
Выполните нормализацию:
Год
Животные
Район
Количество
2009 белки
Нижняя Балка
12
2009 бурундуки
Верхняя Балка
5
2010 еноты
Нижняя Балка
7
2010 еноты
Овраг
3
2010 белки
Верхняя Балка
10
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
51. Задача
51Базы данных, 11 класс
Задача
Выполните нормализацию:
Автор
произведения
Страна
Фамилия
Инструмент
Россия
Иванов
фортепьяно
Рахманинов
1
Россия
Петров
флейта
Лист
2
Германия Шмидт
скрипка
Моцарт
3
США
Смит
скрипка
Рахманинов
4
США
Браун
гобой
Моцарт
5
© К.Ю. Поляков, Е.А. Ерёмин, 2025
Место
http://kpolyakov.spb.ru
52. Базы данных
52Базы данных
Работа с таблицей
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
53. Базы данных в OpenOffice.org Base
53Базы данных, 11 класс
Базы данных в OpenOffice.org Base
«Форк» (ответвление): LibreOffice (www.libreoffice.org)
Файлы *.odb
• таблицы с данными
• формы – диалоговые окна, с помощью которых
пользователь вводит и изменяет данные
• запросы – команды по управлению данными
• отчеты – шаблоны документов для вывода на печать
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
54. Базы данных OO Base
54Базы данных, 11 класс
Базы данных OO Base
2×ЛКМ
текущая
запись
© К.Ю. Поляков, Е.А. Ерёмин, 2025
выделено
переходы по
записям
общее
количество
новая
запись
http://kpolyakov.spb.ru
55. Поиск и сортировка
Базы данных, 11 класс55
Поиск и сортировка
Ctrl+F
сортировка по текущему столбцу
несколько уровней
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
56. Задача
56Базы данных, 11 класс
Задача
Фамилия
Пол Математика
Сомов
Кротов
Белочкина
Окунев
Судакова
Щукина
м
м
ж
м
ж
ж
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
Какой по счету будет запись с фамилией Белочкина, если
отсортировать таблицу по полю:
а) Фамилия (по алфавиту)
б) Математика (по убыванию)
в) Русский язык (по убыванию)
г) Химия (по возрастанию)
д) Информатика (по возрастанию)
е) Биология (по убыванию)
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
57. Фильтрация
57Базы данных, 11 класс
Фильтрация
Фильтр – это условие для отбора записей.
! Остальные записи временно скрываются!
быстрый фильтр (фильтр по выделенному)
применить/отменить фильтр
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
58. Фильтрация
58Базы данных, 11 класс
Фильтрация
редактировать текущий фильтр
AND
OR
удалить фильтр
▪ с таблицей хранится только один фильтр
какие нельзя?
▪ не все условия можно записать
! Для сложных случаев – запросы!
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
59. Задача
59Базы данных, 11 класс
Задача
В чём разница между фильтрами:
а) Предмет = 'Математика' AND Класс = 2
OR Год издания > 2009
б) Предмет = 'Математика' OR Класс = 2
AND Год издания > 2009
в) Предмет = 'Математика' OR Год издания > 2009
AND Класс = 2
г) Предмет = 'Математика' AND Год издания > 2009
OR Класс = 2
? Какие фильтры дают одинаковый результат?
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
60. Задача
60Базы данных, 11 класс
Задача
Фамилия
Пол Математика
Сомов
Кротов
Белочкина
Окунев
Судакова
Щукина
м
м
ж
м
ж
ж
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
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
61. Однотабличная БД
Базы данных, 11 класс61
Однотабличная БД
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
62. Создание базы данных
62Базы данных, 11 класс
Создание базы данных
ЛКМ
ключ
текущее
поле
свойства
текущего
поля
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
63. Типы полей
63Базы данных, 11 класс
Типы полей
? Зачем нужны типы полей?
• Текст [VARCHAR]
• Памятка [LONGVARCHAR]
Зачем?
?
• Целое [INTEGER]
• Десятичное [DECIMAL] (денежная сумма)
• Вещественное [REAL]
• Картинка [LONGVARBINARY]
• Логическое [BOOLEAN]
• Дата [DATE];
• Время [TIME];
• Дата/Время [TIMESTAMP].
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
64. Свойства полей
64Базы данных, 11 класс
Свойства полей
• максимальный размер для текста
• количество знаков в дробной части
• значение по умолчанию
• автозначение (да/нет)
• обязательное (да/нет)
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
65. Индексы
65Базы данных, 11 класс
Индексы
ЛКМ
создать
удалить
переименовать
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
66. Операции с таблицами
66Базы данных, 11 класс
Операции с таблицами
открыть (редактирование данных)
изменить (редактирование структуры)
удалить
переименовать
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
67. Многотабличная БД
67Базы данных, 11 класс
Многотабличная БД
Заказы
Номер
Дата
Заказано
Код
Номер заказа
N Код блюда
1
1
N
Блюда
Код
Название
Цена
Пример:
Заказы
Номер
Дата
1
11.12.12
2
12.12.12
Код
1
2
3
4
5
6
7
© К.Ю. Поляков, Е.А. Ерёмин, 2025
Заказано
Номер
Код
заказа
блюда
1
1
1
3
1
4
2
1
2
2
2
2
2
5
Блюда
Код Название
1 борщ
2 бифштекс
3 гуляш
4 чай
5 кофе
Цена
80 р.
110 р.
70 р.
10 р.
50 р.
http://kpolyakov.spb.ru
68. Создание таблиц
68Базы данных, 11 класс
Создание таблиц
Заказы
Номер
Дата
Заказано
Код
Номер заказа
Код блюда
INTEGER
© К.Ю. Поляков, Е.А. Ерёмин, 2025
Блюда
Код
Название
Цена
DECIMAL
http://kpolyakov.spb.ru
69. Установка связей между таблицами
69Базы данных, 11 класс
Установка связей между таблицами
Сервис – Связи
добавить
все
? Как определить,
где 1 и N?
перетащить
ЛКМ
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
70. Заполнение таблиц
70Базы данных, 11 класс
Заполнение таблиц
Заказы
Номер
Дата
1
11.04.13
2
12.04.13
3
12.04.13
Код
1
2
3
4
5
6
7
8
9
© К.Ю. Поляков, Е.А. Ерёмин, 2025
Заказано
Номер
Код
заказа
блюда
1
1
1
3
1
4
2
1
2
2
2
2
2
5
3
1
3
5
Блюда
Код Название
1 борщ
2 бифштекс
3 гуляш
4 чай
5 кофе
Цена
80 р.
110 р.
70 р.
10 р.
50 р.
http://kpolyakov.spb.ru
71. Базы данных
71Базы данных
Запросы
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
72. Что такое запрос?
72Базы данных, 11 класс
Что такое запрос?
Запрос – это обращение к СУБД для отбора записей или
выполнения других операций с данными.
• выборка данных
• создание таблиц
• редактирование таблиц и записей
• изменение записей
• удаление записей
• удаление таблиц
SQL (англ. Structured Query Language – язык
структурных запросов).
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
73. Конструктор запросов
73Базы данных, 11 класс
Конструктор запросов
ЛКМ
ЛКМ
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
74. Конструктор запросов
74Базы данных, 11 класс
Конструктор запросов
выполнить (F5)
все поля
перетащить ЛКМ
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
75. Режим SQL
75Базы данных, 11 класс
Режим SQL
ЛКМ
выбрать
© К.Ю. Поляков, Е.А. Ерёмин, 2025
из таблицы
http://kpolyakov.spb.ru
76. Сортировка
Базы данных, 11 класс76
Сортировка
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
77. Запуск запроса
77Базы данных, 11 класс
Запуск запроса
2×ЛКМ
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
78. Изменение запроса
78Базы данных, 11 класс
Изменение запроса
ЛКМ
ПКМ – Изменить
ПКМ – Редактировать в режиме SQL
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
79. Форматирование столбцов
79Базы данных, 11 класс
Форматирование столбцов
ПКМ – Формат столбца
! Формат столбца не сохраняется!
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
80. Условия отбора
80Базы данных, 11 класс
Условия отбора
Условие отбора
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
81. Сложные условия
81Базы данных, 11 класс
Сложные условия
И
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
82. Сложные условия
82Базы данных, 11 класс
Сложные условия
ИЛИ
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
83. Шаблоны
83Базы данных, 11 класс
Шаблоны
условие с
шаблоном
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
84. Запросы с параметрами
84Базы данных, 11 класс
Запросы с параметрами
Параметры – это данные, которые пользователь вводит
при выполнении запроса.
параметр
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
85. Вычисляемые поля
85Базы данных, 11 класс
Вычисляемые поля
Очки = Ничьи + 3*Победы
ПКМ – Формат
столбца
вычисляемое
поле
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
86. Другие типы запросов
86Базы данных, 11 класс
Другие типы запросов
ЛКМ
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
87. Запрос данных из нескольких таблиц
87Базы данных, 11 класс
Запрос данных из нескольких таблиц
Заказы
Блюда
ЛКМ
добавить
все
? Зачем добавлять все таблицы?
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
88. Запрос данных из нескольких таблиц
88Базы данных, 11 класс
Запрос данных из нескольких таблиц
перетащить
нужные поля
названия при
выводе
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
89. Запрос данных из нескольких таблиц
89Базы данных, 11 класс
Запрос данных из нескольких таблиц
ПКМ – Редактировать в режиме SQL
псевдоним
связи
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
90. Запрос данных из нескольких таблиц
90Базы данных, 11 класс
Запрос данных из нескольких таблиц
ПКМ – Формат столбца
! Формат столбца не сохраняется!
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
91. Итоговый запрос
91Базы данных, 11 класс
Итоговый запрос
? Почему?
Название столбцов
при выводе
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
92. Итоговый запрос
92Базы данных, 11 класс
Итоговый запрос
Группировка по
номеру и дате
© К.Ю. Поляков, Е.А. Ерёмин, 2025
Считать
сумму цен
http://kpolyakov.spb.ru
93. Базы данных
93Базы данных
Формы
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
94. Зачем нужны формы?
94Базы данных, 11 класс
Зачем нужны формы?
формы
SQL
прикладная
программа
СУБД
БД
Форма – это диалоговое
окно, с помощью
которого пользователь
• просматривает
• изменяет
• добавляет
• удаляет
данные из базы.
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
95. Создание формы
95Базы данных, 11 класс
Создание формы
ЛКМ
© К.Ю. Поляков, Е.А. Ерёмин, 2025
Таблицы и запросы
http://kpolyakov.spb.ru
96. Создание форм
Базы данных, 11 класс96
Создание форм
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
97. Редактирование формы
97Базы данных, 11 класс
Редактирование формы
ЛКМ
ПКМ - Изменить
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
98. Редактирование формы
98Базы данных, 11 класс
Редактирование формы
в режим просмотра
и обратно
свойства
формы
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
99. Изменение фона
99Базы данных, 11 класс
Изменение фона
ПКМ – Страница
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
100. Настройка элементов
100Базы данных, 11 класс
Настройка элементов
Выделение элемента:
Выделяется поле и
связанная надпись
ЛКМ
Ctrl+ЛКМ
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
101. Свойства элемента
Базы данных, 11 класс101
Свойства элемента
Добавить
поле
Свойства
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
102. Навигатор форм
Базы данных, 11 класс102
Навигатор форм
Навигатор
форм
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
103. Оформление
103Базы данных, 11 класс
Оформление
Элементы управления:
поле
метка
Дополнительные элементы управления: дополнительные
Вставка рисунка:
меню Вставка – Изображение – Из файла
Векторная графика:
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
104. Форма с подчинённой (субформой)
104Базы данных, 11 класс
Форма с подчинённой (субформой)
Таблица Заказы
? Откуда брать данные?
ЗапросЗаказы
ЗапросКОплате
! Задача: объединить данные из трёх
связанных источников!
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
105. Форма с подчинённой (субформой)
105Базы данных, 11 класс
Форма с подчинённой (субформой)
ЛКМ
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
106. Форма с подчинённой
106Базы данных, 11 класс
Форма с подчинённой
ПКМ – ИзменитьУдалить столбец Заказ
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
107. Добавление третьей формы
Базы данных, 11 класс107
Добавление третьей формы
Навигатор
форм
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
108. Добавление третьей формы
Базы данных, 11 класс108
Добавление третьей формы
ПКМ
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
109. Добавление элементов на форму
109Базы данных, 11 класс
Добавление элементов на форму
нарисовать
область
метка на
форме
ПКМ – Свойства
ЛКМ
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
110. Добавление элементов на форму
110Базы данных, 11 класс
Добавление элементов на форму
Дополнительные
элементы управления
Поле валюты
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
111. Добавление элементов на форму
111Базы данных, 11 класс
Добавление элементов на форму
нарисовать
область
© К.Ю. Поляков, Е.А. Ерёмин, 2025
Поле валюты
на форме
http://kpolyakov.spb.ru
112. Добавление элементов на форму
112Базы данных, 11 класс
Добавление элементов на форму
ПКМ – Свойства
ЛКМ
© К.Ю. Поляков, Е.А. Ерёмин, 2025
изменить
изменить
http://kpolyakov.spb.ru
113. Кнопочные формы
113Базы данных, 11 класс
Кнопочные формы
Метка
База данных «Кафе»
2 ЛКМ
Кнопка
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
114. Макросы
114Базы данных, 11 класс
Макросы
Макрос (макрокоманда) – это подпрограмма для
автоматизации действий пользователя.
OpenOffice: OpenOffice Basic (+Python, Java, Javascript)
Microsoft Office: Visual Basic for Applications (VBA)
Сервис – Макросы – Управление макросами – OpenOffice Basic
ЛКМ
ЛКМ
Без русских букв и пробелов
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
115. Ввод макроса
115Базы данных, 11 класс
Ввод макроса
начало
макроса
имя
макроса
формы
документа
найти по
имени
закрыть
Sub OpenMeal
ThisDataBaseDocument.FormDocuments.getbyname("Заказы").close
ThisDataBaseDocument.FormDocuments.getbyname("Блюда").open
End Sub
конец
макроса
активный
документ
© К.Ю. Поляков, Е.А. Ерёмин, 2025
открыть
http://kpolyakov.spb.ru
116. Связывание макроса с кнопкой
116Базы данных, 11 класс
Связывание макроса с кнопкой
База данных «Кафе»
2 ЛКМ
! Щелчок по кнопке –
событие!
ЛКМ
макрос –
обработчик
события
ЛКМ
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
117. Базы данных
117Базы данных
Отчёты
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
118. Что такое отчёт?
118Базы данных, 11 класс
Что такое отчёт?
Отчет – это документ, предназначенный для вывода
данных на печать.
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
119. Как создать отчёт?
119Базы данных, 11 класс
Как создать отчёт?
ЛКМ
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
120. Редактирование отчёта
120Базы данных, 11 класс
Редактирование отчёта
открыть (вывод данных)
изменить (редактирование)
удалить
переименовать
ПКМ – ...
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
121. Использование Oracle Report Builder
121Базы данных, 11 класс
Использование Oracle Report Builder
http://extensions.openoffice.org/en/project/oracle-report-builder
Свойства (F4)
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
122. Отчёт с группировкой
122Базы данных, 11 класс
Отчёт с группировкой
ПКМ – Мастер отчётов
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
123. Отчёт с группировкой
123Базы данных, 11 класс
Отчёт с группировкой
два уровня
группировки
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
124. Редактирование отчёта
124Базы данных, 11 класс
Редактирование отчёта
ПКМ – Изменить
ПКМ – …
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
125. Сумма заказа
125Базы данных, 11 класс
Сумма заказа
! Стандартными средствами
OOBase не получить!
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
126. Использование Oracle Report Builder
126Базы данных, 11 класс
Использование Oracle Report Builder
http://extensions.openoffice.org/en/project/oracle-report-builder
Свойства (F4)
Навигатор отчёта (F5)
или Ctrl+G
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
127. Использование Oracle Report Builder
127Базы данных, 11 класс
Использование Oracle Report Builder
Поле
Метка
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
128. Использование Oracle Report Builder
128Базы данных, 11 класс
Использование Oracle Report Builder
ПКМ – Новая функция
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
129. Использование Oracle Report Builder
129Базы данных, 11 класс
Использование Oracle Report Builder
ЛКМ
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
130. Базы данных
130Базы данных
Нереляционные
базы данных
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
131. Проблемы реляционных БД
131Базы данных, 11 класс
Проблемы реляционных БД
▪ данные нужно разбить на множество таблиц
▪ человек мыслит не таблицами, а объектами
▪ данные об одном объекте разбросаны по
нескольким таблицами замедление запросов
▪ структура хранимых объектов строго определена и
не может меняться
▪ как хранить объекты с разными свойствами?
▪ как распределить нагрузку между серверами в
Интернете? (реляционные БД плохо
масштабируются)
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
132. Базы данных NoSQL
Базы данных, 11 класс132
Базы данных NoSQL
NoSQL = Not Only SQL
• базы данных «ключ-значение»
• большие разреженные таблицы
• документоориентированные БД
• графовые БД
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
133. БД «ключ-значение»
133Базы данных, 11 класс
БД «ключ-значение»
• добавление записи
номер сервера:
12345 mod 100 = 45
data(12345) = "Вася"
Масштабируемость – возможность распределить
нагрузку на несколько серверов.
• поиск по ключу
• удаление записи по ключу
• изменение записи по ключу
! Связи объектов не
поддерживаются!
© К.Ю. Поляков, Е.А. Ерёмин, 2025
Redis
MemcacheDB
DynamoDB
http://kpolyakov.spb.ru
134. БД «ключ-значение»
134Базы данных, 11 класс
БД «ключ-значение»
▪ близость к человеческому восприятию
▪ масштабируемость
ключи
1-1000
1-500
501-1000
▪ не поддерживаются связи между объектами
▪ нет стандарта на язык управления данными
▪ запросы – только поиск по ключу (сортировка?)
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
135. Большие разреженные таблицы
135Базы данных, 11 класс
Большие разреженные таблицы
два ключа – номера строки и столбца
1
2
3
Имя
Денис
Кирилл
Василий
Дата рождения
12.11.1993
не все ячейки
заполнены
Эл. почта
den@sql.ru
Телефон
365-13-78
572-12-80
vasil@nosql.ru
! Строки и столбцы
распределены по серверам!
BigTable
Cassandra (Apple)
HBase
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
136. Документо-ориентированные БД
136Базы данных, 11 класс
Документо-ориентированные БД
{ ключ: 1231239786234762394769237,
автор: "solaris",
хэш-код
название: "Новая ОС",
дата: "15.12.2016",
текст: "Начал писать операционку...",
комментарии: [
{ автор: "linus",
дата: "16.12.2016",
текст: "Отлично! Держи в курсе."
}
MongoDB
бесплатно!
]
CouchDB
}
▪ набор полей произвольный
▪ документы в одной базе могут иметь
разный набор полей
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
137. Базы данных на основе графов
137Базы данных, 11 класс
Базы данных на основе графов
объекты в базе – данные об узлах и связях
код: 101
друг с: 15.12.2014
код: 1
имя: Анна
телефон: 911-11-12
код: 2
имя: Борис
email: boris@mail.ru
код: 102
друг с: 15.12.2014
Neo4j
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
138. Базы данных
138Базы данных
Экспертные системы
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
139. Что такое экспертная система?
139Базы данных, 11 класс
Что такое экспертная система?
Эксперт
? Кто такой эксперт?
• обладает глубокими знаниями
• имеет опыт работы в своей области
• может ответить на вопросы, на которые нельзя найти
ответы в Интернете
• может предложить решение плохо поставленных
задач
• может примерно оценить вероятность своей версии
Экспертная система – это компьютерная программа,
задача которой – заменить человека-эксперта при
выработке рекомендаций для принятия решений в
сложной ситуации.
искусственный интеллект
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
140. Состав экспертной системы
140Базы данных, 11 класс
Состав экспертной системы
• база знаний
• блок получения решения («решатель»)
• интерфейс с пользователем
База знаний
эксперт
Факты
инженер по знаниям
• у окуня есть жабры
• Иван – отец Марьи
• Волга впадает в Каспийское море
Правила
• если x – животное и x дышит жабрами, то x – рыба;
• если x – отец y, и y – отец z, то x – дед z;
• если x состоит из атомов углерода и обладает
высокой твердостью, то x – алмаз.
! Оценка степени уверенности!
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
141. Экспертная система: пример
141Базы данных, 11 класс
Экспертная система: пример
• есть перья птица
• дышит жабрами рыба
• кормит детенышей молоком млекопитающее
• млекопитающее и ест мясо хищник
кормит детей молоком?
да
нет
имеет перья?
млекопитающее
ест мясо?
нет
да
нет
да
дышит жабрами?
птица
?
хищник
нет
да
?
рыба
! Язык программирования Пролог!
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
142. Экспертные системы: итоги
142Базы данных, 11 класс
Экспертные системы: итоги
• ЭС применяется в достаточно узкой области
• использует базу знаний, которая может расширяться
• может применяться при неточных и противоречивых
данных
• выдает ответ в виде рекомендации
• может показать, как получено решение
▪ опыт и интуицию экспертов сложно свести к правилам
▪ отладка и проверка ЭС очень сложна, трудно
гарантировать правильность выводов
▪ ЭС неспособны самообучаться, необходима работа
инженера по знаниям
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
143. Конец фильма
143Базы данных, 11 класс
Конец фильма
ПОЛЯКОВ Константин Юрьевич
д.т.н., учитель информатики
ГБОУ СОШ № 174, г. Санкт-Петербург
kpolyakov@mail.ru
ЕРЕМИН Евгений Александрович
к.ф.-м.н., доцент кафедры мультимедийной
дидактики и ИТО ПГГПУ, г. Пермь
eremin@pspu.ac.ru
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
144. Источники иллюстраций
Базы данных, 11 класс144
Источники иллюстраций
1.
2.
3.
4.
server.tkat.ru
ru.wikipedia.org
иллюстрации художников издательства «Бином»
авторские материалы
© К.Ю. Поляков, Е.А. Ерёмин, 2025
http://kpolyakov.spb.ru
database