
- •Задачи поиска: исчерпывающий поиск, быстрый поиск, использование деревьев в задачах поиска
- •Задачи поиска
- •Исчерпывающий поиск: перебор с возвратом, метод ветвей и границ, динамическое программирование
- •Быстрый поиск: бинарный и последовательный поиски в массивах, хеширование
- •Использование деревьев в задачах поиска: бинарные и случайные бинарные, оптимальные и сбалансированные деревья поиска
- •Уровни моделей и этапы проектирования баз данных Инфологическое моделирование
- •Базы данных (БД) и системы управления базой данных (СУБД)
- •Выбор системы управления базами данных
- •Жизненный цикл базы данных
- •Уровни моделей и этапы проектирования БД
- •Инфологическое моделирование
- •Языковые средства современных СУБД
- •Даталогическое моделирование
- •Проектирование на физическом уровне
- •Средства и методы проектирование БД
- •Ограничения целостности
- •Технология оперативной обработки транзакции (OLTP-технология)
- •Информационные хранилища
- •OLAP-технология
- •Принципы построения и архитектура компьютерных сетей Протоколы, иерархия протоколов и режимы их работы
- •Классификация современных компьютерных сетей
- •Принципы построения и архитектура компьютерных сетей
- •Протоколы, иерархия протоколов и режимы их работы
- •Соединение, передача данных, разъединение
- •Передача информации в компьютерных сетях
- •Каналы связи, модемы
- •Кодирование и защита от ошибок
- •Структура пакета
- •Методы коммутации каналов, сообщений, пакетов
- •Маршрутизация
- •Базовые средства передачи данных
- •Локальные вычислительные сети (ЛВС)
- •Структура и принципы строения ЛВС
- •Конфигурация связей
- •Стандарты, соглашения и рекомендации
- •Программное обеспечение компьютерных сетей
- •Назначение и основные функции операционных систем
- •Назначение и основные функции операционных систем (ОС)
- •Способы построения современных операционных систем и операционных оболочек
- •Организация и управление памятью, распределение ресурсов, сервисные службы операционных систем, организация сохранности и зашиты программных систем
- •Языки и системы программирования. Модели языков программирования
- •Языки и системы программирования. Модели языков программирования.
- •Компиляторы и интерпретаторы
- •Объектно-ориентированное программирование
- •Модели и этапы разработки программного обеспечения
- •Программные средства и программные продукты
- •Коммерческое, условно-бесплатное и свободно распространяемое программное обеспечение
- •Теория схем программ
- •Семантическая теория программ
- •Модели вычислительных процессов: Модель графов распределения ресурсов
- •Вычислительные схемы
- •Реляционные системы управления базами данных Объектно-ориентированные базы данных
- •Реляционные СУБД
- •СУБД на инвертированных файлах
- •Гипертекстовые и мультимедийные БД
- •XML-серверы
- •Объектно-ориентированные базы данных
- •Организация процессов обработки данных в БД
- •Архитектуры вычислительных систем. Архитектура системы команд
- •Классификация современных вычислительных систем
- •Способы организации и типы ВС
- •Параллельная обработка информации: уровни и способы организации
- •Реализация в многомашинных и многопроцессорных ВС
- •Операционные контейнеры
- •Векторные, матричные, ассоциативные системы
- •Однородные системы и среды: RISC-архитектуры
- •Развитие архитектур, ориентированных на языковые средства и среду программирования
- •Основы метрической теории ВС
- •Технология распределенной обработки данных
- •Задачи сортировки Анализ сложности и эффективности алгоритмов сортировки
- •Задачи сортировки
- •Внутренняя и внешняя сортировки
- •Алгоритмы сортировки
- •Анализ сложности и эффективности алгоритмов поиска и сортировки
- •Современные технологии разработки программного обеспечения Управление версиями Документирование
- •Современные технологии разработки программного обеспечения, постановка задачи, оценка осуществимости
- •Планирование, тестирование, обеспечение оценки качества
- •Групповая разработка, управление версиями, организация коллектива разработчиков, документирование
- •Структурное проектирование, CASE-средства, реинжиниринг программных систем
- •Работа с данными
- •Проблема создания и сжатия больших информационных массивов, информационных хранилищ и складов данных
19
Полностью не определено, то есть каждое значение атрибута, который участвует во внешнем ключе, должно являться неопределенным.
Выделяют еще 2 категории, которые относятся к средствам обеспечения целостности - средства процедурного и декларативного характера.
Средства декларативного характера создают в виде составных частей объектов при их определении в БД (к примеру, установление условия на значение при создании таблицы в БД).
Средства процедурного характера (хранимые процедуры и триггеры) реализованы в виде отдельных программных модулей.
В основном декларативные ограничения являются менее функциональными, но более экономными по отношению к ресурсам и наоборот. Обратим внимание, что использованием развитой системы ограничений целостности определяется зрелость БД. Зачастую легче с самого начала обеспечить непопадание в базу данных неверных значений, чем после убирать их из базы данных.
К тому же, разработчики при создании ограничений целостности должны обеспечить перехват ошибок, которые возникают при нарушениях целостности, клиентским приложением.
Также выделяют целостность, определяемую пользователем. Любая база данных содержит дополнительные специфические правила, относящиеся только к ней и определяющиеся разработчиком. При этом чаще всего контролируют:
Уникальность каких-либо атрибутов, Диапазон значений (например, оценкой может быть лишь 2,3,4,5);
Принадлежность набору значений (к примеру, пол «Ж» или «М»).
Технология оперативной обработки транзакции (OLTP-технология)
OLTP, Online Transaction Processing - обработка транзакций в реальном времени. Способ организации БД, при котором система работает с небольшими по размерам транзакциями, но идущими большим потоком, и при этом клиенту требуется от системы минимальное время отклика.
Термин OLTPприменяюттакжексистемам(приложениям).OLTP-системы предназначены для ввода, структурированного хранения и обработки информации (операций, документов) в режиме реального времени.
OLTP-приложениями охватывается широкий спектр задач во многих отраслях - автоматизированные банковские системы, ERP-системы (системы планирования ресурсов предприятия), банковские и биржевые операции, в промышленности - регистрация прохождения детали на конвейере, фиксация в статистике посещений очередного посетителя веб-сайта, автоматизация бухгалтерского, складского учёта и учёта документов и т. п.
Приложения OLTP, как правило, автоматизируют структурированные, повторяющиеся задачи обработки данных, такие как ввод заказов и банковские транзакции. OLTP-системы проектируются, настраиваются и оптимизируются для выполнения максимального количества транзакций за короткие промежутки времени. Как правило, большой гибкости здесь не требуется, и чаще всего используется фиксированный набор надёжных и безопасных методов ввода, модификации, удаления данных и выпуска оперативной отчётности. Показателем эффективности является количество транзакций, выполняемых за секунду. Обычно аналитические возможности OLTP-систем сильно ограничены либо вообще отсутствуют.
Требованиями OLTP-обработки информации являются:
•строго нормализованные модели данных;
•привозникновенииошибкитранзакциядолжнацеликомоткатитьсяивернутьсистему
ксостоянию, которое было до начала транзакции;
•обработка данных в реальном времени (с малой задержкой).
Преимуществами OLTP-обработки являются высокая надёжность и достоверность данных, как следствие транзакционного подхода. Транзакция либо совершается полностью и успешно, либо не совершается исистемавозвращается к предыдущему состоянию. При любомисходевыполнения транзакции целостность данных не нарушается.
Недостатками OLTP-систем является оптимизация только к небольшим дискретным транзакциям. Запросы на некую комплексную информацию, к примеру поквартальная динамика
20
объемов продаж по определённой модели товара в определённом филиале, характерные для аналитических приложений (OLAP), порождают сложные соединения таблиц и просмотр таблиц целиком. На один такой запрос затрачивается масса времени и компьютерных ресурсов, что тормозит обработку текущих транзакций до неприемлемого уровня.
Информационные хранилища
Информационное хранилище (data warehouse) – это автоматизированная система, которая собирает данные из существующих внутренних баз предприятия и внешних источников, формирует, хранит и эксплуатирует информацию как единую.
Информационное хранилище обеспечивает доступ как к внутренним данным предприятия, так и к внешним источникам данных, доступных по Интернету.
Информационные хранилища поддерживают большое число моделей данных, включая многомерные и ER-модели, что обеспечивает исторические запросы (запросы за прошлые годы и десятилетия), запросы как к оперативным данным предприятия, так и к данным внешних источников, запросы аналитических (агрегированных) данных для анализа тенденций и принятия стратегических решений.
Данные информационных хранилищ хранятся не только на сервере, но и на вторичных устройствах хранения.
При слиянии данных из разных источников и размещении их в информационном хранилище обеспечивается:
•Предметная ориентация. Данные организованы в соответствии со способом их представления в предметных приложениях. В отличие от локальных баз информационное хранилище содержит агрегированные данные приложений и не содержат ненужной с точки зрения анализа информации, что значительно сокращает объемы хранимой информации.
•Целостность и внутренняя взаимосвязь. Хотя данные погружаются из разных внутренних
ивнешних источников, они объединены едиными законами наименования, способами измерения размерностей и т.д.Вразныхисточникаходинаковыепонаименованиюданныемогутиметьразные формы представления (например, даты) или названия (например, «вероятность доведения информации» в одном источнике и «вероятность получения информации» – в другом). Подобные несоответствия удаляются автоматически.
•Отсутствие временной привязки. Оперативные базы предприятия содержат данные за небольшой интервал времени (неделя, месяц), что достигается за счет периодического архивированияданных.Информационноехранилищесодержитисторическиеданные,накопленные за большой интервал времени (года, десятилетия).
•Упорядоченность во времени; данные согласуются во времени (например, приводятся к единому курсу рубля на текущий момент) для использования в сравнениях, трендах и прогнозах.
•Неизменяемость. Данные не обновляются и не изменяются, а только перезагружаются и считываются из источников на сервер, поддерживая концепцию «одного правдивого источника». Данные доступны только для чтения, так как их модификация может привести к нарушению целостности данных хранилища. Таким образом, данные, погруженные в хранилище, организуясь в интегрированную целостную структуру, обладающую естественными внутренними связями, приобретают новые свойства, придающие им статус информации. Они являются основой для построения аналитических систем и систем поддержки принятия решений. Именно поэтому технологии информационных хранилищ ориентированы на руководителей, ответственных за принятие решений.
OLAP-технология
OLAP (On-Line Analytical Processing) –
1. это класс приложений и технологий, предназначенных для оперативной аналитической обработки многомерных данных (сбор, хранение, анализ) для анализа деятельности корпорации и прогнозирования будущего состояния с целью поддержки принятия управленческих решений.
21
2. набор технологий для оперативной обработки информации, включающих динамическое построение отчётов в различных разрезах, анализ данных, мониторинг и прогнозирование ключевых показателей бизнеса.
Технология OLAP применяется, чтобы упростить работу с многоцелевыми накопленными данными о деятельности корпорации в прошлом и не погрязнуть в их большом объеме, а также превратить набор количественных показателей в качественные, позволяет аналитикам, менеджерам и управляющим сформировать свое собственное видение данных, используя быстрый, единообразный, оперативный доступ к разнообразным формам представления информации. Такие формы, полученные на основании первичных данных, позволяют пользователю сформировать полноценное представление о деятельности предприятия.
OLAP-технология является альтернативой традиционным методам анализа данных, основанным на различных системах реализации SQL-запросов к реляционной БД.
В основе OLAP-технологий лежит представление информации в виде OLAP-кубов. OLAP-кубы содержат бизнес-показатели, используемые для анализа и принятия
управленческих решений, например: прибыль, рентабельность продукции, совокупные средства (активы), собственные средства, заемные средства и т.д.
Как и любая технология OLAP также имеет свои недостатки: высокие требования к аппаратному обеспечению, подготовке и знаниям административного персонала и конечных пользователей, высокиезатраты на реализациюпроекта внедрения (какденежные, так и временные, интеллектуальные).
Заключение: Эффект от правильной организации, стратегического и оперативного планирования развития бизнеса трудно заранее оценить в цифрах, но очевидно, что он в десятки и даже сотни раз может превзойти затраты на реализацию таких систем. Однако не следует и заблуждаться. Эффект обеспечивает не сама система, а люди с ней работающие.