Функциональность и архитектура СБД

Содержание

Слайд 2

Понятие серверных БД

Серверные СУБД (сервер БД-СБД) - СУБД, реализующие технологию «клиент-сервера» (CS

Понятие серверных БД Серверные СУБД (сервер БД-СБД) - СУБД, реализующие технологию «клиент-сервера»
– Client-Server, CS DBMS)
Примеры СБД:
СУБД Oracle;
СУБД Microsoft SQL Server;
СУБД MySQL (Oracle);
PostgreSQL;
IBM DB2 и др.
Каждый СБД может работать на определенных типах компьютеров и сетей. ОС серверов могут быть Windows Server, Unix, Linux и др.

Слайд 3

Функциональность СБД

обслуживание БД;
управление БД;
обеспечение целостности и сохранности данных;
обеспечение операций ввода-вывода при доступе

Функциональность СБД обслуживание БД; управление БД; обеспечение целостности и сохранности данных; обеспечение
клиента к информации.

Слайд 4

Архитектура СБД

Состоит из следующих уровней:
Внутренний уровень архитектуры - наиболее близок к физическому

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

Слайд 5

Модель типового СБД

Модель типового СБД

Слайд 6

Физическая структура типового СБД

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

Подсистема компиляции запросов

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

Физическая структура типового СБД Подсистема взаимодействия с клиентским приложением Подсистема компиляции запросов
выполнения запросов

Подсистема выполнения транзакций

Подсистема управления памятью

Слайд 7

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

Данный модуль отвечает за поддержание связи с клиентом.

Подсистема взаимодействия с клиентским приложением Данный модуль отвечает за поддержание связи с
Как правило, механизм его работы выглядит следующим образом. Подсистема взаимодействия "прослушивает" сеть в ожидании клиентских запросов на установление соединения. Когда такой запрос обнаруживается, порождается новый процесс, который будет обеспечивать связь с данным клиентом. Клиенту сообщается идентификатор данного процесса, в дальнейшем клиент передает свои запросы и получает данные взаимодействуя с этим интерфейсным процессом. После того, как клиент закрывает соединение, обслуживавший его процесс прекращается. Характеристики интерфейсных процессов зависят от операционной системы, в которой работает СБД.

Слайд 8

Подсистема компляции запросов

Данный модуль отвечает за компиляцию поступающих от клиентов через интерфейсные

Подсистема компляции запросов Данный модуль отвечает за компиляцию поступающих от клиентов через
процессы запросов во внутренний код, который будет исполняться сервером. При ошибках компиляции соответствующие сообщения передаются клиенту. Наиболее современные СУБД позволяют сохранять откомпилированный код запросов некоторое время. Это позволяет избежать стадии компиляции при повторном обращении клиента к запросу.

Слайд 9

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

Данный модуль должен составить такой план выполнения запроса,

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

Слайд 10

Подсистема выполнения транзакций

Здесь выполняется оптимизированный код запроса, обновляются индексы, выполняются в случае

Подсистема выполнения транзакций Здесь выполняется оптимизированный код запроса, обновляются индексы, выполняются в
необходимости триггеры и хранимые процедуры. Как правило, несколько запросов могут исполняться параллельно, при этом обеспечивается необходимый уровень их изоляции. Также ведется журнал транзакций, обеспечивается их завершение и корректный откат.

Слайд 11

Подсистема управления памятью

Этот компонент отвечает за считывание данных с диска в оперативную

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

Слайд 12

Логически данные в СБД организованы в виде объектов

Логически данные в СБД организованы в виде объектов

Слайд 13

Таблицы (Tables)

Все данные в СБД содержатся в таблицах. Таблицы представляют собой совокупность

Таблицы (Tables) Все данные в СБД содержатся в таблицах. Таблицы представляют собой
каких-либо сведений об объектах, явлениях, процессах реального мира. Никакие другие объекты не хранят данные, но они могут обращаться к данным в таблице. Таблицы содержат:
cтроки; каждая строка (или запись) представляет собой совокупность атрибутов (свойств) конкретного экземпляра объекта;
cтолбцы; каждый столбец (поле) представляет собой атрибут или совокупность атрибутов. Поле строки является минимальным элементом таблицы. Каждый столбец в таблице имеет определенное имя, тип данных и размер.

Объекты СБД

Слайд 14

Представления (View)

Виртуальная таблица, представляющая собой поименованный запрос
Динамический результат одной или нескольких реляционных

Представления (View) Виртуальная таблица, представляющая собой поименованный запрос Динамический результат одной или
операций над базовыми отношениями с целью создания некоторого иного отношения.

Слайд 15

Преимущества представлений

Независимость от данных - с помощью представлений можно создать согласованную, неизменную

Преимущества представлений Независимость от данных - с помощью представлений можно создать согласованную,
картину структуры базы данных, которая будет оставаться стабильной даже в случае изменения формата исходных таблиц
Актуальность - изменения данных в любой из таблиц базы данных, указанных в определяющем запросе, немедленно отображается на содержимом представления
Снижение стоимости - представления позволяют упростить структуру запросов за счет объединения данных из нескольких таблиц в единственную виртуальную таблицу. В результате многотабличные запросы сводятся к простым запросам к одному представлению
Повышение защищенности данных - права доступа к данным могут быть предоставлены исключительно через ограниченный набор представлений, содержащих только то подмножество данных, которое необходимо пользователю. Подобный подход позволяет существенно ужесточить контроль за доступом отдельных категорий пользователей к информации в базе данных

Слайд 16

Курсоры (Cursor)

Курсор - указатель на определенную строку в результирующем наборе данных
Курсор -

Курсоры (Cursor) Курсор - указатель на определенную строку в результирующем наборе данных
это область в памяти базы данных, которая предназначена для хранения последнего оператора SQL

Слайд 17

Хранимые процедуры (Stored procedure)

Хранимая процедура – объект базы данных, представляющий собой набор

Хранимые процедуры (Stored procedure) Хранимая процедура – объект базы данных, представляющий собой
SQL-инструкций, который компилируется один раз и хранится на сервере

Слайд 18

Хранимые процедуры

обрабатывают входные параметры и возвращают вызывающей программе значения в виде выходных

Хранимые процедуры обрабатывают входные параметры и возвращают вызывающей программе значения в виде
параметров;
содержат программные инструкции, которые выполняют операции в базе данных, включая вызов других процедур;
возвращают значение состояния вызывающей программе, таким образом передавая сведения об успешном или неуспешном завершении (и причины последнего).

Слайд 19

Особенности

Хранимая процедура относится не к отдельному объекту, а ко всей БД в

Особенности Хранимая процедура относится не к отдельному объекту, а ко всей БД
целом
Хранимые процедуры поддерживают модульное программирование, так как позволяют разбивать большие задачи на самостоятельные, более мелкие и удобные в управлении части

Слайд 20

Преимущества ХП

Снижение сетевого трафика между клиентами и сервером
Большая безопасность
Повторное использование кода
Более легкое

Преимущества ХП Снижение сетевого трафика между клиентами и сервером Большая безопасность Повторное
обслуживание
Повышенная производительность

Слайд 21

Триггеры (Trigger)

Триггер — это (составной) оператор SQL, который автоматически выполняется в СУБД,

Триггеры (Trigger) Триггер — это (составной) оператор SQL, который автоматически выполняется в
когда происходит некоторое заданное событие, называемое триггерным событием (triggering event).

Слайд 22

Основные виды триггеров

DML триггер - привязан к конкретной таблице или представлению и

Основные виды триггеров DML триггер - привязан к конкретной таблице или представлению
определяется для конкретного события (INSERT, UPDATE и DELETE)
DDL триггер -  это особый вид триггеров, которые срабатывают при выполнении инструкций языка описания данных DDL (CREATE, ALTER, DROP, GRANT, DENY, REVOKE). Они могут применяться при выполнении административных задач (например, для аудита и регулирования операций в базе данных)

Слайд 23

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

проверка правильности введенных данных и проверка выполнения сложных ограничений целостности данных,

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

Слайд 24

Недостатки триггеров

при перемещении некоторых функций в БД усложняются задачи ее проектирования, реализации

Недостатки триггеров при перемещении некоторых функций в БД усложняются задачи ее проектирования, реализации и администрирования
и администрирования