![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Имеется несколько способов отображения нескольких подклассов, образующих специализацию, такие как {СЕКРЕТАРЬ, ТЕХНИК, ИНЖЕНЕР} суперкласса СЛУЖАЩИЙ К ранее введенному алгоритму для 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; Прочитано: 327 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!