Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Отображение er- и eer-модели в реляционную модель



Имеется несколько способов отображения нескольких подклассов, образующих специализацию, такие как {СЕКРЕТАРЬ, ТЕХНИК, ИНЖЕНЕР} суперкласса СЛУЖАЩИЙ К ранее введенному алгоритму для ER моделей, имевшему семь шагов:

1. " правильного типа создается отношение, включающее простые атрибуты. Для составных атрибутов оставляем их простые компоненты. Один из ключевых атрибутов выбираем в качестве первичного ключа (РК).

2. " слабого типа объекта с собственником Е составим отношение и включим в него все простые атрибуты W. В дополнение первичный ключ собственника включаем как внешний ключ отношения. Первичным ключом отношения является совокупность внешнего и внутреннего ключей.

3. " 1:1 типа связи , связывающих отношения Sи Т.Выбираем одно из них (например, S) и включаем в него в качестве внешнего первичный ключ Т. Лучше в качестве Sвыбрать тот объект, который имеет полное участие в данной связи.

4. " 1:N типа связи выбираем объект на стороне Nи включаем в отношение в качестве внешнего ключ другого отношения. Туда же включаем простые атрибуты связи.

5. " М:N типа связи создаем новое отношение, в котором в качестве ключа используются внешние ключи участвующих отношений. В отношение входят простые атрибуты связи.

6. Для многозначного атрибута А создаем новое отношение, куда включаем атрибуты А и ключ объекта, атрибутом которого он является.

7. Для n-арных типов связей (n>2) создается новое отношение с ключом - ключами всех входящих типов объектов.

Это для ER-модели, а для EER модели добавляем:

8. Пусть естьmподклассов и суперкласс Сс атрибутами Преобразование в реляционную схему допускает 4 варианта:

а) Для С создаем отношение L с атрибутами и . Для каждого создаем отношение с атрибутами и .

б) Создаем отношения для каждого с атрибутами и .

в) Создаем отношение с атрибутами и , а t - атрибут типа, указывающий на подкласс, к которому относится объект. Этот вариант только для специализации с непересекающимися подклассами.

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

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

В варианте б) операция соединения встроена в схему и отношение L отсутствует. Этот вариант работает хорошо только при ограничении полноты и не пересечения. Если нет полноты, то мы теряем объекты, не принадлежащие ни к одному подклассу, а в случае перекрытия - размножаются унаследованные атрибуты со всеми вытекающими последствиями. Для получения всех объектов C мы должны воспользоваться внешним соединением, что приведет по сути дела к вариантам с) и д) только без атрибута типа. Так как приходится часто просматривать все отношения , этот вариант обычно не рекомендуется.

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

Когда мы имеем многоуровневую иерархию и/или решетку, мы можем использовать комбинированные варианты.

 
 

ВОПРОСЫ ДЛЯ КОНТРОЛЯ ПО РАЗДЕЛУ II.

1. Что такое подкласс? Когда он применяется при моделировании?

2. Дать определение: суперкласс подкласса; суперкласс/подкласс связь; специализация; обобщение; категория.

3. Объяснить механизм наследования атрибутов.

4. Объяснить предикатно-определенные подклассы и определенные пользователем и разницу между ними.

5. Объяснить два основные типа ограничений на специализацию и обобщение.

6. В чем различие между иерархией подклассов и решеткой?

7. В чем отличия категории от распределенных подклассов? Привести примеры.

Литература.

1. К.Дейт. Введение в системы баз данных. Киев-Москва, Диалектика, 6 изд. 1998.

2. Д.Мейер. Теория реляционных баз данных. М.,Мир,1987.

3. Р.Дж.Мюллер. Базы данных и UML. Проектирование. Изд-во «Лори»Ю 2002.

4. Т.Коннолли, Л.Бегг, А.Страчан. Базы данных. Проектирование, реализация и сопровождение. Теория и практика. 2-е изд., Изд.дом "Вильямс", 2001.

5. В.В.Корнеев, А.Ф.Гарев, С.В.Васютин, В.В.Райх. Базы данных. Интеллектуальная обработка информации. Нолидж, 2000.

6. Г.И.Ревунков, Э.Н.Самохвалов,В.В.Чистов. Базы и банки данных и знаний. М., Высшая школа, 1992.

7. В.Н.Четвериков, Г.И.Ревунков, Э.Н.Самохвалов. Базы и банки данных. М., Высшая школа, 1987.

8. R.Elmasri, S.Navathe. Fundamentals of Database Systems.1989.


СОДЕРЖАНИЕ





Дата публикования: 2015-09-17; Прочитано: 287 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.01 с)...