1.
Базы данных и базы знаний.
Классификация и примеры основных СУБД.
База Данных (БД) — информационная модель, позволяющая в упорядоченном виде хранить данные
о группе объектов с одинаковым набором свойств или поименованную совокупность
структурированных данных. (Поименованная совокупность структурированных данных
предметной области).
Структура БД
Организация структуры БД формируется исходя из следующих
соображений:
-
Адекватность
описываемому объекту/системе — на уровне концептуальной и логической модели.
-
Удобство
использования для ведения учёта и анализа данных — на уровне так называемой
физической модели.
Виды концептуальных
(инфологических) моделей БД: «сущность-связь», семантические, графовые
Виды логических
(даталогических) моделей БД:
Документальные (архивы) — ориентированные на формат
документа, дескрипторные, тезаурусные.
Фактографические (картотеки)
-
теоретико-графовые: иерархическая модель, сетевая модель.
-
теоретико-множественные: реляционная модель (ER-модель), многомерная модель.
-
объектно-ориентированные: объектная модель.
-
основанные на инвертированных файлах.
Классификация БД
По модели представления данных БД классифицируются:
-
Картотеки
-
Иерархические
-
Сетевые
-
Реляционные
-
Многомерные
-
Объектно-ориентированные
На уровне физической модели электронная БД представляет собой
файл или их набор в формате TXT, CSV, Excel, DBF, XML либо в специализированном формате конкретной СУБД.
Также в СУБД в понятие физической модели включают специализированные
виртуальные понятия, существующие в её рамках — таблица, табличное
пространство, сегмент, куб, кластер и т. д.
В настоящее время наибольшее распространение получили
реляционные базы данных. Картотеками пользовались до появления электронных баз
данных. Сетевые и иерархические базы данных считаются
устаревшими, объектно-ориентированные пока никак не стандартизированы и не
получили широкого распространения. Некоторое возрождение получили иерархические
базы данных в связи с появлением и распространением XML.
Этапы проектирования
базы данных:
1. Концептуальное
проектирование — сбор, анализ и редактирование требований к данным. Для
этого осуществляются следующие мероприятия:
-
обследование
предметной области, изучение ее информационной
структуры
-
выявление
всех фрагментов, каждый из которых характеризуется пользовательским представлением,
информационными объектами и связями между ними, процессами
над информационными объектами
-
моделирование
и интеграция всех представлений
По окончании данного этапа получаем концептуальную модель,
инвариантную к структуре базы данных. Часто она представляется в виде модели
«сущность-связь».
2. Логическое
проектирование — преобразование требований к данным в структуры данных. На
выходе получаем СУБД-ориентированную структуру базы
данных и спецификации прикладных программ. На этом этапе часто моделируют базы
данных применительно к различным СУБД и проводят сравнительный анализ моделей.
3. Физическое
проектирование — определение особенностей хранения данных, методов доступа
и т. д.
Различие уровней представления данных на каждом этапе
проектирования реляционной базы данных:
КОНЦЕПТУАЛЬНЫЙ УРОВЕНЬ — Представление аналитика
(используется инфологическая модель «сущность-связь»)
* сущности
* атрибуты
* связи
ЛОГИЧЕСКИЙ УРОВЕНЬ — Представление программиста
* записи
* элементы данных
* связи между
записями
ФИЗИЧЕСКИЙ УРОВЕНЬ — Представление администратора
* группирование
данных
* индексы
* методы доступа
Существуют 4 основные модели данных – списки (плоские таблицы), реляционные
базы данных, иерархические и сетевые структуры.
В течение многих лет преимущественно
использовались плоские таблицы (плоские БД) типа списков в Excel. В настоящее время наибольшее
распространение при разработке БД получили реляционные модели данных.
Реляционная модель данных является совокупностью простейших двумерных таблиц –
отношений (англ. relation), т.е. простейшая двумерная таблица определяется как
отношение (множество однотипных записей объединенных одной темой).
Систе́ма управле́ния
ба́зами да́нных (СУБД) — специализированная программа (чаще комплекс программ),
предназначенная для организации и ведения базы данных. Для создания и
управления информационной системой СУБД необходима в той же степени, как для
разработки программы на алгоритмическом языке необходим транслятор.
Основные функции СУБД:
-
управление
данными во внешней памяти (на дисках);
-
управление
данными в оперативной памяти с использованием дискового кэша;
-
журнализация
изменений, резервное копирование и восстановление базы данных после сбоев;
-
поддержка
языков БД (язык определения данных, язык манипулирования данными).
Обычно современная
СУБД содержит следующие компоненты:
-
ядро,
которое отвечает за управление данными во внешней и оперативной памяти и
журнализацию,
-
процессор
языка базы данных, обеспечивающий оптимизацию запросов на извлечение и изменение
данных и создание, как правило, машинно-независимого
исполняемого внутреннего кода,
-
подсистему
поддержки времени исполнения, которая интерпретирует программы манипуляции
данными, создающие пользовательский интерфейс с СУБД
-
сервисные
программы (внешние утилиты), обеспечивающие ряд дополнительных возможностей по
обслуживанию информационной системы.
Классификация СУБД
По типу управляемой
базы данных СУБД разделяются на:
-
Иерархические
-
Сетевые
-
Реляционные
-
Объектно-реляционные
-
Объектно-ориентированные
По архитектуре организации хранения данных
-
локальные
СУБД (все части локальной СУБД размещаются на одном компьютере)
-
распределенные
СУБД (части СУБД могут размещаться на двух и более компьютерах)
По способу доступа к БД
-
Файл-серверные
В файл-серверных
СУБД файлы данных располагаются централизованно на файл-сервере. Ядро СУБД
располагается на каждом клиентском компьютере. Доступ к данным осуществляется
через локальную сеть. Синхронизация чтений и обновлений осуществляется
посредством файловых блокировок. Преимуществом этой архитектуры является низкая
нагрузка на ЦП сервера, а недостатком — высокая загрузка локальной сети.
На данный момент файл-серверные СУБД считаются
устаревшими.
Примеры:
Microsoft Access, Borland Paradox.
-
Клиент-серверные
Такие СУБД состоят из клиентской
части (которая входит в состав прикладной программы) и сервера (см.
Клиент-сервер). Клиент-серверные СУБД, в отличие от
файл-серверных, обеспечивают разграничение доступа между пользователями и мало
загружают сеть и клиентские машины. Сервер является внешней по отношению к
клиенту программой, и по надобности его можно заменить другим. Недостаток клиент-серверных СУБД в самом факте существования сервера
(что плохо для локальных программ — в них удобнее встраиваемые СУБД) и больших
вычислительных ресурсах, потребляемых сервером.
Примеры:
Firebird, Interbase, IBM DB2, MS SQL Server, Sybase, Oracle, PostgreSQL, MySQL,
ЛИНТЕР.
-
Встраиваемые
Встраиваемая СУБД — библиотека, которая позволяет унифицированным образом хранить большие
объёмы данных на локальной машине. Доступ к данным может происходить через SQL либо через особые функции СУБД.
Встраиваемые СУБД быстрее обычных клиент-серверных и не требуют установки
сервера, поэтому востребованы в локальном ПО, которое
имеет дело с большими объёмами данных (например, геоинформационные системы).
Примеры: OpenEdge, SQLite, BerkeleyDB, один из вариантов Firebird, один из вариантов MySQL, Sav Zigzag, Microsoft SQL Server Compact, ЛИНТЕР.
База знаний, БЗ (англ. Knowledge base, KB) — это
особого рода база данных, разработанная для управления знаниями (метаданными),
то есть сбором, хранением, поиском и выдачей знаний. Раздел искусственного
интеллекта, изучающий базы знаний и методы работы со знаниями, называется
инженерией знаний.
Под базами знаний понимает
совокупность фактов и правил вывода, допускающих логический вывод и осмысленную
обработку информации. В языке Пролог базы знаний описываются в форме конкретных
фактов и правил логического вывода над базами данных и процедурами обработки
информации, представляющих сведения и знания о людях, предметах, фактах
событиях и процессах в логической форме.
Наиболее важным свойством информации,
хранящейся в базах знаний, является достоверность конкретных и обобщенных
сведений в базе данных и релевантности информации, получаемой с использованием
правил вывода, заложенных в базу знаний. В ответах на простейшие запросы к
базам знаний системы логического программирования Пролог, выдает значения
«истина» и «ложь» в зависимости от наличия соответствующих фактов.
Обобщенные сведения
В языке Пролог задаются с помощью правил логического вывода, выполняющих
роль определения понятий, а также логических процедур, состоящих из наборов
правил логического вывода. Достоверность обобщенных сведений зависит от наличия
необходимых фактов и достоверности данных в базах знаний.
Наиболее важный параметр БЗ —
качество содержащихся знаний. Лучшие БЗ включают самую релевантную, достоверную
и свежую информацию, имеют совершенные системы поиска информации и тщательно
продуманную структуру и формат знаний.