Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Общий подход

Семантическое моделирование

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

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

Термин семантическая модель не является волне точным, поскольку данная модель не дает средств к описанию всей семантики рассматриваемой ситуации. С другой стороны данная модель действительно является способом представления смыслового значения. Следует отметить, что семантическая модель имеет несколько других названий, например, «инфологическая модель», «объектная модель», «ER-модель». Последнее название несколько ограничивает семантическое моделирование, использованием единственного подхода – моделей «сущность-связь», который, однако, является в настоящее время наиболее распространенным на практике, и который мы в дальнейшем рассмотрим.

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

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

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

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

- Выявление идентичности сущностей. Здесь осуществляется выявление свойств, которые предназначены для идентификации сущности.

- Выявление связей между сущностями.

Данный этап является неформальным, ввиду того, что все используемые на данном этапе термины являются концепциями «реального мира» и не определены формально.

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

3. Определение набора формальных общих правил целостности, предназначенных для работы с символическими объектами.

Обратим внимание на то, что семантические концепции, которые выявляются на первом этапе (сущности, свойства, подтипы, связи), могут рассматриваться различными пользователями в различном качестве. Один и тот же объект реального мира может быть рассмотрен один пользователем как сущность, другим – в качестве свойства, а третьим – в качестве связи, обеспечивая тем самым гибкость интерпретации. Некоторые примеры семантических концепций приведены в таблице 1.1.

Таблица № 1.1

Понятие Неформальное определение Примеры
СУЩНОСТЬ (Entity) Некоторый отличимый объект Работник, подразделение Поставщик, деталь, поставка
СВОЙСТВО (Property) Элемент информации, описывающий сущность Номер поставщика, год рождения работника Вес детали, юридический адрес поставщика
СВЯЗЬ (Relationship) Сущность, которая служит для обеспечения взаимодействия между двумя или более другими сущностями Поставка (поставщик – деталь) Должность (работник – подразделение)
ПОДТИП (Subtype) Сущность типа Y является подтипом сущности типа X тогда и только тогда, когда каждый экземпляр сущности типа Y обязательно является экземпляром сущности типа X «Работник» является подтипом сущности «Человек» Поставщик является подтипом сущности «Юридическое лицо»

3.2 Модель «сущность/связь»

Одним из наиболее известных и получивших широкое распространение методов семантического моделирования является построение модели «сущность/связь» (или ER-модели). Этот подход строится на использовании модели «сущность/связь», предложенной Ченом (Chen) в 1976 году и с тех пор неоднократно усовершенствовавшейся как самим Ченом, так и многими другими исследователями.

ER-модель включает аналоги всех семантических объектов, представленных в таблице № 1.1, каждый из которых подробно рассматривается далее. Прежде всего отметим, что Чен предложил не только саму ER-модель, но и соответствующую ей технологию построения диаграмм, получивших название «ER-диаграммы». На рис. 1.6 представлен пример простой подобной диаграммы, на которую мы будем ссылаться при дальнейшем изложении материала данного раздела.

Рис. 1.6 Пример диаграммы модели «сущность/связь»

§ Сущности. Работа начинается с определения сущности (entity) как «предмета, который может быть четко идентифицирован». При этом сущности подразделяются на сильные и слабые.

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

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

Сильной называется сущность, которая не является слабой.

§ Свойства. Сущности (и связи) обладают некоторыми свойствами (property). Все сущности или связи одного и того же типа обладают некоторыми общими свойствами. Например, все работники имеют личный номер, имя, зарплату и т.д. Значения свойств каждого типа извлекаются из соответствующего множества значений, которое в реляционной модели называется доменом. Ниже перечислены некоторые разновидности свойств и указаны их особенности.

- Простое или составное свойство. Например, свойство «Имя работника» может быть составным, если его значение составляется из значений простых свойств «Имя», «Отчество», «Фамилия».

- Ключевое свойство (т.е. уникальное, возможно, в определенном контексте).

- Однозначное или многозначное свойство (т.е. в этой модели допускаются повторяющиеся группы). Например, если некоторый поставщик будет иметь несколько пунктов отгрузки, то свойство «Город» для него будет многозначным.

- Опущенное свойство (т.е. «неизвестное» или «неопределенное»).

- Базовое или производное свойство. Например, общее количество деталей определенного вида может быть вычислено с помощью суммирования объема поставок данной детали.

§ Связи. Связь (relationship) определяется как ассоциация, объединяющая несколько сущностей. Например, между работником и отделом существует связь «Отд_Раб». Она определяет, что в каждом отделе работает определенное количество работников.

Сущности, включенные в связь, называют ее участниками, а количество участников связи называется ее степенью.

Пусть R является типом связи, включающей тип сущности E в качестве участника. Если каждый экземпляр сущности E участвует по крайней мере в одном экземпляре связи R, то участие сущности E в связи R называется полным, в противном случае – частичным.

Например, если каждый работник обязательно должен относиться к определенному отделу, то участие сущности «Работник» в связи между работниками и отделами («Отд_Раб») является полным. В свою очередь, если допустима ситуация, когда некоторый работник может не быть ни в каком отделе, то участие сущности «Работник» в данной связи будет частичным.

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

§ Подтипы и супертипы сущностей. Каждая сущность имеет по крайней мере один тип, однако у некоторой сущности может быть одновременно несколько типов. Например, если некоторые работники являются программистами, то можно сказать, что тип сущности «Программист» является подтипом типа сущности «Работник» (или, что эквивалентно, тип сущности «Работник» является супертипом типа сущности «Программист»). Программисты обладают всеми свойствами работников, однако обратное утверждение неверно. Аналогично сущность «Программист» участвует во всех связях, в которых участвует сущность «Работник», однако обратное утверждение неверно. Поэтому говорится, что подтип наследует свойства и связи супертипа.

Следует обратить внимание, что они программисты (сущность «Программист») могут быть прикладными (сущность «Прикладные программисты»), а другие – системными (сущность «Системный программист»). Иначе говоря, сущность-подтип по-прежнему является типом сущности и, следовательно, может иметь собственные подтипы. Некоторый тип сущности, его непосредственные подтипы, подтипы этих подтипов и т.д. вместе образуют иерархию типов сущности, пример которой представлен на рис. 1.7.

Рис. 1.7 Пример иерархии типов сущностей

<== предыдущая лекция | следующая лекция ==>
Распределенная обработка | ER-диаграммы
Поделиться с друзьями:


Дата добавления: 2014-01-13; Просмотров: 553; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.016 сек.