Концепция трех схем хранения данных
Традиционный подход в процессе построения информационных систем сводится к определению данных с двух различных точек зрения – точки зрения пользователя и точки зрения компьютера.
С точки зрения пользователя (внешняя схема), определение данных представляется в контексте отчетов, выборок. Их структура зависит от сферы деятельности, особенностей восприятия сущности пользователем и т.д.
С точки зрения компьютера (внутренняя схема). Этот подход позволяет хранить набор закодированных данных имеющих определенную структуру. Данные хранятся в файлах в виде записи и поля или в виде списка. Но при хранении данных в виде файла, необходимо создать некоторую модель, описать ее, установить связи и т. д.
Существует и третий подход к определению данных, а именно с точки зрения информационной структуры, называемой концептуальной схемой. Такое определение сводится:
· к единому определению данных в рамках выбранной предметной области;
· к независящему от того, как физически осуществляется хранение и доступ к данным;
· оно не ориентировано, на какое либо конкретное использование.
На данном этапе определения данных выбираются информационные объекты и описываются их характеристики, выявляются связи между объектами.
На основе концептуальной схемы строится концептуальная модель выбранной предметной области. Концептуальная модель является представлением точки зрения пользователя на предметную область и не зависит ни от программного обеспечения СУБД, ни от технического решения. Кроме того, она обладает тремя важными свойствами:
1. согласована с инфраструктурой предметной области;
2. стабильна, при ее расширении новые данные определяются без изменения ранее определенных;
3. адаптируемая с точки зрения пользователя, и структур хранения данных.
На рис 3.2 показано ее место в схеме определения данных.
Внешняя схема | Концептуальная схема | Внутренняя схема | ||
Рис 3.2 Концепция трех схем |
Необходимость определения данных с концептуальной точки зрения подводит нас к новой методологии моделирования данных, основанной на семантике, а именно к трактовке данных в контексте их взаимодействия с другими данными. Семантическая модель является абстрактной схемой, показывающей, как хранящиеся символы соотносятся с реальным миром, (модель данных отображает реальный мир какой либо предметной области).
Остановимся на основных понятиях концептуальной схемы данных, они включают в себя понятия:
1.Сущности
· Независимые от идентификатора
· Зависимые от идентификатора
2.Отношения
· Отношения, идентифицирующие связь
· Отношения, не идентифицирующие связь
· Отношения категоризации
· Неспецифические отношения
3. Атрибуты / ключи
· Атрибуты
· Первичные ключи
· Альтернативные ключи
· Внешние ключи
Сущность представляет множество реальных или абстрактных объектов, обладающих атрибутами или характеристиками. (См. Тема2)
Сущность является независимой от идентификатора, если каждый экземпляр сущности может однозначно идентифицироваться без определения его отношения с другими сущностями.
Сущность является зависимой от идентификатора, если однозначная идентификация экземпляра сущности зависит от его отношения с другими сущностями.
Сущность изображается блоком, независимая с прямыми углами, зависимая с закругленными углами..
Каждой сущности присваивается уникальное имя.
Правила:
1. Каждая сущность должна иметь уникальное имя
2. Сущность обладает одним или несколькими атрибутами, которые принадлежат сущности или наследуются через отношения.
3. Сущность обладает одним или несколькими атрибутами, которые однозначно идентифицируют каждый экземпляр сущности. (Первичные или альтернативные ключи)
4. Каждая сущность может обладать любым количеством отношений с другими сущностями модели.
5. Если внешний ключ сущности используется в качестве первичного ключа, то сущность зависима от идентификатора и наоборот, если используется только часть внешнего ключа или вообще не используется, то сущность независима от идентификатора.
Отношения связи.
Все информационные объекты предметной области связаны между собой.
Соответствия отношения, возникающие между объектами предметной области называются связями.Различают связи нескольких типов.
Один к одному (1:1).
Один ко многим (1:М).
Многие ко многим (М:М).
Связь один к одному (1:1) предполагает, что в каждый момент времени одному экземпляру информационного объекта А соответствует не более одного экземпляра объекта В и наоборот. Графически рис.3.2 иллюстрирует данный тип отношений.
А1 В1
А2 В2 А В
А3 В3
Рис 3.3 Графическое отображение реального отношения один к одному.
Примером связи 1:1 может служить СТУДЕНТ и СЕССИЯ.
СТУДЕНТ СЕССИЯ
Каждый студент имеет определенный набор экзаменационных оценок в сессию.
При связи один ко многим (1:М), одному экземпляру информационного объекта А соответствует 0,1, или более экземпляров объекта В. но каждый экземпляр объекта В связан не более чем с 1 экземпляром объекта А.
Графически данное соотношение представлено на рис.3.4
А1 В1
А2 В2 А В
А3 В3
Рис 3.4 Графическое отображение реального отношения один ко многим.
Примером связи 1:М служит связь между информационными объектами
ИНСТИТУТ ПРЕПОДАВАТЕЛЬ
Установленный размер стипендии по результатам сдачи сессии может повторяться для различных студентов или не присутствовать вообще.
Связь многие ко многим (М:М) предполагает, что в каждый момент времени одному экземпляру информационного объекта А соответствует 0,1 или более экземпляров объекта В или наоборот. На рис 3.5 представлено графически данное соотношение.
А1 В1
А2 В2 А В
А3 В3
Рис 3.5 Графическое отображение реального отношения один ко многим.
Примером данного отношения служит связь между информационным объектом СТУДЕНТ И ПРЕПОДАВАТЕЛЬ
СТУДЕНТ ПРЕПОДАВАТЕЛЬ
Кроме того отношения связи подразделяются на:
Специфические отношения связи, это отношения при котором каждая сущность или экземпляр сущности, называемой родительской ассоциируется с произвольным количеством экземпляров другой сущности, называемой потомком. Например, сущность ПОКУПАТЕЛЬ и ЗАКАЗ_НА_ПОКУПКУ. Отношения могут дополнительно определяться указанием мощности отношений.
Среди специфических отношений можно выделить отношения
Идентифицирующие связь, это такие отношения, когда экземпляр сущности потомка однозначно определяется своей связью с сущностью родителя. Например, ПРОЕКТ и ЗАДАНИЕ. То есть, чтобы идентифицировать одно задание среди других, должен быть известен проект, с которым связано задание.
Не идентифицирующие связь – если экземпляр сущности может быть однозначно, идентифицироваться без знания связанного с ним экземпляра сущности родитель. Например, ПОКУПАТЕЛЬ и ЗАКАЗ_НА_ПОКУПКУ. Хотя между этими сущностями существует отношения зависимого существования, заказы на покупку могут идентифицироваться номерами заказов без идентификации покупателя.
Отношению дается имя, выраженное грамматическим оборотом. Имя отношения формируется с токи зрения родителя. Например, ПОКУПАТЕЛЬ отвечает за ЗАКАЗ_НА_ПОКУПКУ.
Отношения категоризации. Некоторые реально существующие объекты являются категориями других реально существующих объектов, то некоторые сущности являются категориями других сущностей. Например, категория сущности СЛУЖАЩИЙ могут подразделяться на ШТАТНЫЙ СЛУЖАЩИЙ и ПОЧАСОВИК. Сущности – категории всегда являются взаимоисключающими.
Неспецифические отношения это такие отношения многие ко многим, при которых каждый экземпляр первой сущности связан с произвольным количеством экземпляров второй сущности. Мощность может указываться на обеих концах отношений.
При дальнейшей разработке модели неспецифическое отношение заменяется специфическим, посредством детализации модели и введении новых сущностей.