Общая характеристика проблемы выбора СУБД
Классификация СУБД
Классификация баз данных
Классификация банков данных
Банки данных являются сложными системами. и их классификация может быть произведена как для всего банка данных в целом, так и для каждого его компонента отдельно; классификация для каждого компонента может быть проведена по множеству разных признаков.
Центральным компонентом банка данных является БД и большинство классификационных признаков относится именно к ней. По форме представления информации различают визуальные и аудиосистемы, а также системы мультимедиа. Эта классификация показывает, в каком виде информация хранится в БД и выдается пользователям. «Изображение» используется в широком смысле: текст, графика, фото, карты, анимационные изображения. Классификация способов представления информации – это самостоятельная проблема.
По характеру организации данных БД могут быть разделены на неструктурированные, частично структурированные и структурированные. Этот классификационный признак относится к информации, представленной в символьном виде. К неструктурированным БД могут быть отнесены БД, организованные в виде семантических сетей. Частично структурированными можно считать БД в виде обычного текста или гипертекстовые системы. Структурированные БД требуют предварительного проектирования и описания структуры БД. Только тогда БД такого типа могут быть заполнены данными.
Структурированные БД по типу использованной модели делятся на иерархические, сетевые, реляционные, смешанные и мультимодельные. Классификация по типу модели распространяется не только на БД, но и на СУБД.
В структурированных БД различают несколько уровней информационных единиц, входящих одна в другую. Число уровней может быть различным даже для систем, относящихся к одному и тому же классу. Большинство структурированных систем поддерживают уровень поля, записи и файла. Эти информационные единицы могут называться в разных системах по-разному, но суть остается одной и той же: полю соответствует наименьшая семантическая единица информации; совокупность полей или иных более сложных ИЕ, если они допустимы в конкретной СУБД, образует запись, а множество однотипных записей представляет файл базы данных. В последнее время большинство СУБД поддерживают в явном виде и уровень БД как совокупности взаимосвязанных файлов БД.
В иерархических и сетевых моделях между информационными единицами (записями разных файлов) могут задаваться связи. Графическое представление иерархической модели представляет граф типа «дерево». Сетевая модель – граф типа «сеть». Входом в такую структуру может являться любая вершина.. Каждая вершина может иметь несколько порожденных и/или несколько исходных вершин. Между парой вершин может быть объявлено несколько связей. Подавляющее большинство СУБД поддерживает простые сетевые структуры, т.е. между каждой парой типов записей поддерживается отношение 1 :М. Направление и характер связи в сетевых моделях не являются очевидными. Как в случае иерархической модели, поэтому при изображении структуры БД направление связи должно быть указано. В сетевой модели с однотипными файлами каждый файл может служить входом в структуру. Пара связанных файлов называется набором. В наборе тот файл, от которого идет связь называется владельцем набора, а файл, к которому направлена эта связь – членом набора. Тип файла жестко не зафиксирован.
Кроме сетевых моделей с однотипными файлами существуют модели и с разнотипными файлами. В них различают основные (главные) и зависимые файлы. Вход в структуру возможен только через главные файлы. Связываться могут только записи разных типов.
Связи в иерархических и сетевых моделях описываются при проектировании БД. Чаще всего эти связи при хранении данных в БД передаются посредством адресных указателей. Иерархические и сетевые модели БД не накладывают ограничений на тип внутризаписной структуры. в принципе она может быть любой: как простой линейной (состоять из простых полей, следующих в записи друг за другом), так и сложной иерархической. включающей различные составные единицы информации (векторы, повторяющиеся группы и т.д.). Конкретные СУБД накладывают ограничения на допустимые в них информационные единицы, характер связей между ними, порядок их расположения в записи, а также часто имеют количественные ограничения.
Рис.3.1.Схема сетевой модели с однотипными файлами
Рис.3.2. Схема сетевой модели с разнотипными файлами. (Г- главный файл, З- зависимый файл)
В реляционных моделях связи между записями разных таблиц БД определяются динамически в момент выполнения запроса. Эти связи устанавливаются по равенству значений соответствующих полей (полей связи), содержащихся в каждом из связанных файлов/таблиц. Другой отличительной чертой реляционных моделей является ограничение на внутризаписную структуру и могут содержать только простые поля. Эти особенности играют решающую роль при проектировании структуры БД.
Третьей отличительной особенностью реляционных моделей является использование теоретико-множественных языковых средств: реляционной алгебры или реляционного исчисления.
По типу хранимой информации БД делятся на документальные, фактографические и лексикографические.
Среди документальных БД различают библиографические, реферативные и полнотекстовые.
К лексикографическим БД относятся различные словари (классификаторы, многоязычные словари, словари основ слов и т.п.)
В системах фактографического типа в БД хранится информация об интересующих пользователя объектах предметной области в виде фактов; в ответ на запрос пользователя выдается требуемая информация об интересующем его объекте или сообщение о том, что информация отсутствует.
В документальных БД единицей хранения является какой либо документ и пользователю в ответ на запрос выдается либо сам документ либо ссылка на него. БД документального типа могут быть организованы по разному: без хранения и с хранением самого исходного документа на машинных носителях. К системам первого типа можно отнести реферативные и библиографические, а также БД – указатели.
Специфической разновидностью БД являются БД форм документов. Они обладают некоторыми чертами документальных систем и специфическими особенностями (документ ищется не с целью извлечь информацию, а с целью использовать его в виде шаблона).
В последние годы активно развивается объектно-ориентированный подход к созданию ИС. Объектные БД организованы как объекты и ссылки к объектам. Объект представляет собой данные и правила, по которым осуществляется операция с этими данными. Объект включает метод, который является частью определения объекта и запоминается вместе с объектом. В объектных БД данные запоминаются как объекты, классифицированные по типам классов и организованные в иерархическое семейство классов. Класс – коллекция объектов с одинаковыми свойствами. Объекты принадлежат классу. Классы организованы в иерархии.
По характеру организации данных и обращения к ним различают локальные (персональные), общие (интегрированные, централизованные) и распределенные БД.
Технологии, хотя и кажутся далекими, на самом деле различаются тем, как поддерживается связь между отдельными частями БД. В локальных системах поддержание связи не является централизованным, а в распределенных связь должна поддерживаться СУБД. Совмещать идеи локальной работы и централизованного поддержания единой БД позволяет технология тиражирования, при которой средства СУБД обеспечивают тиражирование отдельных частей общей БД, локальное их использование, а затем согласование отдельных фрагментов БД в рамках единой БД.
Концепции централизованной и распределенной обработки данных не сильно различаются между собой.
Классификационные признаки:
1. По языкам общения СУБД делятся на открытые, замкнутые и смешанные. Открытые системы – это системы, в которых для обращения к БД используются универсальные языки программирования. Замкнутые системы имеют собственные языки общения с пользователями БнД
2. По числу уровней в архитектуре различают одноуровневые. двухуровневые и трехуровневые системы. Возможно и большее количество уровней. Под архитектурным уровнем СУБД понимают функциональный компонент, механизмы которого служат для поддержки некоторого уровня абстракции данных (логический и физический вровень, а также «взгляд» пользователя – внешний уровень). В литературе используются понятия «внешняя», «концептуальная» и «внутренняя» модель/уровень, «логический» и «физический» уровень, а также «внешняя схема», «подсхема» и т.п.. Понятие «схема» относится обычно к описанию соответствующего уровня описания данных.
3. По выполняемым функциям СУБД делятся на информационные и операционные. Информационные СУБД позволяют организовать хранение информации и доступ к ней. Для выполнения более сложной обработки необходимо писать специальные программы. Операционные СУБД выполняют достаточно сложную обработку (автоматически получать агрегированные показатели, не хранящиеся непосредственно в БД.
4. По сфере возможного применения различают универсальные и специализированные, обычно проблемно-ориентированные СУБД.
СУБД поддерживают разные типы данных. Набор данных в разных СУБД отличается. Некоторые СУБД позволяют разработчику добавлять новые типы данных и новые операции над этими данными. Такие системы называются расширяемыми БД (РСБД). Дальнейшим развитием концепции РСБД являются системы объектно-ориентированных БД.
5. По мощности СУБД делятся на настольные и корпоративные. Для настольных характерны невысокие требования к техническим средствам, ориентация на конечного пользователя, низкая стоимость. Корпоративные – обеспечивают работу в распределенной среде, высокую производительность, поддержку коллективной работы при проектировании систем, имеют развитые средства администрирования и более широкие возможности поддержания целостности. Оба типа систем интенсивно развиваются.
6. По ориентации на преобладающую категорию пользователей можно выделить СУБД для разработчиков и для конечных пользователей. Системы первого класса должны иметь качественные компиляторы и позволять отчуждать создаваемые продукты, обладать развитыми средствами отладки и др. Основными требованиями, предъявляемыми к системам для конечного пользователя является удобство интерфейса, высокий уровень языковых средств, наличие интеллектуальных модулей подсказок, повышенная защита от непреднамеренных ошибок и т.п.
7. Разделение СУБД по поколениям.
Сложная проблема, формализовать практически невозможно. Факторы, влияющие на выбор можно разделить на группы:
Факторы, характеризующие саму СУБД и средства ее окружения.
Факторы, связанные с инфраструктурой, сложившейся вокруг каждого из программных продуктов
Факторы, связанные с особенностями предполагаемого использования.
СУБД являются сложными языково-программными продуктами. Для обоснованного выбора СУБД необходимо иметь список СУБД - претендентов с описанием их параметров. Характеристики рассматриваются с разной степенью детализации, в зависимости от стоящих задач. Необходимо определить набор свойств, которыми обязательно обладать выбираемая СУБД. Сначала осуществляется предварительный отбор СУБД по качественным параметрам, а уж потом по количественным. При определении временных характеристик СУБД речь обычно идет о тестах на быстродействие. Формальное тестирование заключается в том, что на некотором заданном наборе данных выполняются некоторые операции или наборы операций. Такое тестирование проводят разработчики либо специальные лаборатории. Функциональное тестирование состоит в том. Что исследуются характеристики СУБД при решении определенной прикладной задачи, для реализации которой и выполняется выбор СУБД. Требуется реализовать заданные функции.