Лекция 1 Введение
Базы данных
База Данных
База Данных
Для чего нужны СУБД
Приложения СУБД
Примеры приложений Баз Данных
2 технологии работы с данными
Цели систем баз данных
Модель данных
Модель данных
Абстракция данных
Экземпляр и Схема
Языки Баз Данных
Ограничения целостности для DDL
Словарь данных DDL
SQL DDL
DML
DML
SQL
SQL
Доступ к базе данных из прикладных программ
Проектирование баз данных
Проектирование баз данных
Проектирование баз данных
Механизм выполнения БД
Менеджер хранения
Менеджер хранения
Обработчик запросов
Менеджер транзакций
Менеджер транзакций
Менеджер транзакций
Менеджер транзакций
Архитектура баз данных и приложений
Архитектура приложений
Пользователи и Администраторы БД
Администратор БД. Функции
История баз данных. 1950 и 1960-ые
История баз данных. 1960-ые и ранние 1970-ые
История баз данных. Поздние 1970-ые и 1980-ые
История баз данных. 1990-ые
История баз данных. 2000-ые
История баз данных. 2010-ые
210.74K
Category: databasedatabase

Лекция 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.name
FROM students
WHERE gpa > 3.0

21. SQL

SELECT students.name, faculties.name
FROM 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
English     Русский Rules