Лекция 2. Концепция баз данных

Концепция в общем смысле представляет некоторую систему взглядов на процесс или явление. Составными частями концепции являются совокупность принципов и методология. Под методологией понимается совокупность методов решения проблемы.

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

Требования, предъявляемые к базам данных

С современных позиций следует порознь рассматривать требования, предъявляемые к транзакционным (операционным) базам данных и к хранилищам данных.

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

1. Простота обновления данных. Подоперацией обновления понимают добавления, удаления и изменения данных.

2. Высокое быстродействие (малое время отклика на запрос). Время отклика – промежуток времени от момента запроса к БД и фактическим получением данных. Похожим является термин время доступа – промежуток времени между выдачей команды записи (считывания) и фактическим получением данных. Под доступом понимается операция поиска, чтения данных или записи их.

3. Независимость данных.

4. Совместное использование данных многими пользователями.

5. Безопасность данных – защита данных от преднамеренного или непреднамеренного нарушения секретности, искажения или разрушения.

6. Стандартизация построения и эксплуатации БД (фактически СУБД).

7. Адекватность отображения данных соответствующей предметной области.

8. Дружелюбный интерфейс пользователя.

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

Независимость данных – возможность изменения логической и физической структуры БД без изменения представлений пользователей. Независимость данных предполагает инвариантность к характеру хранения данных, программному обеспечению и техническим средствам. Она обеспечивает минимальные изменения структуры БД при изменениях стратегии доступа к данным и структуры самих исходных данных. Это достигается, как будет показано далее, "смешением" всех изменений на этапы концептуального и логического проектирования с минимальными изменениями на этапе физического проектирования |2).

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

Она предполагает:

• отсутствие неточно введенных данных или двух одинаковых записей об одном и том же факте;

• защиту от ошибок при обновлении БД;

• невозможность удаления порознь (каскадное удаление) связанных данных разных таблиц;

• неискажение данных при работе в многопользовательском режиме и в распределенных базах данных;

• сохранность данных при сбоях техники (восстановление данных).

Целостность обеспечивается триггерами целостности – специальными приложениями-программами, работающими при определенных условиях. Для некоторых СУБД (например, Access, Paradox) триггеры являются встроенными.

Защита данных от несанкционированного доступа предполагает ограничение доступа к конфиденциальным данным и может достигаться:

• введением системы паролей;

• получением разрешений от администратора базы данных (АБД);

• запретом от АБД на доступ к данным;

• формированием видов – таблиц, производных от исходных и предназначенных конкретным пользователям.

Три последние процедуры легко выполняются в рамках языка структурированных запросов Structured Query Language – SQL, часто называемом SQL2.

Стандартизация обеспечивает преемственность поколений СУБД, упрощает взаимодействие БД одного поколения СУБД с одинаковыми и различными моделями данных. Стандартизация (ANSI/SPARC) осуществлена в значительной степени в части интерфейса пользователя СУБД и языка SQL. Это позволило успешно решить задачу взаимодействия различных реляционных СУБД как с помощью языка SQL, так и с применением приложения Open DataBase Connection (ODBC). При этом может быть осуществлен как локальный, так и удаленный доступ к данным (технология клиент-сервер или сетевой вариант).

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

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

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

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

К хранилищам данных предъявляются следующие дополнительные требования [2]:

• высокая производительность загрузки данных из операционных БД;

• возможность фильтрования, переформатирования, проверки целостности исходных данных, индексирования данных, обновления метаданных;

• повышенные требования к качеству исходных данных в части обеспечения их непротиворечивости, поскольку они могут быть получены из разных источников;

• высокая производительность запросов;

• обеспечение высокой размерности;

• одновременность доступа к ХД;

• наличие средств администрирования.

Поддержка анализа данных соответствующими методами (инструментами).

Как отмечено в [2] Э.Ф. Кодд на основе своего опыта предъявил следующие требования к системе OLAP.

1. Многомерное концептуальное представление данных.

2. Прозрачность технологии и источников данных.

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

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

5. Использование гибкой, адаптивной, масштабируемой архитектуры клиент-сервер.

6. Универсальность измерений (формулы и средства создания отчетов не должны быть привязаны к конкретным видам размерностей).

7. Динамическое управление разреженностью матриц (пустые значения NULL должны храниться эффективным образом).

8. Многопользовательская поддержка.

9. Неограниченные операционные связи между размерностями.

10. Поддержка интуитивно понятных манипуляций с данными.

11. Гибкость средств формирования отчетов.

12. Неограниченное число измерений и уровней обобщения.

Перечисленные требования отличны от требований к операционным БД, что вызнало появление специализированных БД – хранилищ данных.