Академический Документы
Профессиональный Документы
Культура Документы
• Преподаватель:
Иванова Елена Владимировна
• Балльно-рейтинговая система
• Зачет
• Веб-страница курса:
http://foreva.susu.ru/courses/db/
2
Организация курса.
Контрольные работы на лекциях
• Всего 8 контрольных работ после каждой изученной темы.
3
Организация курса. Практики
• Преподаватель:
Тимченко Михаил Сергеевич
4
Организация курса. Балльно-рейтинговая
система
• Баллы назначаются за:
• Выполнение лабораторных работ
• Контрольные работы на лекциях
• Итоговый тест
• Зачет = 51 балл
5
Определение базы данных
6
Признаки базы данных
7
Признаки базы данных
8
Как данные хранить?
9
Модели данных
• Иерархическая
• Сетевая
• Реляционная
• Объектно-ориентированная
• Документ-ориентированная
• Хранилища «ключ-значение»
• Графовая
• Колоночная
• др.
10
реляционные СУБД
используют 99,5% респондентов
Рейтинг СУБД 2016
1. MySQL реляционная
2. PostgreSQL реляционная
3. MS SQL Server реляционная
4. MongoDB документ-ориентированная
5. SQLite реляционная
6. Oracle Database реляционная
7. Firebird реляционная
8. CouchDB документ-ориентированная
DB2 реляционная
9. MariaDB реляционная
10. RavenDB документ-ориентированная
Redis хранилище ключ-значение
SAP ASE реляционная 11
Иерархическая модель данных
12
Сетевая модель данных
13
Реляционная модель данных
Использование реляционных баз данных было предложено Коддом из
компании IBM в 1970 году.
База данных состоит из таблиц (отношений)
Колонки – атрибуты таблицы
Строки – кортежи таблицы
Сотрудники
Таб ФИО Пол Дата Должность
номер рождения
003 Иванов И.И. М 04.12.1989 прораб
14
Реляционная модель данных
15
Реляционные СУБД
• MySQL
• PostgreSQL
• MS SQL Server
• Oracle
• др.
16
Проблема больших данных
17
Документ-ориентированная модель данных
18
Система баз данных
© М.Л. Цымблер
19
Структура системы баз данных
Клиент
Приложение
Клиент
Клиент
Система
Машина
База управления Приложение
баз данных
данных файлами
Клиент
Клиент
Приложение
Клиент
© М.Л. Цымблер
20
Структура системы баз данных
Перевод сотрудника
Выберите сотрудника
Программа, реализующая
Иванов И.И.
Петров П.П.
интерфейс между приложением Клиент
Сидорова С.С.
Антонова А.А. и конечным пользователем Приложение
Выберите отдел
Бухгалтерия
Отдел строительства
Отдел кадров
Отдел планирования
Клиент
ОК Отмена
Клиент
Система
Машина
База управления Приложение
баз данных
данных файлами
Клиент
Клиент
Приложение
Клиент
© М.Л. Цымблер
21
Структура системы баз данных
update Сотрудники Скрипт на языке
set Отдел = :ВыборОтдел баз данных (SQL), Клиент
where ТабНомер = :ВыборТН реализующий Приложение
операции клиента
Клиент
Клиент
Система
Машина Приложение
База управления
баз данных
данных файлами
Клиент
Клиент
Приложение
Клиент
© М.Л. Цымблер
22
Структура системы баз данных
Виртуальная машина, реализующая язык баз
данных (SQL), и обеспечивающая Клиент
преобразование команд этого языка в
Приложение
последовательность вызовов
низкоуровневых функций системы Клиент
управления файлами.
Клиент
Система
Машина
База управления Приложение
баз данных
данных файлами
Клиент
Клиент
Приложение
Клиент
© М.Л. Цымблер
23
Структура системы баз данных
Клиент
Система
Машина
База управления Приложение
баз данных
данных файлами
Клиент
Клиент
Приложение
Клиент
© М.Л. Цымблер
24
Структура системы баз данных
Клиент
Приложение
Клиент
СУБД
Клиент
Система
Машина
База управления Приложение
баз данных
данных файлами
Клиент
Инструментальные средства
разработки приложений и
Клиент
клиентских частей
Приложение
Клиент
© М.Л. Цымблер
25
Основные функции СУБД
© М.Л. Цымблер
26
Поддержка SQL
27
Словарь данных
• Словарь данных – набор доступных для выборки всем
пользователям базы данных системных таблиц, в которых
хранятся метаданные (данные о данных).
Таблицы Поля таблиц
ИД Название Владелец … ИД Таблица Имя Тип …
… 3 1 Пол Char
Пользователи …
ИД Аккаунт …
1 sys
select Таблицы.Название, ПоляТаблиц.Имя, ПоляТаблиц.Тип
from Таблицы, ПоляТаблиц
2 ivanov
where Таблицы.ИД = ПоляТаблиц.Таблица
3 petrov
…
28
© М.Л. Цымблер
Управление данными на физическом уровне
Файлы
(наборы страниц)
Диск
0 1
Записи
Каталог
диска
2 3 Заголовок
страницы
4 5 Заголовок info
записи
© М.Л. Цымблер
29
Управление буферами оперативной памяти
Приложение
промах read P read A попадание
B
Буферный пул
C
жертва V
A
вытеснение загрузка
из буфера в буфер
V A P
Диск
© М.Л. Цымблер
30
Поддержка транзакций
Счета Счета
Номер Баланс … Номер Баланс …
Перевод средств
000374 25000 000374 20000
… 1. update Счета …
set Баланс= Баланс-5000
123456 10000 123456 15000
where Номер='000374';
… 2. update Счета …
set Баланс= Баланс+5000
where Номер='123456';
© М.Л. Цымблер
31
Резервное копирование и восстановление
данных
• СУБД поддерживает журнал транзакций – файл, в котором
регистрируются изменения, вносимые транзакциями в базу
данных. Запись об изменениях производится до фактического
выполнения этих изменений (принцип WAL, Write Ahead Log).
• Используя журнал транзакций, СУБД восстанавливает базу
данных после программных сбоев.
• СУБД поддерживает резервное копирование базы данных и
журнала транзакций для восстановления данных после
аппаратных сбоев.
© М.Л. Цымблер
32
Безопасность данных
Пользователи
egorova sidorova ivanov petrov sergeev
Роли
dispatcher_role boss_role economist_role
Привилегии
select from S select from S, P, SP select from P, SP
insert into S insert into S, P, SP insert into P, SP
update S update S, P, SP update P, SP
exec DISP_APP delete from S, P, SP exec ECON_APP
exec BOSS_APP
© М.Л. Цымблер
33
Целостность данных
© М.Л. Цымблер
34