- •Кафедра «Информационные технологии»
- •Лекции 8, 9
- •1. Информационные системы и базы данных: концепция интеграции данных, назначение, основные понятия
- •В широком понимании под определение ИС подпадает любая система обработки информации.
- •Иногда используется более узкая трактовка понятия ИС как совокупности аппаратно-
- •Банк данных - разновидность ИС, в которой реализованы функции централизованного хранения и накопления
- •База данных (БД) - совокупность специальным образом организованных (структурированных) данных, хранимых в памяти
- •Система управления базами данных (СУБД) - комплекс языковых и программных средств,
- •Одни из первых СУБД:
- •Приложение - программа или комплекс
- •Для работы с БД часто достаточно средств СУБД и не нужно использовать приложения,
- •Словарь данных (СД) - подсистема БнД для централизованного хранения информации о структурах данных,
- •Функционально СД присутствует во всех БнД, но не всегда выполняющий эти функции компонент
- •Администратор базы данных (АБД) - лицо или группа лиц, отвечающих за выработку
- •Вычислительная система (ВС) - совокупность взаимосвязанных и согласованно действующих ЭВМ или процессоров и
- •Предпосылки появления БД и СУБД
- •Преимущества нового подхода:
- •Взаимодействие программ с данными при независимой работе (слева) и при использовании СУБД (справа)
- •Упрощенная схема системы баз данных
- •Основные компоненты СУБД
- •Основные функции СУБД
- •Основные функции СУБД
- •Основные функции СУБД
- •Основные функции СУБД
- •2. Виды архитектуры ИС на основе БД. Три уровня архитектуры БД: физическая,
- •Сервер определенного ресурса в компьютерной сети - компьютер (или программа), управляющий этим ресурсом,
- •Основное преимущество организации ИС
- •Структура ИС с файл-сервером
- •В ИС архитектуры файл-сервер по запросам пользователей файлы БД передаются на ПЭВМ, где
- •Структура ИС с сервером БД
- •При клиент-серверной архитектуре сервер БД выполняет основную обработку данных. Формируемые пользователем или приложением
- •Для создания и управления ПБД и приложений, работающих с ними, используются различные СУБД:
- •Другие преимущества клиент-серверной архитектуры
- •Три уровня архитектуры БД
- •Согласно требованиям стандартной архитектуры
- •Три уровня архитектуры ANSI/SPARC
- •Детальная схема архитектуры СУБД
- •3. Классификация СУБД, функции
- •Классификация СУБД по виду программы
- •«традиционные» СУБД, сначала - для больших машин, затем - для мини-ЭВМ и ПЭВМ.
- •Серверы БД предназначены для организации центров обработки данных в сетях ЭВМ. Эта группа
- •Клиентские программы для серверов БД -
- •Средства разработки программ работы с БД
- •Классификация СУБД (и БД) по модели данных
- •Представление связей между объектами в иерархической модели данных
- •Для описания структуры (схемы) иерархической БД на некотором языке программирования используется тип данных
- •Данные в иерархической БД
- •Представление связей между объектами в сетевой модели данных
- •Пример схемы сетевой БД
- •Основные компоненты реляционного отношения
- •Основные компоненты реляционного отношения
- •Элементы реляционной модели
- •Пример реляционной БД –
- •Пример реляционной БД – Часть БД о покупателях и договорах
- •Реляционные СУБД опираются на прочный теоретический фундамент. В их основе - простое представление
- •Для описания реляционного подхода используется простой и в то же время мощный математический
- •Несмотря на теоретическую проработанность, реляционные системы не сразу получили широкое распространение, их эффективная
- •3.2. Функции, выполняемые различными видами СУБД
- •Для работы с данными СУБД предоставляет программам / пользователям 2 типа языков:
- •ЯОД (DDL) и ЯМД (DML) в разных СУБД могут
- •Перечисленные выше функции СУБД, в свою
- •В разных системах может различаться:
- •Управление буферами оперативной памяти
- •Управление транзакциями
- •Управление транзакциями
- •Перевод денег с одного счета на другой в
- •Пример транзакции – более детальный
- •Контроль транзакций важен в
- •При параллельном выполнении смеси транзакций возможно возникновение
- •Ведение журнала изменений в БД
- •Обеспечение целостности и безопасности БД
- •4. Разработчики и пользователи ИС на основе СУБД
- •Принципы работы прикладных программ с БД
- •Вторая группа - конечные пользователи, работают с БД через рабочую станцию (терминал); получают
- •Третья группа - администратор данных (АД)
- •АБД – технические специалисты, реализующие
- •5. Принципы разработки и выполнения приложений при работе с БД
- •Существующие СУБД поддерживают следующие
- •Ручное кодирование - текст программ приложений набирается вручную, затем - отладка.
- •Средства визуального программирования приложений - развитие идеи использования генераторов приложений - приложение «строится»
- •Виды приложений
- •Интерпретируемые приложения - без среды СУБД не выполняются. Выполнение приложения: СУБД анализирует содержимое
- •Приложения с псевдокомпиляцией -
- •используют для запрета модификации
- •Преимущества независимых приложений
- •Преимущества интерпретируемых приложений
- •6. Основы OLAP-технологий
- •Термин OLAP - Кодд (E. F. Codd), 1993 г. Главная идея OLAP -
- •OLAP используется аналитиками для быстрой обработки сложных запросов к БД. Служит для подготовки
- •Действие OLAP. OLTP и OLAP
- •Термин OLTP применяют также к системам (приложениям). OLTP-системы предназначены для ввода, структурированного хранения
- •OLTP-системы проектируются, настраиваются и оптимизируются для выполнения максимального количества транзакций за
- •«Недостаток» OLTP – относительно медленное выполнение сложных многотабличных запросов
- •Реляционное и многомерное представление
- •Примеры трехмерных моделей
- •Примеры бизнес-приложений Data Mining
- •SSIS
- •SQL Server 2005: Analysis
- •SQL Server 2005: Data Mining
- •SQL Server 2005: Значение Data Mining
- •SQL Server 2005: Data Mining
Контроль транзакций важен в
однопользовательских и многопользовательских СУБД, где транзакции могут быть запущены параллельно. В этом
случае говорят о сериализуемости транзакций.
Сериализация параллельно выполняемых транзакций - составление такого плана их выполнения (сериального плана), при котором суммарный эффект реализации транзакций =
эффекту их последовательного выполнения.
81
При параллельном выполнении смеси транзакций возможно возникновение
конфликтов (блокировок), разрешение которых является функцией СУБД.
При обнаружении таких случаев обычно производится «откат» путем отмены изменений, произведенных одной или несколькими транзакциями.
82
Ведение журнала изменений в БД
(журнализация изменений)
выполняется СУБД для обеспечения надежности хранения данных в БД при аппаратных сбоях, ошибках в ПО. Журнал СУБД — особая БД или часть основной БД, напрямую недоступная пользователю и используемая для записи информации обо всех изменениях БД.
В различных СУБД в журнал могут заноситься записи, об изменениях в СУБД на разных уровнях: от минимальной внутренней операции модификации страницы внешней памяти до логической операции модификации БД (например, вставки записи, удаления столбца, изменения значения в поле) и
транзакции. |
83 |
|
Обеспечение целостности и безопасности БД
Целостность БД - свойство БД, означающее, что в ней содержится полная, непротиворечивая и адекватно отражающая предметную область информация. Поддержание целостности БД включает проверку целостности и ее восстановление в случае
обнаружения противоречий в БД.
Целостное состояние БД описывается с помощью
ограничений целостности - условий, которым должны удовлетворять хранимые в базе данные.
Обеспечение безопасности достигается в СУБД шифрованием прикладных программ, данных, защитой паролем, поддержкой уровней доступа к БД
и к отдельным ее элементам (таблицам, формам, и т.
д.).
84
4. Разработчики и пользователи ИС на основе СУБД
Пользователей (включая разработчиков) БД можно разделить на три большие и частично перекрывающиеся группы.
Первая группа - прикладные программисты,
отвечают за написание прикладных программ, использующих БД. Для этих целей применимы такие языки, как COBOL, PL/I, C++, Java, … (высокоуровневые языки 4-го поколения) .
85
Принципы работы прикладных программ с БД
Прикладные программы получают доступ к БД с помощью запроса к СУБД (обычно SQL-оператор). Подобные программы могут быть:
•простыми пакетными приложениями;
•интерактивными приложениями, поддерживающими работу конечных пользователей - дают пользователям непосредственный оперативный доступ к БД
через рабочую станцию или терминал. Большинство современных приложений относится именно к этой категории86 .
Вторая группа - конечные пользователи, работают с БД через рабочую станцию (терминал); получают доступ к БД, применяя: одно из интерактивных приложений или
интерфейс, интегрированный в ПО самой СУБД (разработанный при создании СУБД системными, а не прикладными программистами).
Большинство СУБД включает, по крайней мере, одно такое встроенное приложение - процессор
языка запросов, позволяет в диалоговом режиме вводить запросы к БД (чаще всего на языке SQL). Пример: MS Access – Конструктор запросов (бланк QBE). При этом инструкция SQL генерируется автоматически. 87
Третья группа - администратор данных (АД)
и администратор (-ры) БД (АБД).
АД - основная ответственность за данные ИС; должен разбираться во всех данных предприятия и понимать нужды предприятия по отношению к данным на уровне высшего управляющего звена в руководстве предприятием (относиться к этому звену; часто
это функция начальника или зам. начальника ВЦ больших организаций).
АД принимает решения о том, какие данные вносятся в БД в первую очередь, вырабатывает требования по сопровождению, обработке,
88
защите данных после их занесения в БД.
АБД – технические специалисты, реализующие
решения АД. АБД создают БД и организуют их сопровождение, отвечают за обеспечение быстродействия и технического обслуживания ИС на основе БД. Для больших организаций функции АБД выполняют несколько специалистов (системные программисты, техники и т.д.).
Кроме того, разработчиками БД предприятия или ИС на основе БД могут быть внешние
организации, разрабатывающие ПО и передающие его после внедрения на сопровождение АБД предприятия. 89
5. Принципы разработки и выполнения приложений при работе с БД
Современные СУБД позволяют решать широкий круг задач по работе с БД без разработки приложения. Также бывают случаи, когда целесообразно разработать приложение.
Для разработки приложений СУБД должна иметь программный интерфейс, основу которого составляют функции и/или процедуры соответствующего языка программирования.
90