Описание зависимостей между сущностями.
Для этого в палитре панели инструментов выделите кнопку связи требуемого типа (см. таблицу описания отношений), щелкнув по ней указателем мыши (см. рисунок 5) (идентифицирующие связи показаны непрерывной линией, неидентифицирующие – пунктирной), затем щелкните по очереди по прямоугольникам сущностей, между которыми описывается отношение. Например, между сущностями «Клиенты» и «Заказы» существует неидентифицирующая связь (сущности независимы). Поэтому выбирается на панели инструментов кнопка «No identifying Relationship» (неидентифицирующая связь), щелкается первым прямоугольник «Клиенты», затем «Заказы» (мощность связи «один-ко-многим»). Между этими сущностями появится пунктирная линия неидентифицирующей связи. Посреди линии связи проставляется генерируемая по умолчанию глагольная фраза - «R/1». Её можно изменить в редакторе связей, который вызывается через контекстное меню (пункт «Relationship Properties... ») (свойства отношений) или двойным щелчком мыши по связи.
Общий вид окна редактора связей показан на рисунке 7.
Редактор связей похож на остальные редакторы объектов ER-диаграмм. В верхней части окна находится выпадающий список, содержащий полное название связи. В исходном положении осмысленная глагольная фраза для связи не будет определена, поэтому в этом поле значится «Клиенты R/1 Заказы». Здесь же находятся две кнопки «New...» и «Delete», с помощью которых можно добавить на схеме новую связь или удалить существующую.
| | Рис. 7. Окно свойств связей
| |
В редакторе имеется пять страницы с закладками:
Закладка «General»(общие свойства). Здесь задаются основные свойства связи - глагольная фраза, тип и степень связи. Область, озаглавленная «Verb Phrase» (глагольная фраза) содержит два поля, в которых вводится глагольная фраза, характеризующая связь. ERwin позволяет задать фразу для прямого и обратного направления связи: Parent-To-Child (Родительская-Дочерняя сущность) и Child-To-Parent (Дочерняя-Родительская сущность). Если для связи заданы прямая и обратная глагольные фразы, то они изображаются на диаграмме через символ «/». По умолчанию генерируется только прямая глагольная фраза (для направления «Parent-To-Child»). Опишите прямую и обратную связи как показано на рисунке 7. Для этого щелкните указателем мыши по полю «Parent-To-Child» или «Child-To-Parent» и введите с клавиатуры требуемую фразу. Степень связи задается в области, озаглавленной «Cardinality». Переключатель позволяет выбрать одну из следующих степеней связи:
ü «Zero, One or More» (ноль, один или более) - каждый экземпляр родительской сущности связан с нулем, одним или более экземпляров дочерней сущности. Говоря «связан с нулем экземпляров», мы имеем в виду, что родительский экземпляр может быть не связан ни с одним экземпляром дочерней сущности.
ü «One or More (P)» (один или более) - каждый экземпляр родительской сущности связан с одним или более экземпляром дочерней сущности.
ü «Zero or One (Z)» (ноль или один) - каждый экземпляр родительской сущности связан с нулем экземпляров или с одним экземпляром дочерней сущности.
ü «Exactly» (точно) - каждый экземпляр родительской сущности связан с определенным количеством экземпляров дочерней сущности. Рядом находится поле, где необходимо ввести это количество.
Тип связи выбирается в области «Relationship Type». Связь может быть идентифицирующая (Identifying) и неидентифицирующая (Non-Identifying). Кроме того, для неидентифицирующей связи задается обязательность (Nulls), которая показывает, может ли атрибут внешнего ключа принимать значение NULL в таблице БД. Это свойство используется потом при генерации параметров схемы базы данных. В нашем примере, так как при анализе предметной области выяснили, что заказ не может существовать отдельно от клиента, установите этот переключатель в позицию «No Nulls». Тем самым накладывается условие, что у существующего экземпляра заказа всегда должна быть ссылка на клиента, в который оно входит.
Закладка «Definition»(определение). На этой странице вводится определение связи. Текст определения связи, как и в случае сущности, зависит от стандартов, принятых на предприятии, и должен облегчать восприятие модели.
Закладка «Rolename» (Имя роли). Имя роли (rolename) - это дополнительная характеристика, которая может присваиваться мигрирующему атрибуту первичного ключа.
Это особенно удобно в тех случаях, когда сущность связана со многими другими сущностями или сама с собой циклической связью. Тогда, если задать имя роли мигрирующему атрибуту, то в дочерней сущности он будет изображаться под этим именем. Режим показа ролей переключается в контекстном меню диаграммы (рисунок 8).
Рис. 8. Контекстное меню диаграммы для отображения мигрирующих атрибутов сущностей
Закладка «RI Actions» (Установки ссылочной целостности). Закладка предназначена для задания параметров ссылочной целостности проектируемой базы данных. Установки ссылочной целостности — это логические конструкции, которые выражают бизнес-правила использования данных. Они определяют, какие действия должна выполнить СУБД при удалении, вставке или изменении строки таблицы (экземпляра сущности). Заданные таким образом действия могут использоваться впоследствии при автоматической генерации триггеров, поддерживающих целостность данных. Существуют следующие виды действий или правил, определяемых в логической модели:
ü RESTRICT - запрет удаления, вставки или изменения экземпляра сущности
ü CASCADE - при удалении экземпляра родительской сущности удаление всех экземпляров дочерней сущности, ссылающихся на удаляемый родительский экземпляр.
ü SET NULL - при удалении экземпляра родительской сущности атрибутам внешнего ключа всех экземпляров дочерней сущности, присваивается значение NULL.
ü SET DEFAULT - то же самое, что и в предыдущем случае, только вместо значения NULL присваивается значение по умолчанию.
ü NONE - никаких действий не предпринимается.
Эти правила задаются на вставку, удаление и изменение экземпляра как родительской, так и дочерней сущности. Таким образом, каждая связь должна обладать набором из шести правил, которые вводятся в поля, объединенные общим заголовком «RI Actions». При добавлении связи в диаграмму ERwin по умолчанию устанавливает для нее набор правил, которые можно редактировать в диалоге «Model Properties» (Свойства модели) на вкладке «RI Defaults»(в главном меню команда «Model» \ «Model Properties»).
Опишите другие связи, как показано на следующем рисунке.
Рис. 9. Инфологическая модель данных ИС «Заказы» на уровне сущностей и связей
| |
3. Опишем атрибуты сущностей. Схема данных, которая будет отображать атрибуты сущностей, будет находиться на закладке схема данных, уровень представления – Logical. Выберете этот уровень отображения. Затем, выделите сущность, для которой будут вноситься атрибуты, например, «Клиенты», щелкнув по нему указателем мыши (в палитре инструментов должна быть выбрана «стрелка» ), а затем вызовите пункт меню «Model \ Attribute ...». То же самое можно выполнить, выбрав пункт «Attributes...» контекстного меню. При этом на экране появится окно редактора атрибутов (Attributes) (см. рисунок 10).
| | |
Каждый из атрибутов при преобразовании логической ER-диаграммы в схему базы данных становится колонкой таблицы, с которой должен быть связан определенный тип данных. Для того чтобы этот тип был определен, нужно отнести создаваемый атрибут к некоторому домену. Имеется пять базовых доменов, к которым может быть отнесен атрибут, а также, на основе которых разработчик может определить собственные домены. Базовые домены представляют основные типы данных, используемые в СУБД:
ü строковый (String);
ü числовой (Number);
ü дата/время (Datetime);
ü двоичный (Blob).
Кроме того, имеется еще один базовый домен самого общего характера с неопределенным типом данных - «неизвестный» (<unknown>). Иерархически этот домен является родителем всех остальных, в чем легко убедиться, переключив вид сортировки с алфавитного на иерархический. При этом домены в списке расположатся в виде дерева, корнем которого будет <unknown> (см. рисунок 10).
На этом этапе создания атрибутов будем использовать только базовые домены.
Страницы с закладками позволяют редактировать свойства доменов, которые задаются по умолчанию. Набор страниц зависит от режима редактирования. В логическом режиме имеется четыре страницы - General(общие свойства), Definition(определение), Note (примечание) и UDP (пользовательские свойства). Последние три страницы не отличаются от аналогичных страниц, уже описанных для других объектов диаграммы. Страница Generalпозволяет редактировать свойства двух типов - ненаследуемые и наследуемые. Ненаследуемые свойства относятся только к домену и не передаются атрибутам, определяемым на базе этого домена. К ним относятся родительский домен (Domain parent)и иконка домена (Domain Icon).Напротив, наследуемые свойства передаются всем атрибутам, созданным на базе домена. К этим свойствам относятся наследуемое имя и иконка. В качестве наследуемого имени по умолчанию устанавливается %AttDomain-макроопределение, которое заменяется на имя домена. Это означает, что при создании атрибута на базе данного домена его логическим именем будет имя домена. Кроме того, при помощи специальных флажков на этой же странице вы можете задать:
Required- атрибут, созданный на базе этого домена, является обязательным, то есть всегда должен содержать данные В физической модели это со ответствует заданию для поля опции NOT NULL;
Logical- домен должен быть виден только в логической модели.
Создайте атрибут «Название фирмы». Для ввода нового атрибута нажмите кнопку «New» (новый). В открывшемся окне «Attributes» (см. рис. 11) выберите в списке доменов домен «String». В полях «Attribute Name» и «Colomn Name» появится имя атрибута «String», которое следует заменить в обоих полях на «Название фирмы» и «Фирма» соответственно. Это значит, что в логической схеме данных этого отображения будет одно имя, в физической – другое, которое будет сгенерировано в схеме данных. После нажатия кнопки «ОК» атрибут появится в окне редактора.
Точно так же введите остальные атрибуты сущности «Клиенты», а также для всех остальных сущностей, определив для них домены по смыслу.
В результате необходимо получить инфологическую модель данных, представленную на рисунке 11.
| | Рис. 11. Инфологическая модель данных ИС «Заказы»
| |
Задание 3. Описать даталогическую модель данных.
Для этого выберем закладку отображения инфологической модели, и уровень модели – Physical.
Не нашли, что искали? Воспользуйтесь поиском по сайту:
©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.
|