Конспект установочных лекций по комплексному курсу Информатика, Теория информации

       

Базы данных и информационные системы


До сих пор рассматривались первичные структуры данных, которые полезны для формулирования алгоритмов вычисления определенных функций. Однако наряду с вычислением функций одной из центральных задач информатики является длительное хранение данных и контролируемый доступ к ним. Эти задачи мы обсуждаем под терминами (компьютерные) информационные системы и базы данных.

Аспекты баз данных в рамках задачи управления информацией охватывают описание имеющихся данных, управление ими как частью вычислительно системы и доступ к ним. Информационная система содержит информацию, необходимую для управления и контроля задачами пользователя. При разработке какой-либо базы данных для определенного применения необходимо построить модель данных, в которой представлены все виды информации, которые будут храниться в базе данных. Но модель данных, независимо от задачи описания базы данных, также должна быт применима для всех релевантных данных для определенного применения.

Моделирование отношений сущность/связь.

Модель данных можно задать с помощью спецификации вычислительной структуры. В народнохозяйственных применениях информатики встречаются большие множества однотипных данных. Примерами являются данные о наличии клиентов, товаров или сотрудников предприятия. Такие данные тоже можно охватить через вычислительные структуры. Однако для таких больших множеств данных удобнее применять специальные способы описания. Общим методом описания для информационных систем и баз данных, и в частности для моделирования данных с большим их числом, является так называемая сущность/связь-модель (англ. Entity/Relationship Model), или, короче, E/R-модель. При этом наличные данные представляются множествами элементов данных, а связи между основными элементами представляются через отношения.

При проектировании информационной системы создание модели нужно для того, чтобы охватить задачи управления, лежащие в основе системы. В моделировании данных охватывается вся информация, имеющая значение для применений.


Типичным образом модели данных и базы данных содержат определенные основные единицы информации, называемые сущностями.

Каждая сущность имеет обозначение и представляет множество элементов (записи) определенного типа. Запись называется проявлением (воплощением) сущности. Тип определяет совокупность всех записей, которые могут рассматриваться как сущность. Между сущностями имеются определенные связи, называемые отношениями, которые устанавливают "семантические связи" между сущностями.

Диаграммы сущность/связь

На практике для описания E/R-моделей данных часто используют графическое изображение, поскольку оно более наглядно и понятно. Это особенно важно именно при моделировании данных, где должно быть особенно полное понимание между информатиками и экспертами по применению. Это также имеет место и для применений баз данных.

Для графического представления E/R-моделей и баз данных используются E/R-диаграммы (англ. Entity/Relationship Diagram). Рис.11.1 дает пример такой диаграммы. В E/R-диаграмме множества сущностей изображаются прямоугольниками, а связи - ромбами. Часто добавляются дополнительные данные, которые описывают, например, между сколькими сущностями может иметь место определенное отношение, - здесь говорится о количественных указаниях.

Связь состоит из обозначения и указания фигурирующих сущностей, а также типа связи. В соответствии с числом вовлеченных сущностей говорится о n-местном отношении (или также об отношении степени n).

Обычно связи между сущностями обусловлены их свойствами, используемыми в данной области применений. Например, один сотрудник может участвовать в нескольких проектах, но может принадлежать только одному из отделов предприятия.



Многие E/R-диаграммы позволяют характеризовать такие свойства отношений взаимосвязи, как:

·         во всех допустимых состояниях сущностей элементы присутствуют в кортежах отношения в количестве, лежащем в некотором заданном интервале;

·         отношение является однозначным справа, однозначным слева, взаимно однозначным (n:1-, 1:n- и 1:1-взаимосвязи).





В зависимости от мощности языка описаний для модели баз данных могут быть выражены более или менее сложные взаимосвязи.

Атрибуты могут быть также определены и для связей между множествами сущностей. Это значит, что для каждого элемента в связи (каждого элемента кортежа) специфируются дополнительные значения.

Пример (атрибуты между взаимосвязями). Взаимосвязь "есть_руково-дитель_проекта" могла бы иметь атрибут "с: дата" и "предшественник:

сотрудник".

Во многих приложениях встречаются специальные взаимосвязи, как, например, "есть_тот-то"-взаимосвязь, которая допускает классификацию сущностей. Если, например, существуют сущности "руководитель отдела" и "сотрудник", то между ними может иметь место взаимосвязь "есть_тот-то". Эта взаимосвязь разрешает перенесение атрибутов. Если какой-то руководитель отдела является сотрудником предприятия, то все атрибуты сотрудника наследуются и руководителем отдела (переносятся на него). Определенные конструкции "представления знаний", такие, как "фреймы" и формы "объектно-ориентированного" моделирования, используют подобного рода концепции наследования, иерархии и образования классов в качестве базы для спецификаций. В конце данной главы мы вер­немся к этим вопросам под термином объектной ориентации.

Формы иерархизации и образования классов являются типичными для ряда областей науки, например, зоологии. Соразмерное применение этого подхода делает возможным далеко идущую структуризацию задач управления информацией.

К применению систем баз данных

В задачах управления информацией можно выделить следующие аспекты архитектуры баз данных:

·         концептуальный аспект (логическая модель вовлекаемых баз данных);

·         физический аспект (внутреннее представление баз данных в памяти и относящиеся к этому процедуры доступа);



·         внешний аспект ( возможность доступа для пользователя и, соответственно, для пользовательских программ).

Системы баз данных могут использоваться либо при непосредственных запросах и быть интерактивными, либо через определенные программы, которые вызываются с помощью процедур службы базы данных.

Система управления базой данных

Связь между описанными аспектами осуществляется системой управления базой данных. В задачи этой системы входит:

·        обеспечение условий целостности,

·        координация параллельно протекающих выполнении запросов пользователей,

·        защита данных от неправомерного доступа и их сохранность от разрушения.

Запросы к базам данных и их изменение

Заданием E/R-модели характеризуется и множество возможных состояний базы данных. В каждый момент своей жизни база данных обладает некоторым состоянием. С помощью определенных операций можно осуществить опрос состояния базы и, соответственно, изменить это состояние.

Как правило, запросы к базе данных и изменения се состояния выражаются не в аспекте значений отдельных атрибутов, а через мощные операции над сущностями и связями. Типичный запрос к базе данных заключался бы в поиске: "найди фамилии и адреса всех сотрудников отделов х, у, z по специальностям а, Ь, с".

Такой запрос доставляет список, представляющий собой одноместное отношение, который затем может быть еще обработан с определенной точки зрения (например, просмотрен или распечатан). Языки запросов к базам данных предусматривают вполне определенный формат и логическую форму.

Аналогичным образом могут быть сделаны и изменения состояний и баз данных. Эти изменения могут состоять из следующих действий:

·         внести новые сущности, воплощения и новые элементы связей,

·         удалить определенные данные,



·         изменить определенные компоненты.

Во всех указанных случаях могут возникнуть проблемы из-за нарушения условий целостности. Задача системы управления базой данных состоит в том, чтобы выявлять такие ситуации, указывать на них и в конце концов обеспечить целостность базы данных.

Для формулирования запросов к базе данных и требований на изменение ее содержимого базы данных предоставляют пользователю особый интерфейс. Он состоит из команд (как выбор, исключение или добавление данных) и из (ограниченных) возможностей задавать логические формулы для образования подмножеств данных. Для этого используются также некоторые аспекты алгебры отношений (реляционной алгебры), такие, как:

·         проекция (вычеркивание определенных компонент кортежей в отношении),

·         соединение (произведение отношений, причем делается соединение кортежей, совпадающих в общих атрибутах),

·         селекция (выбор кортежей, удовлетворяющих заданному условию относительно значений атрибутов).

В случае языка запросов на основе исчисления отношений пользователь задает отношения с помощью логических выражений и соответствующим образом комбинирует их. При этом иногда допускается (в ограниченной форме) использование кванторов существования и всеобщности. Изменения же в состоянии базы данных делаются, как правило, поэлементно.

Имеется много самых различных концепций для языков запросов к базам данных и их изменения. Практически важно при этом, чтобы эти концепции укладывались в языки программирования, так как это допускает управление базами данных из программ.


Содержание раздела