Създаване на ERD диаграми по метода IDEF I

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

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

диаграми
Фигура 4. Прозорец с атрибути на избран обект

idef
Фигура 5. Прозорец за създаване на атрибут

След като обектите са създадени, между тях се създават връзки. Когато създавате идентифицираща връзка, атрибутите, които съставляват първичния ключ на родителския обект, мигрират към първичния ключ на дъщерния обект; когато създавате неидентифицираща връзка, те просто мигрират към състава на атрибутите на дъщерния обект. Можете да зададете свойствата на връзката или да промените типа й, като щракнете двукратно върху нея или изберете Свойства на връзката от контекстното меню (фиг. 6). Тук, в раздела Общи, можете да зададете името на връзката (в посока родител-дете и дете-родител), силата на връзката (нула, едно или повече; едно и повече (P); нула или едно (Z); точно (конкретно число)), промяна на типа връзка. В раздела RI Action можете да зададете ограничения за интегритет.

Пример за модел на логическа база данни е показан на фиг. 7.

като
Фигура 6. Прозорец със свойства на връзката

Фигура 7. Пример за логическа схема на базата данни

Физическият слой на модела на данни

При превключване от логическото ниво към физическото, схемата на физическата база данни ще бъде създадена автоматично (фиг. 8)

Фигура 8. Автоматично генерирана физическа схема на база данни

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

По готовата физическа схема можете да генерирате скриптове за избраната СУБД, като за целта се използва елемент от менюто Инструменти -> Предварителен инженеринг/генериране на схема (фиг. 9).

idef

Фигура 9. Прозорец за генериране на SQL скриптове за целевата СУБД__

Тази лаборатория ще се брои заедно с Лаборатория 9 „Изграждане на модел на данни за логически домейн“.

IDEF1X IDEF1X се основава на подхода на Chen и ви позволява да изградите модел на данни, еквивалентен на релационен модел в третата нормална форма. Нотацията на Чен и процесът на конструиране на диаграми обект-връзка са изучавани в курса "Организация на бази данни и знания", така че тук ще разгледаме само разликите между IDFE1X и нотацията на Чен.

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

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

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

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

В IDEF1X има следните типове капацитет на връзката:

  • N кардиналност - всеки екземпляр на родителски обект може да има нула, един или повече от един екземпляр на дъщерен обект, свързан с него (по подразбиране);
  • R мощност - всеки екземпляр на родителския обект трябва да има поне един екземпляр на дъщерния обект, свързан с него;
  • Z кардиналност - всеки екземпляр на родителски обект трябва да има не повече от един екземпляр на дъщерен обект, свързан с него;
  • конкретен брой - всеки екземпляр на родителския обект е свързан с някакъв фиксиран брой екземпляри на дъщерния обект.

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

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

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

Изграждането на модел на данни започва с избора на обектите на даденапредметна област. В нашия случай бяха избрани следните обекти:

  • клиент - лице, което купува компютри
  • поръчка - списък с компютри, които клиентът купува
  • компютър
  • компоненти - от какво се сглобяват компютрите
  • служител - служител на предприятието, който сглобява конкретен компютър

След това разгледайте връзките между обектите:

  • Клиент - Поръчка. Един клиент може да направи няколко поръчки. Освен това, ако данните за клиента са налични в базата данни, тогава той е направил поне една поръчка. Следователно комуникационната мощност е R. Връзката е идентифицираща, т.к. поръчка не може да съществува без клиент;
  • Поръчка - Компютър. В рамките на една поръчка клиентът може да поръча няколко компютъра, но поне поръчката трябва да се състои от един компютър. Следователно комуникационната мощност е R. Връзката е идентифицираща, т.к. компютърът не може да съществува без ред;
  • Компютърни аксесоари. Един компютър включва много различни компоненти; един и същи тип компонент може да бъде включен в различни компютри. Силата на връзката е много към много. IDEF1X няма този тип връзка, затова въвеждаме междинна (асоциативна) единица - Configuration. Силата на връзката между обектите Компютър и Конфигурация е R, тъй като всеки компютър трябва да има конфигурация, мощността между обектите Компоненти и Конфигурация е N, тъй като някои компоненти може все още да не са инсталирани в нито един компютър. Връзката и в двата случая е идентифицираща, т.к компютърната конфигурация не може да съществува без връзка със самия компютър и неговите компоненти;
  • Аксесоари - Вид аксесоари. Тъй като списъкът с типове компоненти, които могат да бъдат инсталирани в компютър, е ограничен, но се използва многочесто тогава решихме да създадем друг обект - Тип на компонентите. Комуникационна сила - R. Комуникационна идентификация;
  • Компютър - Служител. Всеки компютър се сглобява от един човек. Някои служители могат да сглобяват много компютри. Капацитетът на връзката е N. Типът връзка е неидентифициращ, тъй като екземпляр на обекта Computer може вече да съществува, но към него все още не може да е назначен служител. Поради същите причини избрахме превключвателя „Позволени нулеви стойности“ в свойствата на тази връзка (в диаграмата това се показва като незапълнен ромб от страната на родителския обект. Последната диаграма е показана на Фиг. 10:

обект

Фигура 10. Логически модел на данни на предприятие за сглобяване на компютри и лаптопи