Основные определения концептуальных моделей данных
Как любая модель, концептуальная модель имеет несколько базовых понятий, которые образуют исходные кирпичики, из которых строятся уже более сложные объекты по заранее определенным правилам. Эта модель в наибольшей степени согласуется с концепцией объектно-ориентированного проектирования, которая в настоящий момент, несомненно, является базовой для разработки сложных программных систем.
Главными элементами концептуальной модели являются объекты и отношения. Объекты– вещи, которые пользователи считают важными в моделируемой части реальности. Все множество предметной области разбивается на группы объектов, однородных по структуре и поведению, называемых типами объектов. Объектное множество–множество вещей одного типа. Объект-элемент– конкретный элемент объектного множества. Объекты часто представляют в виде существительных, а отношения – в виде глаголов. Также для обозначения объекта может использоваться термин сущность. Имя объектного множества пишется заглавными буквами в единственном числе. Так: ЧЕЛОВЕК - имя объектного множества, представляющего людей, строчными буквами «человек» обозначается элемент из объектного множества.
Объектные множества бывают лексическимииабстрактнымиЛексическое объектное множество – объектное множество, состоящее из элементов, которые можно напечатать. Абстрактное объектное множество-объектное множество, состоящее из элементов, которые нельзя напечатать.
В компьютерной реализации концептуальной модели элементы лексических объектов будут представлены в виде строк символов. Элементы абстрактных множеств будут представлены внутренними номерами, не имеющими смысла вне системы. Внутренний номер называют «идентификатором объекта» или суррогатным ключом,так как он представляет и однозначно определяет абстрактный объект-элемент реального мира. Суррогатный ключ-«идентификатор» абстрактного объекта-элемента в компьютерной системе, вне системы не имеет смысла.
Объекты могут быть базовыми (основными) и подчиненными (дочерними). Например, читатель библиотеки – базовая сущность, а абонемент этого читателя – подчиненная, которая зависит от наличия соответствующего читателя.
Некоторые объектные множества содержатся внутри объектных множеств. Конкретизация–объектное множество, являющееся подмножеством другого объектного множества. Обобщение– объектное множество, являющееся надмножеством другого объектного множества (содержащее его).
Между объектами могут быть установлены связи — бинарные ассоциации, показывающие, каким образом объекты соотносятся или взаимодействуют между собой. Связь может существовать между двумя разными объектами или между объектом и им же самим (рекурсивная связь). Она показывает, как связаны экземпляры объектных множеств между собой. Связь между элементами двух объектных множеств называется отношением. Отношение само по себе является объектным множеством, состоящим из пар объектов-элементов, взятых из двух множеств, которые соединяет отношение. Отношение, рассматриваемое как объектное множество, называется составным объектным множеством. Составным объектным множествам можно давать имена и включать их в отношения, как и обычные объектные множества.
Мощность отношения обозначает максимальное количество элементов одного объектного множества, связанных с одним элементом другого объектного множества. Максимальная мощность в одном из направлений, равная одному, соответствует математическому понятию функции, которая устанавливает соответствие один-к-одному или много-к-одному между множествами. Поэтому, отношение, имеющее максимальную мощность в одном из направлений, равную одному, называется функциональнымв этом направлении.
Если максимальная мощность отношения в обоих направлениях равна одному, отношение называется отношением один-к-одному (обозначается 1:1 или 1-1). Если максимальная мощность отношения в одном направлении равна одному, а в другом – многим отношение называется отношением один-ко-многим(обозначается 1:* или *1:М). Если максимальная мощность отношения в обоих направлениях равна многим, отношение называется отношением много-ко-многим (обозначается *:* или М:М).
Связь между объектами является обязательной, если в данной связи должен участвовать каждый экземпляр сущности, необязательной — если не каждый экземпляр сущности должен участвовать в данной связи. При этом связь может быть обязательной с одной стороны и необязательной с другой стороны.
Большинство проблем в бизнесе требуют использования отношений высокого порядка, в которых участвуют три или более объектных множества. Отношение высокого порядка – отношение между тремя или более объектными множествами. Отношения между двумя объектными множествами называются бинарными отношениями. Отношение между n объектными множествами (отношения высокого порядка) называются n-арными отношениями.
Элементы объектных множеств представляются обладающими некоторыми атрибутами, позволяющими их различать. Атрибут объекта – функциональное отношение объектного множества с другим объектным множеством. Мы будем понимать под атрибутами некоторые характеристики объектов, если не будем использовать атрибуты в других отношениях. При нормальном использовании атрибуты являются функциональными отношениями в направлении от объекта к атрибуту. Это означает, что значение атрибута однозначно определено для каждого элемента объекта. Например, у каждого человека ровно одна дата рождения. Если для некоторого элемента объектного множества значение некоторого атрибута не определено, то говорят, что этот атрибут имеет пустое значение для элемента объектного множества. Пустое значение атрибута – Значение атрибута не определено для элемента объектного множества.
Атрибуты нужно отделять от объектов, так как значения атрибутов могут меняться, в то время как описываемый ими объект остается тем же самым. Это не означает, что значения всех атрибутов меняются. Часто требуется найти атрибуты, значения которых не меняются, поскольку их можно использовать в качестве ключей. Ключилиидентификатор–это атрибуты, значения которых однозначно определяют элемент объектного множества. Не для каждого объекта нужен ключ. Например, в базе данных, записывающей продажи, пользователя может интересовать только объем продажи и продаваемый товар. Многие продажи могут иметь одни и те же значения товара и объема. Если пользователя не интересует различие двух продаж, не нужно создавать ключ для каждой продажи. Отсутствие ключа не имеет последствий.
Конкретизированные объекты наследуют все атрибуты и отношения обобщенного объекта. Наследование–свойство объектного подмножества обладать всеми атрибутами и отношениями объемлющего множества.
Модели, созданные при помощи базовых приемов моделирования, относительно просты, но нетрудно убедиться в их возможностях и приносимой ими пользе.