Лекция 13. Фактографические информационные системы

Предметная область

Понятие "предметная область" является базисным понятием в теории БД и поэтому не имеет строгого определения. Чтобы выяснить его смысл, обратимся к понятиям объект и предмет.

Объект - это то, что существует вне нас и независимо от нашего созна­ния, явления внешнего мира и материальной действительности.

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

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

Совокупность объектов, информация о которых представляет интерес для пользователей, образует объектное ядро предметной области.

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

В каждый момент времени предметная область находится в одном из состояний, которое характеризуется совокупностью объектов и их взаимо­связей. Если объекты образуют объектное ядро, то совокупность взаимо­связей отражает структуру фрагмента действительности. С течением време­ни одни объекты исчезают, другие появляются, меняются свойства и взаи­мосвязи. Тем не менее возникающие новые состояния считаются состояния­ми одной и той же предметной области. Таким образом, предметную об­ласть целесообразно рассматривать как систему, переживающую свою ис­торию, которая состоит из определенной последовательности состояний.После задания пространства состояний, можно рассматривать в нем определенные траектории или последовательности состояний so,s,,...,st, в которых находится предметная область в моменты времени 0,1 ,...,t. Члены такой последовательности не могут быть совершенно произвольными, по­скольку состояние st обычно каким-либо образом связано с предшествую­щими состояниями s(1, s,,...,st,. Поэтому предметную область можно опре­делить как класс всех действительно возможных последовательностей со­стояний. Такие последовательности называются траекториями предмет­ной области. Совокупность всех общих свойств траекторий называется се­мантикой предметной области.

Концептуальные средства описания предметной области

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

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

Тип - это понятие, объединяющее все объекты данного типа. В отличие от объекта, существующего в данный момент в конкретном месте, тип не имеет пространственно-временной локализации. Он охватывает все суще­ствовавшие, существующие и мыслимые объекты, относимые к данному типу. Типы обеспечивают непротиворечивое объединение локальных "то­чек зрения" различных групп пользователей. Каждый тип имеет уникальное имя. Например, при описании учебного процесса могут быть введены следующие типы людей: ПРЕПОДАВАТЕЛЬ, СТУДЕНТ, АСПИРАНТ и т. д.

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

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

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

Весь процесс проектирования БД можно разбить на ряд взаимосвязанных этапов, каждый из которых обладает своими особенностями и методами проведения. На рис. 10 представлены типовые этапы.

 

Рис. 11. Этапы проектирования БД

На этапе инфологического (информационно-логического) проектирования осуществляется построение семантической модели, описывающей сведения из предметной области, которые могут заинтересовать пользователей БД. Семантическая модель (semantic model) — представление совокупности о предметной области понятий в виде графа, в вершинах которого расположены понятия, в терминальных вершинах — элементарные понятия, а дуги представляют отношения между понятиями.

Сначала из объективной реальности выделяется предметная область, т. е. очерчиваются ее границы. Логический анализ выделенной предметной области и потенциальных запросов пользователей завершается построением инфологической модели — перечня сведений об объектах предметной области, которые необходимо хранить в БД, и связях между ними.

Анализ информационных потребностей потенциальных пользователей имеет два аспекта: определение собственно сведений об объектах предметной области; анализ возможных запросов к БД и требований по оперативности их выполнения.

Анализ возможных запросов к БД позволяет уточнить связи между сведениями, которые необходимо хранить. Пусть, например, в БД по учебному процессу института хранятся сведения об учебных группах, читаемых курсах и кафедрах, а также связи «учебные группы—читаемые курсы» и «читаемые курсы —кафедры». Тогда запрос о том, проводит ли некоторая кафедра занятия в конкретной учебной группе, может быть выполнен только путем перебора всех читаемых в данной группе курсов.

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

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

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

Задача физического проектирования — выбор способа хранения данных на физических носителях и методов доступа к ним с использованием возможностей, предоставляемых СУБД.

Инфологическая модель «сущность—связь» (entity-relationship model; ER-model) П.Чена представляет собой описательную (неформальную) модель предметной области, семантически определяющую в ней сущности и связи.

 


Лекция 14. Инфологическая модель “Сущность - связь”

Модель была предложена Петером Пин-Шен Ченом в 1976 г. На использовании разновидностей ER-модели основано большинство со­временных подходов к проектированию баз данных (главным образом, реляционных). Моделирование предметной области базируется на исполь­зовании графических диаграмм, включающих небольшое число разнород­ных компонентов. В связи с наглядностью представления концептуальных схем баз данных ER-модели получили широкое распространение в CASE-системах, поддерживающих автоматизированное проектирование реляци­онных баз данных. Базовыми понятиями ER-модели являются сущность, связь и атрибут.

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

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

Связь представляется в виде линии, связывающей две сущности или ведущей от сущности к ней же самой. При этом в месте "стыковки" связи с сущностью используются трехточечный вход в прямоугольник сущности, если для этой сущности в связи могут использоваться много экземпляров сущности, и одноточечный вход, если в связи может участвовать только один экземпляр сущности. Обязательный конец связи изображается сплош­ной линией, а необязательный - прерывистой линией.

Как и сущность, связь - это типовое понятие, все экземпляры обеих пар связываемых сущностей подчиняются правилам связывания.

На рис.12 приведен пример изображения сущностей и связи между ними.

 

Рис. 12. Пример связи между сущностями

 

Данная диаграмма может быть интерпретирована следующим образом: Каждый СТУДЕНТ учится только в одной ГРУППЕ; Любая ГРУППА состоит из одного или более СТУДЕНТОВ. На следующем рисунке (рис.13) изображена сущность ЧЕЛОВЕК с рекурсив­ной связью, связывающей ее с ней же самой.

Рис.13. Пример рекурсивной связи

 

Лаконичной устной трактовкой изображенной диаграммы является следующая:

Каждый ЧЕЛОВЕК является сыном одного и только одного ЧЕЛО­ВЕКА;

Каждый ЧЕЛОВЕК может являться отцом для одного или более ЛЮ­ДЕЙ ("ЧЕЛОВЕК").

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

 

Рис.14. Изображение сущности с ее атрибутами

 

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

Как и в реляционных схемах баз данных, в ER-схемах вводится поня­тие нормальных форм, причем их смысл очень близко соответствует смыс­лу реляционных нормальных форм. Заметим, что формулировки нормаль­ных форм ER-схем делают более понятным смысл нормализации реляци­онных схем. Мы рассмотрим только очень краткие и неформальные опре­деления трех первых нормальных форм.

В первой нормальной форме ER-схемы устраняются повторяющиеся ат­рибуты или группы атрибутов, т. е. производится выявление неявных сущ­ностей, "замаскированных" под атрибуты.

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

В третьей нормальной форме устраняются атрибуты, зависящие от ат­рибутов, не входящих в уникальный идентификатор. Эти атрибуты явля­ются основой отдельной сущности.Мы остановились только на самых важных понятиях ER-модели дан­ных. К числу более сложных элементов модели относятся следующие:

Подтипы и супертипы сущностей. ER-модель позволяет задавать от­ношение IS-A между типами. При этом если Т1 IS-A Т2 (где Т1 и T2 - типы сущностей), то Т1 называется подтипом Т2 а Т2- супертипом Т1. Т.о., су­ществует возможность наследования типа сущности, исходя из одного или нескольких супертипов.

Связи "многие-со-многими". Иногда бывает необходимо связывать сущ­ности таким образом, что с обоих концов связи могут присутствовать не­сколько экземпляров сущности (например, все члены кооператива сообща владеют имуществом кооператива). Для этого вводится разновидность связи "многие-со-многими".

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

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

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

Эти и другие, более сложные элементы модели данных "Сущность-Связь", делают ее более мощной, но одновременно несколько усложняют ее использование. Конечно, при реальном использовании ER-диаграмм для проектирования баз данных необходимо ознакомиться со всеми возмож­ностями.