Компютри Windows интернет

Типове връзки в erwin. Общи принципи на работа в erwin. Изграждане на модели в ERwin

Лабораторна работа No5

Цел на работата:

Упражнение:

Работна последователност

Познаване на потребителския интерфейс

· Изтеглете програмата Erwin.

В диалоговия прозорец, който се показва, изберете радио бутона Създайте нов модел.На екрана ще се появи диалогов прозорец Създаване на модел - Изберете шаблон,където трябва да изберете нивото на симулация.

Erwin има две нива на моделиране: логическо и физическо. На логичноНа ниво данните се представят така, както изглеждат в реалния свят. Обектите на логическо ниво са обекти и атрибути.

На физическиНивото на модела зависи от конкретната реализация на избраната от потребителя база данни. Когато моделът се прехвърля на физическо ниво, обектите се трансформират в таблици, а атрибутите в полета, следователно всички имена и описания на физическия модел трябва да отговарят на конвенциите, приети за избраната СУБД.

Настройте превключвателя Логически / Физическиза създаване на модел с логически и физически слоеве.

В нивите База даннии Версияопределя типа и версията на сървъра, за който се създава моделът. Изберете Access 2000 от списъка Добре.

· На екрана ще се появи главният прозорец на програмата.

В горната част на прозореца има заглавен ред, който съдържа името на програмата, името на модела, името на подмножеството (Subject Area) и съхранения дисплей (Stored Display). Основната част от програмното пространство е заета от работната зона, в която се създава ER диаграмата.

За превключване между логически и физически нива има списък в лентата с инструменти (фиг. 1.1).

В допълнение към този списък има бутони в лентата с инструменти (вижте Таблица 1.1).

Таблица 1.1.

Бутони на лентата с инструменти на Erwin

Бутон Назначаване
Създайте, отворете, запазете и отпечатайте модел
Извикване на диалоговия прозорец Report Browser за генериране на отчети
Промяна на нивото на изглед на модела: ниво на обект, ниво на атрибут, ниво на дефиниция
Промяна на мащаба на изгледа на модела
Генериране на схема на база данни, подравняване на схема с модела и избор на сървър (достъпно само на ниво физически модел)
Превключване между региони на модела за предметна област


За директна работа с елементи на модела в програмата има палитра от инструменти (Erwin Toolbox), която представлява „плаващ прозорец“ (фиг. 1.2). Ако е необходимо, палитрата с инструменти може да бъде премахната от екрана и извикана чрез натискане на клавишната комбинация "CTRL-T".

Ориз. 1.2. Палитра от инструменти за логика

Субекти в модела

На този етап е необходимо към модела да се добавят следните обекти, идентифицирани в резултат на анализа на предметната област (доставка на стоки в съответствие с договори): купувач, договор, фактура, стока, склад.

Изберете бутона в лентата с инструменти (ERwin Toolbox) Същносттакато щракнете върху него с показалеца на мишката. След това щракнете с мишката върху мястото на диаграмата, където искате да поставите новия обект. В полето на диаграмата ще се появи правоъгълник, представляващ новия обект, с автоматично генерирано име "E / 1".

· Въведете от клавиатурата името на обекта " Клиент“ и натиснете Въведете.

· По същия начин вмъкнете още четири обекта в диаграмата: договор, фактура, продукт, склад.

Като щракнете с десния бутон върху обекта и изберете елемента от контекстното меню Свойства на обекта, можете да се обадите на редактора на обекти Субекти(фиг. 1.6), което ви позволява да промените свойствата на избрания обект. Редакторът на обекти може да бъде извикан и чрез главното меню: Модел | Субекти.



Ориз. 1.6. Редактор на обекти

В горната част на прозореца на редактора има списък с всички обекти, налични в диаграмата. С негова помощ можете да изберете обект, чиито свойства искате да видите или промените. По подразбиране избраният обект е обектът, избран в диаграмата и щракнат върху. След това има полето Име, което показва името на обекта. Името може да се редактира.

По-долу в прозореца на редактора има няколко раздела:

Определение(определение) – Тази страница е мястото, където въвеждате дефиницията на обекта.

Забележка, бележка 2, бележка 3(забележка) – Използва се за въвеждане на свободен текст, свързан с обект, като примерни данни и заявки.

UDP- дефинирани от потребителя свойства.

икона(икона) - за по-голяма яснота на всеки обект може да бъде присвоена икона, която се показва до името му.

За всеки обект въведете дефиниция Определение.

Ключови групи

Обадете се на редактора на ключови групи Ключови групи,като щракнете с десния бутон върху обект Клиенти избиране от елемент от контекстното меню Ключови групи... Редакторът на ключовите групи може да бъде извикан и през главното меню: Модел | Ключови групи.

Редакторът на ключови групи съдържа контроли:

Обект- поле с падащ списък, в който трябва да изберете обект за редактиране.

Прозорец със списък с ключови групи.Всяка група е представена с отделен ред, включително името (Key Group), тип (Type) и дефиниция (Definition).

Освен това диалоговият прозорец Редактор на ключови групи съдържа следните раздели:

ü членове.Задава се членовете на ключовите групи и техният ред в групата.

ü ОбщПревключватели, които ви позволяват да зададете типа на групата ключове. Тези групи не са налични за първичния и външния ключ.

ü ОпределениеБезплатна текстова информация, свързана с избраната ключова група.

ü ЗабележкаБележка към избраната група.

ü UDP (персонализирани свойства).

Натисни бутона Нов.

· В прозореца Нова ключова групав полето Ключова групавъведете името на ключовата група - КРЪЧМА... В полето Индекссе показва името на индекса, генерирано от Erwin. Оставете го непроменено.

Превключете Тип ключова групаопределя типа на генерирания ключ. Това може да бъде алтернативен ключ или въвеждане на инверсия. Моля изберете Алтернативен ключи натиснете Добре... Нововъведеният алтернативен ключ се появява в списъка с ключове.



Отидете до отметката членове... Новият ключ все още не съдържа никакви атрибути, така че списъкът отдясно Ключови членове на групата(ключови членове на групата) е празно. Изберете атрибут в списъка отляво КРЪЧМАи го преместете в десния списък с помощта на бутона със стрелка (вижте фиг. 1.8).

Ориз. 1.8. Редактор на ключови групи

· По същия начин създайте ключови групи за обратните входове, показани в таблицата. 1.3.

Лабораторна работа No6

Задаване на правила за декларативна референтна цялост

· Битие на логичнона ниво модел на данни изберете връзката "сключва" между обектите Купувач и Договора, като щракнете върху нея с показалеца на мишката. След това щракнете с десния бутон и изберете елемента Свойства на връзката(редактор на връзки).

В прозореца на редактора на връзки Връзкаотидете на раздела Действия на RI... Прочетете правилата по подразбиране за референтна цялост за връзката "Купувач - Споразумение". Тези настройки забраняват вмъкването и модифицирането на екземпляр на дъщерен обект, както и изтриването и модифицирането на родителски обект. Това означава, че не се допуска изтриване или промяна на купувача, ако базата данни съдържа сключени с него договори, както и вписване на договора без посочване на купувача или позоваване на несъществуващ купувач. Така изпълнихме условието, според което договорът може да съществува само за конкретен купувач.

· Анализирайте установените правила за референтна цялост за всички други връзки.

Правилата, присвоени на връзката по подразбиране, могат да бъдат променени, като изберете желаната стойност от падащия списък.

Нормализиране на данните

От модела се вижда, че по същество Купувачът има множествен атрибут TEL. Клиентът може да има множество телефонни номера, което е нарушение на първата нормална форма, според която всички стойности на атрибутите трябва да са атомарни. Следователно е необходимо атрибутът TEL да се отдели в отделен обект.

· Създайте телефонен обект, съдържащ следните атрибути: TEL_CODE (първичен ключ, тип - номер) и TEL (тип - низ).

· Свържете обектите Купувач и Телефон с идентифицираща връзка. Задайте комуникационната мощност - Един или повече (P)и въведете името на връзката - То има.

Избор на сървър

Изпълнете командата База данни | Изберете База данни.

В диалоговия прозорец Erwin / ERX - Целеви сървъртрябва да зададете типа сървър - Достъпи неговата версия - 2000 ... Той също така определя типа данни по подразбиране и клаузата NULL за новосъздадени колони. Някои от опциите в този диалогов прозорец зависят от избрания тип сървър.

След като изберете сървъра, щракнете върху бутона Добре.

Денормализиращи данни

В модела има две връзки много към много: Продукт – Договор и Продукт – Фактура, които трябва да бъдат разрешени на физическо ниво. Резултатът от разрешаването на тези връзки е представен в табл. 2.1.

Таблица 2.1.

Резултат от разрешаване на връзки много към много

Връзките много към много се разрешават автоматично, когато отидете на физическия слой или с помощта на специален съветник Съветник за трансформиране на много отношения.

· За да извикате този съветник, изберете връзката "Продукт - Договор", като щракнете върху нея с показалеца на мишката. След това щракнете с десния бутон и изберете елемента Създайте таблица за асоцииране(създайте асоциативна таблица). На екрана ще се появи първият диалогов прозорец на съветника, съдържащ текст за предназначението му.

Въведете в полето Име на таблицата(име на таблицата) - План_доставка... В полето Коментар на таблицата(коментари към таблицата) въведете текста: Информация за доставка на стоки по договора.

· В модела се появи нова таблица Delivery_Plan, свързана чрез идентифицираща връзка с таблиците за стоки и договори.

· Новата таблица трябва да бъде попълнена с три колони (виж таблица 2.1). За да направите това, изберете таблицата План_доставкакато щракнете върху него с показалеца на мишката. След това щракнете с десния бутон и изберете елемента колони (редактор на колони) . Работата с този редактор е подобна на работата с редактора на атрибути.

· Въведете три нови колони самостоятелно в съответствие с таблицата. 2.1.

· По горния начин (с помощта на съветника) трансформирайте връзката „Продукт – Фактура” и допълнете получената асоциативна таблица Пратка с две колони според таблицата. 2.1.

Задаване на правила за валидиране

Посочване на списък с валидни стойности

В съответствие с разглежданата предметна област за полето VAT_VAT на таблицата с продуктите задайте списък с приемливи стойности: 0, 10 и 18%.

Колони.

В прозореца на редактора в полето Колона- СТАВКА НА ДДС.

Отидете в раздела на избраната СУБД - Достъп.

· Валидно.

В диалог Правила за валидиранещракнете върху бутона Нов.

В диалог Ново правило за валидиранев полето Логичновъведете име за правилото - Проверка на ставката на ДДС... Щракнете върху бутона Добре.

· Отидете на показалеца Общ... В група Типинсталирайте опцията Списък с валидни стойности.

· На полето Валидна стойностна първия ред въведете 0. На втория и третия ред въведете стойностите: 10 и 18.

Проверете това в горната част на прозореца на редактора Правила за валидиранесе появи ред: Проверка на ставката на ДДС(Име за валидиране) IN (0, 10, 18)(Правило за валидиране).

Щракнете върху ДОБРЕ.В прозореца на редактора Колонивърху отметката Достъпв полето Валидносе появи името на създаденото правило - "Проверка на ставката на ДДС".

Задаване на стойности по подразбиране

Нека създадем правило, според което стойността на текущата дата ще бъде заместена по подразбиране в полето DATE_Year на таблицата Contract.

Извикайте контекстното меню на таблицата с договори и изберете елемента Колони.

В прозореца на редактора в полето Колонаизберете колоната, за която ще бъде зададено правилото - DATE_DAY.

· В раздела Достъпщракнете върху бутона вдясно от падащия списък По подразбиране.

В диалоговия прозорец По подразбиране/Начални стойностищракнете върху бутона Нов.

В диалог Нова стойност по подразбиранев полето Логичновъведете име за правилото - Текущата дата... Щракнете върху бутона Добре.

· В раздела Достъпв полето Стойност на сървъра - Достъп по подразбираневъведете Дата ()(функция, която получава стойността на текущата дата).

Щракнете върху ДОБРЕ.В прозореца на редактора Колонивърху отметката Достъпв полето По подразбиранесе появи името на създаденото правило - "Текуща дата".

· Задайте същото правило за полето SHIP_DATE на таблицата с фактури. За да направите това, в прозореца на редактора на колони Колонаизберете полето DATE_PUT и в раздела Достъп в полето По подразбиранеизберете правило от падащия списък Текущата дата.

Задаване на правилата за валидиране на входните стойности

Нека създадем правило за проверка на въведените стойности за полето ЦЕНА на таблицата с продукти, според което това поле не може да има стойности по-малки от 0.

Извикайте контекстното меню на таблицата с продуктите и изберете елемента Колони.

В прозореца на редактора в полето Колонаизберете колоната, за която ще бъде зададено правилото - ЦЕНА.

· В раздела Достъпщракнете върху бутона вдясно от падащия списък Валидно.

В диалог Правила за валидиранещракнете върху бутона Нов.

В диалог Ново правило за валидиранев полето Логичновъведете име за правилото - Проверка на цената... Щракнете върху бутона Добре.

· Отидете на показалеца Общ... В група Типинсталирайте опцията Мин./Макс.

· На полето Минвъведете 1. В допълнение към долната граница на диапазона от стойности, тук можете да зададете и горната граница ( Макс).

В горната част на прозореца на редактора Правила за валидираненовосъздадена е добавена към списъка с правила за валидиране: Проверка на цената> = 1.

Натисни бутона Добре.

Лабораторна работа No7

Изчисляване на размера на базата данни

Цел на работата:

Овладейте методологията за изчисляване на размера на базата данни, внедрена в Erwin.

Лабораторна работа No8

Erwin Reporting

Цел на работата:

· Проучване на видовете отчети;

Овладяване на процедурата за създаване на отчети

Лабораторна работа No5

Основи на Ервин. Изграждане на логически модел на данни

Цел на работата:

· Овладяване на уменията за работа в Erwin;

· Изграждане на логически модел на дадена предметна област.

Упражнение:

Изграждане на логически информационен модел за доставка на стоки в съответствие с договори с помощта на инструменти на Erwin.

Лабораторна работа No4. Дефиниране на връзки между обекти в ERwin

Както е отбелязано в упражнение 3, за да изградите логически модел на данни, първо трябва да дефинирате набор от обекти и да дефинирате връзки между тях. В упражнение 3 създадохте диаграма, съдържаща четири обекта (Фигура 4.1). Ще разгледаме методологията за определяне на връзката между тях в настоящото упражнение.

https://pandia.ru/text/78/177/images/image002_182.gif "width =" 123 "height =" 128 src = "> генерираната по подразбиране глаголна фраза е „ R / 1 "(Фигура 4.2).

Фигура 4.2 - Неидентифицираща връзка

Стъпка 3.Отидете на ниво атрибут и забележете, че обектът „Място за обучение“ има атрибут на първичен ключ от обекта „Клас“ и е маркиран с буквите „FK“. Казва се, че атрибутът е "мигриран", а FK (външен ключ) означава, че атрибутът е част от външен ключ (Фигура 4.3). За идентифицираща връзка външният ключ винаги е включен в първичния ключ на детето.

субект, за неидентифициране не се включва.

Фигура 4.3 - Миграция на атрибути

Стъпка 4.Задайте връзка към глаголна фраза. За да направите това, изберете връзката, като щракнете върху нея с показалеца на мишката, след това щракнете с десния бутон и изберете елемента "Свойства на връзката ..." в контекстното меню.

Общият изглед на прозореца на редактора на връзки е показан на Фигура 4.4.

Бази данни "href =" / text / category / bazi_dannih / "rel =" bookmark "> бази данни. В нашия пример, тъй като при анализа на предметната област установихме, че учебното място не може да съществува отделно от класа, задайте това ne - превключвателят в позиция “No Nulls.” По този начин се налага условието, че съществуващ екземпляр на работна станция трябва винаги да има препратка към класа, към който принадлежи.

отметка " определение "(определение).

На тази страница въвеждате дефиницията на връзката. Текстът на дефиницията на връзката, както в случая на предприятието, зависи от стандартите, приети от предприятието, и трябва да улесни възприемането на модела.

Раздел „Име на роля“.

Име на ролята (rolename) е допълнителна характеристика, която може

съответства на атрибута на мигриращия първичен ключ (Фигура 4.5).

https://pandia.ru/text/78/177/images/image006_79.gif "width =" 358 "height =" 221 src = ">

Фигура 4.6 - Контекстно меню на диаграмата за показване на мигриращи атрибути на обекти

Раздел Действия на RI

Разделът е предназначен за настройка на параметрите на референтната цялост на проекта.

базата данни, която се изпълнява (Фигура 4.7).

Настройките за референтна цялост са логически конструкции, които изразяват бизнес правила за използване на данни. Те определят какви действия трябва да предприеме СУБД при изтриване, вмъкване или модифициране на ред на таблица (екземпляр на обект). Дефинираните по този начин действия могат да се използват по-късно при автоматичното генериране на тригери, които поддържат целостта на данните.

Има следните типове действия или правила, дефинирани в логическия модел:

1 RESTRICT - забрана на изтриване, вмъкване или модифициране на екземпляр на обект

2 КАСКАДА - при изтриване на екземпляр на родителски обект, изтриване на всички екземпляри на дъщерен обект, препращащ към изтрития родителски екземпляр.

3 SET NULL - при изтриване на екземпляр на родителски обект, атрибутите на външния ключ на всички екземпляри на дъщерна единица получават стойност NULL.

4 SET DEFAULT - същото като в предишния случай, но вместо стойността NULL се задава стойност по подразбиране.

5 НЯМА - не се предприемат действия.

Фигура 4.7 – Раздел „Действия на RI“ (Настройки за референтна цялост)

Тези правила са зададени за вмъкване, изтриване и модифициране на екземпляр както на родителски, така и на дъщерни обекти. Така всяка връзка трябва да има набор от шест правила, които се въвеждат в полетата, обединени от общото заглавие „Действия на RI“. Когато добавя връзка към диаграма, ERwin задава по подразбиране набор от правила за нея, които могат да бъдат редактирани в диалоговия прозорец "Свойства на модела" в раздела "RI Defaults" (Фигура 4.8).

като изберете от главното меню командата "Модел" Сървър "и, по-нататък,

командата "Свойства на модела" (Фигура 4.9).

https://pandia.ru/text/78/177/images/image009_57.gif "width =" 227 "height =" 289 src = ">

Фигура 4.9 - Процедурата за извикване на диалогов прозорец "Свойства на модела".

Правилата, присвоени на връзката по подразбиране, могат да бъдат променени, като изберете желаната стойност от падащия списък (вижте фигура 4.8). Натискането на бутона "Re - bind" ще прехвърли новите настройки по подразбиране в текущия режим.

del, ако просто напуснете диалоговия прозорец, без да правите пренасочване, тогава променените настройки ще засегнат само новите модели.

Всеки тип връзка има, в зависимост от вида на действието, собствен набор от допустими правила, показани в Таблица 4.2.

Таблица 4.2 - Набор от валидни правила за различни видове връзки

действия

Тип на връзката

Идентификатор

Неидентифицирани

nulls (неидентифициращи, нулеви

Неидентифицирани

решение (Неидентифициране, бр

Връзка

(изтриване на дете)

КАСКАДА, NONE SET NULL,

КАСКАДА, НЯМА ЗАДАДЕНО ПО ПОДРАЗБИРАНЕ

(вмъкнете дете)

КАСКАДА, NONE SET NULL,

КАСКАДА, НЯМА ЗАДАДЕНО ПО ПОДРАЗБИРАНЕ

(смяна на дете)

КАСКАДА, НЯМА КОМПЛЕКТ

NULL, SET DE - FAULT

КАСКАДА, КОМПЛЕКТ N6NE

(изтриване на родителския обект)

КАСКАДА, НЯМА КОМПЛЕКТ

КАСКАДА, НЯМА КОМПЛЕКТ

(вмъкване на родителски обект)

КАСКАДА, NONE SET NULL,

КАСКАДА. NONE ЗАДАВА ПО ПОДРАЗБИРАНЕ

(смени родител)

КАСКАДА, НЯМА КОМПЛЕКТ

КАСКАДА, НЯМА КОМПЛЕКТ


Настройките по подразбиране за връзката "Клас - класна стая" забраняват вмъкването и промяната на екземпляр на дъщерен обект, както и изтриването и модифицирането на родителски обект. Това означава, че не е разрешено изтриване.

или промяна на класа, ако съдържа класни стаи, както и влизане в класна стая без посочване на клас или с препратка към несъществуващ клас. Така изпълнихме условието, че място за обучение може да съществува само като част от клас.

Раздел UDP (параметри, дефинирани от потребителя)

Разделът - UDP, подобно на предишните обекти на диаграмата, ви позволява да присвоите свой собствен набор от персонализирани свойства на връзка.

И така, създадохме неидентифицираща връзка между обектите "Клас" и

„Място за обучение“ с условие „Без нулеви стойности“. Очевидно трябва да съществува връзка от същия тип между обектите "Тип оборудване" и "Оборудване", тъй като част от оборудването задължително трябва да има тип. Добавете тази връзка към диаграмата, като следвате същите стъпки, както в предишния случай. Обадете се на редактора на връзки и променете глаголната фраза на "описва", оставете останалите настройки на връзката непроменени. Моля, имайте предвид, че атрибутът „код на типа оборудване“ е мигрирал към неключовите атрибути на обекта „Място за обучение“ (Фигура 4.10).

Фигура 4.10 – Атрибутът „код на типа оборудване“ мигрира към неключовите атрибути на обекта „Място за обучение“

Нека сега разгледаме връзката между обектите „Място за обучение“ и „Единица оборудване“. Както установихме по време на проучването на предметната област, части от оборудването формират определен запас от компоненти, някои от които са инсталирани на места за обучение. Друга част от компонентите може да са в склада, да са неизправни и да чакат отписване и т.н., тоест да съществуват отделно от мястото за обучение. По този начин обектите „Учебна площадка“ и „Единица оборудване“ не зависят един от друг и трябва да бъдат свързани с неидентифицираща връзка.

Стъпка 5.Изберете неидентифициращата връзка в палитрата с инструменти и я добавете към диаграмата, като изберете Seat като родителски обект и

"Единица оборудване" - дъщерно дружество. В редактора на връзки променете глаголната фраза „Родител към дете“ на „състои се от“. Неидентифициращата връзка има две разновидности - разрешени нули и без нула. Вкусът по подразбиране е "Разрешени нули", оставете това непроменено. Тази настройка означава, че полетата на външния ключ на екземпляр на обекта "Оборудване" могат да имат нулева стойност, т.е.

няма индикация за копие на „Учебно място“. По този начин, част от оборудването може да съществува самостоятелно.

След установяване на връзки, диаграмата на ниво обект ще изглежда така

https://pandia.ru/text/78/177/images/image012_32.gif "width =" 556 "height =" 327 src = "> връзки, показани на фигура 4.12.

Фигура 4.12 - Изображение на връзките в нотация IDEF1X

В допълнение към типа на връзката, диаграмата може да показва и настройката на стойността на връзката.

Загуба - за да направите това, изберете елемента в контекстното меню на диаграмата

Показване на връзката и референтна цялост ( Стъпка 6. ).

Азбуката "href =" / text / category / alfavit / "rel =" bookmark "> азбучни групи, разделени с двоеточие“: ”. Първият знак обозначава действието, за което се прилага правилото за цялост: D - изтриване, I - вмъкване (вмъкване), U - промяна (актуализация).

Втората група обозначава правилото: R - RESTRICT, С - CASCADE, SN - SET NULL, SD - SET DEFAULT. По този начин, забраняването на изтриването се обозначава с D: R, а задаване на NULL при промяна се означава с U: SN. Обозначенията се поставят в родителския или дъщерния край на връзката, в зависимост от това към коя единица се отнасят. С активирани настройки за референтна цялост, диаграмата е

изглежда, както е показано на фигура 4.14.

Фигура 4.14 - ER-диаграма с включени настройки за референтна цялост

Сега диаграмата дефинира една от обективните области, от които сме идентифицирали четири – материалното осигуряване на учебния процес. Ще разгледаме други региони на обекта в следващите упражнения.

Стъпка 7.В раздела Entity Level запишете модела, например, под името

it Lab_4_Петров. er1.

Стъпка 8. Изпълнете индивидуална задача, за да определите връзките между

подробности в ERwin за определената предметна област (вижте таблица 3.4).

1. Резултати от стъпки 1 - 7 от програмата на урока.

2. Резултати от индивидуалното задание.

Контролни въпроси

1. Как правите разлика между зависими и независими субекти в ERwin диаграма?

2. Коя връзка между обектите се нарича неидентифицирана?

3. Какво представлява физическият и логическият модел на данните?

4. Коя връзка между обектите се нарича идентифициране?

5. Обяснете значението на твърдението, че някакъв атрибут „мигрира“?

6. Какво означава символът "FK" на диаграмата ERwin?

7. Какви са възможностите на редактора на връзки?

8. Какво е представянето на връзките в нотацията IDEF1X?

9. Как е обозначението на референтната цялост в диаграмата

10. Какви връзки между обекти са били използвани при извършване на отделни

визуална задача?

Създаването на съвременни информационни системи е много трудна задача, чието решение изисква използването на специални техники и инструменти. Не е изненадващо, че напоследък сред системните анализатори и разработчиците се наблюдава значително увеличение на интереса към CASE (Computer-Aided Software / System Engineering) - технологии и CASE инструменти, които позволяват да се систематизират и автоматизират всички етапи от разработката на софтуера. колкото е възможно.

Предлаганата на читателя книга е практическо ръководство за създаване на информационни системи с помощта на ефективни инструменти за анализ, проектиране и генериране на код от PLATINUM технологията – BPwin и ERwin. Той също така съдържа описание на методите за структурен анализ и проектиране на модели на данни до степента, необходима за практическата работа. Прилагането на методите е илюстрирано с примери.

Книгата е написана въз основа на личния опит на автора, натрупан в разработването на информационни системи, изнасянето на лекции и провеждането на практически упражнения по CASE-технологии и CASE-инструменти в Учебния център на "Интерфейс ООД". Той е предназначен за специалисти в областта на информационните технологии: системни анализатори, ръководители на проекти, разработчици - и може да бъде полезен и за студенти и студенти, изучаващи основите на системния анализ и проектиране на информационни системи.

Книга:

Връзката е логическа връзка между обектите. Всяка връзка трябва да бъде наречена глагол или глаголна фраза (Relationship Verb Phrases) (фиг. 2.20). Името на връзката изразява някакво ограничение или бизнес правило и прави диаграмата по-лесна за четене, например:

ВСЕКИ КЛИЕНТ <размещает> ПОРЪЧКИ;

Всяка поръчка <выполняется> СЛУЖИТЕЛ.

Ориз. 2.20. Име на връзката - глаголни фрази за връзка

Връзката показва точно кои поръчки е направил клиентът и кой служител изпълнява поръчката. По подразбиране името на връзката не се показва на диаграмата. За да покажете името, следвайте контекстното меню, което се появява, ако щракнете с левия бутон върху някое място в диаграмата, което не е заето от обекти на модела, изберете елемента Опции за показване / Връзка и след това активирайте опцията Глаголна фраза.

На логическо ниво е възможно да се установи идентифицираща връзка един към много, връзка много към много и неидентифицираща връзка един към много (съответно това са бутони отляво надясно в палитра с инструменти).

IDEF1X прави разлика между зависими и независими субекти. Типът на субекта се определя от връзката му с други субекти. Установява се идентифицираща връзка между независимите (родителски край на връзката) и зависими (подчинен край на връзката) субекти. Когато се изчертае идентифицираща връзка, ERwin автоматично ще превърне детето в зависимо. Зависимият обект е изобразен като правоъгълник със заоблени ъгли (entity Поръчка на фиг. 2.21). Екземпляр на зависим обект се дефинира само чрез връзка към родителския обект, т.е. в структурата на фиг. 2.21 информация за поръчката не може да бъде въведена и е безсмислена без информация за клиента, който я поставя. Когато се установи идентификационна връзка, атрибутите на първичния ключ на родителския обект се прехвърлят автоматично към първичния ключ на дъщерния обект. Тази операция за увеличаване на атрибутите на дъщерна единица при създаване на връзка се нарича миграция на атрибути. В дъщерния обект новите атрибути се маркират като външен ключ - (FK).

Ориз. 2.21. Идентифицираща връзка между независима и зависима таблица

По-късно, при генериране на схема на база данни, атрибутите на първичния ключ ще получат знака NOT NULL, което означава, че е невъзможно да се направи запис в таблицата с поръчки без информация за номера на клиента.

Когато се установи неидентифицираща връзка (фиг. 2.22), дъщерният обект остава независим и атрибутите на първичния ключ на родителския обект се мигрират към неключовите компоненти на родителския обект. Неидентифицирана връзка се използва за свързване на независими субекти.

Ориз. 2.22. Неидентифицирана връзка

Екземпляр на обект Служител може да съществува без оглед на която и да е инстанция на субекта отдел, тоест, служител може да работи в организация, без да е вписан в нито един отдел.

Идентифициращата връзка е показана на диаграмата като плътна линия с удебелена точка в дъщерния край на връзката (виж фиг. 2.21), а неидентифицираща - пунктирана (фиг. 2.22).

За да създадете нова връзка, трябва:

поставете курсора върху желания бутон в палитрата с инструменти (идентифицираща или неидентифицираща връзка) и натиснете левия бутон на мишката (фиг. 2.2);

щракнете първо върху родителя и след това върху детето.

Формата на комуникационната линия може да бъде променена. За да направите това, трябва да вземете желаната комуникационна линия с мишката и да я плъзнете от място на място, докато линията изглежда по-добре.

В палитрата с инструменти, бутонът

Съответства на идентифициращата връзка, бутона

Връзки много към много и бутон

Съответства на неидентифицираща връзка.

За да редактирате свойствата на връзка, щракнете с десния бутон върху връзката и изберете елемента Редактор на релации от контекстното меню.

В раздела Общи на диалоговия прозорец, който се показва, можете да зададете мощността, името и вида на връзката (фиг. 2.23).

Комуникационна мощност (Кардиналност) -служи за указване на съотношението на броя на екземплярите на родителския обект към броя на екземплярите на детето.

Има четири вида мощност (фиг. 2.24):

общият случай, когато един екземпляр на родителския обект съответства на 0, 1 или много екземпляри на дъщерния обект, не е маркиран с никакъв символ;

символът P маркира случая, когато един екземпляр на родителския обект съответства на 1 или много екземпляри на дъщерния обект (нулева стойност е изключена);

символът Z маркира случая, когато един екземпляр на родителския обект съответства на 0 или 1 екземпляр на дъщерния обект (множество стойности са изключени);

числото обозначава случай на точно съвпадение, когато предварително определен брой екземпляри на дъщерен обект съответства на един екземпляр на родителския обект.

Ориз. 2.23. Диалог на редактора за връзки

По подразбиране символът за комуникационна мощност не е показан на диаграмата. За да покажете името, следвайте контекстното меню, което се появява, ако щракнете с левия бутон на мишката върху някое място в диаграмата, което не е заето от обекти на модела, изберете елемента Опции за показване / Връзка и след това активирайте опцията Кардиналност.

Име на връзката (глаголна фраза)- фраза, която характеризира връзката между родителски и детски обекти. За връзка един към много, идентифицираща или неидентифицирана, е достатъчно да посочите име, което характеризира връзката от родител към дете (родител към дете). За връзка много към много, трябва да посочите имената на родител към дете и дете към родител.

Ориз. 2.24. Обозначения за мощност

Тип на връзката (идентифицираща / неидентифицирана).За неидентифицираща връзка можете да посочите задължително (Nulls). В случай на задължителна връзка (No Nulls), при генериране на схема на база данни, атрибутът на външния ключ ще получи знака NOT NULL, въпреки факта, че външният ключ няма да бъде включен в първичния ключ на дъщерния обект. В случай на незадължителна връзка (разрешени са нулеви стойности), външният ключ може да бъде NULL. Незадължителна неидентифицираща връзка се маркира с прозрачен диамант от страната на родителския обект (вж. Фиг. 2.22).

Ориз. 2.25. Раздел Rolename/RI Actions на диалоговия прозорец на редактора на връзки

В раздела Дефиниция можете да дадете по-пълна дефиниция на връзката, за да можете да се позовавате на нея в бъдеще.

В раздела Rolename / RI Actions можете да зададете името на ролята и правилата за референтна цялост.

Име на ролята (функционално име) -това е синоним на атрибут на външен ключ, който показва ролята на атрибут в дъщерна единица.

Ориз. 2.26. Чужди имена на ключови роли

В примера, показан на фиг. 2.26 по същество Служител външен ключ Номер на отдел има функционалното име "Where Works", което показва ролята, която този атрибут играе в обекта. По подразбиране в списъка с атрибути се показва само името на ролята. За да покажете пълното име на атрибута (както функционалното име, така и името на ролята), в контекстното меню, което се появява, ако щракнете с левия бутон на мишката някъде в диаграмата, която не е заета от обекти на модела, изберете елемента Опции за показване / Обекти и след това активирайте Rolename / Attribute (фиг. 2.25). Пълното име се показва като функционално име и основно име, разделени с точка (виж Фигура 2.26).

Задължително е да се използват имена на роли в случай, когато два или повече атрибута на един и същи обект са дефинирани в един и същ обхват, тоест имат еднакъв обхват, но различни значения. На фиг. 2.27 същност Продажба на валута съдържа информация за обмяна на валута, в която участват две валути - продадена и купена. Информацията за валутите се съдържа в субекта Валута. Следователно субектите Продажба на валута и Валута трябва да бъде свързан два пъти и първичният ключ е - Номер на валута трябва да мигрира два пъти към обект Валута като външен ключ. Необходимо е да се разграничат тези атрибути, които съдържат информация за броя на продадената и закупената валута (имат различни значения), но се отнасят за едно и също лице Валута (имат общ диапазон от стойности). В примера на фиг. 2.27 атрибутите имат имена на роли продадено и Купен.

Ориз. 2.27. Задължителни имена на роли

Друг пример за задължително именуване на роли е рекурсивни връзки(понякога наричан „рибна кука“), когато един и същ обект е едновременно родител и дете. Когато се дефинира рекурсивна връзка, атрибутът трябва да бъде мигриран като външен ключ към неключовите атрибути на същия обект. Атрибутът не може да се появи два пъти в един и същ обект под едно и също име, така че задължително трябва да получи името на ролята. На фиг. 2.26 същност Служител съдържа атрибута първичен ключ Номер на персонала. Информацията за ръководителя на служителя се съдържа в един и същ обект, тъй като надзорникът работи в същата организация. За да се обърнете към мениджъра на служител, създайте рекурсивна връзка (на Фигура 2.26, връзката мениджър / отчет) и назовете ролята („Мениджър“). Имайте предвид, че рекурсивната връзка може да бъде само неидентифицирана. В противен случай външният ключ би трябвало да бъде част от първичния ключ и да получи знака NOT NULL при генериране на схемата. Това би направило невъзможно изграждането на йерархия - дървото на подчинението трябва да има корен - служител, който не е подчинен на никого в рамките на тази организация.

Води / се подчинява на връзката на фиг. 2.26 ви позволява да съхранявате дървовидна йерархия на подчинение на служителите. Този вид рекурсивна връзка се нарича йерархична рекурсияи дефинира връзка, когато мениджър (екземпляр на субект-родител) може да има много подчинени (екземпляри на дъщерно образувание), но подчинен има само един мениджър (фиг. 2.28).

Йерархична рекурсия Мрежова рекурсия


Ориз. 2.28. Подчинение на екземпляри на обекти в йерархична и мрежова рекурсия

Друг вид рекурсия е мрежова рекурсия,когато лидерът може да има много подчинени и, обратно, един подчинен може да има много лидери. Мрежовата рекурсия дефинира мрежа от връзки между родителски и дъщерни екземпляри. Такъв е случаят, когато субектът е със себе си във връзка много към много. За да разрешите връзка много към много, трябва да създадете нов обект (връзката много към много ще бъде разгледана подробно по-долу).

Ориз. 2.29. Пример за прилагане на мрежова рекурсия

На фиг. 2.29 е пример за реализация на мрежова рекурсия. Структурата моделира отношенията между членовете на семейството с всякаква сложност. Атрибут Тип на връзката може да приема значенията "таща-син", "майка-дъщеря", "дядо-внук", "свекърва-снаха", "свекър" и т.н. Тъй като връзката винаги свързва двама души, от същността Роднина на Ph. субекти Връзка са установени две идентифициращи връзки с имената на ролите "Старши" и "Младши". Всеки член на семейството може да бъде в родство с всеки друг член на семейството, освен това една и съща двойка роднини може да бъде свързана с различни видове родство.

Ако даден атрибут се мигрира като външен ключ на повече от едно ниво, тогава първото ниво показва пълното име на външен ключ (име на роля + основно име на атрибута), а второто или повече показва само името на ролята. На фиг. 2.30 изобразява структурата от данни, която съдържа обекта команда, същност играч, който съхранява информация за играчите на всеки отбор и субекта Цел, съдържаща информация и голове, които всеки играч отбелязва. Атрибут на външен ключ Номер на отбора субекти Играч има ролевото име "В кой отбор играе".

Ориз. 2.30. Мигриране на имена на роли

На следващото ниво, по същество Цел, се показва само името на ролята на съответния атрибут на външен ключ (В кой отбор играе).

Правилата за референтна цялост (RI) са логически конструкции, които изразяват бизнес правила за използване на данни и представляват правилата за вмъкване, замяна и изтриване. При генериране на схема на база данни въз основа на опциите на логическия модел, посочени в раздела Rolename / RI Actions, ще бъдат генерирани декларативни правила за референтна цялост, които трябва да бъдат предписани за всяка връзка и тригери, които осигуряват референтна цялост. Тригерите са програми, които се изпълняват всеки път, когато се изпълнява команда за вмъкване, замяна или изтриване (INSERT, UPDATE или DELETE). На фиг. 2.30 има идентифицираща връзка между субектите Команда и Играч. Какво се случва, ако изтриете команда? Екземпляр на обект Играч не може да съществува без команда (атрибут на първичен ключ В кой отбор играе. Номер на отбора не може да бъде NULL), следователно е необходимо или да се забрани изтриването на отбор, стига да има поне един играч в него (за да изтриете отбор, първо трябва да изтриете всички играчи), или незабавно да изтриете всички негови играчи заедно с екипа. Тези правила за изтриване се наричат ​​"ограничение" и "каскада" (Parent RESTRICT и Parent CASCADE, вижте Фигура 2.25). Имайте предвид, че субектите Играч и Цел, от своя страна те също са свързани чрез идентифицираща връзка и ако даден отбор бъде премахнат чрез каскада, всички играчи на отбора и всички отбелязани голове ще бъдат премахнати. Изпълнението на команда за изтриване на един ред всъщност може да доведе до изтриване на хиляди редове в базата данни, следователно използвайте правилото за каскадно изтриване с повишено внимание. Ако е зададено правило за ограничаване на изтриването, когато се прави опит за изтриване на команда, в която има поне един играч, релационният СУБД сървър ще върне грешка.

На фиг. 2.26 установява незадължителна неидентифицираща връзка между субектите отдел и Служител. Екземпляр на обект Служител може да съществува без препратка към отдел (атрибут на външен ключ Къде работи. Номер на отдел може да бъде NULL). В този случай е възможно да зададете правилото за настройка на нула - SET NULL. Когато изтривате отдел, атрибутът на външния ключ на обект Служител - Където работи. Номер на отдел ще бъде NULL. Това означава, че когато отдел се изтрие, служителят остава да работи в организацията, без да бъде назначен към нито един отдел и информацията за него се запазва.

Възможно е да зададете още две правила за изтриване (ако се поддържат от СУБД):

SET DEFAULT - Когато бъде премахнат, атрибутът на външния ключ получава стойност по подразбиране. Например, ако един отбор бъде премахнат, играчите могат да бъдат прехвърлени в друг отбор.

NONE — Стойността на атрибута на външния ключ не се променя при изтриване. Записът за играча "виси във въздуха", тоест се отнася за отбор, който все още не съществува. Тази ситуация е типична за "плоските" маси. Например, ако информацията за играчи и отбори се съхранява в dbf файлове, можете да изтриете записа на отбора и файлът на играчите няма да "знае нищо", че съответният отбор не съществува. Следователно, на настолни или файлови сървърни системи, функционалността за налагане на правилата за референтна цялост е внедрена в клиентското приложение.

Правилата за изтриване контролират какво се случва в базата данни при изтриване на ред. По същия начин правилата за вмъкване и актуализиране контролират какво се случва с базата данни, ако редовете се променят или добавят. Например, можете да зададете правило, което ви позволява да добавяте нов отбор само ако в него е записан поне един играч. Желаното поведение може да се постигне чрез следните действия:

Задайте мощността на връзката между обектите Команда и играч, равно на "Един или повече" - 1 или повече (тип P). Предполага се, че е установена идентифицираща връзка.

Задайте действието на тригера RI "Родителско вмъкване-КАСКАДА", така че при създаване на нов ред в таблицата Команда поне един ред беше автоматично създаден в дъщерната таблица Играч.

Присвоете действието на тригера RI "Parent Delete-CASCADE" към връзката, така че когато един ред се изтрие от таблицата Команда съответния ред или редове от таблицата Играч също бяха изтрити.

ERwin автоматично присвоява стойност за референтна цялост на всяка връзка, преди да я добави към диаграмата. Режимите на RI по подразбиране на ERwin (показани в Таблица 2.4) могат да бъдат променени в редактора по подразбиране на Referential Integrity, който се извиква чрез щракване върху бутона RI Defaults в диалоговия прозорец Целеви сървър (меню Сървър / Целеви сървър).

Таблица 2.4. Стойности на RI по подразбиране на ERwin и възможни опции за всеки тип комуникация

Идентифицираща връзка Нулеви разрешени Неидентифицираща връзка (без нулеви стойности) Категорична връзка
Възможни режими за изтриване на дете ОГРАНИЧЕН, КАСКАДЕН, НЯМА RESTRICT, CASCADE, NONE, SET NULL, SET DEFAULT ОГРАНИЧЕН, КАСКАДЕН,
НИТО ЕДИН
Детски изтриване на режими по подразбиране НИТО ЕДИН НИТО ЕДИН НИТО ЕДИН НИТО ЕДИН
Възможни режими за вмъкване на дете ОГРАНИЧЕН, КАСКАДЕН, ОГРАНИЧЕН, КАСКАДА, НЯМА, ЗАДАДЕТЕ ПО ПОДРАЗБИРАНЕ ОГРАНИЧЕН, КАСКАДЕН,
НИТО ЕДИН НИТО ЕДИН
Режими по подразбиране за вмъкване на деца ОГРАНИЧАЙТЕ ЗАДАВАНЕ НА НУЛИ ОГРАНИЧАЙТЕ ОГРАНИЧАЙТЕ
Възможни режими за актуализиране на деца ОГРАНИЧЕН, КАСКАДЕН, НЯМА RESTRICT, CASCADE, NONE, SET NULL, SET DEFAULT ОГРАНИЧЕН, КАСКАДА, НЯМА, ЗАДАДЕТЕ ПО ПОДРАЗБИРАНЕ ОГРАНИЧЕН, КАСКАДЕН, НЯМА
Режими по подразбиране за детска актуализация ОГРАНИЧАЙТЕ ЗАДАВАНЕ НА НУЛИ ОГРАНИЧАЙТЕ ОГРАНИЧАЙТЕ
Възможни режими за изтриване на родител ОГРАНИЧЕН, КАСКАДЕН, НЯМА RESTRICT, CASCADE, NONE, SET NULL, SET DEFAULT ОГРАНИЧЕН, КАСКАДА, НЯМА, ЗАДАДЕТЕ ПО ПОДРАЗБИРАНЕ ОГРАНИЧЕН, КАСКАДЕН,
НИТО ЕДИН
Изтриване на родителски режими по подразбиране ОГРАНИЧАЙТЕ ЗАДАВАНЕ НА НУЛИ ОГРАНИЧАЙТЕ КАСКАДА
Възможни режими за вмъкване на родител ОГРАНИЧЕН, КАСКАДЕН, НЯМА RESTRICT, CASCADE, NONE, SET NULL, SET DEFAULT ОГРАНИЧЕН, КАСКАДА, НЯМА, ЗАДАДЕТЕ ПО ПОДРАЗБИРАНЕ ОГРАНИЧЕН, КАСКАДЕН, НЯМА
Режими по подразбиране за вмъкване на родител НИТО ЕДИН НИТО ЕДИН НИТО ЕДИН НИТО ЕДИН
Възможни режими за актуализиране на родител ОГРАНИЧЕН, КАСКАДЕН, НЯМА RESTRICT, CASCADE, NONE, SET NULL, SET DEFAULT ОГРАНИЧЕН, КАСКАДА, НЯМА, ЗАДАДЕТЕ ПО ПОДРАЗБИРАНЕ ОГРАНИЧЕН, КАСКАДЕН, НЯМА
Режими по подразбиране за родителско актуализиране ОГРАНИЧАЙТЕ ЗАДАВАНЕ НА НУЛИ ОГРАНИЧАЙТЕ КАСКАДА

Връзка много към многое възможно само на нивото на логическия модел на данни. На фиг. 2.31 по-горе е пример за връзка много към много. Един лекар може да види много пациенти, един пациент може да бъде лекуван от няколко лекари. Тази връзка е обозначена с плътна линия с две точки в краищата.

Предишните глави обсъдиха най-често срещания тип връзка - идентифициране на връзки - и показаха как ER

печеляизвършва миграция на ключове чрез тези връзки.

В тази глава ще научите как да:

Създавайте и използвайте неидентифициращи, рекурсивни и подтипни връзки. Извършвайте автоматично мигриране на ключови атрибути от един обект към друг. Предотвратете появата на дублиращи се имена на атрибути. Задайте режимите на наследяване на атрибути. Посочете реда, в който нулевите стойности се обработват в обект на дъщерна връзка. Изключете връзките много към много.

Управление на външни ключове

Когато създавате диаграма, въпреки че може да искате да добавите ключови атрибути към обект, когато го създавате, ER

печеляможе да свърши по-голямата част от тази работа вместо вас, ако му позволите. Когато създадете връзка между две единици, ERпечеляавтоматично мигрира ключовите атрибути на родителския обект към дъщерния обект, където те стават външни ключове. От ERпечеляподдържа автоматична миграция на ключове, препоръчваме ви да добавите първични ключове към независим обект веднага щом бъде създаден, но не се притеснявайте за ключовете за дъщерни обекти. След като създадете връзка и спешна помощпечеляавтоматично ще мигрира външни ключове, ще се върне и добави собственключове към обекти на дъщерна диаграма.

За да се улесни проектирането на база данни, ER

печеляви позволява да зададете режима на уникален ключ, който може да се използва, за да ви предупреди за създаване на атрибут, който може автоматично да мигрира чрез връзка, или да ви попречи да създавате такива атрибути. Освен това, ако премахнете връзка, ERпечеляавтоматично премахва съвпадащи външни ключове от дъщерни обекти. Вижте глава 11, Документиране на правилата,секта. „Гарантиране на уникалността на имената на обекти и атрибути“.

Как да създадете външни ключове

1. Начертайте връзка между две единици или между обект и себе си (рекурсивна връзка). Външният ключ се мигрира автоматично. Не е нужно да правите нищо!

За да видите автоматичната миграция на външни ключове,

трябва да зададете режима на изглед на диаграма на Атрибут Дисплей. Трябва вече да сте създали атрибутите на първичния ключ в родителския обект.

Как да видите атрибутите на външния ключ

1. Щракнете с десния бутон на мишката върху багажника на връзката - ще влезете в менюто Relationship.

2. Дайте командата "Relationship", за да влезете в редактора на връзки.

Указване на режими на наследяване на атрибути

печелямигрира атрибута на първичен ключ, след което по подразбиране външният ключ, който се появява в дъщерния обект, наследява името, но не наследява дефиницията на атрибута на първичния ключ. Ако искате дефиницията на атрибута на първичния ключ също да мигрира към дъщерния обект, трябва да промените режимите на наследяване - Опция за наследяване на атрибут - коя ERпечеляинсталира по подразбиране. За да промените режима на наследяване по отношение на ключовете за мигриране, дайте командата "Наследяване на атрибут..." в менюто Опции. Ще влезете в диалоговия прозорец Опция за наследяване на атрибути.

В този диалог могат да бъдат зададени три режима. Режимът по подразбиране е „Без наследяване“ и можете да го промените на „Пълно наследяване“ или „Ограничено наследяване“, като натиснете съответния бутон и след това „OK“, за да запазите новия режим.

Как да зададете режима на наследяване на атрибут

1. Дайте командата "Наследяване на атрибут..." от менюто Опции.

2. Щракнете върху един от бутоните в прозореца "Наследяване на дефинициите на първичен ключ", за да зададете желания режим на наследяване на атрибути:

„Пълно наследяване“ – дефинициите на атрибутите на първичния ключ се мигрират към външния ключ за всички нови и вече създадени връзки на текущата диаграма.

„Ограничено наследяване“ – дефинициите на атрибутите на първичния ключ се мигрират към външния ключ за всички нови връзки, но това не се отнася за връзките, които вече са създадени в текущата диаграма.

"Без наследяване" - Миграцията на дефиниции на атрибути е забранена за всички връзки на текущата диаграма. Това е режимът по подразбиране.

Задаване на неидентифициращи връзки

Линк за самоличност

се нарича връзка, която добавя знаци за идентичност към дъщерно образувание чрез мигриране на ключовете на родителския обект в областта на ключовите атрибути на детето и по този начин прави дъщерното образувание зависимот родителски в смисъла на тяхната идентичност. Например, когато атрибутът филм-вцепененспешна помощ мигрира от обекта MOVIE към MOVIE-COPY в диаграмата MOVIES.ER1, но всеки екземпляр MOVIE-COPY зависи отфилм-вцепененспешна помощ и от филм-копие-вцепененER, които го дефинират уникално (нито един от тези два атрибута не може да идентифицира еднозначно конкретно копие на филм сам по себе си).

Можете също така да посочите връзка, която не прави дъщерния обект зависим от родителя. Този тип връзка се нарича връзка без идентификация... В спешното

печелятакава връзка е обозначена с пунктирана линия с удебелена точка в края, съответстваща на дъщерната връзка. При неидентифицираща връзка атрибутите на първичния ключ на родителския обект мигрират към областта на данните (неключовата област), която се намира под реда в дъщерния обект. Ако атрибутите, които са мигрирали към неключовия обхват на дъщерния обект, не са необходими в този обект, тогава връзката се нарича незадължителна неидентифицираща връзкакоето предполага, че мигрираните атрибути не се нуждаят от детето, за да го идентифицира, и че то може да съществува без тези атрибути. В спешнотопечелянезадължителна неидентифицираща връзка се обозначава с пунктирана линия с удебелена точка в единия край (дете) и диамант в другия (родител).

Фигурата по-долу показва как са изобразени в ER

печеляидентифициращи, неидентифициращи и незадължителни неидентифициращи връзки и разликите между тези връзки са обобщени.

Ако връзката вече е създадена в диаграмата, тогава можете да промените нейния тип в редактора на връзки.

Как да промените типа на връзката

1. Изберете връзката, която искате да промените. Поставете курсора върху реда на връзката и щракнете с десния бутон, за да влезете в изскачащото меню Редактор.

2. Дайте командата "Връзка" от менюто Редактор, за да влезете в Редактор на Връзки.

3. Щракнете върху желания бутон в прозореца Тип на връзката (Идентифициране - идентифициране, Неидентифициране - неидентифициране).

4. Щракнете върху „OK“, за да запишете промените. спешна помощ

печеляпроменя линията на връзката в диаграмата, за да съответства на новия тип.

Рекурсивна комуникация в

спешна помощ win автоматично се присвоява тип Не-идентифициране. Не може да се промени.

Разрешаване или не разрешаване на нулеви стойности?

Когато рисувате неидентифицираща връзка, трябва да решите дали атрибутите на външния ключ, наследени от родителя, могат да бъдат NULL или не. По подразбиране неидентифициращата връзка е настроена на „Разрешени са нулеви стойности“, което означава, че дъщерна единица може да съществува без родител и се казва, че връзката е незадължителна. „Без нула“ означава това съществуването на дъщерно образувание зависи от родителя,и връзката се нарича задължителен.В случай на незадължителна връзка (разрешени са нулеви стойности) в родителския край на неидентифициращата ER връзка

печеляпоставя знак - ромб.

Една от основните разлики между удостоверяваща и неидентифицираща връзка е, че само външни ключове, които мигрират чрез неидентифицираща връзка, могат да бъдат NULL.

Вижте Ръководство за ER техники

win Методи Ръководство, гл. 3, "Преглед на езика", раздел. „Идентифициращи и неидентифициращи взаимоотношения“.

По подразбиране е зададена връзка без удостоверяване

Режим "Разрешени нули", т.е. NULL стойности за външен ключ

1. Учебни въпроси

  1. Разработване на релационен модел на данни вERwin.
  2. Нормализиране на физическия модел на данни вERwin.

2. План на урока

  1. Контрол на знанията чрез тестване (тест ISE005).
  2. Импортиране на обекти в ERwin.
  3. Разработване на логически и физически модели на данни в ERwinизползвайки методология IDEF1X.
  4. Нормализиране на физическия модел на данни в ERwin.
  1. Импортирайте обекти в спешна помощпечеля,използвайки файл Данни _IS_Name. bpx, и въз основа на получения набор от обекти разработете логически модел на данни.

коментар:Ако имената на обекти и атрибути са създадени на кирилица (на руски), те трябва да бъдат пренаписани с латински букви.

  1. Създавайте логически и физически модели на данни с помощта на инструменти ERwin.

  2. във вашата папка ISE.
  3. Физическият модел трябва да се нормализира чрез разрешаване на връзките МНОГО-ДО-МНОГО с помощта на бутона Много към много се трансформират ленти с инструменти спешна помощ печеляТрансформиране на лентата с инструменти.
  4. Запазете резултатите във файл
    Data_Model_IS_Name_IDEF1X.er1 във вашата папка ISE.

Даден е ПРИМЕР за логически модел, както и за нормализиран физически модел на данни, внедрен в IDEF1X технологията.

4. Технологичен процес на изпълнение на задачите

4.1. Технологичен процес за създаване на модели на данни

4.1.1. Методология за моделиране (методология IDEF1X)

Методология IDEF1Xизползван от инструмента CASE ERwinза изграждане на логически и физически модели на данни на информационната система.

ERwinима прост и интуитивен потребителски интерфейс за изграждане на логически и физически модели на данни, обработвани от системата. V логичномодел, е разрешено да се създават връзки МНОГО-ДО-МНОГО между обектите и името на атрибута ( Име на атрибут) ще бъде името на атрибута в логичномодел и името на колоната ( Име на колона), ако е дадено, ще бъде името на атрибута в физическимодели.

Във всеки от тези модели можете автоматично да преобразувате релация МНОГО-КЪМ МНОГО в релация ЕДИН КЪМ МНОГО.

Това ще създаде подчинена таблица, която разделя връзката МНОГО-ДО-МНОГО. Тази таблица ще съдържа вграден композитен ключ (FK) с атрибути, вградени от главните таблици и съответните им типове данни. Ако трябва да промените типа данни, трябва да го направите ръчно.

Процесът на създаване на модел включва следните етапи:

  1. От прозореца може да се създаде нов модел Компютърни сътрудници ERwin или щракнете върху бутона за създаване на модел. И в двата случая ще се покаже диалогов прозорец. Създаване на модел - Изберете шаблон (фиг. 5.1).
  1. В прозореца Създаване на модел - Изберете шаблон трябва да изберете опцията, която определя възможността за създаване на модели на данни от определен тип: Логично(можете само да създавате Логически модел), Физически(можете само да създавате Физически модел) или Логически / Физически(можете да създадете и двата модела паралелно: и Логично , и Физически). За да имате повече опции, препоръчително е да изберете последната опция - Логически / Физически .
  2. V Целева група от база данни от списъка, предложен в полето База данни, изберете система за управление на база данни (СУБД) - SQL Server, и на полето Версияверсията, която искате - 2000 .
  3. В прозореца, който се показва < Main Subject Area >/ Дисплей] изберете типа на създадения модел от списъка: Логичноили Физически(фиг.5.2).

В лентата с инструменти ERwin Toolboxсъдържа бутони, които ви позволяват да добавяте към модела на данни и да редактирате неговите отделни фрагменти:

Изберете(редактиране на избрания модел обект),

Обект(добавяне на обект),

Много - към - много Връзка(Връзка много към много)

Идентифицираща връзка (идентифициране на връзката),

Неидентифицирана връзка (неидентифицираща връзка).

4.1.2. Технологичният процес на създаване на логически модел на данни

В процеса на създаване на модел обектите могат да бъдат инжектирани чрез импортиране от речник на обекти, разработен в BPwin,или чрез създаване с бутон Обектна лентата с инструменти.

Импортиране на обекти в ERwin

Забележки

  • Обектите могат да бъдат експортирани и импортирани само веднъж.
  • След импортиране на обекти от BPwinзнамена Обмен с ERwinи бутони Актуализиранеи Изтрийв диалоговия прозорец Редактор на речник на обекти и атрибути стават скучни. Това е така, защото не можете да промените обекти и атрибути, които BPwinсподеля с ERwin.

  1. Създаване на нови субекти.
    • Щракнете върху бутона за добавяне на обекти Обекти щракнете в прозореца на модела.
    • Подходящо име на обект и натиснете Влезте,след това въведете име на атрибут субекти.
    • За да изберете желания шрифт, изпълнете p. 1.9–1.12.
  2. Добавяне на нови атрибути.
    • В контекстното меню на обекта изберете командата Атрибути ...и в появилия се прозорец (фиг.5.4) натиснете бутона Нов.
    • В прозореца Нови атрибути(фиг. 5.6) въведете името на атрибута в полето Име на атрибут .
    • Задайте типа данни на всеки атрибут за всеки обект: Текст (низ), число (число), дата/час (дата и час) или поле за бележка (Б инарноЛ argeОб джект, Blob) (фиг.5.5 или фиг.5.6) .
    • Дефинирайте ключови атрибути, като поставите отметка в квадратчето Първичен ключв прозореца Атрибути(Фиг.5.5) след маркиране на необходимия атрибут в полето Атрибут.

Установяване на връзки между субектите

  1. Комуникационна настройка МНОГО-ДО-МНОГО:
    • В лентата с инструменти Erwin Toolboxнатиснете бутона Връзка много към много .
    • Щракнете последователно с ляв бутон върху имената на обектите, между които искате да създадете връзка (фиг. 5.7).

  1. Инсталация идентифициранеЕДНА КЪМ МНОГО връзки:
    • В лентата с инструменти Erwin Toolboxнатиснете бутона Идентифициране на връзката.
    • ключ ключов атрибутподчинено лице (FK)разположен от страната на LOT (фиг. 5.8).
    • В подчинения обект се генерира съставен ключ.

  1. Инсталация неидентифициращиЕДНА КЪМ МНОГО връзки:
    • В лентата с инструменти Erwin Toolboxнатиснете бутона Неидентифицирана връзка .
    • Последователно щракнете с левия бутон върху имената на обектите, между които искате да създадете връзка. Резултатът от създаването на връзка ще бъде въведението ключатрибут на основната единица като неключов атрибут подчинено лице (FK)разположен от страната на LOT (фиг. 5.9).

4.1.3. Технологичен процес за създаване на модел на физически данни

Резултатът от изпълнението на командата ще бъде автоматично създаден физически модел, в който ще бъдат представени таблици вместо обекти, а полетата на таблицата ще бъдат представени вместо атрибути на обект.

  1. Във физическия модел проверете типовете данни и връзките, установени между таблиците.

4.2. Работен процес за нормализиране на модела на физически данни (методология IDEF1X)

  1. В прозореца Computer Associates ERwin -)