Лекция 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-диаграмм для проектирования баз данных необходимо ознакомиться со всеми возможностями.