Базы Данных (§12 - §23) презентация

Содержание

Слайд 1Базы данных
§ 12. Информационные системы
§ 13. Таблицы
§ 14. Многотабличные базы данных
§

15. Реляционная модель данных
§ 16. Работа с таблицей
§ 17. Создание однотабличной базы данных
§ 18. Запросы
§ 19. Формы
§ 20. Отчёты
§ 21. Работа с многотабличной базой данных
§ 22. Нереляционные базы данных
§ 23. Экспертные системы



Слайд 2Базы данных
§ 12. Информационные системы


Слайд 3Что такое информационная система?
Информационная система (ИС) в широком смысле — это

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

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


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

данных о некоторой предметной области, хранящаяся во внешней памяти компьютера.

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

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


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

данных после сбоев

Задачи СУБД:



БД

СУБД

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


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

сети)

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

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

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

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


Слайд 7Как хранить данные?
Текстовый формат:




Собственный формат программы:





Универсальный формат:
БД:

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

000 р.
Сидоров;Семён;Иванович;1975;«Нива»;15 000 р.

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

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


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

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

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

Слайд 9Клиент-серверные СУБД

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

результаты

при получении запроса поставить его в очередь
выполнить запрос
отправить ответ клиенту

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


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

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

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

MS SQL Server

бесплатно!


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

Транзакция должна быть выполнена целиком или не выполнена вообще.

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

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

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


Слайд 12Базы данных
§ 13. Таблицы


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


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

эти данные быть ключом?
фамилия
имя
номер паспорта
номер дома
регистрационный номер автомобиля
город проживания
адрес электронной почты
дата выполнения работы
марка стиральной машины

?


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

состоит из одного поля.

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

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

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



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

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

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

Слайд 17Поиск в БД
Линейный поиск – это перебор всех записей до тех

пор, пока не будет найдена нужная.

Иванов?


1024 сравнения!

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

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


Слайд 18Двоичный поиск



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

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

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



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

использовать только для одного поля

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

11 сравнений!





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

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


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

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

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


Слайд 21Целостность БД
Целостность базы данных означает, что она содержит полную и непротиворечивую

информацию и удовлетворяет всем заданным ограничениям.

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

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


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


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


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

защиты от ошибок ввода (опечаток)


Слайд 25Многотабличная БД


Слайд 26Многотабличная БД

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

ключом другой таблицы.

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

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


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

записи в других таблицах)
разрешить внести изменения

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

СУБД:


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

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

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

ключ

не ключ


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

таблице связана ровно одна запись во второй таблице.

ключ


1

1

ключ


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

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

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

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


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


N
1
Пример:


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


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

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

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

Т.М. Иванова
г) внука И.Т. Пановко

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

сестёр Н.И. Симоняка
в) бабушки А.Т. Малых
г) дедушки А.Т. Сидорова

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

сестры П.А. Кузнецова;
в) родного брата С.А. Муриной;
г) бабушки Р.Б. Левитиной.

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


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

данными

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


кортеж


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

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

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


отношение


атрибуты

сущность


кортеж


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

набора таблиц и управляется с помощью языка SQL.

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

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


Слайд 41Нормализация







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

предотвращает возможные нарушения целостности.

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




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



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




N

1


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


прибыль

вычисляется через запрос!

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

(нужно «собирать» данные из разных таблиц)

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


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


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


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


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


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


Слайд 52Базы данных в OpenOffice.org Base
Файлы *.odb
таблицы с данными
формы – диалоговые окна,

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

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


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


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


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

по полю:

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


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

выделенному)

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


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

можно записать

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

ANDOR


Слайд 58Задача
В чём разница между фильтрами:
а) Предмет = 'Математика' AND Класс =

2 OR Год издания > 2009
б) Предмет = 'Математика' OR Класс = 2 AND Год издания > 2009
в) Предмет = 'Математика' OR Год издания > 2009 AND Класс = 2
г) Предмет = 'Математика' AND Год издания > 2009 OR Класс = 2

Слайд 59Задача
Сколько записей будет отобрано:
а)Пол = 'ж' AND Химия > Биология
б)Пол =

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

Слайд 60Базы данных
§ 17. Создание однотабличной базы данных


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


Слайд 62Создание базы данных

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


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

[BOOLEAN]
Дата [DATE];
Время [TIME];
Дата/Время [TIMESTAMP].

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

умолчанию
автозначение (да/нет)
обязательное (да/нет)

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


Слайд 66Операции с таблицами


Слайд 67Базы данных
§ 18. Запросы


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

или выполнения других операций с данными.

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

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


Слайд 69Конструктор запросов
ЛКМ


Слайд 70Конструктор запросов

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


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


Слайд 72Сортировка


Слайд 73Запуск запроса
2×ЛКМ


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


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


Слайд 76Условия отбора
Условие отбора


Слайд 77Сложные условия


Слайд 78Сложные условия


Слайд 79Шаблоны
условие с шаблоном


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

запроса.

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


Слайд 82Другие типы запросов
ЛКМ


Слайд 83Базы данных
§ 19. Формы


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


просматривает
изменяет
добавляет
удаляет
данные из базы.

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


Слайд 86Создание форм


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


Слайд 88Редактирование формы


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


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


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


Слайд 92Навигатор форм
Навигатор форм


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

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

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

метка

поле


Слайд 94Базы данных
§ 20. Отчёты


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

печать.

Слайд 96Как создать отчёт?


Слайд 97Редактирование отчёта


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


Слайд 99Базы данных
§ 21. Работа с многотабличной базой данных


Слайд 100Многотабличная БД
N
1


N
1
Пример:


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


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


Слайд 103Заполнение таблиц


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


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

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


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


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


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


Слайд 108Итоговый запрос



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


Слайд 109Итоговый запрос


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


Таблица Заказы
ЗапросЗаказы

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


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


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


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


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


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


Слайд 116Добавление элементов на форму


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


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


Слайд 119Отчёт с группировкой


Слайд 120Отчёт с группировкой


Слайд 121Редактирование отчёта


Слайд 122Сумма заказа


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


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



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


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


Слайд 127Базы данных
§ 22. Нереляционные базы данных


Слайд 128Проблемы реляционных БД
данные нужно разбить на множество таблиц
человек мыслит не таблицами,

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


Слайд 129БД «ключ-значение»



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


Слайд 130Документо-ориентированные БД
{
ключ: 1231239786234762394769237
автор: «А.С. Пушкин»
название: «Евгений Онегин»
}
хэш-код
набор

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

Слайд 131БД «ключ-значение»
близость к человеческому восприятию
масштабируемость
ключи
не поддерживаются связи между объектами
нет стандарта на

язык управления данными
запросы – только поиск по ключу (сортировка?)

Слайд 132Нереляционные БД
NoSQL = Not Only SQL
MongoDB (www.mongodb.org)
CouchDB (couchdb.apache.org).
система хранения данных

BigTable

база данных SimpleDB

www.facebook.com СУБД Cassandra

twitter.com СУБД Cassandra

Бесплатные СУБД:


Слайд 133Базы данных
§ 23. Экспертные системы


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

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

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

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


Слайд 135Состав экспертной системы
база знаний
блок получения решения («решатель»)
интерфейс с пользователем
База знаний
Факты
у окуня

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

эксперт

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




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

⇒ млекопитающее
млекопитающее и ест мясо ⇒ хищник


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

ест мясо?


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

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

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


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

ЕРЕМИН Евгений Александрович
к.ф.-м.н., доцент кафедры мультимедийной дидактики и ИТО ПГГПУ, г. Пермь
eremin@pspu.ac.ru

Слайд 139Источники иллюстраций
server.tkat.ru
ru.wikipedia.org
иллюстрации художников издательства «Бином»
авторские материалы


Обратная связь

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

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

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


Для правообладателей

Яндекс.Метрика