Управление данными в информационных системах

Автор работы: Пользователь скрыл имя, 13 Января 2013 в 18:33, доклад

Описание работы

Управление данными (англ. data management) — процесс, связанный с накоплением, организацией, запоминанием, обновлением, хранением данных и поиском информации.
К управлению данными относятся
• Анализ данных
• Моделирование данных
• Управление базами данных
• Работа с хранилищами данных
• Извлечение, преобразование и загрузка данных
• Добыча данных
• Обеспечение качества данных
• Защита данных
• Шифрование данных
• Управление метаданными (репозиториями данных)
• Архитектура данных

Файлы: 1 файл

Управление данными в информационных системах3.docx

— 226.79 Кб (Скачать файл)

2.1  Управление данными в информационных  системах

2.1.1  Понятие    управления  данными.

Управление данными (англ. data management) — процесс, связанный с накоплением, организацией, запоминанием, обновлением, хранением данных и поиском информации.

 

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

  • Анализ данных
  • Моделирование данных
  • Управление базами данных
  • Работа с хранилищами данных
  • Извлечение, преобразование и загрузка данных
  • Добыча данных
  • Обеспечение качества данных
  • Защита данных
  • Шифрование данных
  • Управление метаданными (репозиториями данных)
  • Архитектура данных

 

Джим Грей

Источник: журнал Системы Управления Базами Данных # 3/1998, издательский дом «Открытые системы»

Теперь компьютеры могут  хранить все формы информации: записи, документы, изображения, аудио- и видеозаписи, научные данные и  много новых форматов данных. Мы добились больших успехов в получении, хранении, управлении, анализе и  визуализации данных. Обобщенно эти  задачи называются управлением данными.

В статье Джима Грея (журнал Системы Управления Базами Данных # 3/1998) в общих чертах описывается эволюция систем управления данными с выделением шести поколений менеджеров данных, показанных на рис. 1:

 
Рис. 1. Шесть поколений  управления данными, начиная от ручных методов, через несколько стадий автоматизации управления данными.

В управлении данными имелось  шесть разных фаз.

1 - Вначале данные обрабатывались вручную.

2 - На следующем шаге использовались оборудование с перфокартами и электромеханические машины для сортировки и табулирования миллионов записей.

3 - На третьей фазе данные хранились на магнитных лентах, и сохраняемые программы выполняли пакетную обработку последовательных файлов.

4 - На четвертой фазе было введено понятия схемы базы данных и оперативного навигационного доступа к данным.

5 - На пятой фазе был обеспечен автоматический доступ к реляционным базам данным и была внедрена распределенная и клиент-серверная обработка.

6 - Теперь мы находимся в шестом поколении систем, которые хранят более богатые типы данных, в особенности, документы, изображения, аудио- и видеоданные. Эти системы шестого поколения представляют собой базовые средства хранения для появляющихся приложений Internet и intranet.

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

Можно представить, что обработка  поступившего в систему запроса  состоит из фаз, изображенных ниже.

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

На второй фазе запрос во внутреннем представлении подвергается логической оптимизации. Могут применяться различные преобразования, "улучшающие" начальное представление запроса. Среди преобразований могут быть эквивалентные, после проведения которых получается внутреннее представление, семантически эквивалентное начальному (например, приведение запроса к некоторой канонической форме), Преобразования могут быть и семантическими: получаемое представление не является семантически эквивалентным начальному, но гарантируется, что результат выполнения преобразованного запроса совпадает с результатом запроса в начальной форме при соблюдении ограничений целостности, существующих в базе данных. После выполнения второй фазы обработки запроса его внутреннее представление остается непроцедурным, хотя и является в некотором смысле более эффективным, чем начальное.

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

На четвертом  этапе по внутреннему представлению наиболее оптимального плана выполнения запроса формируется выполняемое представление плана. Выполняемое представление плана может быть программой в машинных кодах, если, как в случае System R, система ориентирована на компиляцию запросов в машинные коды, или быть машинно-независимым, но более удобным для интерпретации, если, как в случае INGRES, система ориентирована на интерпретацию запросов. В нашем случае это непринципиально, поскольку четвертая фаза обработки запроса уже не связана с оптимизацией.

Наконец, на пятом этапе обработки запроса происходит его реальное выполнение. Это либо выполнение соответствующей подпрограммы, либо вызов интерпретатора с передачей ему для интерпретации выполняемого плана.

 

2.1.2 Обеспечение  целостности данных и ограничение  целостности данных.

Аппарат поддержания целостности данных. Триггеры. Виды триггеров.

Целостность данных - это механизм поддержания соответствия базы данных предметной области.

Триггер – специальный механизм для реализации ограничения целостности и позволяющий управлять изменениями в таблицах, имеющих связи.

Триггеры м.б. созданы в конструкторе таблиц и использоваться для:

  • Учёта изменений выполняемых с данными
  • Реализации механизма поддержания целостности данных.

Триггеры хранятся в хранимых процедурах. Триггеры, созданные через  вкладку «таблицы», д.б. написаны разработчиком. Более удобный способ создания триггеров – использование построителя триггеров (Referential Integrity Builder), к которому можно обратиться через системное меню или контекстное меню на связи между таблицами.

Для каждого отношения  можно выбрать тип триггера:

  • cascade (предполагает изменение данных в дочерней таблице с изменением в родительской);
  • restrict (запрет на изменение , если есть зависимые записи в дочерней таблице);
  • ignore (разрешает изменение и допускает появление несвязанных дочерних записей).

Эти триггеры работают на update, delete, insert, но insert может работать только с restrict и ignore. Тело триггера при использовании построителя тригера м.б. просмотрено и изменено (Вкладка DATA - Stored Procedure). При создании отчётов, форм, где используются  связанные таблицы, наличие триггеров обязательно. Это упрощает проверки, исключает написание дополнительных процедур и обеспечивает целостность и логику связи.

-----------------------------

Целостность данных - важное свойство SQL. При правильном использовании  оно обеспечивает корректность и  валидность хранимых данных в любой момент времени. Также, с их помощью можно обнаруживать ошибки в приложениях, которые тяжело найти другими способами. Целостность данных поддерживается с помощью ограничений. 
 
В SQL стандарта ANSI есть 4 основных ограничения: PRIMARY KEY, CHECK, UNIQUE и FOREIGN KEY. Они не являются обязательными для таблицы. 
 
PRIMARY KEY - набор полей (1 или более), значения которых образуют уникальную комбинацию и используются для однозначной идентификации записи в таблице. Для таблицы может быть создано только одно такое ограничение. Данное ограничение используется для обеспечения целостности сущности, которая описана таблицей. 
 
CHECK используется для ограничения множества значений, которые могут быть помещены в данный столбец. Это ограничение используется для обеспечения целостности предметной области, которую описывают таблицы в базе. 
 
Ограничение UNIQUE обеспечивает отсутствие дубликатов в столбце или наборе столбцов. Разница между PRIMARY KEY и UNIQUE описана в primary и unique ключи 
 
Ограничение FOREIGN KEY защищает от действий, которые могут нарушить связи между таблицами. FOREIGN KEY в одной таблице указывает на PRIMARY KEY в другой. Поэтому данное ограничение нацелено на то, чтобы не было записей FOREIGN KEY, которым не отвечают записи PRIMARY KEY. Таким образом, FOREIGN KEY поддерживает ссылочную целостность данных.

 

 

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

Операции над данными.

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

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

По характеру  действия выделяют следующие виды операций:

  • Идентификация данного и  нахождение его позиции
  • Выборка данного
  • Запись данного
  • Удаление данного
  • Модификация данного

По характеру  способа получения результата различают:

    • Навигационные операции
    • Спецификационные операции

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

Способ спецификации – применяется в том случае, если выдвигаются требования к результату, но не задаётся способ его получения.

Т.о. в начале осуществляется селекция требуемых данных, затем вид «операция».

 

Запросы  к базам данных на структурированном  языке.

Любая ИС может считаться  эффективной если выборка данных осуществляется быстро, качественно и в требуемом объёме. Наиболее эффективным решением этой проблемы является возможность построения запросов средствами команд SQL.

Язык SQL в отличии от существующих команд языка СУБД является множественно-ориентированным языком и направлен на получение готовых таблиц с результатами запроса. Особенности SQL:

  1. команда SQL работает с данными на уровне машинного представления, поэтому скорость обработки возрастает в сотни раз по сравнению с традиционными командами СУБД.
  2. Ком. SQL самостоятельно выполняют создание индексов и ключей при необходимости, это экономит место на диске и затраты ресурсов на поддержание целостности структуры индексов.
  3. Каждая СУБД имеет свой собственный диалект по SQL, который отличается полнотой поддержки стандарта и некоторыми незначительными отличиями синтаксиса.

Использование DML и DLL.

DML язык манипулирования данными. INSERT INTO, UPDATE, DELETE, SELECT (организация выборки данных).

DDL  - язык определения  структур и ограничений целостности  баз данных. Сюда относятся команды  создания и удаления баз данных; создания, изменения и удаления  таблиц; управления пользователями  и т.д. 

SELECT.

Для извлечения записей из таблиц в SQL определен оператор SELECT. С помощью этой команды осуществляется не только операция реляционной алгебры "выборка" (горизонтальное подмножество), но и предварительное соединение (join) двух и более таблиц. Это наиболее сложное и мощное средство SQL, полный синтаксис оператора SELECT имеет вид:      

 SELECT [ALL | DISTINCT] <список_выбора>

FROM <имя_таблицы>, ...

[ WHERE <условие> ]

[ GROUP BY <имя_столбца>,... ]

[ HAVING <условие> ]

[ORDER BY <имя_столбца> [ASC | DESC],... ]

Порядок предложений в  операторе SELECT должен строго соблюдаться (например, GROUP BY должно всегда предшествовать ORDER BY), иначе это приведет к появлению ошибок.

 

Функции.

SQL позволяет выполнять  различные арифметические операции  над столбцами результирующего  отношения. В конструкции <список_выбора> можно использовать константы, функции и их комбинации с арифметическими операциями и скобками. В арифметических вражения допускаются операции сложения (+), вычитания (-), деления (/), умножения (*), а также различные функции (COS, SIN, ABS - абсолютное значение и т.д.). Также в запрос можно добавить строковую константу. В SQL также определены так называемые агрегатные функции, которые совершают действия над совокупностью одинаковых полей в группе записей. Среди них:

  • AVG(<имя поля>) - среднее по всем значениям данного поля
  • COUNT(<имя поля>) или COUNT (*) - число записей
  • MAX(<имя поля>) - максимальное из всех значений данного поля
  • MIN(<имя поля>) - минимальное из всех значений данного поля
  • SUM(<имя поля>) - сумма всех значений данного поля

Следует учитывать, что каждая агрегирующая функция возвращает единственное значение.

 

 

2.1.3  Хранилище  данных  DataWarehouse.

Хранилище данных (англ. Data Warehouse) — предметно-ориентированная информационная база данных, специально разработанная и предназначенная для подготовки отчётов и бизнес-анализа с целью поддержки принятия решений в организации. Строится на базе систем управления базами данных и систем поддержки принятия решений. Данные, поступающие в хранилище данных, как правило, доступны только для чтения. Данные из OLTP-системы копируются в хранилище данных таким образом, чтобы построение отчётов и OLAP-анализ не использовал ресурсы транзакционной системы и не нарушал её стабильность. Как правило, данные загружаются в хранилище с определённой периодичностью, поэтому актуальность данных может несколько отставать от OLTP-системы.

Информация о работе Управление данными в информационных системах