Базы Данных Поляков

Содержание

Слайд 2

Базы данных

§ 13. Введение

Базы данных § 13. Введение

Слайд 3

Что такое информационная система?

Информационная система (ИС) в широком смысле — это аппаратные

Что такое информационная система? Информационная система (ИС) в широком смысле — это
и программные средства, предназначенные для того, чтобы своевременно обеспечить пользователей нужной информацией.

Задачи:
хранение данных
доступ к данным

Слайд 4

БД и СУБД

База данных (БД) — это специальным образом организованная совокупность данных

БД и СУБД База данных (БД) — это специальным образом организованная совокупность
о некоторой предметной области, хранящаяся во внешней памяти компьютера.

Система управления базой данных (СУБД) — это программные средства, которые позволяют выполнять все необходимые операции с базой данных.

БД + СУБД = информационная система

Слайд 5

БД и СУБД

поиск данных
редактирование данных
выполнение несложных расчетов
обеспечение целостности (корректности, непротиворечивости) данных
восстановление данных

БД и СУБД поиск данных редактирование данных выполнение несложных расчетов обеспечение целостности
после сбоев

Задачи СУБД:
БД

СУБД

прикладная программа

Слайд 6

Классификация ИС

ИС

локальные

удалённые

БД и СУБД на компьютере пользователя

БД на удалённом компьютере (в сети)

автономность

нужно

Классификация ИС ИС локальные удалённые БД и СУБД на компьютере пользователя БД
обновлять БД на каждом компьютере
как учесть изменения, внесённые пользователями

все работают с одной БД

зависимость от сети

Слайд 7

Как хранить данные?

Текстовый формат:
Собственный формат программы:
Универсальный формат:

БД:

«данные о данных»

Иванов;Иван;Петрович;1968;«Audi»;20 000 р.
Петров;Пётр;Иванович;1975;«Лада»;30 000

Как хранить данные? Текстовый формат: Собственный формат программы: Универсальный формат: БД: «данные
р.
Сидоров;Семён;Иванович;1975;«Нива»;15 000 р.

нет переносимости (БД можно использовать только с этой программой)

Переносимость – это возможность использовать БД в других информационных системах.

Слайд 8

Файл-серверные СУБД

рабочие станции должны быть мощными
высокая нагрузка на сеть
слабая защита данных
ненадежность при

Файл-серверные СУБД рабочие станции должны быть мощными высокая нагрузка на сеть слабая
большом количестве пользователей

Слайд 9

Клиент-серверные СУБД

Задачи клиента:

Задачи сервера:

отправить серверу запрос на языке SQL
принять ответ сервера
вывести результаты

при

Клиент-серверные СУБД Задачи клиента: Задачи сервера: отправить серверу запрос на языке SQL
получении запроса поставить его в очередь
выполнить запрос
отправить ответ клиенту

SQL = Structured Query Language – язык структурных запросов для управления данными

Слайд 10

Клиент-серверные СУБД

обработка данных на сервере
рабочие станции могут быть маломощными
проще модернизация
надежная защита данных

Клиент-серверные СУБД обработка данных на сервере рабочие станции могут быть маломощными проще
(на сервере)
снижается нагрузка на сеть
надежная работа при большом количестве пользователей

нужен мощный сервер
высокая стоимость коммерческих СУБД

MS SQL Server

бесплатно!

Слайд 11

Транзакции

Транзакция – это группа операций, которая представляет собой одно законченное действие. Транзакция

Транзакции Транзакция – это группа операций, которая представляет собой одно законченное действие.
должна быть выполнена целиком или не выполнена вообще.

Задача: перевести 100 000 рублей со счета 12345 на счет 54321.

прочитать сумму на счету 12345
уменьшить ее на 100 000 рублей
прочитать сумму на счету 54321
увеличить ее на 100 000 рублей

журналирование
создание новых записей (помечаются как действительные после завершения транзакции)

Слайд 12

Таблицы

Примеры:
записная книжка
каталог в библиотеке

Таблицы Примеры: записная книжка каталог в библиотеке

Слайд 13

Ключ

Ключ – это поле или комбинация полей, однозначно определяющие запись.

Могут ли эти

Ключ Ключ – это поле или комбинация полей, однозначно определяющие запись. Могут
данные быть ключом?
фамилия
имя
номер паспорта
номер дома
регистрационный номер автомобиля
город проживания
адрес электронной почты
дата выполнения работы
марка стиральной машины

?

Слайд 14

Ключ

Первичный ключ – это ключ, выбранный в качестве основного.

Простой ключ – состоит

Ключ Первичный ключ – это ключ, выбранный в качестве основного. Простой ключ
из одного поля.

Составной ключ – состоит из нескольких полей.

Составной ключ ← Дата + Время

Свойства ключа:
уникальность
несократимость (Дата + Время + Влажность)

Слайд 15

Суррогатный ключ

Суррогатный ключ – это дополнительное поле, которое служит первичным ключом.

операции с

Суррогатный ключ Суррогатный ключ – это дополнительное поле, которое служит первичным ключом.
числами выполняются быстрее
уникальность поддерживается СУБД (поле-счётчик)

Слайд 16

Поиск в БД

Линейный поиск – это перебор всех записей до тех пор,

Поиск в БД Линейный поиск – это перебор всех записей до тех
пока не будет найдена нужная.

Иванов?

1024 сравнения!

данные не надо предварительно готовить

низкая скорость поиска

Слайд 17

Двоичный поиск

Разделить область поиска на две равные части.
Определить, в какой половине находится

Двоичный поиск Разделить область поиска на две равные части. Определить, в какой
нужный объект.
Перейти к шагу 1 для этой половины.
Повторять шаги 1-3 пока объект не будет «пойман».

Слайд 18

Двоичный поиск в БД

требует предварительной сортировки.

Иванов?

записи надо отсортировать по нужному полю
можно использовать

Двоичный поиск в БД требует предварительной сортировки. Иванов? записи надо отсортировать по
только для одного поля

быстрый поиск

11 сравнений!

Слайд 19

Индексный поиск в БД

Индекс – это вспомогательная таблица, которая служит для ускорения

Индексный поиск в БД Индекс – это вспомогательная таблица, которая служит для
поиска в основной таблице.

отсортированы!

индексы занимают место на диске
при изменении таблицы надо перестраивать все индексы (в СУБД – автоматически)

двоичный поиск по всем столбцам, для которых построены индексы

Слайд 20

Целостность БД

Целостность базы данных означает, что она содержит полную и непротиворечивую информацию

Целостность БД Целостность базы данных означает, что она содержит полную и непротиворечивую
и удовлетворяет всем заданным ограничениям.

Физическая целостность – сохранность данных в случае отказа оборудования:
транзакции
резервное копирование
RAID-массивы жёстких дисков (дублирование)

Логическая целостность – непротиворечивость:
типы полей
обязательные поля
уникальные индексы
ограничения на значения
шаблоны ввода (###) ###-##-##
условия на несколько полей (увольнение позже приёма)

Слайд 21

Задача

Постройте индексы по всем полям:

Задача Постройте индексы по всем полям:

Слайд 22

Базы данных

§ 14. Многотабличные базы данных

Базы данных § 14. Многотабличные базы данных

Слайд 23

Однотабличная БД

дублирование данных
при изменении каких-то данных, возможно, придется менять несколько записей
нет защиты

Однотабличная БД дублирование данных при изменении каких-то данных, возможно, придется менять несколько
от ошибок ввода (опечаток)

Слайд 24

Многотабличная БД

Многотабличная БД

Слайд 25

Многотабличная БД

Внешний ключ – это неключевое поле таблицы, связанное с первичным ключом

Многотабличная БД Внешний ключ – это неключевое поле таблицы, связанное с первичным
другой таблицы.

усложнение структуры (> 40-50 таблиц – много!)
при поиске нужно «собирать» данные разных таблиц

убрано дублирование
изменения нужно делать в одном месте
некоторая защита от опечаток (выбор из списка)

Слайд 26

Ссылочная целостность

запретить удаление записи
выполнить каскадное удаление (удалить все связанные с ней записи

Ссылочная целостность запретить удаление записи выполнить каскадное удаление (удалить все связанные с
в других таблицах)
разрешить внести изменения

нарушится ссылочная целостность!

СУБД:

Слайд 27

Типы связей между таблицами

1

N

Связь 1:N – с одной записью в первой таблице

Типы связей между таблицами 1 N Связь 1:N – с одной записью
могут быть связаны сколько угодно записей во второй таблице.

ключ

не ключ

Слайд 28

Типы связей между таблицами

Связь 1:1 – с одной записью в первой таблице

Типы связей между таблицами Связь 1:1 – с одной записью в первой
связана ровно одна запись во второй таблице.

ключ

1

1

ключ

Слайд 29

Типы связей между таблицами

N

N

Связь N:N – с одной записью в первой таблице

Типы связей между таблицами N N Связь N:N – с одной записью
могут быть связаны сколько угодно записей во второй таблице, и наоборот.

в СУБД не поддерживаются

Слайд 30

Типы связей между таблицами

N

1

Связь N:N

N

1

Пример:

Типы связей между таблицами N 1 Связь N:N N 1 Пример:

Слайд 31

Задачи

Сколько заказчиков располагаются в Перми?

Задачи Сколько заказчиков располагаются в Перми?

Слайд 32

Задачи

Определите:
какие товары отправлены в каждый из городов;
сколько бумаги отправлено в каждый из

Задачи Определите: какие товары отправлены в каждый из городов; сколько бумаги отправлено
городов;
общую стоимость товаров, отправленных в каждый из городов.

Слайд 33

Задачи

Определить фамилию и инициалы
а) бабушки А.И.Ивановой
б) родного брата И.А. Черненко
в) прадеда Т.М.

Задачи Определить фамилию и инициалы а) бабушки А.И.Ивановой б) родного брата И.А.
Иванова
г) внука И.Т. Пановко

Слайд 34

Задачи

Определить фамилию и инициалы
а) племянника Н.И. Симоняка
б) всех родных братьев и сестёр

Задачи Определить фамилию и инициалы а) племянника Н.И. Симоняка б) всех родных
Н.И. Симоняка
в) бабушки А.Т. Малых
г) дедушки А.Т. Сидорова

Слайд 35

Задачи

Определить фамилию и инициалы
а) всех внуков и внучек И.А. Левитина;
б) родной сестры

Задачи Определить фамилию и инициалы а) всех внуков и внучек И.А. Левитина;
П.А. Кузнецова;
в) родного брата С.А. Муриной;
г) бабушки Р.Б. Левитиной.

Слайд 36

Базы данных

§ 15. Реляционная модель данных

Базы данных § 15. Реляционная модель данных

Слайд 37

Математическое описание БД

Требуется:
описание БД, независимое от способа хранения данных
методы управления этими данными

Математическое описание БД Требуется: описание БД, независимое от способа хранения данных методы

Реляционная модель данных (Э. Кодд, 1970):
все данные – свойства некоторых объектов
объекты делятся на классы (сущности)
данные об объекте – набор свойств (атрибутов):
(Название: «Кино», Лидер: «В. Цой»)
порядок свойств не определён
отношение (relation) – множество кортежей, описывающих объекты одного класса
в отношении нет одинаковых кортежей
порядок кортежей в отношении не определен

кортеж

Слайд 38

Реляционные БД

Реляционная БД – это БД, которая основана на реляционной модели, то

Реляционные БД Реляционная БД – это БД, которая основана на реляционной модели,
есть представляет собой набор отношений.

Удобно хранить в виде таблицы:

отношение

атрибуты

сущность

кортеж

Слайд 39

Реляционные БД

Реляционная БД – это база данных, которая представлена в виде набора

Реляционные БД Реляционная БД – это база данных, которая представлена в виде
таблиц и управляется с помощью языка SQL.

SQL: обращение к данным по названиям таблиц (отношений) и полей (атрибутов).
Основные операции:
создание и удаление таблиц
добавление, изменение и удаление записей
выборка данных

На языке таблиц:
каждая таблица описывает один класс объектов
порядок расположения полей в таблице не имеет значения
все значения одного поля относятся к одному и тому же типу данных
в таблице нет двух одинаковых записей
порядок записей в таблице не определён

Слайд 40

Нормализация

Нормализация – это изменение структуры базы данных, которое устраняет избыточность и предотвращает

Нормализация Нормализация – это изменение структуры базы данных, которое устраняет избыточность и предотвращает возможные нарушения целостности.
возможные нарушения целостности.

Слайд 41

Нормализация на примерах

1. Любое поле должно быть неделимым:

Нормализация на примерах 1. Любое поле должно быть неделимым:

Слайд 42

Нормализация на примерах

2. Любое неключевое поле должно зависеть от ключа:

Нормализация на примерах 2. Любое неключевое поле должно зависеть от ключа:

Слайд 43

Нормализация на примерах

3. Не должно быть одинаковых по смыслу полей:

N

1

Нормализация на примерах 3. Не должно быть одинаковых по смыслу полей: N 1

Слайд 44

Нормализация на примерах

4. Не нужно хранить то, что может быть вычислено:

прибыль вычисляется

Нормализация на примерах 4. Не нужно хранить то, что может быть вычислено: прибыль вычисляется через запрос!
через запрос!

Слайд 45

Нормализация: «за» и «против»

усложнение структуры (> 40-50 таблиц – много!)
замедляется поиск (нужно

Нормализация: «за» и «против» усложнение структуры (> 40-50 таблиц – много!) замедляется
«собирать» данные из разных таблиц)

устранено дублирование
все изменения делаются в одном месте
некоторая защита от опечаток (выбор из списка)
СУБД поддерживает ссылочную целостность

Слайд 46

Задача

Выполните нормализацию:

Задача Выполните нормализацию:

Слайд 47

Задача

Выполните нормализацию:

Задача Выполните нормализацию:

Слайд 48

Задача

Выполните нормализацию:

Задача Выполните нормализацию:

Слайд 49

Задача

Выполните нормализацию:

Задача Выполните нормализацию:

Слайд 50

Базы данных

§ 16. Работа с таблицей

Базы данных § 16. Работа с таблицей

Слайд 51

Базы данных в OpenOffice.org Base

Файлы *.odb

таблицы с данными
формы – диалоговые окна, с

Базы данных в OpenOffice.org Base Файлы *.odb таблицы с данными формы –
помощью которых пользователь вводит и изменяет данные
запросы – команды по управлению данными
отчеты – шаблоны документов для вывода на печать

«Форк» (ответвление): LibreOffice (www.libreoffice.org)

Слайд 52

Базы данных OO Base

2×ЛКМ

новая запись

переходы по записям

общее количество

выделено

текущая запись

Базы данных OO Base 2×ЛКМ новая запись переходы по записям общее количество выделено текущая запись

Слайд 53

Поиск и сортировка

Ctrl+F

сортировка по текущему столбцу

несколько уровней

Поиск и сортировка Ctrl+F сортировка по текущему столбцу несколько уровней

Слайд 54

Задача

Какой по счету будет запись с фамилией Белочкина, если отсортировать таблицу по

Задача Какой по счету будет запись с фамилией Белочкина, если отсортировать таблицу
полю:

а) Фамилия (по алфавиту)
б) Математика (по убыванию)
в) Русский язык (по убыванию)
г) Химия (по возрастанию)
д) Информатика (по возрастанию)
е) Биология (по убыванию)

Слайд 55

Фильтрация

Фильтр – это условие для отбора записей.

быстрый фильтр (фильтр по выделенному)

применить/отменить

Фильтрация Фильтр – это условие для отбора записей. быстрый фильтр (фильтр по выделенному) применить/отменить фильтр
фильтр

Слайд 56

Фильтрация

удалить фильтр

редактировать текущий фильтр

с таблицей хранится только один фильтр
не все условия можно

Фильтрация удалить фильтр редактировать текущий фильтр с таблицей хранится только один фильтр
записать

какие нельзя?

ANDOR

Слайд 57

Задача

В чём разница между фильтрами:

а) Предмет = 'Математика' AND Класс = 2

Задача В чём разница между фильтрами: а) Предмет = 'Математика' AND Класс
OR Год издания > 2009
б) Предмет = 'Математика' OR Класс = 2 AND Год издания > 2009
в) Предмет = 'Математика' OR Год издания > 2009 AND Класс = 2
г) Предмет = 'Математика' AND Год издания > 2009 OR Класс = 2

Слайд 58

Задача

Сколько записей будет отобрано:

а)Пол = 'ж' AND Химия > Биология
б)Пол = 'ж'

Задача Сколько записей будет отобрано: а)Пол = 'ж' AND Химия > Биология
OR Химия > Биология
в)Пол = 'м' AND Математика > Информатика
г)Пол = 'м' OR Математика > Информатика
д)Пол = 'ж' AND Русский язык > 70 OR Информатика > 80
е)Пол = 'ж' OR Русский язык > 70 AND Информатика > 80
ж)Пол = 'м' AND Информатика > 80 OR Русский язык > 60
з)Пол = 'м' OR Информатика > 80 AND Русский язык > 60

Слайд 59

Однотабличная БД

Однотабличная БД

Слайд 60

Создание базы данных

ключ

текущее поле

свойства текущего поля

Создание базы данных ключ текущее поле свойства текущего поля

Слайд 61

Типы полей

Текст [VARCHAR]
Памятка [LONGVARCHAR]
Целое [INTEGER]
Десятичное [DECIMAL] (денежная сумма)
Вещественное [REAL]
Картинка [LONGVARBINARY]
Логическое [BOOLEAN]
Дата

Типы полей Текст [VARCHAR] Памятка [LONGVARCHAR] Целое [INTEGER] Десятичное [DECIMAL] (денежная сумма)
[DATE];
Время [TIME];
Дата/Время [TIMESTAMP].

Слайд 62

Свойства полей

максимальный размер для текста
количество знаков в дробной части
значение по умолчанию
автозначение

Свойства полей максимальный размер для текста количество знаков в дробной части значение
(да/нет)
обязательное (да/нет)

Слайд 63

Индексы

ЛКМ

создать

удалить

переименовать

Индексы ЛКМ создать удалить переименовать

Слайд 64

Операции с таблицами

Операции с таблицами

Слайд 65

Многотабличная БД

N

1

N

1

Пример:

Многотабличная БД N 1 N 1 Пример:

Слайд 66

Создание таблиц

INTEGER

DECIMAL

Создание таблиц INTEGER DECIMAL

Слайд 67

Установка связей между таблицами

Сервис – Связи

Установка связей между таблицами Сервис – Связи

Слайд 68

Заполнение таблиц

Заполнение таблиц

Слайд 69

Базы данных

§ 17. Запросы

Базы данных § 17. Запросы

Слайд 70

Что такое запрос?

Запрос – это обращение к СУБД для отбора записей или

Что такое запрос? Запрос – это обращение к СУБД для отбора записей
выполнения других операций с данными.

SQL (англ. Structured Query Language – язык структурных запросов).

выборка данных
создание таблиц
редактирование таблиц и записей
изменение записей
удаление записей
удаление таблиц

Слайд 71

Конструктор запросов

ЛКМ

Конструктор запросов ЛКМ

Слайд 72

Конструктор запросов

выполнить (F5)

перетащить ЛКМ

все поля

Конструктор запросов выполнить (F5) перетащить ЛКМ все поля

Слайд 73

Режим SQL

ЛКМ

выбрать

из таблицы

Режим SQL ЛКМ выбрать из таблицы

Слайд 74

Сортировка

Сортировка

Слайд 75

Запуск запроса

2×ЛКМ

Запуск запроса 2×ЛКМ

Слайд 76

Изменение запроса

ЛКМ

ПКМ – Изменить
ПКМ – Редактировать в режиме SQL

Изменение запроса ЛКМ ПКМ – Изменить ПКМ – Редактировать в режиме SQL

Слайд 77

Форматирование столбцов

ПКМ – Формат столбца

Форматирование столбцов ПКМ – Формат столбца

Слайд 78

Условия отбора

Условие отбора

Условия отбора Условие отбора

Слайд 79

Сложные условия

Сложные условия

Слайд 80

Сложные условия

Сложные условия

Слайд 81

Шаблоны

условие с шаблоном

Шаблоны условие с шаблоном

Слайд 82

Запросы с параметрами

Параметры – это данные, которые пользователь вводит при выполнении запроса.

Запросы с параметрами Параметры – это данные, которые пользователь вводит при выполнении запроса.

Слайд 83

Вычисляемые поля

Очки = Ничьи + 3*Победы

ПКМ – Формат столбца

Вычисляемые поля Очки = Ничьи + 3*Победы ПКМ – Формат столбца

Слайд 84

Другие типы запросов

ЛКМ

Другие типы запросов ЛКМ

Слайд 85

Запрос данных из нескольких таблиц

добавить все

Запрос данных из нескольких таблиц добавить все

Слайд 86

Запрос данных из нескольких таблиц

перетащить нужные поля

названия при выводе

Запрос данных из нескольких таблиц перетащить нужные поля названия при выводе

Слайд 87

Запрос данных из нескольких таблиц

ПКМ – Редактировать в режиме SQL

псевдоним

Запрос данных из нескольких таблиц ПКМ – Редактировать в режиме SQL псевдоним

Слайд 88

Запрос данных из нескольких таблиц

ПКМ – Формат столбца

Запрос данных из нескольких таблиц ПКМ – Формат столбца

Слайд 89

Итоговый запрос

Название столбцов при выводе

Итоговый запрос Название столбцов при выводе

Слайд 90

Итоговый запрос

Итоговый запрос

Слайд 91

Базы данных

§ 18. Формы

Базы данных § 18. Формы

Слайд 92

Зачем нужны формы?

SQL

формы

Форма – это диалоговое окно, с помощью которого пользователь
просматривает
изменяет
добавляет
удаляет

Зачем нужны формы? SQL формы Форма – это диалоговое окно, с помощью

данные из базы.

Слайд 93

Создание формы

Создание формы

Слайд 94

Создание форм

Создание форм

Слайд 95

Редактирование формы

ПКМ - Изменить

ЛКМ

Редактирование формы ПКМ - Изменить ЛКМ

Слайд 96

Редактирование формы

Редактирование формы

Слайд 97

Изменение фона

ПКМ – Страница

Изменение фона ПКМ – Страница

Слайд 98

Настройка элементов

Выделение элемента:

Выделяется поле и связанная надпись

Настройка элементов Выделение элемента: Выделяется поле и связанная надпись

Слайд 99

Свойства элемента

Свойства

Свойства элемента Свойства

Слайд 100

Навигатор форм

Навигатор форм

Навигатор форм Навигатор форм

Слайд 101

Оформление

Элементы управления:

Вставка рисунка:
меню Вставка – Изображение – Из файла

Векторная графика:

Дополнительные элементы

Оформление Элементы управления: Вставка рисунка: меню Вставка – Изображение – Из файла
управления:

дополнительные

метка

поле

Слайд 102

Форма с подчинённой (субформой)

Таблица Заказы

ЗапросЗаказы

ЗапросКОплате

Форма с подчинённой (субформой) Таблица Заказы ЗапросЗаказы ЗапросКОплате

Слайд 103

Форма с подчинённой (субформой)

Форма с подчинённой (субформой)

Слайд 104

ПКМ – Изменить

Форма с подчинённой

Удалить столбец Заказ

ПКМ – Изменить Форма с подчинённой Удалить столбец Заказ

Слайд 105

Добавление третьей формы

Навигатор форм

Добавление третьей формы Навигатор форм

Слайд 106

Добавление третьей формы

ПКМ

Добавление третьей формы ПКМ

Слайд 107

Добавление элементов на форму

нарисовать область

метка на форме

ПКМ – Свойства

Добавление элементов на форму нарисовать область метка на форме ПКМ – Свойства

Слайд 108

Добавление элементов на форму

Добавление элементов на форму

Слайд 109

Добавление элементов на форму

нарисовать область

Поле валюты на форме

Добавление элементов на форму нарисовать область Поле валюты на форме

Слайд 110

Добавление элементов на форму

ПКМ – Свойства

ЛКМ

Добавление элементов на форму ПКМ – Свойства ЛКМ

Слайд 111

Кнопочные формы

2×ЛКМ

Кнопочные формы 2×ЛКМ

Слайд 112

Макросы

Макрос (макрокоманда) – это подпрограмма для автоматизации действий пользователя.

OpenOffice: OpenOffice Basic (+Python,

Макросы Макрос (макрокоманда) – это подпрограмма для автоматизации действий пользователя. OpenOffice: OpenOffice
Java, Javascript)
Microsoft Office: Visual Basic for Applications (VBA)

Сервис – Макросы – Управление макросами – OpenOffice Basic

ЛКМ

ЛКМ

Без русских букв и пробелов

Слайд 113

Ввод макроса

Sub OpenMeal
ThisDataBaseDocument.FormDocuments.getbyname("Заказы").close
ThisDataBaseDocument.FormDocuments.getbyname("Блюда").open
End Sub

начало макроса

имя макроса

конец макроса

активный документ

формы документа

найти по

Ввод макроса Sub OpenMeal ThisDataBaseDocument.FormDocuments.getbyname("Заказы").close ThisDataBaseDocument.FormDocuments.getbyname("Блюда").open End Sub начало макроса имя макроса
имени

закрыть

открыть

Слайд 114

Связывание макроса с кнопкой

2×ЛКМ

ЛКМ

ЛКМ

макрос – обработчик события

Связывание макроса с кнопкой 2×ЛКМ ЛКМ ЛКМ макрос – обработчик события

Слайд 115

Базы данных

§ 19. Отчёты

Базы данных § 19. Отчёты

Слайд 116

Что такое отчёт?

Отчет – это документ, предназначенный для вывода данных на печать.

Что такое отчёт? Отчет – это документ, предназначенный для вывода данных на печать.

Слайд 117

Как создать отчёт?

Как создать отчёт?

Слайд 118

Редактирование отчёта

Редактирование отчёта

Слайд 119

Использование Oracle Report Builder

http://extensions.openoffice.org/en/project/oracle-report-builder

Свойства (F4)

Использование Oracle Report Builder http://extensions.openoffice.org/en/project/oracle-report-builder Свойства (F4)

Слайд 120

Отчёт с группировкой

Отчёт с группировкой

Слайд 121

Отчёт с группировкой

Отчёт с группировкой

Слайд 122

Редактирование отчёта

Редактирование отчёта

Слайд 123

Сумма заказа

Сумма заказа

Слайд 124

Использование Oracle Report Builder

http://extensions.openoffice.org/en/project/oracle-report-builder

Использование Oracle Report Builder http://extensions.openoffice.org/en/project/oracle-report-builder

Слайд 125

Использование Oracle Report Builder

Метка

Поле

Использование Oracle Report Builder Метка Поле

Слайд 126

Использование Oracle Report Builder

ПКМ – Новая функция

Использование Oracle Report Builder ПКМ – Новая функция

Слайд 127

Использование Oracle Report Builder

ЛКМ

Использование Oracle Report Builder ЛКМ

Слайд 128

Базы данных

§ 20. Нереляционные базы данных

Базы данных § 20. Нереляционные базы данных

Слайд 129

Проблемы реляционных БД

данные нужно разбить на множество таблиц
человек мыслит не таблицами, а

Проблемы реляционных БД данные нужно разбить на множество таблиц человек мыслит не
объектами
данные об одном объекте разбросаны по нескольким таблицами ⇒ замедление запросов
структура хранимых объектов строго определена и не может меняться
как хранить объекты с разными свойствами?
как распределить нагрузку между серверами в Интернете? (реляционные БД плохо масштабируются)

Слайд 130

Базы данных NoSQL

NoSQL = Not Only SQL

базы данных «ключ-значение»
большие разреженные таблицы
документоориентированные БД
графовые

Базы данных NoSQL NoSQL = Not Only SQL базы данных «ключ-значение» большие
БД

Слайд 131

БД «ключ-значение»

добавление записи
поиск по ключу
удаление записи по ключу
изменение записи по ключу

data(12345) =

БД «ключ-значение» добавление записи поиск по ключу удаление записи по ключу изменение
"Вася"

номер сервера:
12345 mod 100 = 45

Масштабируемость – возможность распределить нагрузку на несколько серверов.

Redis

DynamoDB

MemcacheMemcacheDB

Слайд 132

БД «ключ-значение»

близость к человеческому восприятию
масштабируемость

ключи

не поддерживаются связи между объектами
нет стандарта на язык

БД «ключ-значение» близость к человеческому восприятию масштабируемость ключи не поддерживаются связи между
управления данными
запросы – только поиск по ключу (сортировка?)

Слайд 133

Большие разреженные таблицы

два ключа – номера строки и столбца

не все ячейки заполнены

Большие разреженные таблицы два ключа – номера строки и столбца не все ячейки заполнены

Слайд 134

Документо-ориентированные БД

{ ключ: 1231239786234762394769237,
автор: "solaris",
название: "Новая ОС",
дата: "15.12.2016",
текст:

Документо-ориентированные БД { ключ: 1231239786234762394769237, автор: "solaris", название: "Новая ОС", дата: "15.12.2016",
"Начал писать операционку...",
комментарии: [
{ автор: "linus",
дата: "16.12.2016",
текст: "Отлично! Держи в курсе."
}
]
}

хэш-код

набор полей произвольный
документы в одной базе могут иметь разный набор полей

Слайд 135

Базы данных на основе графов

объекты в базе – данные об узлах и

Базы данных на основе графов объекты в базе – данные об узлах и связях NeoNeo4Neo4j
связях

NeoNeo4Neo4j

Слайд 136

Базы данных

§ 21. Экспертные системы

Базы данных § 21. Экспертные системы

Слайд 137

Что такое экспертная система?

Экспертная система – это компьютерная программа, задача которой –

Что такое экспертная система? Экспертная система – это компьютерная программа, задача которой
заменить человека-эксперта при выработке рекомендаций для принятия решений в сложной ситуации.

искусственный интеллект

Эксперт
обладает глубокими знаниями
имеет опыт работы в своей области
может ответить на вопросы, на которые нельзя найти ответы в Интернете
может предложить решение плохо поставленных задач
может примерно оценить вероятность своей версии

Слайд 138

Состав экспертной системы

база знаний
блок получения решения («решатель»)
интерфейс с пользователем

База знаний
Факты
у окуня есть

Состав экспертной системы база знаний блок получения решения («решатель») интерфейс с пользователем
жабры
Иван – отец Марьи
Волга впадает в Каспийское море
Правила
если x – животное и x дышит жабрами, то x – рыба;
если x – отец y, и y – отец z, то x – дед z;
если x состоит из атомов углерода и обладает высокой твердостью, то x – алмаз.

эксперт

инженер по знаниям

Слайд 139

Экспертная система: пример

есть перья ⇒ птица
дышит жабрами ⇒ рыба
кормит детенышей молоком ⇒

Экспертная система: пример есть перья ⇒ птица дышит жабрами ⇒ рыба кормит
млекопитающее
млекопитающее и ест мясо ⇒ хищник

кормит детей молоком?

ест мясо?

Слайд 140

Экспертные системы: итоги

ЭС применяется в достаточно узкой области
использует базу знаний, которая может

Экспертные системы: итоги ЭС применяется в достаточно узкой области использует базу знаний,
расширяться
может применяться при неточных и противоречивых данных
выдает ответ в виде рекомендации
может показать, как получено решение

опыт и интуицию экспертов сложно свести к правилам
отладка и проверка ЭС очень сложна, трудно гарантировать правильность выводов
ЭС неспособны самообучаться, необходима работа инженера по знаниям

Слайд 141

Конец фильма

ПОЛЯКОВ Константин Юрьевич
д.т.н., учитель информатики
ГБОУ СОШ № 163, г. Санкт-Петербург
kpolyakov@mail.ru
ЕРЕМИН

Конец фильма ПОЛЯКОВ Константин Юрьевич д.т.н., учитель информатики ГБОУ СОШ № 163,
Евгений Александрович
к.ф.-м.н., доцент кафедры мультимедийной дидактики и ИТО ПГГПУ, г. Пермь
eremin@pspu.ac.ru