Similar presentations:
Базы данных (Access)
1. Базы данных (Access)
1Базы данных
(Access)
§ 30. Информационные системы
§ 31. Таблицы
§ 32. Работа с базой данных
§ 33. Запросы
§ 34. Многотабличные Базы данных
(Access)
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
2. Базы данных (Access)
2Базы данных
(Access)
§ 30. Информационные системы
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
3. БД и СУБД
Базы данных (Access), 9 класс3
БД и СУБД
База данных (БД) — это специальным образом
организованная совокупность данных о некоторой
предметной области, хранящаяся во внешней памяти
компьютера.
Система управления базой данных (СУБД) — это
программные средства, которые позволяют выполнять
все необходимые операции с базой данных.
БД + СУБД = информационная система
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
4. БД и СУБД
Базы данных (Access), 9 класс4
БД и СУБД
Задачи СУБД:
• поиск данных
• редактирование данных
• выполнение несложных расчетов
• обеспечение целостности (корректности,
непротиворечивости) данных
• восстановление данных после сбоев
прикладная
программа
СУБД
БД
OpenOffice Base
Microsoft Access
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
5. Классификация ИС
Базы данных (Access), 9 класс5
Классификация ИС
ИС
локальные
удалённые
БД и СУБД на компьютере
пользователя
БД на удалённом компьютере
(в сети)
автономность
все работают с одной БД
нужно обновлять БД на
каждом компьютере
как учесть изменения,
внесённые пользователями
зависимость от сети
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
6. Файл-серверные СУБД
Базы данных (Access), 9 класс6
Файл-серверные СУБД
рабочие станции
сервер
СУБД
БД
СУБД
рабочие станции должны быть мощными
высокая нагрузка на сеть
слабая защита данных
ненадежность при большом количестве
пользователей
! Решение – перенести СУБД на сервер!
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
7. Клиент-серверные СУБД
Базы данных (Access), 9 класс7
Клиент-серверные СУБД
рабочие станции (клиенты)
запрос
прикладная
программа
ответ
сервер
СУБД
БД
прикладная
программа
Задачи клиента:
Задачи сервера:
• отправить серверу
• при получении запроса
запрос на языке SQL
поставить его в очередь
• принять ответ сервера • выполнить запрос
• вывести результаты
• отправить ответ клиенту
SQL = Structured Query Language – язык структурных
запросов для управления данными
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
8. Распределённая база данных
Базы данных (Access), 9 класс8
Распределённая база данных
сервер – 1
БД
СУБД
сервер – 2
БД
сервер – 3
СУБД
сеть
СУБД
БД
сервер – 4
СУБД
БД
рабочая станция
(клиент)
пользователя распределённая
! Для
система должна выглядеть точно так
же, как нераспределённая.
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
9. Базы данных (Access)
9Базы данных
(Access)
§ 31. Таблицы
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
10. Таблицы
Базы данных (Access), 9 класс10
Таблицы
Примеры:
• записная книжка
• каталог в библиотеке
Иванов Пётр
Суворовский пр., д. 32, кв. 11
275-75-75
поля
записи
Фамилия
Иванов
Петров
Васильев
Имя
Петр
Василий
Иван
Типы полей:
• целые числа
• вещественные числа
• денежные суммы
• логические значения
• текстовые данные
К.Ю. Поляков, Е.А. Ерёмин, 2018
Адрес
Суворовский пр., д. 32, кв. 11
Кутузовский пр., д. 12, кв. 20
Нахимовский пр., д. 23, кв. 33
Телефон
275-75-75
276-76-76
277-77-77
• время, дата
• произвольные двоичные
данные (рисунки, звук, видео)
http://kpolyakov.spb.ru
11. Ключ
Базы данных (Access), 9 класс11
Ключ
Ключ – это поле или комбинация полей, однозначно
определяющие запись.
Могут ли эти данные быть ключом?
• фамилия
Может ли быть несколько
• имя
ключей в таблице?
• номер паспорта
• номер дома
• регистрационный номер автомобиля
• город проживания
• адрес электронной почты
• дата выполнения работы
• марка стиральной машины ?
?
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
12. Ключ
Базы данных (Access), 9 класс12
Ключ
Первичный ключ – это ключ, выбранный в качестве
основного.
Простой ключ – состоит из одного поля.
Составной ключ – состоит из нескольких полей.
Дата
Время
Температура
Влажность
Скорость ветра
21.07.2012
12:00
25
75
4
21.07.2012
15:00
23
70
3
…
…
…
…
…
? Какой ключ?
Составной ключ Дата + Время
Свойства ключа:
• уникальность
• несократимость (Дата + Время + Влажность)
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
13. Суррогатный ключ
Базы данных (Access), 9 класс13
Суррогатный ключ
Номер
1
2
3
Фамилия
Иванов
Петров
Васильев
Имя
Петр
Василий
Иван
Адрес
Суворовский пр., д. 32, кв. 11
Кутузовский пр., д. 12, кв. 20
Нахимовский пр., д. 23, кв. 33
? Какой ключ?
Телефон
275-75-75
276-76-76
277-77-77
Суррогатный ключ – это дополнительное поле, которое
служит первичным ключом.
операции с числами выполняются быстрее
уникальность поддерживается СУБД (поле-счётчик)
? В чём недостатки?
хранятся лишние данные
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
14. Целостность БД
Базы данных (Access), 9 класс14
Целостность БД
Целостность базы данных означает, что она содержит
полную и непротиворечивую информацию и
удовлетворяет всем заданным ограничениям.
Физическая целостность – сохранность данных в
случае отказа оборудования:
• резервное копирование
• RAID-массивы жёстких дисков (дублирование)
Логическая целостность – непротиворечивость:
• типы полей
• обязательные поля
• уникальные поля
• ограничения на значения
• шаблоны ввода (###) ###-##-##
• условия (дата увольнения позже приёма)
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
15. Какие ошибки?
Базы данных (Access), 9 класс15
Какие ошибки?
неверное
значение
Код
1327
1323
1327
1329
уволен раньше,
чем принят
Фамилия Год рожд. Принят
Уволен
Телефон
Иванов
1811
01.03.2011
(911) 123-45-67
Петров
1977
12.10.2014 13.05.2014 (921) 223-45-67
Сидоров
0
28.09.2015 323-45-67 (913)
Тяпкин
1989
да
iPhone
неверное
значение
нет
значения
неверная
дата
неверный
номер
? Как не допустить?
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
16. Базы данных (Access)
16Базы данных
(Access)
§ 32. Работа с базой данных
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
17. Базы данных в Microsoft Access
Базы данных (Access), 9 класс17
Базы данных в Microsoft Access
Файлы *.accdb, *.mdb
• таблицы с данными
• формы – диалоговые окна, с помощью которых
пользователь вводит и изменяет данные
• запросы – команды по управлению данными
• отчеты – шаблоны документов для вывода на печать
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
18. Базы данных
(Access), 9 класс18
Базы данных
2×ЛКМ
переходы по
записям
общее
количество
новая
запись
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
19. Поиск и сортировка
Базы данных (Access), 9 класс19
Поиск и сортировка
Ctrl+F
сортировка по текущему столбцу
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
20. Задача
Базы данных (Access), 9 класс20
Задача
Фамилия
Пол
Математика
Русский
язык
Химия ИнформаБиология
тика
Сомов
м
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
Какой по счету будет запись с фамилией Белочкина,
если отсортировать таблицу по полю:
а) Фамилия (по алфавиту)
б) Математика (по убыванию)
в) Русский язык (по убыванию)
г) Химия (по возрастанию)
д) Информатика (по возрастанию)
е) Биология (по убыванию)
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
21. Фильтрация
Базы данных (Access), 9 класс21
Фильтрация
Фильтр – это условие для отбора записей.
! Остальные записи временно скрываются!
Быстрый фильтр (фильтр по выделенному)
применить/отменить фильтр
с таблицей хранится только один фильтр
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
22. Фильтр по форме (операция «И»)
Базы данных (Access), 9 класс22
Фильтр по форме (операция «И»)
«И»
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
23. Расширенный фильтр
Базы данных (Access), 9 класс23
Расширенный фильтр
«ИЛИ»
К.Ю. Поляков, Е.А. Ерёмин, 2018
все классы
http://kpolyakov.spb.ru
24. Задача
Базы данных (Access), 9 класс24
Задача
В чём разница между фильтрами:
а) Предмет = 'Математика' AND Класс = 2
OR Год издания > 2009
б) Предмет = 'Математика' OR Класс = 2
AND Год издания > 2009
в) Предмет = 'Математика' OR Год издания > 2009
AND Класс = 2
г) Предмет = 'Математика' AND Год издания > 2009
OR Класс = 2
? Какие фильтры дают одинаковый результат?
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
25. Задача
Базы данных (Access), 9 класс25
Задача
Фамилия
Пол
Математика
Русский
язык
Сомов
Кротов
Белочкина
Окунев
Судакова
Щукина
м
м
ж
м
ж
ж
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
http://kpolyakov.spb.ru
26. Однотабличная БД
Базы данных (Access), 9 класс26
Однотабличная БД
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
27. Создание базы данных
Базы данных (Access), 9 класс27
Создание базы данных
ключ
текущее
поле
свойства
текущего
поля
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
28. Типы полей
Базы данных (Access), 9 класс28
Типы полей
? Зачем нужны типы полей?
• Текст [VARCHAR]
• Памятка [LONGVARCHAR]
Зачем?
?
• Целое [INTEGER]
• Десятичное [DECIMAL] (денежная сумма)
• Вещественное [REAL]
• Картинка [LONGVARBINARY]
• Логическое [BOOLEAN]
• Дата [DATE];
• Время [TIME];
• Дата/Время [TIMESTAMP].
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
29. Свойства полей
Базы данных (Access), 9 класс29
Свойства полей
• максимальный размер для текста
• количество знаков в дробной части
• значение по умолчанию
• подпись (на экране)
• обязательное (да/нет)
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
30. Операции с таблицами
Базы данных (Access), 9 класс30
Операции с таблицами
изменить данные в
таблице
изменить структуру
таблицы
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
31. Базы данных (Access)
31Базы данных
(Access)
§ 33. Запросы
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
32. Что такое запрос?
Базы данных (Access), 9 класс32
Что такое запрос?
Запрос – это обращение к СУБД для отбора записей или
выполнения других операций с данными.
• выборка данных
• создание таблиц
• редактирование таблиц и записей
• изменение записей
• удаление записей
• удаление таблиц
SQL (англ. Structured Query Language – язык
структурных запросов).
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
33. Конструктор запросов
Базы данных (Access), 9 класс33
Конструктор запросов
ЛКМ
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
34. Конструктор запросов
Базы данных (Access), 9 класс34
Конструктор запросов
все поля
перетащить ЛКМ
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
35. Режим SQL
Базы данных (Access), 9 класс35
Режим SQL
выбрать
из таблицы
Футбол
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
36. Сортировка
Базы данных (Access), 9 класс36
Сортировка
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
37. Запуск запроса
Базы данных (Access), 9 класс37
Запуск запроса
2×ЛКМ
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
38. Изменение запроса
Базы данных (Access), 9 класс38
Изменение запроса
ПКМ
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
39. Условия отбора
Базы данных (Access), 9 класс39
Условия отбора
Условие
отбора
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
40. Сложные условия
Базы данных (Access), 9 класс40
Сложные условия
И
AND
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
41. Сложные условия
Базы данных (Access), 9 класс41
Сложные условия
OR
ИЛИ
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
42. Запросы с параметрами
Базы данных (Access), 9 класс42
Запросы с параметрами
Параметры – это данные, которые пользователь вводит
при выполнении запроса.
параметр
15000
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
43. Вычисляемые поля
Базы данных (Access), 9 класс43
Вычисляемые поля
Очки = Ничьи + 3*Победы
Очки: Ничьи + 3*Победы
? Как отсортировать по убыванию очков?
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
44. Базы данных (Access)
44Базы данных
(Access)
§ 34. Многотабличные Базы
данных (Access)
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
45. Однотабличная БД
Базы данных (Access), 9 класс45
Однотабличная БД
Альбомы
Код
Название
1
Хиты про любовь
2
Группа
Год
Число композиций
Браво
1998
13
Мода
Браво
2011
12
3
Вне зоны доступа
Город 312
2006
16
4
Новая музыка
Город 312
2010
18
? Что плохо?
дублирование данных
при изменении каких-то данных, возможно,
придется менять несколько записей
нет защиты от ошибок ввода (опечаток)
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
46. Многотабличная БД
Базы данных (Access), 9 класс46
Многотабличная БД
Группы
Код
Название
Год создания
1 Браво
1983
2 Город312
2001
Код
Название
1 Хиты про любовь
2 Мода
3 Вне зоны доступа
4 Новая музыка
Альбомы
Код группы Год
Число композиций
1
1998
13
1
2011
12
2
2006
16
2
2010
18
? Что улучшилось?
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
47. Многотабличная БД
Базы данных (Access), 9 класс47
Многотабличная БД
Группы
Альбомы
Код
Название
Год создания
Код
Название
Код группы
Год
Число композиций
Внешний ключ – это неключевое поле таблицы,
связанное с первичным ключом другой таблицы.
убрано дублирование
изменения нужно делать в одном месте
некоторая защита от опечаток (выбор из списка)
усложнение структуры (> 40-50 таблиц – много!)
при поиске нужно «собирать» данные разных таблиц
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
48. Ссылочная целостность
Базы данных (Access), 9 класс48
Ссылочная целостность
? Удаление группы: что делать с альбомами?
СУБД:
• запретить удаление записи
• выполнить каскадное удаление (удалить все
связанные с ней записи в других таблицах)
• разрешить внести изменения
нарушится ссылочная
целостность!
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
49. Типы связей между таблицами
Базы данных (Access), 9 класс49
Типы связей между таблицами
ключ
Группы
Код
Название
Год создания
1
Альбомы
Код
Название
Код группы
N
Год
не ключ Число композиций
Связь 1:N – с одной записью в первой таблице могут
быть связаны сколько угодно записей во второй
таблице.
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
50. Создание многотабличной БД
Базы данных (Access), 9 класс50
Создание многотабличной БД
Создать две таблицы:
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
51. Создание многотабличной БД
Базы данных (Access), 9 класс51
Создание многотабличной БД
добавить в рабочую область обе таблицы:
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
52. Создание многотабличной БД
Базы данных (Access), 9 класс52
Создание многотабличной БД
Установить связь между таблицами:
– ЛКМ
+ЛКМ
!
? Почему ?
Перетащить ЛКМ одно поле на другое!
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
53. Запрос (объединение данных)
Базы данных (Access), 9 класс53
Запрос (объединение данных)
Название
Группа
Год
Число композиций
Хиты про любовь
Браво
1998
13
Мода
Браво
2011
12
Вне зоны доступа
Город 312
2006
16
Новая музыка
Город 312
2010
18
Альбомы
К.Ю. Поляков, Е.А. Ерёмин, 2018
Группы
Альбомы
http://kpolyakov.spb.ru
54. Запрос (объединение данных)
Базы данных (Access), 9 класс54
Запрос (объединение данных)
ЛКМ
Альбом
Группа
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
55. Итоговый запрос
Базы данных (Access), 9 класс55
Итоговый запрос
Группа
Браво
Город 312
Альбомов
2
2
!
Общее число композиций
25
34
Эти данные вычисляются!
Группировка Count
Группировка по
каждой группе
К.Ю. Поляков, Е.А. Ерёмин, 2018
Количество
Sum
Сумма
http://kpolyakov.spb.ru
56. Конец фильма
Базы данных (Access), 9 класс56
Конец фильма
ПОЛЯКОВ Константин Юрьевич
д.т.н., учитель информатики
ГБОУ СОШ № 163, г. Санкт-Петербург
[email protected]
ЕРЕМИН Евгений Александрович
к.ф.-м.н., доцент кафедры мультимедийной
дидактики и ИТО ПГГПУ, г. Пермь
[email protected]
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
57. Источники иллюстраций
Базы данных (Access), 9 класс57
Источники иллюстраций
1.
2.
иллюстрации художников издательства «Бином»
авторские материалы
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru