Главная страница

Л2 базы данных. Л2.СУБД. Тверской государственный технический университет Кафедра Информационные системы Базы данных


Скачать 0.75 Mb.
НазваниеТверской государственный технический университет Кафедра Информационные системы Базы данных
АнкорЛ2 базы данных
Дата02.04.2023
Размер0.75 Mb.
Формат файлаpdf
Имя файлаЛ2.СУБД.pdf
ТипДокументы
#1031130

Тверской государственный технический университет
Кафедра «Информационные системы»
Базы данных
Иванов В.К., к.т.н., доц. mtivk@mail.ru
Skype: vladimir.k.ivanov http://elearning.tstu.tver.ru

Базы данных
Системы управления базами данных
Базы данных

Системы управления базами данных
Понятие о системе управления базами данных
Базы данных

Понятие о системе управления базами данных

Обеспечение сохранности и достоверности интегрированных данных

Изменение структуры базы данных может (но не должно) привести к нежелательным изменениям ранее разработанных и успешно функционирующих прикладных систем, работающих с этой базой данных

Изменение любой из прикладных программ может (но не должно) приводить к изменениям структуры данных, влияющих на работу других прикладных программ
Базы данных
При работе с базой данных нескольких прикладных программ, решающих задачи разных пользователей, возникают фундаментальные проблемы:

Понятие о системе управления базами данных
Роль интерфейса между прикладными программами и базой данных, обеспечивающего их независимость, играет система управления базами данных (СУБД).
Базы данных
Объективно и необходимо должно быть
обеспечено отделение данных от прикладных
программ.

Понятие о системе управления базами данных
Базы данных
Система управления базой данных (СУБД, Database
Management System, DBMS) - это программный комплекс поддержки интегрированной совокупности данных, предназначенный для создания, ведения и использования базы данных многими пользователями (прикладными программами).
Место СУБД в работе с базой данных:
СУБД
Прикладная программа 1
Прикладная программа 2
Прикладная программа N
База данных

Системы управления базами данных
Основные функции СУБД
Базы данных

Основные функции СУБД
Базы данных
Создание базы данных
Это определение структуры создаваемой базы данных, ее инициализация и проведение начальной загрузки.

Основные функции СУБД
Базы данных
Манипулирование данными
Это предоставление пользователям возможности манипулирования данными (выборка необходимых данных, выполнение вычислений, разработка интерфейса ввода/вывода, визуализация).
Инструменты:

Специальный язык программирования, входящий в состав СУБД

Графический пользовательский интерфейс

Основные функции СУБД
Базы данных
Обеспечение независимости прикладных
программ и данных
СУБД поддерживает два независимых представления базы данных:

Представление пользователя или прикладных программ (логическое представление данных)

Физическое представление данных в памяти компьютера.

Основные функции СУБД
Базы данных
Обеспечение логической независимости
Возможность изменения в определенных пределах логического представления данных без необходимости изменения физических структур хранения данных.
Обеспечение физической независимости
Возможность изменения в определенных пределах способов организации базы данных в памяти компьютера, не вызывая необходимости изменения логического представления данных.

Основные функции СУБД
Базы данных
Защита логической целостности базы данных
Цель - повышение достоверности данных в базе данных.
Механизм - ограничения целостности.
Достоверность данных может быть нарушена при их вводе или при неправомерных действиях процедур обработки данных.

Основные функции СУБД
Базы данных
Защита физической целостности
Цель - восстановление базы данных при сбоях в работе технических средств, повреждениях носителей данных, ошибках в программах, неправильных действиях пользователей.
Механизм – управление транзакциями.
Транзакция – это единица действий, производимых с базой данных, которые переводят базу данных из одного состояния в другое.

Основные функции СУБД
Базы данных
Пример 1. Перевод денег со счета одного клиента банка на счет другого клиента.
База данных
Транзакция
СУБД
Прикладная программа
Пользовательский интерфейс
Уменьшить сумму денег на счете клиента 1
Увеличить сумму денег на счете клиента 2

Основные функции СУБД
Базы данных

Администратор базы данных может отслеживать состояние транзакций.

Администратор базы данных может вручную "откатывать" транзакции.

Желательно делать транзакции короткими (они могут занимать много системных ресурсов).

Ведение журнала транзакций совместно с созданием резервных копий базы данных позволяет достичь высокой надежности базы данных.
Особенности механизма транзакций:

Основные функции СУБД
Базы данных
Пример 2. Процесс копирования базы данных и ее восстановления после сбоя.
База данных
В случае сбоя:
СУБД
Процесс копирования базы данных
Процесс восстановления базы данных
Резервная копия базы данных
Журнал транзакций
База данных
СУБД

Основные функции СУБД
Базы данных
Управление полномочиями пользователей на доступ к
базе данных
Разные пользователи могут иметь разные полномочия по работе с данными (некоторые данные должны быть недоступны; определенным пользователям не разрешается обновлять данные и т.п.).
В СУБД предусматриваются механизмы разграничения полномочий доступа, основанные на:

Описании полномочий пользователя

Описании доступности данных

Использовании паролей

Основные функции СУБД
Базы данных
Синхронизация работы нескольких пользователей
Ситуация: несколько пользователей одновременно выполняют операцию обновления одних и тех же данных.
Возможный негативный результат: нарушение логической целостности данных.
Механизм предотвращения возможного негативного
результата: блокировка.
Блокировка – запрет обновления данных другим пользователям, пока работающий с этими данными пользователь полностью не закончит с ними работать.

Основные функции СУБД
Базы данных
Типы блокировок
Табличные (блокируется все данные таблица)
Страничные (блокируется страница – часть данных таблицы, одновременно обрабатываемая СУБД)
Строчные (блокируется только одна строка или группа строк)

Основные функции СУБД
Базы данных
Типичный порядок внесения изменений в базу данных
Начало транзакции
Анализ типа изменений
Установка блокировки
Выполнение изменения
Фиксация изменения
Снятие блокировки
Конец транзакции
Откат транзакции

Основные функции СУБД
Базы данных
Управление ресурсами среды хранения

Выделение ресурсов памяти для новых данных

Перераспределение освободившейся памяти

Организация очереди запросов к внешней памяти

Организация сетевых запросов на данные

и т. п.

Основные функции СУБД
Базы данных
Поддержка деятельности администратора базы данных
При эксплуатации базы данных может возникать необходимость изменения параметров СУБД, выбора новых методов доступа, изменения (в определенных пределах) структуры хранимых данных, других общесистемных действий.
Эти и другие действия выполняет обслуживающий персонал
СУБД - администратор базы данных.
СУБД обеспечивает выполнение практически всех основных общесистемных функций работы с базой данных.

Системы управления базами данных
Архитектурные решения
СУБД
Базы данных
Различная реализация архитектурных решений СУБД связана с развитием вычислительной техники и программного обеспечения.

Основные функции СУБД
Базы данных
Централизованная архитектура
СУБД
Прикладная программа
База данных
Пользовательский интерфейс
Персональный компьютер или мейнфрейм

Основные функции СУБД
Базы данных
Архитектура "файл-сервер"
База данных
Файловый сервер
Персональный компьютер
СУБД
Прикладная программа
Пользовательский интерфейс
Персональный компьютер
СУБД
Прикладная программа
Пользовательский интерфейс

Основные функции СУБД
Базы данных
Архитектура "клиент – сервер"
База данных
Компьютер-сервер
Компьютер-клиент
Сервер базы данных
(СУБД)
Компьютер-клиент
Прикладная программа
(приложение-клиент)
Пользовательский интерфейс
Прикладная программа
(приложение-клиент)
Пользовательский интерфейс
SQL-запросы
SQL-запросы
Результаты
Результаты

Основные функции СУБД
Базы данных
Функции приложения-клиента в архитектуре «клиент-
сервер»

Выделение ресурсов памяти для новых данных.

Посылка запросов приложению-серверу. Используется структурированный язык запросов SQL (Structured
Query Language), являющийся промышленным стандартом для реляционных баз данных.

Интерпретация результатов запросов, полученных от приложения-сервера.

Представление результатов пользователю в некоторой форме (интерфейс пользователя).

Основные функции СУБД
Базы данных
Функции приложения-сервера:

Прием запросов от приложений-клиентов.

Интерпретация запросов.

Оптимизация и выполнение запросов к базе данных.

Отправка результатов приложению-клиенту.

Обеспечение системы безопасности и разграничение доступа.

Управление целостностью базы данных.

Реализация стабильности многопользовательского режима работы.

Основные функции СУБД
Базы данных
Достоинства архитектуры "клиент-сервер" по
сравнению с архитектурой "файл-сервер":

Существенно уменьшается сетевой трафик.

Уменьшается сложность клиентских приложений.

Снижаются требования к аппаратным мощностям клиентов.

Множество проектных решений реализована в сервере БД.

Существенно повышается целостность и безопасность БД.
Недостатки архитектуры "клиент-сервер":

Более высокие финансовые затраты на аппаратное обеспечение сервера.

Более высокие финансовые затраты на программное обеспечение.

Основные функции СУБД
Базы данных
Трехзвенная (многозвенная) архитектура "клиент-
сервер"
База данных
Компьютер-сервер
Компьютер-клиент
Сервер базы данных
(СУБД)
Компьютер-клиент
Сервер приложений
(реализация бизнес-логики)
SQL-запросы
Результаты
Приложение-клиент
(пользовательский интерфейс)
Приложение-клиент
(пользовательский интерфейс)
Приложение-клиент
(пользовательский интерфейс)
Компьютер-клиент

Системы управления базами данных
Краткий обзор СУБД
Базы данных

Краткий обзор СУБД
Базы данных
Настольные (desktop) СУБД

Небольшой объем обрабатываемых данных

Малое количество пользователей

Упрощенная архитектура (режим файл-сервер)

Не все возможные функции СУБД
Особенности

Государственные (муниципальные) учреждения

Образование

Сфера обслуживания

Малый и средний бизнес
Область применения

Microsoft Access

LibreOffice Base
Продукты

Краткий обзор СУБД
Базы данных
Серверные СУБД

Oracle - www.oracle.com

Microsoft SQL Server www.microsoft.com/sqlserver/ru/ru/default.aspx

IBM DB2 - www.ibm.com/software/data/db2

Sybase - www.sybase.com

IBM Informix - www.ibm.com/software/data/informix

Ingres - www.actian.com

MySQL - www.mysql.com

PostgreSQL - www.postgresql.org

Краткий обзор СУБД
Базы данных
Мировой рынок СУБД
(www.cnews.ru/reviews/free/marketBD/articles/articles9.shtml)
Объем рынка СУБД 2009: в мире, в Европе и в
России (млрд долл.)


написать администратору сайта