Similar presentations:
Лекция 1 Введение
1. Лекция 1 Введение
2. Базы данных
Что такое Базы Данных?3. База Данных
• База данных (БД) – коллекция данных, содержащих информацию,релевантную для предриятия.
4. База Данных
• База данных (БД) – коллекция данных, содержащих информацию,релевантную для предприятия.
• Система Управления Базами Данных (СУБД) – коллекция
связанных между собой данных и набор программ для работы с
этими данными.
• Основной целью СУБД является предоставление способа для
хранения и забора информация о базе данных, который является
как подходящим для пользователя, так и эффективным.
5. Для чего нужны СУБД
• СУБД предназначена для возможности управления большимобъемом информации.
• Управление данным:
• Определение структур хранения информации
• Предоставление механизмов для манипуляции информации
• Безопасность хранения информации
• Системные сбои
• Несанкционированный доступ
• Избегание аномальных результатов
6. Приложения СУБД
Системы баз данных предназначения для управления коллекциейданных, которые
• Ценны для предприятия
• Сравнительно большие
• Используются одновременно в многопользовательском режиме и
для разных приложений.
7. Примеры приложений Баз Данных
• Информация о предприятии• Продажи
• Бухгалтерия
• HR
• Производство
• Банковское Дело
• Университеты
• Авиакомпания
• Телекоммуникации
• Электронная коммерция
• Документные базы данных
8. 2 технологии работы с данными
• OLTP (Online transactional processing) – большое числопользователей, небольшой объем информации, небольшие
обновления
• OLAP (Online analytical processing) – обработка большого объема
данных для принятия решений
9. Цели систем баз данных
Недостатки хранения информации в системе работы с файлами• Избыточность и неконсистентность данных
• Сложность в заборе данных
• Изоляция данных
• Проблемы атомарности
• Аномалии конкурентного доступа
• Проблемы безопасности
10. Модель данных
Модель данных – это коллекция концептуальных инструментов дляописания данных, отношений данных и ограничений целостности.
11. Модель данных
• Реляционная модель (Relational Model)• ER модель (Entity-Relationship Model)
• Полуструктурированная модель данных (Semi-structured Data
Model)
• Модели данных, основанные на объектах (Object-based Data
Models)
12. Абстракция данных
• Физическийуровень
• Логический
уровень
• Уровень
представления
(View)
13. Экземпляр и Схема
Экземпляр базы данных – коллекция информации, хранимая вбазах данных в определенный момент времени
Схема базы данных – общий дизайн или конструкция базы данных
Выделяют физическую, логическую схемы и иногда подсхемы.
14. Языки Баз Данных
• DDL – Data Definition Language• Язык хранения и определения данных
• DML – Data Manipulation Language
• SQL – Standard Query Language
15. Ограничения целостности для DDL
• Ограничения домена• Ссылочная целостность
• Авторизация
16. Словарь данных DDL
Выводом для DDL является словарь данных, который содержитметаданные – данные о данных.
17. SQL DDL
CREATE TABLE Students (id varchar(10),
name varchar(20),
sal number(15,2));
18. DML
Язык манипулирования данными – язык, позволяющийпользователям забирать и манипулировать данными.
19. DML
Язык манипулирования данными – язык, позволяющийпользователям забирать и манипулировать данными.
1. Процедурный DML
2. Декларативный DML
Запрос (Query) – утверждение, запрашивающее получение
информации
SQL – структурированный язык запросов
20. SQL
SELECT students.nameFROM students
WHERE gpa > 3.0
21. SQL
SELECT students.name, faculties.nameFROM students, faculties
where strundets.faculty_id = faculties.faculty_id
and students.gpa > 4.0
22. Доступ к базе данных из прикладных программ
Непроцедурные языки запросов обычно не Тьринг полныПоэтому часто используются языке хоста (C/C++, Java, Python) с
внутренними SQL запросами
23. Проектирование баз данных
Проектирование баз данных включает в себя проектированиесхемы базы данных.
1. Спецификация требований
24. Проектирование баз данных
Проектирование баз данных включает в себя проектированиесхемы базы данных.
1. Спецификация требований
2. Фаза концептуального проектирования
1. ER модель
2. Нормализация
3. Спецификация функциональных требований
25. Проектирование баз данных
Проектирование баз данных включает в себя проектированиесхемы базы данных.
1. Спецификация требований
2. Фаза концептуального проектирования
3. Логическое проектирование
4. Физическое проектирование
26. Механизм выполнения БД
Функциональные компоненты СУБД могут быть разделены на:• Менеджер хранения
• Обработчик запросов
• Обработчик транзакций
27. Менеджер хранения
Хранение, получение и обновление данных в базе данных• Менеджер авторизации и целостности
• Менеджер транзакций
• Файловый менеджер
• Буферный менеджер
28. Менеджер хранения
Менеджер хранения имплементирует часть структур данных какчасть физической имплементации системы
• Файлы с данными
• Словарь данных
29. Обработчик запросов
• DDL интерпретатор• DML компилятор
• Оптимизация запросов
• Механизм выполнения запросов
30. Менеджер транзакций
Транзакция – коллекция операций, которая выполняется какединая логическая функция в приложении баз данных
Атомарность – все-или-ничего.
31. Менеджер транзакций
Транзакция – коллекция операций, которая выполняется какединая логическая функция в приложении баз данных
Атомарность – все-или-ничего.
Консистентность (согласованность)– состояние базы данных
должно быть всегда консистентно
32. Менеджер транзакций
Транзакция – коллекция операций, которая выполняется какединая логическая функция в приложении баз данных
Атомарность – все-или-ничего.
Консистентность (согласованность)– состояние базы данных
должно быть всегда консистентно
Изолированность – пользователь работает, как будто он один
Стойкость (durability) - постоянство
33. Менеджер транзакций
Менеджер восстановления. Восстановление базы данных привозникновении ошибок.
В состав менеджера транзакций входит менеджер организации
параллельной работы.
34. Архитектура баз данных и приложений
Простые пользователи(агенты, веб пользователи)
Прикладные
интерфейсы
Программисты
приложений
Опытные
пользователи
Администраторы
БД
Прикладные
программы
Инструменты
для запросов
Административные
запросы
Компилятор и
линковщик
DML запросы
DDL Интерпретатор
Объектный код
прикладной
программы
Механизм
обработки запросов
DML компилятор и
планировщик
Обработчик запросов
Менеджер хранения
Файловый менеджер
Буферный менеджер
Данные
Индексы
Менеджер
авторизации и
целостности
Словарь
данных
Менеджер транзакций
Статистичес
кие данные
Дисковое хранилище
35. Архитектура приложений
ПользовательПользователь
Клиент
Приложение
Клиент приложения
Сеть
Сеть
Сервер приложений
СУБД
2х звенная архитектура
Сервер
СУБД
3х звенная архитектура
36. Пользователи и Администраторы БД
Пользователи БД• Простые пользователи
• Предопределенные интерфейсы
• Прикладные программисты
• Продвинутые пользователи
37. Администратор БД. Функции
• Определение схемы.• Определение структур хранения и методов доступа
• Изменения схемы и физического хранения данных
• Предоставление авторизация для доступа к данным
• Административная деятельность
38. История баз данных. 1950 и 1960-ые
• Магнитные ленты• Перфокарты
• Последовательная обработка
39. История баз данных. 1960-ые и ранние 1970-ые
• Использования жестких дисков• Появление сетевых и иерархических моделей данных (IMS)
• Статья Эдгара Кодда E. F. Codd. 1970. A relational model of data for
large shared data banks. Commun. ACM 13, 6 (June 1970)
40. История баз данных. Поздние 1970-ые и 1980-ые
• System R (IBM Research). SQL/DS• Ingres (University California of Berkley)
• Oracle
• Первые коммерческие СУБД: IBM DB2, Oracle, Ingres, DEC Rdb.
41. История баз данных. 1990-ые
• Язык SQL• World Wide Web
42. История баз данных. 2000-ые
• XML, JSON• Пространственные данные
• Open-source DB. PostgreSQL, MySQL
• Графовые базы данных
• Data Mining
• MapReduce
• NoSQL
43. История баз данных. 2010-ые
• NoSQL системы• Облачные решения
• SaaS – Software as a service
database