Слайд 2Часть 9: Структуры баз
данных
9.1 Общие понятия
9.2 Реляционная модель
9.3
![Часть 9: Структуры баз данных 9.1 Общие понятия 9.2 Реляционная модель 9.3](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/888632/slide-1.jpg)
Объектно-ориентированные базы данных
9.4 Обеспечение целостности баз данных
9.5 Традиционные структуры файлов
9.6 Сбор данных
9.7 Влияние технологий баз данных на общество
9-1
Слайд 3База данных
Многомерный набор данных (в смысле наличия внутренних связей между отдельными его
![База данных Многомерный набор данных (в смысле наличия внутренних связей между отдельными](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/888632/slide-2.jpg)
элементами), позволяющий получить доступ к информации, исходя из различных точек зрения.
9-2
Слайд 4Рисунок 9.1 Структура баз данных в сравнении с файловой структурой
9-3
![Рисунок 9.1 Структура баз данных в сравнении с файловой структурой 9-3](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/888632/slide-3.jpg)
Слайд 5Рисунок 9.2 Концептуальные уровни
системы базы данных
9-4
![Рисунок 9.2 Концептуальные уровни системы базы данных 9-4](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/888632/slide-4.jpg)
Слайд 6Схема
Схема : представляет собой полное описание структуры базы данных, которое используется ее
![Схема Схема : представляет собой полное описание структуры базы данных, которое используется](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/888632/slide-5.jpg)
программным обеспечением для обслуживания базы данных в целом.
Подсхема : это описание части базы данных, соответствующей нуждам отдельного пользователя.
9-5
Слайд 7Системы управления базой данных
Система Управления базой данных (СУБД): слой программного обеспечения, который
![Системы управления базой данных Система Управления базой данных (СУБД): слой программного обеспечения,](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/888632/slide-6.jpg)
управляет базой данных в ответ на запросы из приложения
Распределенная база данных : База данных хранится на нескольких машинах
СУБД будет маскировать эту организационную деталь от своих пользователей
Независимость данных : Возможность изменить организацию базы данных без изменения прикладного программного обеспечения, использующего его
9-6
Слайд 8Модели баз данных
Модель базы данных: концептуальное представление базы данных
Реляционная модель
Объектно-ориентированные базы
![Модели баз данных Модель базы данных: концептуальное представление базы данных Реляционная модель Объектно-ориентированные базы данных 9-7](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/888632/slide-7.jpg)
данных
9-7
Слайд 90-
Реляционная модель базы данных
Отношения: прямоугольная таблица
Атрибуты: Столбец в таблице
Кортеж: Строка в таблице
![0- Реляционная модель базы данных Отношения: прямоугольная таблица Атрибуты: Столбец в таблице Кортеж: Строка в таблице](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/888632/slide-8.jpg)
Слайд 10Рисунок 9.3 Отношение (таблица, relation), содержащее сведения о сотрудниках
![Рисунок 9.3 Отношение (таблица, relation), содержащее сведения о сотрудниках](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/888632/slide-9.jpg)
Слайд 11Реляционное проектирование
Избегайте нескольких концепций в одном отношении
Может привести к лишним
![Реляционное проектирование Избегайте нескольких концепций в одном отношении Может привести к лишним](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/888632/slide-10.jpg)
данным
Удаление кортежа могло также удалить необходимую но несвязанную информацию
Слайд 12Улучшение реляционного дизайн
Разложение: Разделение столбцов отношения в двух или более отношений, дублируя
![Улучшение реляционного дизайн Разложение: Разделение столбцов отношения в двух или более отношений,](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/888632/slide-11.jpg)
эти столбцы, необходимые для поддержания отношений
Декомпозиция без потерь: «Корректная декомпозиция, при котором не теряется какая-либо информация»
Слайд 13Рисунок 9.4 Отношение, содержащее избыточную информацию
![Рисунок 9.4 Отношение, содержащее избыточную информацию](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/888632/slide-12.jpg)
Слайд 14Рисунок 9.5 База данных с информацией о сотрудниках , состоящая из трех
![Рисунок 9.5 База данных с информацией о сотрудниках , состоящая из трех отношений](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/888632/slide-13.jpg)
отношений
Слайд 15Рисунок 9.6 Поиск отделов в которых работал сотрудник 23Y34
![Рисунок 9.6 Поиск отделов в которых работал сотрудник 23Y34](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/888632/slide-14.jpg)
Слайд 16Рисунок 9.7 Отношение и декомпозиция без потерь
![Рисунок 9.7 Отношение и декомпозиция без потерь](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/888632/slide-15.jpg)
Слайд 17Реляционные операции
Select: Выбор строки
Project: Выбор столбца
Join: Сбор информации от двух или более
![Реляционные операции Select: Выбор строки Project: Выбор столбца Join: Сбор информации от двух или более отношений](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/888632/slide-16.jpg)
отношений
Слайд 18Рисунок 9.8 Операция Select
(employee – наемный рабочий)
![Рисунок 9.8 Операция Select (employee – наемный рабочий)](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/888632/slide-17.jpg)
Слайд 21Рисунок 9.11 Другой пример
применения операции Join
![Рисунок 9.11 Другой пример применения операции Join](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/888632/slide-20.jpg)
Слайд 22Рисунок 9.12 Применение операции Join
assignment – назначение, job – работа
![Рисунок 9.12 Применение операции Join assignment – назначение, job – работа](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/888632/slide-21.jpg)
Слайд 23Язык SQL (Structured Query Language )
Операция для управления кортежами
insert
update
delete
select
![Язык SQL (Structured Query Language ) Операция для управления кортежами insert update delete select](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/888632/slide-22.jpg)
Слайд 24SQL Примеры
select EmplId, Dept
from ASSIGNMENT, JOB
where ASSIGNMENT.JobId = JOB.JobId
and ASSIGNMENT.TermData =
![SQL Примеры select EmplId, Dept from ASSIGNMENT, JOB where ASSIGNMENT.JobId = JOB.JobId](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/888632/slide-23.jpg)
“*”
insert into EMPLOYEE
values (‘43212’, ‘Sue A. Burt’,
’33 Fair St.’, ‘444661111’)
Слайд 25SQL Примеры (продолжение)
delete from EMPLOYEE
where Name = ‘G. Jerry Smith’
update EMPLOYEE
set Address
![SQL Примеры (продолжение) delete from EMPLOYEE where Name = ‘G. Jerry Smith’](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/888632/slide-24.jpg)
= ‘1812 Napoleon Ave.’
where Name = ‘Joe E. Baker’
Слайд 26Объектно-ориентированные базы данных
Объектно-ориентированная база данных: База данных строится с применением объектно-ориентированной парадигмы
Каждый
![Объектно-ориентированные базы данных Объектно-ориентированная база данных: База данных строится с применением объектно-ориентированной](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/888632/slide-25.jpg)
элемент хранится в виде объекта
Отношения указывают связи между объектами
СУБД поддерживает межобъектные ссылки
Слайд 27Рисунок9.13 Связи между объектами в объектно-ориентированной базе данных
![Рисунок9.13 Связи между объектами в объектно-ориентированной базе данных](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/888632/slide-26.jpg)
Слайд 28Преимущества объектно-ориентированных баз данных
Сочетает парадигмы ООП
В обработчик данных может быть встроен интеллект
Может
![Преимущества объектно-ориентированных баз данных Сочетает парадигмы ООП В обработчик данных может быть](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/888632/slide-27.jpg)
обрабатывать экзотические типы данных
Пример: multimedia
Слайд 29Обеспечение целостности баз данных
Протокол фиксации/отката изменений
Пример: перевод денег между банковскими
![Обеспечение целостности баз данных Протокол фиксации/отката изменений Пример: перевод денег между банковскими](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/888632/slide-28.jpg)
счетами
Журнал транзакций: содержит сведения о каждом действии выполняемой транзакции
Фиксация точки: точка, в которой сделка была записана в журнале
Откат: Процесс отката транзакции
Слайд 30Обеспечение целостности баз данных (продолжение)
Одновременные проблемы доступа
Проблема недостоверных итогов
Проблема потерянного обновления
Блокировка =
![Обеспечение целостности баз данных (продолжение) Одновременные проблемы доступа Проблема недостоверных итогов Проблема](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/888632/slide-29.jpg)
предотвращение несанкционированного доступа при транзакции
Разделяемая блокировка: используется при чтении данных
Эксклюзивная блокировка: используется при изменении данных
Слайд 31Последовательные файлы
Последовательный файл: Файл содержание которого может быть прочитано только по порядку
Читатель
![Последовательные файлы Последовательный файл: Файл содержание которого может быть прочитано только по](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/888632/slide-30.jpg)
должен быть в состоянии обнаружить конец файла (EOF)
Данные могут храниться в логических записях, сортированных ключевым полем
Значительно увеличивает скорость пакетных обновлений
Слайд 32Рисунок 9.14 Структура простого последовательного файла реализованного
как текстовый файл
![Рисунок 9.14 Структура простого последовательного файла реализованного как текстовый файл](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/888632/slide-31.jpg)
Слайд 33Рисунок 9.15 Процедура слияния двух последовательных файлов
![Рисунок 9.15 Процедура слияния двух последовательных файлов](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/888632/slide-32.jpg)
Слайд 34Рисунок 9.16 Применение алгоритма слияния (буквы использованы для представления содержимого записей ,
![Рисунок 9.16 Применение алгоритма слияния (буквы использованы для представления содержимого записей ,](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/888632/slide-33.jpg)
каждая буква представляет собой значение поля ключа соответствующей записи.)
Слайд 35Индексируемые файлы
Index: Список значений ключа и местоположение их связанных отчетов
![Индексируемые файлы Index: Список значений ключа и местоположение их связанных отчетов](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/888632/slide-34.jpg)
Слайд 36Рисунок 9.17 Открытие индексированного файла
![Рисунок 9.17 Открытие индексированного файла](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/888632/slide-35.jpg)
Слайд 37Хэширование
Каждая запись имеет ключевое поле
Пространство для хранения делится на сегменты
Хэш-функция вычисляет номер
![Хэширование Каждая запись имеет ключевое поле Пространство для хранения делится на сегменты](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/888632/slide-36.jpg)
сегмента для каждого значения ключа
Каждая запись хранится в сегменте, соответствующей хэш его ключом
Слайд 38Рисунок 9.18 Перемешивание ключевое значение поля 25X3Z к одному из 41 сегмента
![Рисунок 9.18 Перемешивание ключевое значение поля 25X3Z к одному из 41 сегмента](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/888632/slide-37.jpg)
Слайд 390-
Рисунок 9.19 Рудименты системы хеширования
![0- Рисунок 9.19 Рудименты системы хеширования](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/888632/slide-38.jpg)
Слайд 40Коллизии в хеширование
Коллизия: Ситуация, когда несколько записей попадает в один и тот
![Коллизии в хеширование Коллизия: Ситуация, когда несколько записей попадает в один и](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/888632/slide-39.jpg)
же сегмент
Главная проблема, переполнение таблицы более 75%
Решение: увеличить количество сегментов и переделывать все данные
Слайд 41Data mining
(«добыча данных»)
«Добыча данных»: Область информатики, которая имеет дело с обнаружением
![Data mining («добыча данных») «Добыча данных»: Область информатики, которая имеет дело с](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/888632/slide-40.jpg)
образцов в коллекциях данных
Информационное хранилище : Статический набор данных, который будет добыт
Куб данных : Данные, представленные со многих точек зрения, с целью «добычи»
Слайд 43Стратегия «добычи данных»
Описание класса
Распознавание класса
Кластерный анализ
Ассоциативный анализ
Анализ изолированной части
Последовательный анализ картины
![Стратегия «добычи данных» Описание класса Распознавание класса Кластерный анализ Ассоциативный анализ Анализ](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/888632/slide-42.jpg)