Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Проектирование реляционной базы данных↑ ⇐ ПредыдущаяСтр 4 из 4 Содержание книги
Поиск на нашем сайте
Концептуальная модель данных состоит из ряда компонентов: сущностей, связей, атрибутов. При переходе к реляционной схеме базы данных каждый из этих компонентов должен быть проанализирован и, если это окажется необходимым, то даже и преобразован. Изменения, вносимые в процессе преобразования, должны быть такими, чтобы их результат полностью отвечал требованиям, выдвигаемым реляционной моделью данных. Таким образом, фаза логического проектирования предполагает следующие действия: преобразование концептуальной модели данных в логическую модель, в результате которого будет определена схема реляционной модели данных; проверка модели с помощью концепций последовательной нормализации; проверка поддержки целостности данных. Рассмотрим последовательно каждое действие. Преобразование сущностей и атрибутов Общий подход к преобразованию сущностей концептуальной модели ПрО в отношения реляционной базы данных состоит в следующем: построить набор предварительных отношений и указать первичные ключи для каждого отношения; подготовить список всех представляющих интерес атрибутов (тех из них, которые не были перечислены в диаграмме в качестве первичных ключей сущностей) и назначить каждый из этих атрибутов одному из предварительных отношений с тем условием, чтобы эти отношения находились в НФБК. На этом шаге для каждого отношения должны быть определены межатрибутные функциональные зависимости, с помощью которых проверяется соответствие отношений НФБК. Если полученные отношения в итоге не находятся в НФБК или если некоторым атрибутам не находится логически обоснованных мест в предварительных отношениях, то в этих случаях диаграммы необходимо пересмотреть. Преобразование бинарных связей Каждая сущность преобразуется в определенное отношение, а значит, связь между сущностями преобразуется в связь между отношениями. Напомним, что связи между отношениями в реляционной модели данных реализуются посредством механизма первичных и внешних ключей. Чтобы этот механизм действовал, необходимо в первую очередь определиться с тем, которое из двух отношений является родительским, акоторое — дочерним. Родительским считается такое отношение, которое передает копию набора значений своего первичного ключа другому отношению, где этот набор значений будет представлять внешний ключ. Последнее отношение в этом случае будет являться дочерним отношением. Как известно, эта связь может быть изображена с помощью диаграммы, которая содержит всю информацию, необходимую для генерации соответствующих отношений РБД. Сущности ПРЕПОДАВАТЕЛЬ и КУРС однозначно идентифицируются с помощью ТН — табельного номера преподавателя и НК — номера курса Предварительные отношения для бинарных связей типа 1:1 Предварительные отношения для бинарных связей с показателем кардинальности, равным 1: 1 (рис. 6.2) могут быть получены вследствие просмотра нескольких логических альтернатив и выбора из них наиболее подходящей. Пусть в проектируемой БД должна храниться следующая информация: ТН — номер преподавателя; Ф_И_О — фамилия, имя, отчество преподавателя; Тел_П — телефон преподавателя; НК — номер курса; Назв_К — название курса. Считая, что класс принадлежности является обязательным для обеих сущностей, получаем отношение: ПРЕПОДАВАТЕЛЬ (ТН, Ф_И_О, Тел_П, НК, Назв_К). Первичным ключом этого отношения может быть ключ любой из двух сущностей. Ситуация будет другая, если класс принадлежности одной из сущностей (ПРЕПОДАВАТЕЛЬ)— обязательный, второго (КУРС) — нет. В такой ситуации требуется построение двух отношений: по одному под каждую сущность. При этом ключ каждой сущности должен служить первичным ключом для соответствующего отношения. Сущность, для которой класс принадлежности является необязательным, преобразуется в родительское отношение, а сущность, участвующая в связи с обязательным классом принадлежности, преобразуется в дочернее отношение. Для связи полученных отношений ключ родительского отношения добавляется в качестве атрибута (внешнего ключа) в дочернее отношение. В результате получаем следующую реляционную схему: ПРЕПОДАВАТЕЛЬ (ТН, Ф_И_О, Тел_П, НК); КУРС (НК, Назв_К). Если класс принадлежности для обеих сущностей — необязательный, то лучшим решением является определение трех отношений — по одному для каждой сущности и одного для связи: ПРЕПОДАВАТЕЛЬ (ТН, Ф_И_O, Тел_П); КУРС (НК, Назв_К); ЧИТАЕТ (ТН, НК) Отношение ПРЕПОДАВАТЕЛЬ содержит сведения обо всех преподавателях, а отношение КУРС — обо всех курсах. Отношение для связи должно иметь среди своих атрибутов по одному ключу от каждой сущности. Предварительные отношения для бинарных связей типа 1: N Пусть в рассмотренной выше концептуальной модели существует бинарная связь типа 1: N (рис. 6.3). Для таких связей существует только два правила. Вариант определяется классом принадлежности N-связной сущности, класс принадлежности 1-связной сущности не влияет на конечный результат в обоих случаях. Первый вариант. ПРЕПОДАВАТЕЛЬ — класс принадлежности необязательный, КУРС — обязательный. Решение задачи становится возможным, если использовать два отношения, по одному на каждую сущность, при условии, что ключ каждой сущности служит в качестве первичного ключа для соответствующего отношения. В качестве родительского назначается отношение, соответствующее "единичной" стороне связи, а в качестве дочернего назначается отношение, представляющее "множественную" сторону связи. Для представления этой связи необходимо скопировать первичный ключ родительского отношения в дочернее отношение, где данный ключ должен быть описан как внешний. Окончательно в БД войдут два отношения: ПРЕПОДАВАТЕЛЬ (ТН, Ф_И_О, Тел_П); КУРС (НК, Назв_К, НП). Второй вариант. Класс принадлежности для обеих сущностей — необязательный. Решение — в формировании трех отношений: по одному на каждую сущность (причем ключ каждой сущности служит первичным ключом соответствующего отношения) и одного отношении для связи. Отношение для связи должно иметь среди своих атрибутов ключ каждой сущности: КУРС (НК, Назв_К); ПРЕПОДАВАТЕЛЬ (ТН, Ф_И_О, Тел_П); ЧИТАЕТ (ТН, НК) Преобразование связи типа "суперкласс/подкласс" Для каждой присутствующей в логической модели данных связи типа "супертип/подтип" сущность супертипа необходимо определить как родительскую, а сущность подтипа — как дочернюю. Существуют различные варианты представления подобных связей в виде одного или нескольких отношений. Выбор наиболее подходящего варианта зависит от ограничений участия и пересечения, наложенных на участников связи типа "суперкласс/подкласс". Если суперкласс с его подклассами имеет тотальные и непересекающиеся связи, где каждый экземпляр суперкласса обязательно должен быть членом одного и только одного подкласса, то самым целесообразным решением является представление каждого из подклассов в виде отдельного отношения, содержащего копию первичного ключа суперкласса. Рассмотрим подклассы АССИСТЕНТ, СТАРШИЙ ПРЕПОДАВАТЕЛЬ, ДОЦЕНТ, ПРОФЕССОР, которые являются членами суперкласса ПРЕПОДАВАТЕЛЬ (рис. 6.4). Это означает, что каждый экземпляр подкласса является в то же время и экземпляром суперкласса. Причем каждый преподаватель обязательно принадлежит одному и только одному подклассу. Подобная диаграмма преобразуется в следующую реляционную схему отношений: ПРЕПОДАВАТЕЛЬ (Табельный_номер. Ф_И_О, Адрес, Педагог_стаж). ПРОФЕССОР (Табельный_номер, Номер_Диплома_профессора); ДОЦЕНТ (Табельный_номер. Номер_диплома_доцента); СТАРШИЙ_ПРЕПОДАВАТЕЛЬ (Табельный_номер): АССИСТЕНТ (Табельный_номер). Предварительные отношения для бинарных связей типа М: N При такой степени связи требуется три отношения вне зависимости от класса принадлежности обеих сущностей: по одному для каждой сущности, причем ключ каждой сущности используется в качестве первичного ключа соответствующего отношения, и одного отношения для связи. Последнее должно иметь в числе своих атрибутов ключ каждой сущности. Единственно допустимый вариант в сложившейся ситуации — представить БД тремя отношениями: КУРС (НК, Назв_К); ПРЕПОДАВАТЕЛЬ (ТН, Ф_И_О, Тел_П); ЧИТАЕТ (ТН, НК). Вся информация о курсе будет содержаться в отношении КУРС, информация о преподавателе — в отношении ПРЕПОДАВАТЕЛЬ, а отношение ЧИТАЕТ будет содержать только экземпляры связи, имеющиеся в модели. Использование прямого преобразования концептуальных связей в логические структуры оказывается очень полезным при моделировании составных сущностей.
|
||||
Последнее изменение этой страницы: 2016-07-16; просмотров: 290; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 13.58.232.94 (0.008 с.) |