1 ГОУ ВПО Уральский государственный технический университет – УПИ
2 Кафедра «Автоматика и управление в технических системах» направление – Автоматизация и управление специальность – Управление и информатика в технических системах ИНФОРМАЦИОННОЕ ОБЕСПЕЧЕНИЕ СИСТЕМ УПРАВЛЕНИЯ Лекция КЛАССИФИКАЦИЯ СУБД Преподаватели: Чесноков Юрий Николаевич, доц., к.т.н., Дружинина Надежда Геннадьевна, доц.
3 7. КЛАССИФИКАЦИЯ СУБД Цель изучения материала: изучить классификацию СУБД в зависимости от назначения СУБД, локализации элементов СУБД, режимов работы с пользователями; изучить модели технологий «Клиент-сервер»; изучить структуру типового приложения, работающего с базой данных. Компетенций, формирующиеся в процессе знакомства с материалом: готовность учитывать современные тенденции развития информатики и вычислительной техники, компьютерных технологий в своей профессиональной деятельности; приобретать новые знания, используя современные образовательные и информационные технологии
4 7. КЛАССИФИКАЦИЯ СУБД Содержание лекции КЛАССИФИКАЦИЯ СУБД
5 Классификация СУБД в зависимости от их назначения, локализации элементов СУБД, режимов работы с пользователями. По назначению различают три основных класса СУБД: - промышленные универсального назначения; - промышленные специального назначения; - разработанные для конкретного заказчика. 7. КЛАССИФИКАЦИЯ СУБД
6 Специализированные СУБД предназначены для управления БД конкретного назначения: бухгалтерские, складские, банковские и т.д. Универсальные СУБД не имеют четко ограниченных рамок применения, по этой причине они сложны и требуют от пользователя специальных знаний. 7. КЛАССИФИКАЦИЯ СУБД
7 Базы данных отражают информационную модель реальной предметной области, они растут по объему и резко увеличивается количество задач, решаемых с базами данных. В этой связи работа на изолированном компьютере с небольшой базой данных уходит в историю, а современные СУБД ориентированы на работу в среде вычислительных сетей и обеспечивают различные режимы работы с базами данных (рис. 7.1). 7. КЛАССИФИКАЦИЯ СУБД
8 Рис Режимы работы с базой данных 7. КЛАССИФИКАЦИЯ СУБД Режим работы с БД ОднопользовательскийМногопользовательский ПоследовательныйПараллельный С централизованной БД С распределенной БД
9 В зависимости от расположения отдельных частей СУБД различают следующие типы: - локальные; - сетевые. Все части локальной СУБД размещаются на компьютере пользователя БД. Такие СУБД мало пригодны для коллективного использования. Сетевые СУБД используют технологии «Клиент-сервер» [5]. Непременный атрибут таких СУБД – наличие сети компьютеров. 7. КЛАССИФИКАЦИЯ СУБД
10 Сервер (в широком смысле) – любая система, процесс, компьютер, владеющие каким-либо вычислительным ресурсом (памятью, временем, производительностью процессора и т.д.) Клиент – любая система, процесс, компьютер, пользователь, запрашивающие у сервера какой-либо ресурс, пользующиеся каким-либо ресурсом или обслуживаемые сервером иным способом. 7. КЛАССИФИКАЦИЯ СУБД
11 Различают четыре модели технологий «Клиент-сервер»: - модель файлового сервера (File Server – FS); - модель удаленного доступа к данным (Remote Data Access – RDA); - модель сервера базы данных (Data Base Server – DBS); - модель сервера приложений (Application Server – AS). 7. КЛАССИФИКАЦИЯ СУБД
12 Перечисленные модели основаны на разделении структуры СУБД и взаимодействующего с ней приложения на пять компонентов [6]: - компонент представления (Presentation Logic); - прикладной компонент (Business Logic); - компонент доступа к данным (Database Logic); - компонент управления информационными ресурсами (Database Manager System); - компонент служебных функций. Перечисленные компоненты изображены на рис КЛАССИФИКАЦИЯ СУБД
13 Рис Структура типового приложения, работающего с базой данных 7. КЛАССИФИКАЦИЯ СУБД Клиент Презентационная логика Бизнес-логика Служебные функции Сервер База данных Логика базы данных СУБД
14 Презентационная логика – часть приложения, это то, что пользователь видит на своем экране, когда работает приложение. Сюда входят все интерфейсные экранные формы, которые пользователь видит или заполняет в ходе работы приложения. Презентационная логика определяется внешней моделью данных. 7. КЛАССИФИКАЦИЯ СУБД
15 Бизнес-логика, или логика собственно приложений, – это часть кода приложения, которая определяет собственно алгоритм решения конкретных задач приложения. Сюда входят набор запросов, событий, правил, процедур и других вычислительных функций, реализующий предназначение информационной системы в конкретной предметной области. Обычно этот код пишется с использованием различных языков программирования. 7. КЛАССИФИКАЦИЯ СУБД
16 Компонент доступа к данным или логика обработки данных (Data Manipulation Logic) – это часть кода приложения, обычно написанная на языке SQL. Эта логика связана с обработкой данных внутри приложения. 7. КЛАССИФИКАЦИЯ СУБД
17 Компонент управления информационными ресурсами – это собственно СУБД, реализующий функции: - хранения данных, - извлечения данных, - физического обновления данных, - изменения данных (машина данных). Служебные функции – играют роль связок между перечисленными четырьмя компонентами. 7. КЛАССИФИКАЦИЯ СУБД
18 В файл-серверных СУБД (File Server) все данные размещены на одном мощном компьютере – на файловом сервере (рис. 7.3). Все компоненты СУБД находятся на компьютерах клиентов, т.е. программные компоненты СУБД не распределены. База метаданных – это механизм управления всеми информационными ресурсами. 7. КЛАССИФИКАЦИЯ СУБД
19 Рис Модель файлового сервера 7. КЛАССИФИКАЦИЯ СУБД Презентационная логика Бизнес-логика Логика базы данных СУБД Связующие функции Сервер БД Система управления файлами Файловые команды Блоки данных База метаданных Клиент
20 При обращении к данным ядро СУБД обращается с запросами на ввод-вывод данных к системе управления файлами операционной системы. С помощью функций операционной системы в оперативную память клиентского компьютера полностью или частично на время сеанса работы копируется файл БД. 7. КЛАССИФИКАЦИЯ СУБД
21 Достоинством данной модели является ее простота, отсутствие высоких требований к производительности сервера (главное – требуемый объем дискового пространства). Недостатком таких систем является большая нагрузка на сеть. По сети передается весь файл БД, в котором клиент ищет нужные данные. Файл-серверные СУБД применяются с количеством клиентских мест до нескольких десятков. 7. КЛАССИФИКАЦИЯ СУБД
22 В модели удаленного доступа к данным (Remote Data Access) компонент СУБД доступа к данным размещается на сервере (рис. 7.4). Он реализуется в виде самостоятельной программной части СУБД и называется SQL-сервером. 7. КЛАССИФИКАЦИЯ СУБД
23 Рис Модель удаленного доступа к данным 7. КЛАССИФИКАЦИЯ СУБД Презентационная логика Бизнес-логика Служебные функции Сервер БД SQL-запросы Результаты База метаданных Клиент Логика базы данных СУБД
24 SQL-серверы – это сложные программы Например: Microsoft SQL Server фирмы Microsoft; Sybase SQL Server корпорации Sybase; Oracle корпорации Oracle; DB2 корпорации IBM; Interbase корпорации Inprise – поставляется с Delphi. Функции SQL-сервера – это низкоуровневые операции по организации, размещению, хранению и манипулированию данными в дисковой памяти сервера. SQL-сервер играет роль машины данных. 7. КЛАССИФИКАЦИЯ СУБД
25 На клиентских компьютерах устанавливаются компоненты представления и прикладной. Прикладной компонент – библиотеки запросов, процедуры обработки данных – полностью выполняются на клиентском компьютере. При реализации своих функций прикладной компонент формирует необходимые SQL-инструкции и отправляет их SQL-серверу. 7. КЛАССИФИКАЦИЯ СУБД
26 SQL-сервер принимает и координирует эти инструкции от различных клиентов, выполняет их, проверяет и обеспечивает выполнение ограничений целостности данных и направляет клиентам результаты обработки SQL-инструкций. Таким образом, с сервера на клиентские компьютеры передаются только результаты обработки – наборы данных, которые существенно меньше объема всей БД. Поэтому реализация модели удаленного доступа к данным значительно снижают загрузку сети. Такие СУБД обслуживают до тысяч клиентских мест. 7. КЛАССИФИКАЦИЯ СУБД
27 В модели сервера базы данных (Data Base Server) на сервере располагаются прикладной компонент и SQL-сервер – компонент доступа к данным, т.е. события, правила и процедуры, описанные правилами языка SQL, хранятся вместе с данными (рис. 7.5). В этой модели сервер является активным, так как он на основе механизма триггеров инициирует обработку данных в БД. 7. КЛАССИФИКАЦИЯ СУБД
28 Рис Модель активного сервера базы данных 7. КЛАССИФИКАЦИЯ СУБД Сервер БД Вызов процедур Результаты База метаданных Презентационная логика Служебные функции Клиент Хранимые процедуры СУБД Триггеры
29 Механизм триггеров – средство отслеживания специальных событий, которые связаны с состоянием БД. Триггер срабатывает – запускается на выполнение соответствующая программа – при возникновении определенного события в БД. Триггер – это некоторая программа, которая выполняется над базой данных. 7. КЛАССИФИКАЦИЯ СУБД
30 На клиентских компьютерах размещаются только компоненты представления, что существенно снижает требования к вычислительной мощности клиентских систем. Вся нагрузка ложится на сервер, что обуславливает необходимость применения мощных компьютеров в качестве сервера. Нагрузка на сеть еще более снижается. 7. КЛАССИФИКАЦИЯ СУБД
31 В трехзвенной модели сервера приложений – процедуры, выполняемые прикладным компонентом и SQL-сервером, разнесены на разные компьютеры: сервер приложений и SQL-сервер – сервер БД (рис. 7.6). 7. КЛАССИФИКАЦИЯ СУБД
32 Рис Модель сервера приложений 7. КЛАССИФИКАЦИЯ СУБД Презентационная логика Служебные функции Клиент Сервер БД БД Хранимые процедуры Триггеры Бизнес- логика Сервер приложений
33 Серверы приложений составляют новый промежуточный уровень архитектуры. Они поддерживают функции клиентов как частей взаимодействующих групп, хранят и исполняют наиболее общие правила бизнес- логики, обеспечивают обмен сообщениями и поддержку запросов, особенно в распределенных транзакциях. Транзакция – это последовательность операций модификации данных в БД, переводящие БД из одного непротиворечивого состояния в другое непротиворечивое состояние. 7. КЛАССИФИКАЦИЯ СУБД
34 На клиентских компьютерах располагаются только интерфейсная часть системы – компоненты представления. Серверы баз данных в этой модели занимаются исключительно функциями СУБД: обеспечивают функции создания и ведения БД, поддерживают целостность реляционной БД, обеспечивают функции хранилищ данных. Эта модель обладает большей гибкостью, чем двухуровневые модели. 7. КЛАССИФИКАЦИЯ СУБД
35 Выводы и заключение по лекции: изучили классификацию СУБД в зависимости от назначения СУБД, локализации элементов СУБД, режимов работы с пользователями; изучили модели технологий «Клиент-сервер»; изучили структуру типового приложения, работающего с базой данных. 7. КЛАССИФИКАЦИЯ СУБД
36 7. КЛАССИФИКАЦИЯ СУБД Перечень источников: Четвериков В.Н. Базы и банки данных/ В.Н. Четвериков, Г.И. Ревунков, Э. Н. Самохвалов; под ред. В.Н. Четверикова. М.: Высшая школа, с. Дейт К. Дж. Руководство по реляционной СУБД DB2/ К. Дж. Дейт. М.: Финансы и статистика, с. Дейт К. Дж. Введение в системы баз данных/ К. Дж. Дейт. М.: Издательский дом «Вильямс», 2001, 1072 с. Дмитриев В.И.Прикладная теория информации/В.И. Дмитриев. М.:Высшая школа, с. Гайдамакин Н.А. Автоматизированные информационные системы, базы и банки данных/ Н.А. Гайдамакин. М.: Гелиос АРВ, С. Карпова Т.С. Базы данных: модели, разработка, реализация/ Т.С. Карпова. СПб.: Питер, с. Мамаев Е.В. MS SQL Server 7.0. Проектирование и реализация баз данных/ Е.В. Мамаев. СПб.: БХВ-Санкт-Петербург, с. Озкарахан Э. Машины баз данных и управление базами данных/ Э. Озкарахан. М.: Мир, с. Селко Джо. SQL для профессионалов. Программирование/ Джо Селко. М.:«Лори», с. Системы управления базами данных и знаний/ А.Н. Наумов [и др.]; под общ. ред. А.Н. Наумова. М.: Финансы и статистика, с. Теория автоматического управления/ С.Е. Душин [и др.]; под общ. ред. Б. Б. Яковлева. М.: Высшая школа, с. Харрингтон Дж. Л. Проектирование реляционных баз данных. Просто и доступно/ Дж. Л. Харрингтон. М.: «Лори», с. Хендерсен К. Delphi 3 и системы клиент/сервер: руководство разработчика/ К. Хендерсен. Киев: Диалектика, с.