Курс БД Лекция 2
Классификация БД По месту нахождения БД: ► централизованные ► распределенные 2
ЦЕНТРАЛИЗОВАННЫЕ хранятся в памяти одной вычислительной системы. 3
РАСПРЕДЕЛЕННЫЕ ► Совокупность логически связанных БД, распределённых в сети ► Состоят из набора нескольких пересекающихся или даже дублирующих друга частей ► Каждый узел – это полноценная СУБД ► Узлы РБД взаимодействуют так, что пользователь любого узла может получить доступ к любым данным в сети так, как будто они находятся на его узле Недостатки: обращение к средствам коммуникации, сложность СУРБД 4
РАСПРЕДЕЛЕННЫЕ Фундаментальный принцип РБД – для пользователя распределённая система должна выглядеть также как нераспределённая система Цели принципа: 1. 2. 3. 4. 5. 6. Локальная независимость – все операции на узле контролируются этим узлом Отсутствие опоры на центральный узел – все узлы равны Непрерывное функционирование – обеспечение высокой степени надёжности и доступности Независимость от расположения данных для пользователя Независимость от фрагментации - данные могут храниться там, где они чаще всего используются, для уменьшения сетевого трафика Независимость от репликаций - данные могут копироваться на нескольких узлах 5
Обработка распределённых запросов - обработка системой запросов к нескольким узлам 8. Управление распределёнными транзакциями – атомарность при выполнении и блокировка для при параллельном обращении 9. Аппаратная независимость – запуск РСУБД на различных машинах 10. Независимость от ОС – функционирование РСУБД с разными ОС 11. Независимость от сети – поддержка узлов отличающихся типом коммуникационных сетей 12. Независимость от типа СУБД – экземпляры РСУБД должны поддерживать один и тот же интерфейс, но версии могут быть разными 7. 6
Классификация БД По способу доступа к данным БД ► с локальным доступом ► с удаленным ( сетевым доступом ) 7
Системы ЦБД с сетевым доступом предполагают различную технологию обработки данных: • файл – сервер • клиент – сервер 8
Схема обработки информации файл-сервер файл – сервер (хранение БД) Передача файлов для обработки рабочие станция 1 СУБД рабочие станция 2 СУБД рабочие станция N СУБД 9
Схема обработки информации клиент - сервер БД хранение БД, СУБД Обработка данных Передача файлов для обработки рабочие станция 1 данных рабочие станция 2 рабочие станция N 10
Классификация СУБД По степени универсальности: ►системы общего назначения ►специализированные системы 11
Классификация СУБД ►системы общего назначения- Не ориентированы на конкретную предметную область (коммерческие СУБД). Преимущества - сокращение сроков разработки, развитые функциональные возможности Недостаток - функциональная избыточность. 12
Классификация СУБД ►специализированные системы Создаются в редких случаях при невозможности использовать СУБД общего назначения ►Преимущество – компактность СУБД ►Недостаток – невозможность использования в разных предметных областях 13
ХАРАКТЕРИСТИКИ СУБД 1. Производительность ► ► скорость поиска информации временем выполнения операций импортирования базы данных из других форматов временем выполнения коррекции, вставки, удаления данных максимальным числом параллельных обращений к данным в многопользовательском режиме 14
ФАКТОРЫ, ВЛИЯЮЩИЕ НА ПРОИЗВОДИТЕЛЬНОСТЬ - поддержка целостности данных - обеспечение безопасности данных 15
ЦЕЛОСТНОСТЬ ДАННЫХ ► наличие средств, позволяющих поддерживать информацию в БД корректной и полной, независимо от того каким образом данные заносятся в память - в интерактивном режиме, - посредством импорта - с помощью специальной программы 16
ЦЕЛОСТНОСТЬ ДАННЫХ ► назначение первичных ключей записей, создающие уникальность записи ► средства поддержания ссылочной целостности 17
ОБЕСПЕЧЕНИЕ БЕЗОПАСНОСТИ предотвращает несанкционированный доступ к БД со стороны пользователей: ► ограничение уровня доступа (Администратор БД) ► защита паролем (индивидуальные и групповые) ► шифрование прикладных программ и данных 18
ХАРАКТЕРИСТИКИ СУБД 2. Работа в многопользовательских средах ► ► ► блокировка данных, (файла, записи, поля) идентификации станции, установившей блокировку обновление информации после модификации контроль за временем и повторение обращения обработка транзакций (последовательность операций пользователя над БД, сохраняющая её логическую целостность) работа с сетевыми системами (Net Ware, Unix) 19
ХАРАКТЕРИСТИКИ СУБД 3. Импорт – экспорт обработка СУБД информации, подготовленной другими программными средствами ► использование другими программами данных, сформированных средствами СУБД Форматы файлов (ASCII-файлы. DBF, . XLS, . WК* и др. ) ► 20
ХАРАКТЕРИСТИКИ СУБД 4. Языковые средства СУБД Основные функции: ► описание данных ► выполнение операций манипулирования данными- 21
Языковые средства СУБД ►описание данных - обеспечивается языком ЯОД ( DDL –data definition language ) предоставляет средства указания структуры хранимых данных, а также средства задания ограничений. 22
Языковые средства СУБД Основные функции: ► выполнение операций манипулирования данными - обеспечивается языком манипулирования или управления данных ЯМД (DML –data manipulation language ) язык запросов ( Query language) вставка, удаление, извлечение информацию из БД 23
Языковые средства СУБД ► SQL – специальный международный стандарт языка запросов реляционных СУБД ЯМД) (содержит ЯОД и 24
Языковые средства СУБД Способы представления языковых средств: ►в явной синтаксической форме ( для профессионалов) 25
Языковые средства СУБД косвенным образом ( для пользователей) QBE ( Query by Example ): в виде меню, диалоговых форм, таблиц ( преобразуются в конструкции языка) 26
Языковые средства СУБД Два вида языков DML, отличающихся способом извлечения данных 1. ПРОЦЕДУРНЫЕобрабатывают информацию БД последовательно запись за записью и используются для описания того, КАК МОЖНО получить желаемый результат 27
Языковые средства СУБД 2. НЕПРОЦЕДУРНЫЕ – оперируют наборами записей SQL используются для описания того, ЧТО СЛЕДУЕТ получить. 28
Языковые средства СУБД Язык запросов (Structured Query Language) реализован в различных СУБД либо как базовый либо как альтернативный. Совместимость СУБД с SQLсистемами необходима для работы с корпоративными данными систем (клиент -сервер) 29
ФУНКЦИИ СУБД 1. Управление данными во внешней памяти обеспечение необходимых структур внешней памяти для хранения данных и для служебных целей 30
ФУНКЦИИ СУБД 2. Системный каталог или словарь данных хранилище информации, описывающий данные в БД , данные о данных или МЕТАДАННЫЕ Обычно в каталоге хранятся: ► имена, типы, размеры элементов данных ► имена связей ► ограничения, накладываемые на данные ► используемые индексы ► имена санкционированных пользователей, которым предоставлено право доступа к данным ► внешняя, концептуальная, внутренняя схемы и отображения между ними ► статистические данные 31
3. Управление буферами оперативной памяти . ► В развитых СУБД поддерживается собственный набор буферов ОП ► Отдельное направление СУБД: Ориентировано на постоянное присутствие в ОП всей БД. 32
4. Управление ТРАНЗАКЦИЯМИ ТРАНЗАКЦИЯ – это последовательность операций над БД, рассматриваемых СУБД как единое целое. Понятие транзакции необходимо для поддержания логической целостности БД. . 33
5. Журнализация Обеспечение надежности хранения данных во внешней памяти виды аппаратных сбоев: ► мягкие сбои ► жесткие сбои, (с потерей информации). Журнал - это особая часть БД, недоступная пользователям СУБД и поддерживаемая с особой тщательностью, в которую поступают записи обо всех изменениях основной части БД. 34
. 5. Журнализация Обеспечение надёжности хранения: две копии журнала, располагаемые на разных физических дисках ► Для восстановления БД после жесткого сбоя используют журнал и архивную копию БД. 35
6. Поддержка языков БД использование специальных языков, называемых языками баз данных 36
КОМПОНЕНТЫ СУБД 1. ЯДРО СУБД – (Data Base Engine) отвечает за управление данными во внешней памяти, управление буферами оперативной памяти, управление транзакциями и журнализацию. КОМПОНЕНТЫ ЯДРА: менеджер данных, менеджер буферов, менеджер транзакций и менеджер журнала. Их функции взаимосвязаны и для обеспечения корректной работы СУБД все эти компоненты должны взаимодействовать по тщательно продуманным и проверенным протоколам. 37
Ядро СУБД является основной резидентной частью СУБД. ► Ядро является основной составляющей серверной части системы при использовании архитектуры КЛИЕНТ► СЕРВЕР. ► Ядро обладает собственным интерфейсом ( недоступен пользователям напрямую ) используется в программах, производимых компилятором SQL и утилитах БД. 38
2. Процессор языка БД (компилятор обычно SQL) Обеспечивает оптимизацию запросов и создание машинно-независимого исполняемого внутреннего кода 39
3. Подсистема поддержки времени исполнения ► системы поддержки времени выполнения, представляют собой интерпретатор внутреннего языка. (Вид транслятора, осуществляющего пооператорную (покомандную) обработку и выполнение исходной программы или запроса (в отличие от компилятора, транслирующего всю программу без её выполнения). [ 40
4. Сервисные программы Утилиты обеспечивают ряд дополнительных возможностей по обслуживанию информационных систем В отдельные утилиты выделяют процедуры, которые слишком накладно выполнять с использованием языка БД (загрузка и выгрузка БД, сбор статистики, глобальная проверка целостности БД и т. д. ) 41
Программа во внутреннем коде СУБД. Подсистема поддержки времени исполнения Ядро СУБД П Р О Ц Е С С О Р КОМПОНЕНТЫ СУБД БД 42