Фактографические информационные системы, базы данных
Основные признаки – простая структура данных и сложная система взаимосвязей между элементами данных.
В фактографических системах модель предметной области заключена в структуре базы данных (БД), и потому основное внимание сосредоточивается на проблеме проектирования БД.
В исторической последовательности развития данных систем сначала появились информационные системы, базирующиеся на иерархических, затем на сетевых и, наконец, на реляционных представлениях о структуре предметной области.
В настоящее время наиболее распространенным подходом является реляционный (табличные БД), что не исключает, конечно, включения элементов иерархических и сетевых представлений при проектировании ИС.
Таким образом, фактографические ИС – это ИС основанные на технологии баз данных.
База данных (БД) – совокупность взаимосвязанных данных, собранная в одном или нескольких файлах и организованная соответствующим образом, характеризующаяся возможностью использования для большого количества приложений, возможностью быстрого получения и модификации необходимой информации, минимальной избыточностью информации и независимостью от прикладных программ.
Основное свойство баз данных — независимость данных и использующих их программ. Независимость данных подразумевает, что изменение данных не приводит к изменению прикладных программ и наоборот.
Специализированные программные средства для работы с базами данных называются системами управления базами данных (СУБД).
Модели баз данных базируются на подходе к обработке информации, состоящем в том, что структуры данных обладают относительной устойчивостью.
Действительно, типы объектов, для управления которым создается информационная технология, если и изменяются во времени, то достаточно редко, а это приводит к тому, что структура данных для этих объектов достаточно стабильна.
В результате возможно построение информационной базы с постоянной структурой и изменяемыми значениями данных.
Например: база данных студентов вуза по структуре содержит поля ФИО студента, дата рождения, место проживания и т.п. и не зависит от конкретных студентов, т.е. студенты могут зачисляться и отчисляться, а структура данных неизменна.
Для пояснения логической структуры основных моделей баз данных рассмотрим такую простую задачу: необходимо разработать логическую структуру БД для хранения данных о трех поставщиках: П1, П2 и П3, которые могут поставлять товары Т1, Т2 и Т3 в следующих комбинациях: поставщик П1— все три вида товаров, поставщик П2 — товары T1 и Т3, поставщик П3 — товары Т2 и Т3. Нужно хранить информацию о поставщиках, характеристиках товаров и их количестве.
Иерархическая модель представляется в виде древовидного графа, в котором объекты выделяются по уровням соподчиненности (иерархии) объектов (рисунок 3.1).
Рисунок 3.1 - Иерархическая модель БД
На верхнем, первом уровне находится информация об объекте "поставщики" (П), на втором - о конкретных поставщиках П1, П2 и П3, на нижнем, третьем, уровне – о товарах, которые могут поставлять конкретные поставщики.
В иерархической модели должно соблюдаться правило: каждый порожденный узел не может иметь больше одного порождающего узла (только одна входящая стрелка); в структуре может быть только один непорожденный узел (без входящей стрелки) - корень.
Узлы, не имеющие входных стрелок, носят название листьев. Узел интегрируется как запись. Для поиска необходимой записи нужно двигаться от корня к листьям, т.е. сверху вниз, что значительно упрощает доступ.
Достоинство иерархической модели данных заключается в том, что она позволяет описать их структуру, как на логическом, так и на физическом уровне.
Недостатками данной модели являются жесткая фиксированность взаимосвязей между элементами данных, вследствие чего любые изменения связей требуют изменения структуры, а также жесткая зависимость физической и логической организации данных.
Быстрота доступа в иерархической модели достигнута за счет потери информационной гибкости. Указанные недостатки ограничивают применение иерархической структуры.
Сетевая модель базы данных для поставленной задачи представлена в виде диаграммы связей (рисунок 3.2).
Рисунок 3.2 - Сетевая модель БД
На диаграмме указаны независимые (основные) типы данных П1, П2 и Пз, т.е. информация о поставщиках, и зависимые - информация о товарах Т1, Т2 и Тз. В сетевой модели допустимы любые виды связей между записями и отсутствует ограничение на число обратных связей. Но должно соблюдаться одно правило: связь включает основную и зависимую записи.
Достоинство сетевой модели БД - большая информационная гибкость по сравнению с иерархической моделью. Однако сохраняется общий для обеих моделей недостаток - достаточно жесткая структура, что препятствует развитию информационной базы системы управления.
Наибольшей гибкостью и как следствие наибольшее распространение имеет реляционная модель данных.
В реляционной модели базы данных взаимосвязи между элементами данных представляются в виде двумерных таблиц, называемых отношениями.
Записи - горизонтальные строки данных в таблицах.
Поля - вертикальные столбцы данных в таблицах. Каждое поле представляет собой элемент, зарезервированный для данных определенного типа.
В таблице должен быть столбец, значения, в которых изначально должны быть различными для разных строк этой таблицы, то есть столбцы, своими значениями определяющие, или идентифицирующие, строку.
Такие столбцы (или столбец) образуют первичный ключ таблицы (primary key) и называются ключевыми. Иногда в таблице встречаются столбцы, которые не являются ее ключом, но представляют первичный ключ другой таблицы. Такие столбцы называются внешним ключом (foreign key). Именно с помощью первичных и внешних ключей образуются и поддерживаются связи между таблицами в реляционной базе данных.
Преимуществами реляционной модели БД являются простота логической модели (таблицы привычны для представления информации); гибкость системы защиты (для каждого отношения может быть задана правомерность доступа); независимость данных; возможность построения простого языка манипулирования данными с помощью математически строгой теории реляционной алгебры (алгебры отношений).
Собственно, наличие строгого математического аппарата для реляционной модели баз данных и обусловило ее наибольшее распространение и перспективность в современных информационных технологиях.
Для приведенной выше задачи о поставщиках и товарах логическая структура реляционной БД будет содержать три таблицы (отношения): R1, R2, R3, состоящие соответственно из записей о поставщиках, о товарах и о поставках товаров поставщиками (рисунок 3.3).
Рисунок 3.3 - Реляционная модель БД
Если детализировать записи, то получим структуру БД, изображенную на рис. 4. Каждый поставщик имеет номер, уникальный для этого поставщика, фамилию (естественно неуникальную), значение рейтинга и местонахождение. Каждый товар имеет уникальный номер, название, вес и цвет.
В таблице R3 отражена поставка товаров. Она служит для того, чтобы связать между собой две другие таблицы.
Рисунок 3.4 - Пример таблиц
Целостность данных означает систему правил, используемых в СУБД для поддержания связей между записями в связанных таблицах при изменении данных в таблицах, а также обеспечивающих защиту от случайного удаления или изменения связанных данных.