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