МЕТОДИЧЕСКИЕ УКАЗАНИЯ ДЛЯ ПРОВЕДЕНИЯ ПРАКТИЧЕСКОГО ЗАНЯТИЯ № 2 по профессиональному модулю ПМ.02 Разработка и администрирование баз данных МДК 02.03 «Удалённые базы данных» для специальности 09.02.03 « Программирование в компьютерных системах»

МИНИСТЕРСТВО ЭНЕРГЕТИКИ, ПРОМЫШЛЕННОСТИ И СВЯЗИ СТАВРОПОЛЬСКОГО КРАЯ
Государственное бюджетное профессиональное образовательное учреждение «Ставропольский колледж связи имени Героя Советского Союза В.А. Петрова»

Цикловая комиссия вычислительной техники


УТВЕРЖДАЮ
Заместитель директора
по учебной работе
________ / Г.А. Белоусова /
«___» _________ 20___ г.



МЕТОДИЧЕСКИЕ УКАЗАНИЯ
ДЛЯ ПРОВЕДЕНИЯ ПРАКТИЧЕСКОГО ЗАНЯТИЯ № 2
по профессиональному модулю ПМ.02 Разработка и администрирование баз данных МДК 02.03 «Удалённые базы данных»
для специальности 09.02.03 « Программирование в компьютерных системах»

Тема: Моделирование сущностей и атрибутов в среде AllFusion ERwin Data Modeler




Согласовано
Методист
_____________И.В. Черкасова
«___»_____________ 201_г.

Разработчик: преподаватель Буценко Е.В.
Обсуждено на заседании цикловой комиссии «Вычислительная техника»
Протокол №___
«___»_______________20__г.
Председатель цикловой комиссии
____________ / И.В. Ерёмина/


Ставрополь, 2016

Тема: Моделирование сущностей и атрибутов в среде AllFusion ERwin Data Modeler
Цель занятия: - получить навыки разбиения предметной области на объектные области, определения сущностей и их атрибутов в среде AllFusion Data Modeler ERwin ;
- формировать следующие
умения:
У3- создавать объекты баз данных в современных системах управления базами данных и управлять доступом к этим объектам;
У4- работать с современными сase-средствами проектирования баз данных;
У5- формировать и настраивать схему базы данных.
знания:
З5- основных положений теории баз данных, хранилищ данных, баз знаний;
З7- современных инструментальные средства разработки схемы базы данных;
З9 - структуры данных СУБД;
З13- основ разработки приложений баз данных.
- овладение профессиональными компетенциями:
ПК 2.1. Разрабатывать объекты базы данных. 
ПК 2.2. Реализовывать базу данных в конкретной системе управления базами данных (СУБД). 
Связь с другими темами: [ Cкачайте файл, чтобы посмотреть ссылку ]. [ Cкачайте файл, чтобы посмотреть ссылку ]. [ Cкачайте файл, чтобы посмотреть ссылку ]. Проектирование реляционных баз данных. Основные принципы построения инфокоммуникационных сетей.

Перечень вопросов, используемых для подготовки к занятию:
Анализ предметной области.
Этапы построения логической модели.
Основные элементы метода «сущность-связь»
Что такое домен? отношение? заголовок? тело отношения?
Что такое мощность отношения? сущность?
Литература для подготовки к практическому занятию
Основные источники:
Фуфаев. Э. В., Фуфаев Д. Э. Разработка и эксплуатация удаленных баз данных. 3-е изд.- М: Академия, 2012.-256с.
Назарова, О. Б. Разработка реляционных баз данных с использованием CASE-средства All Fusion Data Modeler [Электронный ресурс]: учеб.- метод. пособие / О. Б. Назарова, О. Е. Масленникова. - 2-е изд., стер. - М.: ФЛИНТА, 2013. - 74 с.
Дополнительные источники:
Агальцов В.П. Базы данных. В 2-х т. Т. 2. Распределенные и удаленные базы данных: Учебник / В.П. Агальцов. – М. – 2013. – 272с. ISBN 978-5-8199-0394-0
http://www.intuit.ru/catalog/database/ - Национальный Открытый Университет «ИНТУИТ».
Перечень отрабатываемых учебных действий
Определить задачи проектирования базы данных предметной области.
Выделить объектные области.
Определить набор сущностей и атрибутов объектной области.
Сохранить модель.
Выполнить задания самостоятельной работы
Создать и сохранить отчет.


Материалы темы практического занятия
1 Теоретическое обоснование
Структура базы данных (БД) определяется положенной в ее основу моделью данных. Существуют различные модели баз данных, например, реляционная модель, иерархическая модель, сетевая модель и другие. Наиболее распространенной в настоящее время является реляционная модель данных.
Основатель реляционного подхода Дейт установил, что реляционная модель состоит из трех частей: структурной; манипуляционной; целостной.
В структурной части модели фиксируются отношения, как единственная структура данных, используемая в реляционной модели.
В манипуляционной части фиксируются два базовых механизма манипулирования реляционными базами ( реляционная алгебра и реляционное исчисление.
Под целостной частью понимают некий механизм обеспечения неразрушаемости данных. Целостная часть заключает в себе два основных требования целостности реляционных баз данных ( целостность сущностей и целостность по ссылкам.
Для построения модели реляционной базы данных нужно концептуализировать выбранную предметную область. Концептуализация предполагает выделение информационных объектов предметной области, их описание и установление связей между ними. С этой целью выполняют анализ предметной области, или обследование информационной системы предприятия.
Рассмотрим пример построения инфологической модели базы данных "COOK", предназначенной для использования в пансионатах, санаториях и других организациях, предоставляющих услуги по обеспечению отдыха.
Информация из такой базы данных будет использоваться шеф-поваром пансионата для составления меню, учитывающего примерную стоимость и необходимую калорийности суточного рациона отдыхающих.
В меню предлагается по несколько альтернативных блюд каждого вида (закуска, горячее, суп и т. п.) для каждой трапезы (завтрак, обед, полдник, ужин).
Перед завтраком каждый отдыхающий выбирает в информационной системе номер закрепленного за ним места в столовой пансионата и желаемый набор блюд для каждой из трапез следующего дня (желаемый набор строк меню). Это позволяет определить, сколько порций того или иного блюда надо приготовить для каждой трапезы, а также набор и количество необходимых продуктов.
Завхоз, связанный с поставщиками продуктов, определяет, что необходимо заказать для обеспечения работы столовой.
При составлении меню шеф-повар использует кулинарную книгу, где размещена информация о рецептах и таблицы с химическим составом и пищевой ценностью различных продуктов.
Пример кулинарного рецепта
127 Лобио по-грузински (закуска)
Ломаную очищенную фасоль, нашинкованный лук посолить, посыпать перцем и
припустить в масле с небольшим количеством бульона; добавить кинзу, зелень
петрушки, реган (базилик) и довести до готовности. Затем запечь в духовке.

Фасоль стручковая (свежая или консервированная) 200,
Лук зеленый 40, Масло сливочное 30, Зелень 10.
Выход 210. Калорий 725.

Исходя из потребностей указанных ранее лиц, можно определить объекты, необходимые для выявления сущностей и атрибутов проектируемой базы:
1. Блюда, для описания которых нужны данные, входящие в их кулинарные рецепты:
код (номер) блюда (например, из книги кулинарных рецептов);
название блюда;
вид блюда (закуска, суп, горячее и т. п.);
рецепт (технология приготовления блюда);
выход (вес порции);
калорийность блюда;
название, вес и основные вещества (белки, жиры, углеводы, витамины и др.) каждого продукта, входящего в блюдо;
приведенная стоимость приготовления одной порции блюда (трудоемкость).
2. Для каждого поставщика продуктов:
код (номер) поставщика продукта;
название поставщика и его статус (рынок, ферма, универсам и т. п.);
данные о поставщике (город, адрес, телефон);
название поставляемого продукта;
дата поставки и цена на момент поставки.
3. Ежедневное потребление блюд (расход): блюдо, количество порций, дата.
4. Меню на следующий день, где на каждую из трапез (завтрак, обед, ужин) для каждого из видов блюд приводится несколько различных блюд.
5. Выбор каждым из отдыхающих конкретных блюд из меню (для упрощения схемы опущены сведения об отдыхающих и, следовательно, привязка их к местам в столовой пансионата).
Для построения логической модели данных в ERwin необходимо определить набор сущностей и задать связи между ними. По результатам обследования предметной области можно выделить несколько объектных областей:
«Блюда в меню»;
«Поставка продуктов»;
«Организация процесса питания».
Объектная область «Блюда в меню» предназначена для хранения информации о блюдах, их разнообразии, видах и формах приготовления блюд, продуктах, которые необходимы для их приготовления. Поэтому данная объектная область, очевидно, должна включать в себя сущности «Виды блюд», «Блюда» и «Рецепты».
Объектная область «Поставка продуктов» предназначена для хранения информации обо всех продуктах, входящих в состав блюд из рецептурного справочника профилактория, а также о тех поставщиках, которые осуществляют поставку продуктов профилакторию. Поэтому данная объектная область, очевидно, должна включать в себя сущности «Продукты», «Поставщики».
Объектная область «Организация процесса питания» предназначена для хранения информации об определяемых временем дня и характером блюд категории приема пищи: завтрак, обед и т.д., а также о выборе клиентами (за каждым из которых закреплено определенное место в столовой) определенных блюд в данную трапезу и день года; кроме того, о блюдах, заказанных в определенную трапезу в данный день года.
Разделение предметной области на три объектных области с указанием тех сущностей, которые должны войти в каждую объектную область для хранения соответствующей информации, представлено в таблице 1.
Таблица 1 – Сущности по объектным областям
Блюда в меню

Виды блюд
Категории, к которым можно отнести любое блюдо, т.е. закуска, суп, горячее и т.д.

Блюда
Основные структурные единицы меню, характеризующиеся определенной технологией приготовления (рецептурой), весом порции и основой блюда

Рецепты
Технология приготовления блюда (рецептура). Возможны разные варианты одного и того же рецепта, поэтому (а также в связи с большим размером текстового поля, описывающего рецептуру) информация о рецептах моделируется не атрибутом, а сущностью

Поставка продуктов

Поставщики
Организации, поставляющие продукты для приготовления блюд меню

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

Организация процесса питания

Трапезы
Определяемые временем дня и характером блюд категории приема пищи: завтрак, обед и т.д.

Выбор
Какими клиентами (за каждым из которых закреплено определенное место в столовой) заказано определенное блюдо в данную трапезу и день года

Меню
Блюда, заказанные в определенную трапезу в данный день года

Сущность ( это любой реальный или представляемый объект, информацию о котором необходимо хранить в базе данных. На диаграммах ER-модели сущность обычно изображают прямоугольником, внутри которого проставляется имя сущности.
Рассмотрим сущности, входящие в объектную область «Блюда в меню» и методику их задания в ERwin.
Основные реляционные понятия. Структура базы данных (БД) определяется положенной в ее основу моделью данных. Существуют различные модели баз данных, например, реляционная модель, иерархическая модель, сетевая модель и другие. Наиболее распространенной в настоящее время является реляционная модель данных.
Реляционная структура данных была разработана в конце 60-х годов рядом исследователей, из которых наиболее значимый вклад внес сотрудник фирмы IBM д-р Эдгар Кодд. При реляционном подходе данные представляются в виде двумерных таблиц.
Кратко вспомним основные понятия реляционных баз данных.
Тип данных ( это понятие имеет такой же смысл, как и в языках программирования. Все существующие современные базы данных поддерживают специальные типы данных, предназначенные для хранения данных целого типа, дробного с плавающей точкой, символов и строк, календарных дат. У многих серверов баз данных реализованы и другие типы, например, имеется специальный тип данных для хранения крупных массивов бинарной информации (BLOB).
Домен ( это потенциальное множество значений простого типа данных, он имеет сходство с подтипом данных в некоторых языках программирования. Домен определяется двумя элементами ( типом данных и логическим выражением, которое применяется к данным. Если результат этого выражения равен значению «истина», то экземпляр данных принадлежит домену.
Отношение ( это двумерная таблица особого вида, состоящая из заголовка и тела.
Заголовок ( это фиксированное множество атрибутов, каждый из которых определен на каком-то домене, причем между атрибутами и определяющими доменами существует взаимно однозначное соответствие.
Тело отношения ( это совокупность кортежей, каждый из которых представляет собой сочетание набора пар «атрибут ( значение». Заголовок является неизменным во времени, в отличие от тела отношения.
Мощностью отношения называется число его кортежей, а степенью отношения ( число атрибутов.
Степень отношения является для данного отношения величиной постоянной, тогда как мощность отношения изменяется во времени. Мощность отношения еще называют кардинальным числом.
Неформальные эквиваленты сформулированных понятий:
отношение ( таблица;
атрибут ( колонка или поле;
кортеж ( запись или строка.
Таким образом, степень отношения ( это число колонок в таблице, а кардинальное число ( количество строк.
Ключом называют набор атрибутов, однозначно идентифицирующих кортеж. Ключ должен удовлетворять следующим требованиям:
должен быть уникальным;
должен быть минимальным, то есть удаление любого атрибута из ключа ведет к нарушению уникальности.
Из всех ключей отношения (их еще называют возможными, или потенциальными ключами) один выбирается в качестве первичного ключа.
Как уже было отмечено, основатель реляционного подхода Дейт установил, что реляционная модель состоит из трех частей: структурной; манипуляционной; целостной.
В структурной части модели фиксируются отношения, как единственная структура данных, используемая в реляционной модели.
В манипуляционной части фиксируются два базовых механизма манипулирования реляционными базами ( реляционная алгебра и реляционное исчисление.
Под целостной частью понимают некий механизм обеспечения неразрушаемости данных. Целостная часть заключает в себе два основных требования целостности реляционных баз данных ( целостность сущностей и целостность по ссылкам.
Основными компонентами модели «сущность-связь», или ER-модели, являются сущность, связь и атрибут. Как уже отмечалось, сущность ( это любой реальный или представляемый объект, информацию о котором необходимо хранить в базе данных. На диаграммах ER-модели сущность обычно изображают прямоугольником, внутри которого проставляется имя сущности. На рисунке 1 изображена сущность «Учащийся». «Учащийся» является названием типа сущности, а экземплярами сущности будут конкретные учащиеся ( Иванов, Петров, Сидоров и т.д.

Рисунок 1 ( Сущность «Учащийся»
Связь ( это ассоциация двух или более сущностей.
Атрибут (свойство) ( именованная характеристика сущности. Он представляет собой элементарную единицу структуры понятия, которая служит для уточнения, идентификации, классификации, числовой характеристики или выражения состояния сущности. Например, атрибуты сущности «Учащийся» ( код, фамилия, имя, адрес, возраст, пол и т.п.
Построим информационную модель предприятия при помощи программы ERwin. В процессе создания модели она пройдет несколько уровней детализации. Для каждого из этих уровней создать отдельное хранимое отображение.
2 Методика и порядок выполнения работы
Задание 1. Построить модель объектной области.

По разделению предметной области на объекты, рассмотренной в разделе 1 Теоретическое обоснование создать сущности, входящие в объектную область «Блюда в меню» и задание их атрибутов в ERwin.
1. Создать проект.
2. Выделить в палитре инструментов кнопку сущности , щелкнув по ней указателем мыши. Затем щелкните по чистой области диаграммы. На поле диаграммы появится прямоугольник, изображающий новую сущность, с автоматически сгенерированным именем Е/1. Разумеется, это имя нас не устраивает, поэтому изменим его на имя «Виды блюд». Это можно сделать сразу же после вставки сущности в диаграмму, так как ее имя в этот момент находится в режиме редактирования (рисунок 2).

Рисунок 2 ( Редактирование имени сущности
3. Введите с клавиатуры имя сущности «Виды блюд» и нажмите клавишу Enter. Таким же образом дополните диаграмму еще двумя сущностями: «Блюда», «Рецепты» (рисунок 3).
Добавленные в диаграмму сущности можно перемещать и удалять. Для перемещения выберите в палитре инструментов «стрелку» и выделите сущность, которую хотите переместить или удалить, щелкнув «стрелкой» по ее прямоугольнику на ER-диаграмме. У выбранной сущности название выделяется подсветкой ( становится инверсным, и ее можно «перетаскивать» мышью. Для удаления выделенной сущности необходимо нажать клавишу Del. При этом на экране появится диалог, требующий подтверждения операции (рисунок 4).

Рисунок 3 ( Сущности объектной области «Блюда в меню»

Рисунок 4 ( Диалог удаления сущности
Здесь можно отказаться от операции или подтвердить ее.
4. Каждая из сущностей обладает контекстным меню. Вызовите контекстное меню, для чего щелкните по прямоугольнику сущности правой кнопкой мыши (рисунок 5).

Рисунок 5 ( Контекстное меню сущности
Первый пункт в контекстном меню Entity Properties... вызывает редактор, позволяющий изменять свойства выбранной сущности. В верхней части окна этого редактора (рисунок 6) находится список всех сущностей (Entity) диаграммы. Убедитесь в этом.

Рисунок 6 ( Редактор сущности
С его помощью можно выбрать сущность, свойства которой необходимо посмотреть или изменить. По умолчанию, выбранной являете выделенная на диаграмме сущность, по которой щелкнули мышью. Далее имеется поле Name (имя), в котором высвечивается имя сущности. Имя можно редактировать.
Примечание – Ниже в окне редактора (рисунок 7) находится ряд закладок:
Definition (определение) ( на этой странице вводится определение сущности. Текст определения обычно зависит от стандартов, принятых на предприятии, и должен облегчать восприятие модели.
Note, Note2, Note3 (примечание) ( используются для ввода произвольного текста, связанного с сущностью, например, образцы данных и запросы.

Рисунок 7 ( Закладка Icon редактора сущности
UDP (определяемые пользователем свойства) механизм пользовательских свойств совпадает с описанным выше, при определении хранимых отображений диаграммы.
Icon (иконка) ( для наглядности каждой сущности может быть присвоена иконка, которая выводится рядом с се названием (рисунок 7). Помимо маленькой иконки (Small Icon), в целях презентации можно присвоить сущности и более крупный рисунок (Large Icon).
Как большая, так и маленькая иконки выбираются из выпадающего списка. Для внесения в этот список новой иконки необходимо нажать находящуюся справа кнопку с многоточием, затем нажать кнопку Import и в появившемся диалоге выбрать файл с рисунком. Чтобы перейти в режим показа иконок, щелкните правой кнопкой мыши по свободному полю диаграммы и в контекстном меню выберите пункт Display Level
· Icon (рисунок 8).

Рисунок 8 ( Выбор режима показа иконок в контекстном меню
Если иконка не назначена, то рядом с именем будет выводиться иконка по умолчанию, всегда присутствующая в списке. В отличие от добавленных пользователем иконок, иконку по умолчанию нельзя удалить из списка. В стандартной поставке ERwin имеется библиотека иконок. Выберите для каждой сущности свою иконку и включите режим Entity Icon.
Итак, в результате моделирования объектной области на первом этапе – на уровне моделирования сущностей – у вас должна быть реализована модель, представленная на рисунке 8, т.е. созданы в ERwin сущности объектной области «Блюда в меню».
Задание 2. Определить атрибуты сущностей.
Внести в схему и атрибуты сущностей. Рассмотрим, какие атрибуты могут нам понадобиться при работе с каждой из сущностей.
Виды блюд. При обследовании предметной области мы выяснили, что набор атрибутов зависит от конкретных потребностей предприятия. Сущность «Виды блюд» включает в себя «Вид» блюда, т.е. ту категорию, к которой могут относиться блюда, содержащиеся в кулинарной книге: закуска, суп, горячее и пр. Кроме того, необходимо обеспечить сущность уникальным ключом, поэтому добавим еще числовой атрибут «код вида». Этот атрибут должен быть невидимым для пользователя, поэтому его необходимо будет генерировать автоматически.
Блюда. В качестве ключевого атрибута зададим код блюда. При выборе первичного ключа следует отдавать предпочтение несоставным ключам или ключам, составленным из минимального числа атрибутов. Нецелесообразно также использовать ключи с длинными текстовыми значениями. Плохо также использовать в качестве ключа не номер блюда, а его название, например, "Закуска из плавленых сырков "Дружба" с ветчиной и соленым огурцом" или "Заяц в сметане с картофельными крокетами и салатом из красной капусты". Остальными атрибутами будут: блюдо (название блюда), основа (т.е. доминирующий продукт в блюде, например, рис в блюде «Плов»), выход (вес порции), трудоемкость (приведенная стоимость приготовления одной порции блюда).
Рецепты. В набор атрибутов входит технология приготовления блюда
· рецепт. Здесь также возникает ситуация, когда по тем или иным причинам приходится или целесообразнее использовать суррогатный ключ. В сущности рецепт в качестве возможных первичных ключей можно было бы использовать пары атрибутов: (код_блюда, рецепт) или (код_блюда, вариант), где вариант
· номер технологии приготовления блюда, например, кофе черного или салата "Оливье". Однако значение первого из этих ключей: (код_блюда, рецепт)
· чересчур громоздко, а второго: (код_блюда, вариант)
· требует обязательного ввода номера варианта, даже в том случае, когда существует всего один вариант рецепта. Поэтому введем в состав атрибутов сущности рецепт атрибут ид, который будет автоматически генерироваться СУБД во время ввода рецептов и использоваться в качестве суррогатного первичного ключа.
Перечень атрибутов сущностей с характеристиками приведен в таблице 2.
Таблица 2 ( Атрибуты сущностей, входящих в объектную область «Блюда в меню»
Сущность
Атрибут
Ключ
Тип

Виды блюд
код вида
13 EMBED PBrush 1415
число


вид

строка

Блюда
код блюда
13 EMBED PBrush 1415
число


блюдо

строка


основа

строка


выход

число


труд

число

Рецепты
ИД
13 EMBED PBrush 1415
число


рецепт

строка


вариант

число

Каждый из атрибутов при преобразовании логической ER-диаграммы в схему базы данных становится колонкой таблицы, с которой связан определенный тип данных. ERwin позволяет указать этот тип данных на диаграмме, однако удобнее определять тип данных атрибута не через простой тип данных, а через его подмножество – домен.
2. Для создания доменов выберите пункт меню Model
· Domain Dictionary (рисунок 9).

Рисунок 9 ( Выбор пункта меню Model
· Domain Dictionary
Диалоговое окно Domain Dictionary (Редактор словаря доменов), изображенное на рисунке 10, позволяет создавать и редактировать домены в двух режимах
· логическом и физическом.

Рисунок 10 ( Диалоговое окно редактора словаря доменов
Переключение режима производится при помощи выпадающего списка, находящегося наверху слева и снабженного меткой Edit Mode (Режим редактирования).
Ниже имеется переключатель, позволяющий установить порядок сортировки доменов в списке ( алфавитный или иерархический.
Еще ниже находится собственно список доменов. По умолчанию он содержит пять базовых доменов, на основе которых разработчик может определить собственные домены. Базовые домены представляют основные группы типов данных, используемых в СУБД: , двоичный (blob); дата/время (Datetime); числовой (Number); строковый (String). Иерархически
· базовый домен самого общего характера с неопределенным типом данных, «неизвестный»
· является родителем всех остальных (домены в списке представлены в виде дерева, корнем которого будет , рисунок 11)

Рисунок 11( Дерево базовых доменов
В нижней части диалогового окна редактора словаря доменов находятся кнопки (таблица 3).
Таблица 3 – Кнопки диалогового окна редактора словаря доменов
Кнопка
Назначение кнопки

New
Создание нового домена

Rename
Переименование домена

Delete
Удаление домена

Reset
Сброс свойств домена

В правой части расположены страницы с закладками, позволяющими редактировать свойства доменов: В логическом режиме используют четыре страницы ( General (общие свойства), Definition (определение), Note (примечание) и UDP (пользовательские свойства). Последние три страницы не отличаются от аналогичных страниц, уже описанных для других объектов диаграммы. Страница General позволяет редактировать свойства двух типов ( ненаследуемые и наследуемые. Ненаследуемые свойства относятся только к домену и не передаются атрибутам, определяемым на базе этого домена. К ним относятся родительский домен (Domain parent) и иконка домена (Domain Icon). Напротив, наследуемые свойства передаются всем атрибутам, созданным на базе домена. К этим свойствам относятся наследуемое имя и иконка. В качестве наследуемого имени по умолчанию устанавливается %AttDomain ( макроопределение, которое заменяется именем домена. Это означает, что при создании атрибута на базе данного домена его логическим именем будет имя домена.
3. Создайте домен для атрибута «код вида». Для этого нажмите на кнопку New и в появившемся диалоговом окне (рисунок 12) введите:
в поле Logical Name (логическое имя) ( Код вида;
в поле Physical Name (физическое имя) ( t_vid_id;
в списке базовых доменов выберите числовой домен ( number.

Рисунок 12( Окно создания домена
Физическое имя станет именем типа данных в таблице базы. По умолчанию ERwin генерирует физическое имя из логического, заменяя пробелы символом подчеркивания. В нашем случае он создал имя «код _вида», но так как серверы, как правило, не поддерживают имен, содержащих символы кириллицы, мы заменили его английским именем. Префикс «t_» означает, что это имя типа данных (домена). Подобного же подхода мы будем придерживаться и далее, то есть все имена доменов будут начинаться с «t_».
Нажмите кнопку ОК, и новый домен будет добавлен в список существующих доменов (рисунок 13).

Рисунок 13 ( Дерево с новым доменом
4. Измените режим редактирования с логического на физический, выбрав в списке Edit Mode значение Physical (рисунок 14).

Рисунок 14 ( Окно редактора словаря доменов в физическом режиме
Теперь в списке слева фигурируют физические имена доменов, а состав и содержание страниц свойств изменились. В частности, на странице General теперь находятся:
поле со списком Domain Parent (родительский домен) ( то же самое, что и в логическом режиме;
поле Name Inherited By Column (имя, наследуемое колонкой). Как и для логических имен атрибутов, здесь вводится макроопределение, генерирующее имя колонки, которая создается на базе этого домена. ERwin обладает развитой системой макроопределений, с помощью которых можно существенно изменить и настроить поведение программы в различных ситуациях. Например, в данном случае, по умолчанию используется макроопределение %ColDomain, возвращающее физическое имя домена, то есть программа ERwin будет генерировать имя колонки совпадающим с именем домена. В рассматриваемой схеме данных физическое имя домена начинается с префикса «t_», и мы не хотим, чтобы этот префикс попал в имя колонки. Для этого воспользуемся макросом %Substr(). Его синтаксис похож на синтаксис обычной функции нахождения подстроки, имеющейся во всех языках высокого уровня: %Substr(<строка>,<начальная позиция>,<длина>).
Например, %Substr (macro, 1, 3) возвратит строку «mac».
5. Введите в поле наследуемого имени %Substr(%ColDomain,3,50). Таким образом, имя колонки будет генерироваться равным имени домена, но начиная с третьего символа. В качестве длины строки мы проставили 50, так как в схеме заведомо не будет имен доменов длиннее 50 символов.
Следующая страница зависит от заданного в программе типа сервера, для которого будет генерироваться база данных. Тип сервера задавался нами на лабораторной работе 1. В нашем случае был выбран сервер Oracle, поэтому на соответствующей вкладке редактора словаря доменов проставлено Oracle (рисунок 15).


Рисунок 15 – Вкладка Oracle
Для выбранного в списке домена здесь выбирается тип данных (Oracle Datatype) ( физический тип данных, определенный для выбранного сервера, в данном случае для сервера Oracle. В этом же поле проставляется и размерность, если это необходимо. Панель Null Option позволяет задать домены, у которых должно быть предопределено свойство NOT NULL или NULL. Задается средняя ширина поля и процент записей, имеющих в этом поле NULL. Эти данные используются при оценке объемов таблиц и базы данных в целом (пункт меню Edit
· Volumetrics ...). Другие вкладки:
Constraint. Позволяет задать правила валидации (проверки допустимости значения) и значение по умолчанию. Оставьте пока содержимое этой страницы без изменений.
Comment. Внесение комментария к атрибуту. Программа позволяет определить собственно комментарий к атрибуту, а также задать комментарий, наследуемый колонкой таблицы.
- вкладка UDP. Эта вкладка позволяет задать свойства, определяемые пользователем. Как и в предыдущем случае, можно отдельно задать свойства, наследуемые колонкой.
Кроме этих страниц, имеется несколько страниц, специально предназначенных для генерации кодов клиентского приложения на Visual Basic и Power Builder.
6. Точно так же создайте остальные домены, имена и базовые типы которых приведены в таблице 4 (рисунок 16).

Таблица 4 ( Домены, используемые в объектной области «Блюда в меню»
Логическое имя домена
Физическое имя домена
Родительский домен

код вида
t_view_id
Number

вид
t_view_name
String

код блюда
t_dish_id
Number

блюдо
t_dish_ name
String

основа
t_dish_base
String

выход
t_dish_weigh
Number

труд
t_dish_trud
Number

ИД
t_recipe_id
Number

рецепт
t_ recipe _name
String

вариант
t_ recipe _var
Number



Рисунок 16– Новые домены
7. Подготовив домены, можно перейти к заданию атрибутов сущностей на диаграмме. Для этого выделите сущность «Виды блюд», щелкнув по ней указателем мыши (в палитре инструментов должна быть выбрана «стрелка»), а затем вызовите пункт меню Model
·Attribute ... То же самое можно выполнить, выбрав пункт Attibutes... контекстного меню. При этом на экране появится окно редактора атрибутов (Attributes) (рисунок 17).

Рисунок 17– Редактор атрибутов
Редактор атрибутов построен по тому же принципу, что и редактор сущностей. В верхней части диалогового окна находится выпадающий список, в котором можно выбрать сущность для редактирования. При вызове по умолчанию здесь проставляется имя сущности, выделенной на диаграмме. Рядом имеется кнопка, вызывающая редактор сущностей.
Для ввода нового атрибута нажмите кнопку New. Выберите в списке доменов домен «Код вида» (рисунок 18). В поле Attribute Name появится имя атрибута «Код вида», а в поле Column Name ( view_id. Эти имена генерируются макроопределениями, которые мы задали для наследуемых имен домена ( %AttDomain и %Substr(%ColDomain, 3, 50). После нажатия кнопки ОК атрибут появится в окне редактора.

Рисунок 18– Создание атрибута «Код вида»
Точно так же введите остальные атрибуты сущности «Виды блюд». После этого выделите атрибут «Код вида» и установите флажок Primary Key, так как «Код вида» является первичным ключом сущности «Виды блюд». Напротив имени этого атрибута в списке слева появится символ ключа (19). Нажмите кнопку ОК.
Порядок следования атрибутов в списке можно изменять при помощи кнопок со стрелками, находящимися над окном списка. Для этого необходимо выбрать нужный атрибут в списке, нажать одну из этих кнопок, и атрибут сместится в списке в направлении стрелки, изображенной на кнопке.
8. До сих пор работали на уровне сущностей, где сущности изображались просто прямоугольниками с названием сущности внутри. Перейдите на вкладку «Уровень атрибутов». Сущности изображаются здесь также в виде прямоугольников, однако имя сущности пишется над прямоугольником, а внутри него дается список атрибутов. Прямоугольник сущности делится на две части, в верхней из которых приводятся атрибуты первичного ключа, а в нижней ( все остальные (рисунок 19). Пока на диаграмме определены только атрибуты сущности «Виды блюд», поэтому прочие сущности являются незаполненными (пустыми).

Рисунок 19 – Атрибуты сущности «Виды блюд»

Рисунок 20– Сущность «Виды блюд» на уровне атрибутов
Определим атрибуты остальных сущностей на диаграмме.
Описанный выше метод задания атрибутов не является единственным в ERwin. Значительно удобнее применение специального инструмента, который называется «Браузер (проводник) доменов» (Model Explorer) вкладка Domains (Dom). Он представляет собой тот же список доменов, который вводился в редакторе словаря доменов (Domain Dictionary Editor).
Основное преимущество браузера в том, что он позволяет задавать атрибут простым перетаскиванием мышью.
Для этого достаточно выделить нужное имя домена в списке, нажать левую кнопку мыши и, не отпуская ее, перенести указатель в прямоугольник сущности. Когда вы отпустите кнопку мыши, программа создаст атрибут от выбранного домена.
После внесения атрибутов во все имеющиеся сущности диаграмма будет иметь вид, показанный на рисунке 21.
9. Вернитесь на вкладку «Уровень сущностей» и сохраните модель, например, под именем Pr_02.er1.
Итак, теперь диаграмма содержит три сущности. Методику определения связи между ними будет рассмотрена в работе 3.
10. Повторив пункты 1ч8 настоящих указаний, выполните индивидуальное задание по определению наборов сущностей и заданию их атрибутов в среде ERwin для указанной предметной области.

Рисунок 21 – Сущности объектной области «Блюда в меню»
Самостоятельная работа
Задание 1. Определить наборы сущностей и задать их атрибуты в среде ERwin для объектных областей:
Поставка продуктов

Организации, поставляющие продукты для приготовления блюд меню

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

Организация процесса питания

Определяемые временем дня и характером блюд категории приема пищи: завтрак, обед и т.д.

Какими клиентами (за каждым из которых закреплено определенное место в столовой) заказано определенное блюдо в данную трапезу и день года

Блюда, заказанные в определенную трапезу в данный день года


Контрольные вопросы
Как производится проектирование базы данных?
Что такое диаграмма «сущность-связь»?
Как создать и откорректировать сущность на диаграмме ERwin?
Как перемещать и удалять сущности на диаграмме ERwin?
Каково назначение и возможности редактора словаря доменов?
Как создать домен?
Каково назначение и возможности редактора атрибутов?
Как создать атрибут?
Форма отчета по практическому занятию: Отчет оформляется в электронном виде (текстовый или html- документ) по шаблону и должен включать:
Название работы.
Цель работы.
Формулировку задания и результат его выполнения.
Краткие выводы по результатам выполнения работы.

Список литературы для самостоятельной работы:
Электронная библиотека: http://www. e.lanbook.com/








13 PAGE \* MERGEFORMAT 14215




Рисунок 65Рисунок 42Рисунок 44Рисунок 47Рисунок 48Root Entry

Приложенные файлы

  • doc pr02
    Размер файла: 655 kB Загрузок: 2

Добавить комментарий