
- •Введение в бд
- •Файловые системы
- •Системы с базами данных
- •Модели данных
- •Альтернативная терминология Терминология, используемая в реляционной модели, порой может привести к путанице, поскольку помимо предложенных двух наборов терминов существует еще один – третий.
- •Сетевая модель данных
- •Иерархическая модель данных
- •Вопросы:
- •Упражнения:
- •Реляционная модель.
- •Реляционная алгебра. Реляционное исчисление.
- •Реляционная модель
- •Реляционные языки
- •Реляционная алгебра
- •Унарные операции реляционной алгебры
- •Операции с множествами
- •Операции соединения
- •Деление
- •Реляционное исчисление
- •Реляционное исчисление кортежей
- •Реляционное исчисление доменов
- •Другие языки
- •Тема 3 Моделирование данных Модель «сущность-связь»
- •Элементы модели «сущность-связь»
- •Сущность
- •Атрибуты
- •Идентификаторы
- •Три типа бинарных связей
- •Диаграммы «сущность-связь»
- •Изображение атрибутов в диаграммах «сущность-связь»
- •Слабые сущности
- •Подтипы сущностей
- •Пример er-диаграммы
- •Диаграммы «сущность-связь» в стиле uml
- •Сущности и связи в uml
- •Представление слабых сущностей
- •Представление подтипов
- •Конструкции ооп, введенные языком uml
- •Семантическая объектная модель
- •Семантические объекты
- •Определение семантических объектов
- •Атрибуты
- •Кардинальное число атрибута
- •Экземпляры объектов
- •Парные атрибуты
- •Объектные идентификаторы
- •Домены атрибутов
- •Представления семантических объектов
- •Создание семантических объектных моделей данных
- •Пример: база данных администрации нтуу «кпи»
- •Спецификация объектов
- •Типы объектов
- •Простые объекты
- •Составные объекты
- •Гибридные объекты
- •Ассоциативные объекты
- •Объекты вида родитель/подтип
- •Объекты вида архетип/версия
- •Переход от семантической объектной модели к модели «сущность-связь»
- •Вопросы:
- •Упражнения:
- •Тема 4 Нормализация
- •Классы отношений
- •Нормальные формы от первой до пятой
- •Тема 5 Методология проектирования баз данных Введение в методологию проектирования баз данных
- •Методология концептуального проектирования базы данных
- •Методология логического проектирования реляционных баз данных
- •Суть состоит в том, что при устранении избыточности очень важно исследовать значение каждой из связей, существующих между сущностями.
- •Методология физического проектирования базы данных
- •Трехуровневая архитектура ansi-sparc
- •Система управления Базами Данных
- •1. Хранение, извлечение и обновление данных
- •2. Каталог доступный конечным пользователям
- •Поддержка транзакций
- •Сервисы управления параллельностью
- •Сервисы восстановления
- •6. Сервисы контроля доступа к данным
- •Поддержка обмена данными
- •8. Вспомогательные службы
- •Преимущества:
- •Недостатки:
- •Вопросы:
- •Упражнения:
- •История языка sql
- •Особая роль языка sql
- •Используемая терминология
- •Запись операторов sql
- •Манипулирование данными
- •Литералы
- •Простые запросы
- •Выборка строк (конструкция where)
- •Сортировка результатов (конструкция order by)
- •Использование агрегирующих функций языка sql
- •Группирование результатов (конструкция group by)
- •Ограничения на выполнение группирования (конструкция having)
- •Подзапросы
- •Ключевые слова any и all
- •Многотабличные запросы
- •Выполнение соединений
- •Внешние соединения
- •Ключевые слова exists и not exist
- •Комбинирование результирующих таблиц (операции union, intersect и except)
- •Изменение содержимого базы данных
- •Добавление новых данных в таблицу (оператор insert)
- •Модификация данных в базе (оператор update)
- •Удаление данных из базы (оператор delete)
- •Скалярные типы данных языка sql
- •Логические данные (тип boolean)
- •Символьные данные (тип character)
- •Битовые данные (тип bit)
- •Точные числовые данные (тип exact numeric)
- •Округленные числовые данные (тип approximate numeric)
- •Дата и время (тип datetime)
- •Интервальный тип данных interval
- •Скалярные операторы
- •Средства поддержки целостности данных
- •Обязательные данные
- •Ограничения для доменов
- •Целостность сущностей
- •Ссылочная целостность
- •Требования данного предприятия
- •Определение данных
- •Создание баз данных
- •Создание таблиц (оператор create table)
- •Модификация определения таблицы (оператор alter table)
- •Удаление таблиц (оператор drop table)
- •Создание индекса (оператор create index)
- •Удаление индекса (оператор drop index)
- •Представления
- •Создание представлений (оператор create view)
- •Удаление представлений (оператор drop view)
- •Замена представлений
- •Ограничения на использование представлений
- •Обновление данных в представлениях
- •Использование конструкции with check option
- •Преимущества и недостатки представлений
- •Преимущества
- •Недостатки
- •Материализация представлений
- •Использование транзакций
- •Немедленные и отложенные ограничения поддержки целостности данных
- •Управление доступом к данным
- •Идентификаторы пользователей и права владения
- •Привилегии
- •Предоставление привилегий другим пользователям (оператор grant)
- •Отмена предоставленных пользователям привилегий (оператор revoke)
- •Приложение
- •Тема 7.3 Хранимые процедуры и функции. Триггеры.
- •Создание хранимых процедур и функций
- •Простые формы выражений
- •Поддержка транзакций
- •Свойства транзакций
- •Архитектура базы данных
- •Управление параллельным доступом
- •Проблема потерянного обновления
- •Проблема зависимости от незафиксированных результатов (или "грязного" чтения)
- •Проблема анализа несогласованности
- •Упорядочиваемость и восстанавливаемость
- •Конфликтная упорядочиваемость
- •Упорядочиваемость по просмотру
- •Восстанавливаемость
- •Методы управления параллельным доступом
- •Методы блокировки
- •Двухфазная блокировка
- •Управление параллельным выполнением при использовании индексных структур
- •Защелки
- •Взаимоблокировка
- •Тайм-ауты
- •Предотвращение взаимоблокировок
- •Обнаружение взаимоблокировок
- •Частота выполнения операции обнаружения взаимоблокировок
- •Возобновление нормальной работы после обнаружения взаимоблокировки
- •Использование временных отметок
- •Правило записи Томаса
- •Сравнение методов
- •Упорядочение временных отметок в случае многих версий
- •Оптимистические методы упорядочения
- •Степень детализации блокируемых элементов данных
- •Иерархия степеней детализации
- •Блокировка с учетом нескольких степеней детализации
- •Восстановление базы данных
- •Необходимость восстановления
- •Транзакции и восстановление
- •Управление буферами базы данных
- •Функции восстановления
- •Механизм резервного копирования
- •Файл журнала
- •Создание контрольных точек
- •Методы восстановления
- •Метод восстановления с использованием отложенного обновления
- •Метод восстановления с использованием немедленного обновления
- •Метод теневого страничного обмена
- •Улучшенные модели транзакций
- •Модель вложенных транзакций
- •Эмуляция механизма вложенных транзакций с помощью точек сохранения
- •Хроники
- •Модель многоуровневых транзакций
- •Динамическая реструктуризация
- •Модели рабочих потоков
- •Общий обзор методов обработки запросов
- •Основные этапы обработки запросов
- •Динамическая и статическая оптимизация запросов
- •Декомпозиция запросов
- •Нормализация
- •Семантический анализ
- •Упрощение
- •Реструктуризация запросов
- •Эвристический подход к оптимизации запросов
- •Правила преобразования операций реляционной алгебры
- •Оценка стоимости операций реляционной алгебры
- •Статистические показатели базы данных
- •Вариант 6. Поиск по равенству значению кластеризующего (вторичного) индекса
- •Вариант 7. Поиск по равенству значению некластеризующего (вторичного) индекса
- •Составные предикаты
- •Конъюнктивная выборка без дизъюнкций
- •Выборки с дизъюнкциями
- •Конвейерная обработка данных
- •Тема 10
- •Основные типы угроз
- •Контрмеры – компьютерные средства контроля
- •Авторизация пользователей
- •Привилегии
- •Права владения и привилегии
- •Представления (подсхемы)
- •Резервное копирование и восстановление
- •Поддержка целостности
- •Шифрование
- •Raid (массив независимых дисковых накопителей с избыточностью)
- •Средства защиты субд Microsoft Access
- •Установка пароля
- •Защита на уровне пользователя
Преимущества:
Контроль за избыточностью данных.
Непротиворечивость данных.
Больше полезной информации при том же объеме хранимых данных.
Совместное использование данных.
Поддержка целостности данных.
Повышенная безопасность.
Применение стандартов.
Повышение эффективности с ростом масштабов системы.
Возможность нахождения компромисса при противоречивых требованиях.
Повышение доступности данных и их готовности к работе.
Улучшение показателей производительности.
Упрощение сопровождения системы за счет независимости от данных.
Улучшенное управление параллельностью.
Развитые службы резервного копирования и восстановления.
Недостатки:
Сложность.
Размер.
Стоимость СУБД.
Дополнительные затраты на аппаратное обеспечение.
Затраты на преобразование.
Производительность.
Более серьезные последствия при выходе системы из строя.
Система управления передачей данных
В этом разделе вкратце рассматривается передача данных. Запрос конечного пользователя к базе данных в действительности передается от рабочей станции пользователя (которая может быть физически удалена от самой системы баз данных) к некоторому интерактивному приложению (встроенному или нет), а от него – к СУБД в форме коммуникационных сообщений. Более того, ответы пользователю также передаются в форме подобных сообщений (от СУБД или оперативного приложения к станции пользователя). Передача таких сообщений происходит под управлением еще одного программного компонента – диспетчера передачи данных.
Диспетчер передачи данных не является частью СУБД; он представляет собой автономную систему со своими правами. Однако, поскольку очевидно, что от диспетчера передачи данных и СУБД требуется согласованная совместная работа, они иногда рассматриваются как равноправные компоненты программного продукта более высокого уровня, называемого системой базы данных и передачи данных (DataBase/Data-Communication – DB/DC). В такой системе СУБД отвечает за работу с базой данных, а диспетчер передачи данных обработывает все сообщения, поступающие в СУБД и из нее (точнее, поступающие в то приложение, в котором используется СУБД, и из него).
Архитектура многопользовательских СУБД
В настоящее время существуют такие основные типовые архитектурные решения, используемыми при реализации многопользовательских СУБД, а именно:
со схемами обычной телеобработки,
файловым сервером,
технологией "клиент/сервер".
Телеобработка
Традиционной архитектурой многопользовательских систем раньше считалась схема, получившая название "телеобработки", при которой один компьютер с единственным процессором был соединен с несколькими терминалами так, как показано на рис. 6.10. При этом вся обработка выполнялась в рамках единственного компьютера, а присоединенные к нему пользовательские терминалы были типичными "неинтеллектуальными" устройствами, не способными функционировать самостоятельно.
С центральным процессором терминалы были связаны с помощью кабелей, по которым они посылали сообщения пользовательским приложениям (через подсистему управления обменом данными операционной системы). В свою очередь, пользовательские приложения обращались к необходимым службам СУБД. Таким же образом сообщения возвращались назад на пользовательский терминал.
При такой архитектуре основная и чрезвычайно большая нагрузка возлагалась на центральный компьютер, который должен был выполнять не только действия прикладных программ и СУБД, но и значительную работу по обслуживанию терминалов (например, форматирование данных, выводимых на экраны терминалов).
Рис
5.10.
Топология архитектуры телеобработки.
В последние годы был достигнут существенный прогресс в разработке высокопроизводительных персональных компьютеров и составленных из них сетей. При этом во всей индустрии наблюдается заметная тенденция к децентрализации (downsizing), т.е. замене дорогих мейнфреймов более эффективными, с точки зрения эксплуатационных затрат, сетями персональных компьютеров, позволяющими получить такие же результаты, если не лучше. Эта тенденция привела к появлению следующих двух типов архитектуры СУБД: технологии файлового сервера и технологии "клиент/сервер".
Файловый сервер
В среде файлового сервера обработка данных распределена в сети, обычно представляющей собой локальную вычислительную сеть (ЛВС). Файловый сервер содержит файлы, необходимые для работы прикладных программ и самой СУБД.
Пользовательские приложения и сама СУБД размещены и функционируют на отдельных рабочих станциях, и обращаются к файловому серверу только по мере необходимости получения доступа к нужным им файлами – как показано на рис. 6.11.
Файловый сервер функционирует просто как совместно используемый жесткий диск. СУБД на каждой рабочей станции посылает запросы файловому серверу по всем необходимым ей данным, которые хранятся на диске файл-сервера. Такой подход характеризуется значительным сетевым трафиком, что может привести к снижению производительности всей системы в целом, так как файловый сервер не понимает команд на языке SQL, поэтому СУБД запрашивает у файлового сервера файлы, соответствующие необходимым отношениям.
Рис
6.11.
Архитектура с использованиемфайлового
реестра.
Архитектура с использованием файлового сервера обладает следующими основными недостатками:
большой объем сетевого трафика,
на каждой рабочей станции должна находиться полная копия СУБД,
управление параллельностью, восстановлением и целостностью усложняется, поскольку доступ к одним и тем же файлам могут осуществлять сразу несколько экземпляров СУБД.
Технология „клиент/сервер"
Технология "клиент/сервер" была разработана с целью устранения недостатков, имеющихся в первых двух подходах.
"Клиент/сервер" означает такой способ взаимодействия программных компонентов, при котором они образуют единую систему.
Существует некий клиентский процесс, требующий определенных ресурсов, а также серверный процесс, который эти ресурсы предоставляет.
При этом совсем необязательно, чтобы они находились на одном и том же компьютере. На практике принято размещать сервер на одном узле локальной сети, а клиенты – на других узлах. На рис. 6.12 показана архитектура типа "клиент/сервер", а на рис. 6.13 – некоторые возможные варианты топологии "клиент/сервер".
В контексте базы данных клиент управляет пользовательским интерфейсом и логикой приложения, действуя как сложная рабочая станция, на которой выполняются приложения баз данных.
Клиент принимает от пользователя запрос, проверяет синтаксис и генерирует запрос к базе данных на языке SQL или другом языке базы данных, который соответствует логике приложения. Затем он передает сообщение серверу, ожидает поступления ответа и форматирует полученные данные для представления их пользователю.
Сервер принимает и обрабатывает запросы к базе данных, а затем передает полученные результаты обратно клиенту. Такая обработка включает проверку полномочий клиента, обеспечение требований целостности, поддержку системного каталога, а также выполнение запроса и обновление данных, при этом поддерживается управление параллельностью и восстановлением.
Выполняемые клиентом и сервером операции приведены в табл. 6.2.
Рис
5.12. Общая схема построения систем с
архитектурой “клиент/сервер”.
Рис
5.13. Альтернативные топологии систем с
архитектурой “клиент/сервер”:
а) один
клиент – один сервер; б) несколько
клиентов – один сервер;
в) несколько клиентов – несколько
серверов.
Таблица 6.2. Функции, выполняемые учасниками взаимодецствия в среде “клиент/сервер”
Клиент |
Сервер |
Управляет пользовательским интерфейсом |
Принимает и обрабатывает запросы к базе данных со стороны клиентов |
Принимает и проверяет синтаксис введенного пользователем запроса |
Проверяет полномочия пользователей |
Выполняет приложение |
Гарантирует соблюдение ограничений целосности |
Генерирует запрос к базе данных и передает его серверу |
Выполняет запросы/обновления и возвращает результаты клиенту |
Отображает полученные данные пользователю |
Поддерживает системный каталог Обеспечивает параллельный доступ к БД Обеспечивает управление восстановлением |
Этот тип архитектуры обладает приведенными ниже преимуществами:
Обеспечивается более широкий доступ к существующим базам данных.
Повышается общая производительность системы, поскольку клиенты и сервер находятся на разных компьютерах, их процессоры способны выполнять приложения параллельно. При этом настройка производительности компьютера с сервером упрощается, если на нем выполняется только работа с базой данных.
Стоимость аппаратного обеспечения снижается, достаточно мощный компьютер с большим устройством хранения нужен только серверу – для хранения и управления базой данных.
Сокращаются коммуникационные расходы, поскольку приложения выполняют часть операций на клиентских компьютерах и посылают через сеть только запросы к базе данных, что позволяет существенно сократить объем пересылаемых по сети данных.
Повышается уровень непротиворечивости даннях, поскольку сервер может самостоятельно управлять проверкой целостности данных, при этом все ограничения определяются и проверяются только в одном месте и каждому приложению не придется выполнять собственную проверку.
Архитектура весьма естественно отображается на архитектуру открытых систем.
Некоторые разработчики баз данных использовали эту архитектуру для организации средств работы с распределенными базами данных, т.е. с набором нескольких баз данных, логически связанных и распределенных в компьютерной сети. Однако, несмотря на то, что архитектура "клиент/сервер" вполне может быть использована для организации распределенной – СУБД, сама по себе она не образует распределенную СУБД.
В общем случае каждый сервер может обслуживать много клиентов, а каждый клиент может работать со многими серверами. Если система обеспечивает полную прозрачность доступа (т.е. клиент работает так, как будто он имеет дело с одним сервером на единственном компьютере, не учитывая реального физического рсположения данных), то налицо настоящая распределенная система баз данных.
Дальнейшее расширение двухуровневой архитектуры "клиент/сервер" привело к созданию трехуровневой архитектуры "клиент/сервер", при котором функциональная часть прежнего, толстого (интеллектуального) клиента разделяется на две части.
В трехуровневой архитектуре "клиент/сервер" тонкий (неинтеллектуальный) клиент на рабочей станции управляет только пользовательским интерфейсом, тогда как средний уровень обработки данных управляет всей остальной логикой приложения.
Третьим уровнем здесь является сервер базы данных. Эта трехуровневая архитектура оказалась более подходящей для некоторых сред – например, для сетей Internet и Intranet, где в качестве клиента может использоваться обычный Web-броузер.
Системные каталоги
СУБД должна иметь доступный конечному пользователю системный каталог или словарь данных.
Системный каталог – это хранилище данных, которые описывают сохраняемую в базе данных информацию, т.е. метаданные, или "данные о данных".
Системный каталог СУБД является одним из фундаментальных компонентов системы. Многие перечисленные ранее программные компоненты строятся на использовании данных, хранящихся в системном каталоге.
Например, модуль контроля прав доступа использует системный каталог для проверки наличия у пользователя полномочий, необходимых для выполнения запрошенных им операций.
Системный каталог для контроля прав доступа включает следующие обязательные компоненты:
имена пользователей, для которых разрешен доступ к базе данных;
имена элементов данных в базе данных;
элементы данных, к которым каждый пользователь имеет право доступа, и разрешенные типы доступа к ним – для вставки, обновления, удаления или чтения.
Другим примером могут служить средства проверки целостности данных, которые используют системный каталог для проверки того, удовлетворяет ли запрошенная операция всем установленным ограничениям поддержки целостности данных. Для выполнения этой проверки в системном каталоге должны храниться такие сведения:
имена элементов данных из базы данных;
типы и размеры элементов данных;
ограничения, установленные для каждого из элементов данных.
Как уже упоминалось ранее, термин "словарь данных" часто используется для программного обеспечения более общего типа, чем просто каталог СУБД.
Система словаря данных может быть либо пассивной, либо активной. Активная система всегда согласуется со структурой базы данных, поскольку она автоматически поддерживается этой системой.
Пассивная система может противоречить состоянию базы данных из-за инициируемых пользователями изменений.
Если словарь данных является частью базы данных, то он называется интегрированным словарем данных.
Изолированный словарь данных обладает своей собственной специализированной СУБД. Его предпочтительно использовать на начальных этапах проектирования базы данных для некоторой организации, когда требуется отложить на какое-то время привязку к конкретной СУБД. Однако недостаток этого подхода заключается в том, что после выбора СУБД и воплощения базы данных изолированный словарь данных значительно труднее поддерживать в согласии с состоянием базы данных.
Проблему согласия словаря данных и базы данных можно свести к минимуму, если преобразовать использовавшийся при проектировании словарь данных непосредственно в каталог СУБД.
До недавнего времени никакого выбора не было вообще, но по мере развития стандартов словарей данных эта идея становится все более реальной (возможно использовать CASE-средства, например Erwin).
Служба IRDS, как стандарт словарей данных
Во многих системах словарь данных является внутренним компонентом СУБД, в котором хранится только информация, непосредственно связанная с этой базой данных. Однако хранимые с помощью СУБД данные обычно обеспечивают только часть всех информационных потребностей.
Как правило, имеется некоторая дополнительная информация, которая хранится с помощью других инструментов – например, таких как САSЕ - инструменты, инструменты ведения документации, инструменты настройки и управления проектами. Каждое из упомянутых выше средств обычно имеет свой внутренний словарь данных, доступный и другим внешним инструментам.
Не существует никакого универсального способа совместного использования разных наборов информации различными группами пользователей или приложений.
Недавно была предпринята попытка стандартизовать интерфейс словарей данных для достижения большей доступности и упрощения их совместного использования. Результатом стала разработка службы словаря информационных ресурсов (Information Resources Dictionary System - IRDS).
Служба IRDS представляет собой программный инструмент, предназначенный для управления информационными ресурсами организации, а также для их документирования.
Она включает:
определение таблиц, содержащих словарь данных,
и операций, которые могут быть использованы для доступа к этим таблицам.
Упомянутые операции обеспечивают непротиворечивый метод доступа к словарю данных и способ преобразования определений данных из словаря одного типа в определения другого типа.
Например, с помощью службы IRDS информация, хранимая в IRDS - совместимом словаре данных СУБД DВ2, может быть передана в IRDS -совместимый словарь данных СУБД Оrасlе или направлена некоторому приложению системы DВ2.
Одним из достоинств службы IRDS является способность расширения словаря данных.
Так, если пользователь захочет сохранить определения нового типа информации в каком-то инструменте (например, определения отчетов об управлении проектом – в некой СУБД), то система IRDS в данной СУБД может быть расширена для включения этой информации.
Определения IRDS были приняты в качестве стандарта Международной организацией стандартизации ISO (International Organization for Standardization ) (ISO, 1990; 1993).
Стандарты IRDS определяют набор правил хранения информации в словаре данных и доступа к ней, преследуя при этом три следующие цели:
расширяемость данных;
целостность данных;
контролируемый доступ к данным.
Служба IRDS построена на использовании интерфейса сервисов, состоящего из набора функций, доступного для вызова с целью получения доступа к словарю данных.
Интерфейс сервисов может вызываться со стороны таких типов пользовательских интерфейсов, как:
панельный интерфейс;
командный язык;
файлы экспорта/импорта;
прикладные программы.
Панельный интерфейс состоит из набора панелей или экранов, каждый из которых предоставляет доступ к заранее описанному набору сервисов, напоминает язык QBE и позволяет пользователям просматривать и изменять словарь данных.
Интерфейс командного языка состоит из набора команд или операторов, которые позволяют выполнять манипуляции со словарем данных. Интерфейс командного языка может вызываться интерактивно (с помощью терминала) или посредством внедрения операторов в программы на языках программирования высокого уровня.
Интерфейс экспорта/импорта генерирует файл, который можно передавать между различными IRDS -совместимыми системами.
Стандарт IRDS определяет универсальный формат обмена информацией, не требует, чтобы база данных, лежащая в основе словаря данных, соответствовала какой-то одной модели данных. Именно поэтому интерфейс IRDS -сервисов способен объединять гетерогенные СУБД, как показано на рис. 6.14.
Рис
6.14.
Интерфейс IRDS – сервисов.
Утилиты
Утилиты – это программы, разработанные для администратора баз данных и используемые им при решении различных административных задач.
Некоторые утилиты выполняются на внешнем уровне системы и потому представляют собой не что иное, как приложение специального назначения. Одни из них могут быть созданы даже не поставщиком данной СУБД, а какими-то сторонними разработчиками. Однако другие утилиты выполняются на внутреннем уровне и поэтому должны предоставляться поставщиками СУБД
Ниже приводится несколько примеров утилит различных типов, которые частоприменяются на практике.
Инструменты загрузки, применяемые для создания исходной версии базы данных из одного или несколдких файлов операционной системы.
Инструменты выгрузки-перезагрузки, применяемые для выгрузки базы данных или ее части, создания резервных копий хранимых данных и восстановления базы данных из этих копий. (Безусловно, инструменты перезагрузки, по сути, идентичны упомянутым выше инструментам загрузки.)
Инструменты реорганизации, применяемые для перераспределения данных в хранимой базе данных (обычно в целях повышения производительности). В частности, это может быть процедура группирования данных на диске некоторым специальным образом или освобождения пространства, прежде занятого данными, которые больше не используются.
Статистические инструменты, применяемые для вычисления различных статистических показателей и показателей производительности, таких как сведения о размерах файлов или значениях данных, о количестве операций ввода-вывода и т.п.
Инструменты анализа, применяемые для анализа упомянутой выше статистической информации.
Этот список охватывает лишь небольшую часть функциональных возможностей, обычно предоставляемых доступными утилитами. Помимо перечисленных, существует множество других функций.