One-to-many relationship si erwin. Mga pangunahing kaalaman sa pagtatrabaho sa Erwin. Pagbuo ng lohikal na modelo ng data. Pagtatakda ng mga panuntunan sa pagpapatunay

Real estate

Laboratory work No. 3. Pagmomodelo ng Database kasama si Erwin

Layunin- Pagkuha ng mga mag-aaral ng mga praktikal na kasanayan sa paglikha ng lohikal at pisikal na mga modelo ng data gamit ang CASE - mga tool sa pagbuo ng mga sistema ng impormasyon.

Pangunahing impormasyon

Sinusuportahan ng ERwin ang forward at reverse database modelling. Sa direktang pagmomodelo, ang database schema ay direktang inilarawan gamit ang isang entity-relationship diagram. Ang mga entity sa diagram ay kinakatawan ng mga parihaba. Ang bawat parihaba ay maaaring magkaroon ng iba't ibang visual na katangian. Dapat bigyan ng natatanging pangalan ang bawat entity. Ang mga pangalan ng entity ay dapat na isahan. Ito ay tinutukoy ng katotohanan na ang system ay palaging gumagana sa magkahiwalay na mga pagkakataon ng entity. Sa kasong ito, ang mga indibidwal na pagkakataon ng isang entity ay itinuturing bilang mga bagay, at ang mga entity ay itinuturing bilang isang klase ng mga bagay. Kung ang mga entity ay inilarawan sa panahon ng pagmomodelo sa BPwin, maaari silang mai-import lamang sa ERwin. Ang isang halimbawa ng isang diagram na may mga nilikha na entity ay ipinapakita sa figure.

Figure 4 - Isang halimbawa ng diagram na may mga nilikhang entity

Building Models sa ERwin

Mayroong dalawang punto ng view sa modelo ng impormasyon at, nang naaayon, dalawang antas ng modelo. Ang una - ang lohikal na antas (point of view ng gumagamit) ay nangangahulugang isang direktang pagpapakita ng mga katotohanan mula sa totoong buhay. Halimbawa, ang mga tao, mesa, departamento, aso, at computer ay mga tunay na bagay. Ang mga ito ay pinangalanan sa natural na wika, na may anumang mga salitang naghihiwalay (mga puwang, kuwit, atbp.). Sa pisikal na antas ng modelo, ang paggamit ng isang partikular na DBMS ay isinasaalang-alang, ang mga uri ng data (halimbawa, integer o tunay na numero), ang mga index para sa mga talahanayan ay tinutukoy.

Nagbibigay ang ERwin ng kakayahang lumikha at pamahalaan ang dalawang magkaibang antas ng pagtatanghal na ito ng iisang diagram (modelo), pati na rin ang pagkakaroon ng maraming opsyon sa pagpapakita sa bawat antas. Ang terminong "lohikal na antas" sa ERwin ay tumutugma sa konseptong modelo.

Mga yugto ng pagbuo ng isang modelo ng impormasyon.

  • kahulugan ng mga entidad;
  • pagpapasiya ng mga dependencies sa pagitan ng mga entity;
  • pagtatakda ng pangunahin at kahaliling mga susi;
  • kahulugan ng mga katangian ng entity;
  • pagdadala ng modelo sa kinakailangang antas ng normal na anyo;
  • paglipat sa pisikal na paglalarawan ng modelo: pagtatalaga ng mga sulat na pangalan ng entity - pangalan ng talahanayan, katangian ng entity - katangian ng talahanayan;
  • pagtatakda ng mga trigger, pamamaraan, at mga hadlang;
  • pagbuo ng database.

Lumilikha si Erwin ng visual na representasyon (modelo ng data) para sa problemang niresolba. Maaaring gamitin ang view na ito para sa detalyadong pagsusuri, pagpipino at pagpapakalat ng dokumentasyong kailangan sa yugto ng pag-unlad. Gayunpaman, ang ERwin ay malayo sa pagiging isang tool sa pagguhit lamang. Awtomatikong ginagawa ng ERwin ang database (mga talahanayan, index, naka-imbak na mga pamamaraan, mga pag-trigger ng integridad ng referential, at iba pang mga bagay na kailangan upang pamahalaan ang data).

Paglikha ng isang entidad.

Upang magdagdag ng entity sa modelo, mag-click sa button ng entity sa toolbar (Erwin Toolbox), pagkatapos ay mag-click sa lugar sa diagram kung saan mo gustong ilagay ang bagong entity. Ang pag-right-click sa isang entity at pagpili sa Entity Editor mula sa pop-up na menu ay maglalabas ng dialog ng Entity Editor, na tumutukoy sa pangalan, paglalarawan, at mga komento ng entity.

Ang bawat entity ay dapat na ganap na matukoy na may isang tekstuwal na paglalarawan sa tab na Kahulugan. Ang mga kahulugan na ito ay kapaki-pakinabang kapwa sa lohikal na antas, dahil pinapayagan ka nitong maunawaan kung anong uri ng bagay ito, at sa pisikal na antas, dahil maaari silang i-export bilang bahagi ng isang schema at magamit sa isang tunay na database ( GUMAWA NG COMMENT sa entity_name). Ang mga tab na Note, Note2, Note3, UDP (User Defined Properties) ay ginagamit upang magdagdag ng mga karagdagang komento at kahulugan sa isang entity.

Sa tab na Icon ng bawat entity, maaari mong itugma ang larawang ipapakita sa view ng modelo sa antas ng icon at ang larawang ipapakita sa lahat ng iba pang antas.

Ang tab na UDP ng dialog ng Entity Editor ay ginagamit upang tukuyin ang mga katangian na tinukoy ng user (User - Mga Tinukoy na Properties). Kapag nag-click ka sa button ng tab na ito, tinatawag ang User - Defined Property Editor dialog (tinatawag din mula sa Edit/UDPs menu). Sa loob nito, dapat mong tukuyin ang uri ng bagay kung saan sinimulan ang UDP (diagram sa kabuuan, entity, katangian, atbp.) at uri ng data. Upang magdagdag ng bagong property, i-click ang button sa talahanayan at ilagay ang pangalan, uri ng data, default na halaga, at kahulugan.

Paglikha ng mga katangian.

Ang susunod na hakbang sa paggawa ng modelo ay ang magtakda ng mga katangian para sa bawat entity. Kapag tumutukoy ng uri ng katangian, posibleng gumamit ng mga domain. Ang isang domain ay isang abstract na uri na tinukoy ng user na itinalaga sa anumang uri ng pisikal na data. Gayunpaman, ang bawat domain ay maaaring magkaroon ng sarili nitong mga default na halaga at mga panuntunan sa pagpapatunay ng input. Nagbibigay ang ERwin ng kakayahang idokumento ang lahat ng mga hakbang para sa paggawa ng sarili mong mga uri ng data. Gamit ang konsepto ng isang domain, ang database ay portable sa iba't ibang hardware platform.

Figure 5 - Paglikha ng bagong domain Figure 6 - Pagtukoy sa mga katangian ng bagong domain

Figure 7 - Default na halaga para sa bagong domain

Figure 8 - Paggamit ng isang domain upang tukuyin ang uri ng data ng isang katangian.

Upang ilarawan ang mga katangian, mag-right-click sa isang entity at piliin ang item na Editor ng Attribute mula sa lalabas na menu. Lalabas ang dialog ng Attribute Editor.

Kung nag-click ka sa Bagong button, pagkatapos ay sa Bagong Attribute dialog na lilitaw, maaari mong tukuyin ang pangalan ng katangian, ang pangalan ng column na naaayon dito sa pisikal na modelo, at ang domain. Gagamitin ang domain ng katangian kapag tinutukoy ang uri ng column sa antas ng pisikal na modelo.

Ang mga pangunahing katangian ng pangunahing key sa tab na Pangkalahatan ng dialog ng Attribute Editor ay dapat na naka-check sa kahon ng pagpili ng Pangunahing Key.
Ang mga tab na Definition, Note at UDP ay may parehong mga function tulad ng sa pagtukoy ng isang entity, ngunit sa antas ng katangian.

Para sa higit na kalinawan ng diagram, ang bawat katangian ay maaaring iugnay sa isang icon. Magagawa ito gamit ang listahan ng pagpili ng Icon sa tab na Pangkalahatan.

Napakahalaga na bigyan ang katangian ng tamang pangalan. Ang mga katangian ay dapat na pinangalanan sa isahan at may malinaw na kahulugan ng semantiko.

Ayon sa syntax ng IDEF1X, ang pangalan ng katangian ay dapat na natatangi sa loob ng modelo (hindi lamang sa loob ng entity!). Bilang default, kapag sinubukan mong maglagay ng umiiral nang pangalan ng katangian, pinapalitan ito ng pangalan ng ERwin. Halimbawa, kung mayroon nang attribute na Comment sa modelo, isa pang attribute (sa ibang entity) ang tatawaging Comment/2, pagkatapos ay Comment/3, at iba pa.
Kapag naglilipat ng mga katangian sa loob at pagitan ng mga entity, maaari mong gamitin ang drag&drop technique sa pamamagitan ng pagpili ng button sa tool palette.

Upang lumikha ng bagong relasyon, pumili ng isang nagpapakilala o hindi nagpapakilalang relasyon sa tool palette (ERwin Toolbox), i-click muna ang magulang at pagkatapos ay ang child entity.
Sa tool palette, ang isang button ay tumutugma sa isang nagpapakilalang relasyon, isang many-to-many na button ng relasyon, at isang button sa isang hindi nagpapakilalang relasyon. Upang i-edit ang mga katangian ng isang relasyon, mag-right click sa relasyon at piliin ang Relationship Editor mula sa menu ng konteksto.

Sa tab na Pangkalahatan ng dialog na lalabas, maaari mong itakda ang kapangyarihan, pangalan at uri ng koneksyon.

Lakas ng komunikasyon (Cardinalidad)- nagsisilbing ipahiwatig ang ratio ng bilang ng mga instance ng parent entity sa bilang ng mga instance ng bata.
Mayroong apat na uri ng kapangyarihan:

Ang pangkalahatang kaso, kapag ang isang instance ng parent entity ay tumutugma sa 0, 1 o maraming instance ng child entity, ay hindi minarkahan ng anumang simbolo;

Ang simbolo na P ay nagmamarka ng kaso kapag ang isang instance ng parent na entity ay tumutugma sa 1 o maraming mga instance ng child entity (zero value ay hindi kasama);

· minarkahan ng simbolong Z ang kaso kapag ang isang instance ng parent entity ay tumutugma sa 0 o 1 instance ng child entity (maraming value ang hindi kasama);

· ang figure ay nagmamarka ng kaso kapag ang isang instance ng parent entity ay tumutugma sa isang paunang natukoy na bilang ng mga instance ng child entity.

Bilang default, ang simbolo ng kapangyarihan ng link ay hindi ipinapakita sa diagram. Upang ipakita ang pangalan, gamitin ang menu ng konteksto na lilitaw kapag nag-right click ka saanman sa diagram na hindi inookupahan ng mga object ng modelo, piliin ang item na Mga Pagpipilian sa Pagpapakita/Relasyon, at pagkatapos ay paganahin ang opsyong Cardinality.

Uri ng link (pagkilala/hindi pagkilala).

Tinutukoy ng IDEF1X ang pagitan ng dependent at independent entity. Natutukoy ang uri ng isang entity sa pamamagitan ng kaugnayan nito sa iba pang entity. Ang isang pagkakakilanlan na relasyon ay itinatag sa pagitan ng mga independyente (magulang na dulo ng relasyon) at umaasa (bata na dulo ng relasyon) na mga entity. Kapag ang isang pagkakakilanlan na relasyon ay iginuhit, ERwin awtomatikong i-convert ang relasyon ng bata sa isang umaasa na relasyon. Ang isang umaasang entity ay kinakatawan ng isang parihaba na may mga bilugan na sulok.

Ang isang instance ng isang umaasang entity ay tinutukoy lamang sa pamamagitan ng isang kaugnayan sa pangunahing entity. Kapag naitatag ang isang pagkakakilanlan na relasyon, ang mga katangian ng pangunahing susi ng parent na entity ay awtomatikong ililipat sa pangunahing susi ng child entity. Ang operasyong ito ng pagdaragdag ng mga attribute sa isang child entity kapag gumagawa ng isang relasyon ay tinatawag na attribute migration. Sa child entity, ang mga bagong attribute ay minarkahan bilang mga foreign key - (FK).

Kapag naitatag ang isang hindi nagpapakilalang relasyon, nananatiling independyente ang child entity, at ang mga pangunahing pangunahing katangian ng parent na entity ay lumilipat sa mga hindi pangunahing bahagi ng child entity. Ang isang hindi nagpapakilalang relasyon ay ginagamit upang iugnay ang mga independiyenteng entity.

Ang isang nagpapakilalang relasyon ay ipinapakita sa diagram bilang isang solidong linya na may naka-bold na tuldok sa bata na dulo ng relasyon, ang isang hindi nagpapakilalang relasyon ay ipinapakita bilang isang may tuldok na linya.

Para sa isang hindi nagpapakilalang relasyon, maaari mong tukuyin kung ito ay sapilitan (Mga Nulls sa General tab ng dialog ng Relationship Editor). Sa kaso ng isang ipinag-uutos na relasyon (No Nulls), kapag bumubuo ng database schema, ang foreign key attribute ay makakatanggap ng NOT NULL attribute, sa kabila ng katotohanan na ang foreign key ay hindi isasama sa primary key ng child entity. Sa kaso ng isang opsyonal na relasyon (Nulls Allowed), ang foreign key ay maaaring NULL. Ang isang opsyonal na relasyon na hindi nagpapakilala ay minarkahan ng isang transparent na brilyante sa gilid ng parent na entity

Pangalan ng Relasyon (Parirala ng Pandiwa)- isang pariralang nagpapakilala sa ugnayan ng magulang at anak. Para sa isang one-to-many na nagpapakilala o hindi nagpapakilalang relasyon, sapat na upang tumukoy ng isang pangalan na nagpapakilala sa kaugnayan mula sa magulang hanggang sa child entity (Parent-to-Child). Para sa isang many-to-many na relasyon, dapat na tukuyin ang mga pangalan ng Parents-to-Child at Child-to-Magulang. Upang ipakita ang pangalan, gamitin ang menu ng konteksto na lalabas kapag nag-right-click ka saanman sa diagram na hindi inookupahan ng mga object ng modelo, piliin ang item na Display Options/Relationship, at pagkatapos ay paganahin ang opsyon na Verb Phrase.

Pangalan ng tungkulin o pangalan ng pagganap (Rolename) ay isang kasingkahulugan para sa isang foreign key attribute na nagsasaad kung anong papel ang ginagampanan ng attribute sa child entity. Maaari mong itakda ang pangalan ng tungkulin sa tab na Rolename/RI Actions ng dialog ng Relationship Editor.

Paglikha ng mga susi.

Ang bawat instance ng entity ay dapat na natatangi at naiiba sa iba pang mga katangian.

Pangunahing susi ay isang katangian o pangkat ng mga katangian na natatanging tumutukoy sa isang instance ng isang entity. Ang mga pangunahing pangunahing katangian sa diagram ay hindi nangangailangan ng espesyal na pagtatalaga - ang mga ito ay ang mga katangiang nasa listahan ng mga katangian sa itaas ng pahalang na linya. Kapag nagdaragdag ng bagong attribute sa dialog ng Attribute Editor, upang gawin itong pangunahing katangian ng key, dapat na paganahin ang checkbox ng Pangunahing Key sa ibaba ng tab na Pangkalahatan. Sa diagram, maaaring idagdag ang key attribute sa primary key gamit ang attribute transfer mode (button sa tool palette).

Ang isang entity ay maaaring may ilang mga katangian o hanay ng mga katangian na nagsasabing sila ang pangunahing susi. Ang mga naturang aplikante ay tinatawag mga susi ng kandidato.

Maaaring kumplikado ang mga susi, ibig sabihin. naglalaman ng maraming katangian. Ang mga kumplikadong pangunahing key ay hindi nangangailangan ng espesyal na notasyon - ito ay isang listahan ng mga katangian sa itaas ng pahalang na linya. Kapag pumipili ng pangunahing susi, ang kagustuhan ay dapat ibigay sa mas simpleng mga susi, i.e. mga key na naglalaman ng mas kaunting mga katangian.

Maraming entity ang mayroon lamang isang susi ng kandidato. Ang susi na ito ay nagiging pangunahing susi. Ang ilang entity ay maaaring magkaroon ng higit sa isang posibleng key. Pagkatapos ang isa sa kanila ay magiging pangunahing susi at ang natitira ay magiging mga alternatibong susi.

Alternatibong Susi ay isang susi ng kandidato na hindi naging pangunahing susi.

Ang bawat key ay tumutugma sa isang index, ang pangalan nito ay awtomatikong itinalaga. Ang mga pangalan ng susi at index ay maaaring baguhin nang manu-mano kung ninanais.

Sa diagram, ang mga katangian ng mga alternatibong susi ay tinutukoy bilang (Akn.m.), kung saan ang n ay ang ordinal na numero ng susi, ang m ay ang ordinal na numero ng katangian sa susi. Kapag ang isang kahaliling key ay naglalaman ng maraming katangian, (Akn.m.) ay inilalagay pagkatapos ng bawat isa.

Mga Banyagang Susi ay awtomatikong ginagawa kapag ang isang relasyon ay nag-uugnay sa mga entity: ang mga relasyon ay bumubuo ng isang link sa mga pangunahing pangunahing katangian sa child entity at ang mga katangiang ito ay bumubuo ng isang dayuhang susi sa child entity (key migration). Ang mga foreign key attribute ay tinutukoy ng isang (FK) na character pagkatapos ng kanilang pangalan.

Ang isang umaasang entity ay maaaring magkaroon ng parehong susi mula sa maraming parent na entity. Ang isang entity ay maaari ding makakuha ng parehong foreign key nang maraming beses mula sa parehong magulang sa pamamagitan ng maraming magkakaibang relasyon. Kapag nakatagpo ng ERwin ang isa sa mga kaganapang ito, kinikilala nito na ang dalawang katangian ay pareho at inilalagay ang mga dayuhang pangunahing katangian sa umaasang entity nang isang beses lang. Ang kumbinasyon o unyon ng magkatulad na katangian ay tinatawag na unification.

May mga pagkakataon na hindi kanais-nais ang pag-iisa. Halimbawa, kapag ang dalawang katangian ay may parehong pangalan, ngunit sa katunayan sila ay naiiba sa kahulugan, at ito ay kinakailangan na ang pagkakaiba na ito ay makikita sa diagram. Sa kasong ito, dapat mong gamitin ang mga dayuhang pangunahing pangalan ng tungkulin.

Ang mga relasyon sa diagram ay kinakatawan ng mga linyang papunta sa isang entity (talahanayan) patungo sa isa pa. Ang bawat link ay itinalaga ng isang natatanging pangalan. Ang mga kaugnay na talahanayan ay nahahati sa mga talahanayan ng magulang at anak. Ang mga talahanayan ng magulang ay ipinapakita bilang mga parihaba na parihaba, ang mga talahanayan ng bata ay bilugan.

Matapos tukuyin ang lahat ng mga katangian ng format ng data, kinakailangan na i-convert ang nilikha na lohikal na modelo sa isang pisikal. Para dito kinakailangan sa Mga gamit pumili Kumuha ng Bagong Modelo, kung saan pipiliin ang Mga Target na Database ODBC/Generic(para sa paggamit sa MySQL DBMS) tingnan ang Figure 9. Ang aming modelo (tingnan ang Figure 4) ay mako-convert sa form tingnan ang Figure 11.

Figure 9 - Pag-convert ng isang lohikal na modelo sa isang pisikal

Figure 10 - Pisikal na modelo na nagpapahiwatig ng format ng data.

Figure 11 - Pagbuo ng SQL code

Mag-ehersisyo

1. Bumuo ng isang diagram na may mga ibinigay na entity (direktang pagmomodelo) para sa isang partikular na lugar ng paksa.

2. Magtakda ng mga katangian para sa bawat tinukoy na entity. Kapag nagtatakda ng mga katangian, gumamit ng mga domain.

3. Maglagay ng mga ugnayan sa pagitan ng mga entity. Bigyan ang mga link ng mga natatanging pangalan.

4. Gamit ang MYSQL DBMS, lutasin ang direktang pagbuo ng database para sa inaasahang impormasyon.

5. Ang ulat ay dapat maglaman ng isang konseptwal na modelo at isang pisikal na database sa MYSQL DBMS.

mga tanong sa pagsusulit

1. Ano ang pagkakaiba sa pagitan ng lohikal at pisikal na antas ng kumakatawan sa mga modelo ng data gamit ang ERwin?

2. Ano ang pagkakaiba sa pagitan ng mga modelo ng data na ipinakita sa anyo ng isang entity-relationship diagram, batay sa mga susi at sa anyo ng isang buong modelo ng katangian?

3. Ano ang mga pangunahing bahagi ng mga modelo ng data na ipinakita ayon sa pamamaraan ng IDEF1X?


Ang listahan ng mga uri ng data na sinusuportahan ng DBMS ay dapat suriin sa tagagawa

6. Pagmomodelo sa ERwin

Ang lugar ni ERwin sa pagmomolde ng impormasyon
Ang proseso ng pagbuo ng isang modelo ng impormasyon ay binubuo ng mga sumusunod na hakbang:

  • kahulugan ng mga entidad;
  • pagpapasiya ng mga dependencies sa pagitan ng mga entity;
  • pagtatakda ng pangunahin at kahaliling mga susi;
  • kahulugan ng mga katangian ng entity;
  • pagdadala ng modelo sa kinakailangang antas ng normal na anyo;
  • paglipat sa pisikal na paglalarawan ng modelo: pagtatalaga ng mga sulat na pangalan ng entity - pangalan ng talahanayan, katangian ng entity - katangian ng talahanayan; pagtatakda ng mga trigger, pamamaraan, at mga hadlang;
  • pagbuo ng database.

Lumilikha si ERwin ng visual na representasyon (modelo ng data) para sa problemang niresolba. Maaaring gamitin ang representasyong ito para sa detalyadong pagsusuri, pagpipino at pagpapakalat bilang bahagi ng dokumentasyong kailangan sa yugto ng pag-unlad. Gayunpaman, ang ERwin ay malayo sa pagiging isang tool sa pagguhit lamang. Awtomatikong ginagawa ng ERwin ang database (mga talahanayan, index, naka-imbak na mga pamamaraan, mga pag-trigger ng integridad ng referential, at iba pang mga bagay na kailangan upang pamahalaan ang data).

Pagma-map sa lohikal at pisikal na layer ng modelo ng data sa ERwin

Mayroong dalawang antas ng representasyon at pagmomodelo sa ERwin - lohikal at pisikal. Ang lohikal na antas ay nangangahulugan ng direktang pagpapakita ng mga katotohanan mula sa totoong buhay. Halimbawa, ang mga tao, mesa, departamento, aso, at computer ay mga tunay na bagay. Ang mga ito ay pinangalanan sa natural na wika, na may anumang mga salitang naghihiwalay (mga puwang, kuwit, atbp.). Sa lohikal na antas, ang paggamit ng isang partikular na DBMS ay hindi isinasaalang-alang, ang mga uri ng data (halimbawa, integer o tunay na numero) ay hindi tinukoy, at ang mga index para sa mga talahanayan ay hindi tinukoy.
Ang target na DBMS, mga pangalan ng bagay at mga uri ng data, mga index ay bumubuo sa pangalawang (pisikal) na antas ng modelong ERwin.
Nagbibigay ang ERwin ng kakayahang lumikha at pamahalaan ang dalawang magkaibang antas ng pagtatanghal na ito ng iisang diagram (modelo), pati na rin ang pagkakaroon ng maraming opsyon sa pagpapakita sa bawat antas.

Mga Bahagi ng Tsart ng ERwin at Mga Pangunahing Pagtingin sa Tsart

Ang diagram ng ERwin ay binuo mula sa tatlong pangunahing bloke - mga entity, mga katangian at mga relasyon. Kung isasaalang-alang natin ang diagram bilang isang graphical na representasyon ng mga patakaran ng paksa, kung gayon ang mga entidad ay mga pangngalan, at ang mga relasyon ay mga pandiwa.
Ang pagpili sa pagitan ng lohikal at pisikal na antas ng pagpapakita ay isinasagawa sa pamamagitan ng toolbar o menu. Sa loob ng bawat isa sa mga antas na ito, mayroong mga sumusunod na mode ng pagpapakita:

  • "Entity" mode - ang pangalan ng entity (para sa lohikal na modelo) o ang pangalan ng talahanayan (para sa pisikal na representasyon ng modelo) ay ipinapakita sa loob ng mga parihaba; ay ginagamit upang maginhawang tingnan ang isang malaking diagram o ilagay ang mga parihaba ng entity sa diagram.
  • Ginagamit ang entity definition mode para ipakita ang diagram sa ibang tao.
  • Mode ng mga katangian. Kapag lumilipat mula sa lugar ng paksa patungo sa modelo, kinakailangang maglagay ng impormasyon tungkol sa kung ano ang bumubuo sa entity. Ang impormasyong ito ay ipinasok sa pamamagitan ng pagtatakda ng mga katangian (sa pisikal na antas - mga haligi ng mga talahanayan). Sa mode na ito, ang entity-rectangle ay nahahati sa isang linya sa dalawang bahagi - ang mga katangian (column) na bumubuo sa pangunahing key ay ipinapakita sa itaas na bahagi, at ang iba pang mga katangian ay ipinapakita sa ibabang bahagi. Ang mode na ito ang pangunahing kapag nagdidisenyo sa lohikal at pisikal na antas.
  • Mode na "primary keys" - sa loob ng mga parihaba - tanging ang mga attribute/column na bumubuo sa primary key ang ipinapakita.
  • Icon mode. Para sa mga layunin ng pagtatanghal, ang bawat talahanayan ay maaaring magtalaga ng isang icon (bitmap).
  • Mode ng pagpapakita ng parirala ng pandiwa. Ang mga link arc ay nagpapakita ng mga pariralang pandiwa na nagli-link ng mga entity (para sa lohikal na antas) o mga pangalan ng dayuhang key (para sa pisikal na antas).

Ang isang tsart ay maaaring sumasaklaw ng higit sa isang screen at higit sa isang sheet kapag naka-print. Bilang karagdagan sa pag-scroll sa screen, para sa pagsusuri ng modelo, may mga mode ng pagbawas / pagpapalaki ng imahe, pagpapakita ng buong modelo, pagpapakita ng napiling bahagi ng modelo.

Mga tool para sa paglikha ng isang modelo sa ERwin

Ang mga pangunahing tool para sa paglikha ng isang modelo ay magagamit sa parehong menu at sa pamamagitan ng tool window. Sa kanilang tulong, ang mga independiyente at umaasang entity ay nilikha, pagkilala at hindi pagkilala sa mga relasyon, kumpleto at hindi kumpletong mga kategorya, hindi partikular na mga relasyon at mga elemento ng teksto.
Ang pag-click sa mouse sa ibabaw ng isang entity ay pumapasok sa isa sa maraming editor ng ERwin:

  • mga editor na nauugnay sa entity sa kabuuan (kahulugan ng entity, karagdagang impormasyon, mga trigger, mga index, mga katangian ng talahanayan, mga pamamaraang nakaimbak na nauugnay sa talahanayan);
  • mga editor ng attribute (depinisyon ng katangian, mga column ng talahanayan sa pisikal na view ng modelo, 4GL tool repository, gaya ng mga pinahabang attribute sa PowerBuilder).

Pagkakakilanlan ng entidad. Mga nilalang sa ERwin

Sa diagram, ang isang entity ay kinakatawan ng isang parihaba. Depende sa mode ng pagtatanghal ng diagram, maaaring maglaman ang parihaba ng pangalan ng entity, paglalarawan nito, listahan ng mga katangian nito, at iba pang impormasyon.
Hinahati ng pahalang na linya ng parihaba ang mga katangian ng isang entity sa dalawang set - mga katangian na bumubuo sa pangunahing susi sa itaas na bahagi at iba pa (hindi kasama sa pangunahing susi) sa ibabang bahagi.
Ang entity ay isang hanay ng mga tunay o abstract na bagay, tulad ng mga tao, lugar, kaganapan, katotohanan, na may mga karaniwang katangian. Ang kakanyahan ay isang lohikal na konsepto. Ang entity ay tumutugma sa isang talahanayan sa isang tunay na DBMS. Sa ERwin, biswal na kinakatawan ng isang entity ang tatlong pangunahing uri ng impormasyon:

  • mga katangian na bumubuo sa pangunahing susi;
  • mga hindi pangunahing katangian;
  • uri ng entity (independent/dependent).

Ang pangunahing key ay isang katangian o hanay ng mga katangian na natatanging tumutukoy sa isang instance ng isang entity. Kung ang ilang mga hanay ng mga katangian ay maaaring natatanging makilala ang isang entity, kung gayon ang pagpili ng isa sa mga ito ay isinasagawa ng developer batay sa pagsusuri ng lugar ng paksa.
Para sa bawat pangunahing key, ang ERwin ay lumilikha ng isang natatanging index kapag bumubuo ng istraktura ng database.
Ang mga pagkakataon ng isang independiyenteng entity ay maaaring natatanging makilala nang hindi tinutukoy ang mga kaugnayan nito sa ibang mga entity; ang isang umaasang entity, sa kabilang banda, ay hindi maaaring matukoy nang hindi natukoy ang mga kaugnayan nito sa ibang mga entidad. Ang isang umaasang entity ay ipinapakita sa ERwin bilang isang bilugan na parihaba.

Mga relasyon kay ERwin

Ang isang relasyon ay isang functional dependency sa pagitan ng dalawang entity (sa partikular, ang isang entity ay maaaring nauugnay sa sarili nito). Halimbawa, mahalagang malaman ang pangalan ng isang empleyado, at mahalagang malaman kung saang departamento siya nagtatrabaho. Kaya, sa pagitan ng mga entidad na "kagawaran" at "empleyado" mayroong isang relasyon na "binubuo ng" (isang departamento ay binubuo ng mga empleyado). Ang relasyon ay isang konsepto ng lohikal na antas na tumutugma sa isang dayuhang susi sa pisikal na antas. Sa ERwin, ang mga relasyon ay kinakatawan ng limang pangunahing piraso ng impormasyon:

  • uri ng koneksyon (pagkilala, hindi pagkilala, kumpleto/hindi kumpletong kategorya, hindi tukoy na koneksyon);
  • parent entity;
  • child (dependent) entity;
  • kapangyarihan ng komunikasyon (cardinality);
  • ang pagtanggap ng mga walang laman (null) na halaga.

Ang isang relasyon ay tinatawag na pagtukoy kung ang isang instance ng isang child entity ay natukoy sa pamamagitan ng relasyon nito sa parent na entity. Ang mga attribute na bumubuo sa pangunahing key ng parent na entity ay kasama sa primary key ng child entity. Ang isang child entity sa isang nagpapakilalang relasyon ay palaging isang umaasa na entity.
Ang isang relasyon ay sinasabing hindi nagpapakilala kung ang isang instance ng isang child entity ay natukoy maliban sa pamamagitan ng isang relasyon sa parent na entity. Ang mga attribute na bumubuo sa pangunahing key ng parent na entity ay kasama sa mga hindi pangunahing attribute ng child entity.
Upang tukuyin ang mga relasyon sa ERwin, piliin ang uri ng relasyon, pagkatapos ay mag-click sa mga entity ng magulang at anak. Ang isang nagpapakilalang relasyon ay ipinapakita bilang isang solidong linya; hindi nagpapakilala - may tuldok na linya. Ang mga linya ay nagtatapos sa isang tuldok sa gilid ng child entity.
Kapag tinukoy ang isang relasyon, ang pangunahing pangunahing katangian ng parent na entity ay ililipat sa kaukulang lugar ng katangian ng child entity. Samakatuwid, ang mga naturang katangian ay hindi ipinasok nang manu-mano.
Ang mga pangunahing katangian ng pangunahing entity ay inilipat kasama ang kanilang mga pangalan bilang default. Pinapayagan ka ng ERwin na magpasok ng mga tungkulin para sa kanila, i.e. mga bagong pangalan kung saan kakatawanin ang mga migrating na attribute sa child entity. Sa kaso ng maraming paglilipat ng isang katangian, ang naturang pagpapalit ng pangalan ay kinakailangan. Halimbawa, ang entity na "intermediary transaction" ay may attribute na "code ng nagbebenta ng kumpanya" at "code ng bumibili ng kumpanya." Sa kasong ito, ang pangunahing susi ng entity na "enterprise" ("enterprise code") ay may dalawang tungkulin sa child entity.
Sa pisikal na antas, ang pangalan ng tungkulin ay ang pangalan ng foreign key column sa child table.
Ang cardinality ng isang link ay ang ratio ng bilang ng mga instance ng parent entity sa katumbas na bilang ng mga instance ng child entity. Para sa anumang relasyon maliban sa hindi partikular, ang relasyon na ito ay isinulat bilang 1:n.
Ang ERwin, alinsunod sa pamamaraan ng IDEF1X, ay nagbibigay ng 4 na opsyon para sa n, na kinakatawan ng karagdagang karakter sa child entity: zero, isa o higit pa (bilang default); zero o isa; eksaktong N, kung saan ang N ay isang tiyak na numero.
Ang admissibility ng NULL values ​​sa non-identifying relationships ERwin inilalarawan ang isang walang laman na brilyante sa arc ng relasyon mula sa gilid ng parent entity.
Ang mga pagtatalaga ng kapangyarihan, ayon sa pagkakabanggit, zero, isa o higit pa, isa o higit pa, zero o isa sa notasyon ng IE ay ipinapakita sa Fig. isa.

Fig.1. I-link ang power notation sa IE notation

Ang pangalan ng link sa lohikal na antas ay isang "pandiwa" na nag-uugnay sa mga entity. Ang pisikal na pangalan ng link (na maaaring iba sa lohikal na isa) para sa ERwin ay nangangahulugang ang pangalan ng hadlang (constraint) o index.

Pag-edit ng Graphical na Modelo

Ang lahat ng mga bagay ng modelo ng ERwin ay maaaring i-edit sa pamamagitan ng mga paraan na tinatanggap sa Windows - pagpapangkat, pagkopya, pagtanggal, paglipat, gamit ang buffer ng system. Ang mga kulay at font ay nakatakda sa mga maginhawang dialog.
Ang mga bahagi ng modelo na kinakatawan ng teksto (mga pangalan ng mga entity, mga katangian, mga elemento ng teksto) ay maaaring direktang i-edit sa screen.

Mga Alternatibong Susi

Ang kahaliling susi ay isang katangian (o pangkat ng mga katangian) na iba sa pangunahing susi at natatanging tumutukoy sa isang instance ng isang entity. Halimbawa, para sa empleyado ng entity (employee ID, apelyido, first name, patronymic), ang pangkat ng mga attribute na "apelyido", "first name", "patronymic" ay maaaring isang alternatibong key (ipagpalagay na ang buong pangalan ay hindi gumagana. sa negosyo).
Para sa isang alternatibong key, pati na rin para sa isang pangunahing, ERwin awtomatikong lumilikha ng mga index kapag bumubuo ng isang database.

Baliktad na mga indeks

Ang mga attribute na bumubuo sa kahaliling key ay hindi malabo (natatangi) na kinikilala ang mga instance ng entity. Sa ERwin, maaari ka ring bumuo ng mga pangkat ng katangian na hindi natatanging tumutukoy sa mga instance ng entity, ngunit kadalasang ginagamit upang ma-access ang data. Para sa bawat ganoong pangkat ng katangian, ang ERwin ay gumagawa ng mga hindi natatanging index.
Ang parehong mga katangian ng entity ay maaaring isama sa maraming iba't ibang mga pangunahing pangkat.

Pagkakaisa ng Katangian

Ang isang umaasang entity ay maaaring magmana ng parehong foreign key mula sa higit sa isang parent entity, o mula sa parehong parent entity sa pamamagitan ng maraming relasyon. Maliban kung ang mga natatanging tungkulin ay ipinakilala para sa naturang maramihang mana, isinasaalang-alang ng ERwin na ang mga foreign key attribute ay isang beses lang lumalabas sa isang umaasang entity.
Ang unification ay ang pagsasama-sama ng dalawa o higit pang foreign key attribute groups sa isang foreign key (attribute group), sa pagpapalagay na ang mga value ng parehong pinangalanang attribute sa child entity ay palaging pareho.
Isaalang-alang natin ang isang halimbawa: ang entity na "empleyado" ay may pangunahing key na "employee code" at iniuugnay ng isang pagkakakilanlan na relasyon sa mga entity na "asawa" at "mga anak." Sa kasong ito, ang pangunahing susi ay inilipat sa mga umaasang entity. Sa turn, ang entity na "asawa" ay may hindi nagpapakilalang relasyon sa entity na "mga anak." Mayroong dalawang pangunahing landas sa paglipat, gayunpaman, sa entity ng mga bata, ang attribute ng employee ID ay lilitaw nang isang beses bilang isang elemento ng pangunahing key.
May mga kaso kapag ang pag-iisa ng mga katangian ay nagbibigay ng hindi tamang resulta mula sa punto ng view ng lugar ng paksa. Upang pag-isahin ang mga katangian, ipinasok ang mga pangalan ng tungkulin.

Tinutukoy ng ilang entity ang isang buong kategorya ng mga bagay na may parehong uri. Sa ERwin, sa kasong ito, nilikha ang isang entity upang tukuyin ang kategorya at para sa bawat elemento ng kategorya, at pagkatapos ay may ipinasok na relasyon sa pagkakategorya para sa kanila. Ang parent entity ng isang kategorya ay tinatawag na supertype, at ang mga bata ay tinatawag na subtype.
Halimbawa, ang entity na "empleyado" ay maaaring maglaman ng data tungkol sa parehong mga full-time na empleyado at pansamantalang empleyado. Ang una at pangalawa ay may magkaiba, bahagyang magkakapatong na hanay ng mga katangian (ang pinakamababang intersection ng mga subtype ay ang pangunahing key). Ang karaniwang bahagi ng mga katangiang ito, kabilang ang pangunahing susi, ay inilalagay sa supertype na entity ng empleyado.
Ang ibang bahagi (halimbawa, data ng oras-oras na sahod para sa mga pansamantalang manggagawa at data ng suweldo at bakasyon para sa mga full-time na manggagawa) ay inilalagay sa mga subtype na entity.
Sa supertype na entity, isang katangian ng discriminator ang ipinakilala, na ginagawang posible na makilala sa pagitan ng mga partikular na pagkakataon ng subtype na entity.
Depende sa kung ang lahat ng posibleng subtype na entity ay kasama sa modelo, ang kategoryang relasyon ay kumpleto o hindi kumpleto. Ang pagpapatuloy ng halimbawa, kung ang isang supertype ay maaaring maglaman ng data tungkol sa mga tinanggal na empleyado, kung gayon ang relasyon na ito ay isang hindi kumpletong pagkakategorya, dahil walang entry para dito sa mga entity - mga subtype.
Sa ERwin, ang isang kumpletong kategorya ay kinakatawan ng isang bilog na may dalawang salungguhit, at isang hindi kumpletong kategorya ng isang bilog na may isang salungguhit.

Pagpapatupad ng Referential Integrity sa ERwin

Ang referential integrity ay ang pagpapatupad ng pangangailangan na ang mga foreign key value ng isang child entity instance ay tumugma sa mga pangunahing key value sa parent na entity. Maaaring kontrolin ang integridad ng sanggunian para sa lahat ng mga pagpapatakbo na nagbabago ng data (INSERT/UPDATE/DELETE). Kasama sa mga referential integrity controls sa ERwin ang awtomatikong pagbuo ng mga trigger at ang paggamit ng mga declarative referential integrity mechanism (para sa mga DBMS na sumusuporta sa mga mekanismong ito).
Para sa bawat koneksyon sa lohikal na antas, maaaring itakda ang mga kinakailangan para sa pagproseso ng INSERT / UPDATE / DELETE na mga operasyon para sa mga entity ng magulang at anak. Nagbibigay ang ERwin ng mga sumusunod na opsyon para sa paghawak ng mga kaganapang ito:

  • kakulangan ng pagpapatunay;
  • pagpapatunay;
  • pagbabawal ng operasyon;
  • pagpapatakbo ng cascading operation (DELETE/UPDATE);
  • pagtatakda ng walang laman (NULL value) o tinukoy na default na halaga.

Ayon sa napiling opsyon, awtomatikong lumilikha ang ERwin ng mga kinakailangang trigger sa SQL dialect ng target na DBMS. Kasabay nito, gumagamit si ERwin ng library ng mga template ng trigger na maaaring baguhin.
Kapag bumubuo ng istraktura ng database, ang mga pag-trigger ng integridad ng referential ay maaaring ma-override sa tatlong antas:

  1. Maaaring ma-override ang mga trigger upang magbigay ng mga panuntunan para sa buong modelo.
  2. Maaaring ma-override ang mga trigger na tinukoy para sa isang partikular na relasyon.
  3. Maaaring ma-override ang mga trigger na tinukoy para sa isang partikular na talahanayan.

Ang uri ng override ay tinukoy ng developer kapag bumubuo ng schema ng database (Fig. 6 - ayon sa pagkakabanggit, RI Type Override, Relationship Override, Entity Override).

Pag-iimbak ng Impormasyon sa isang ERwin Model

Karaniwan, ang mga modelo ng ERwin ay nai-save sa disk bilang isang file. Posibleng iimbak ang modelo sa target na DBMS. Upang gawin ito, gamit ang ERwin mismo, isang ERwin metabase ay nilikha sa target na DBMS. Ang impormasyon ng modelo ay naka-imbak sa database na ito. Sa isang partikular na kaso, ang database ay maaari ding mga dBase file kung saan gumagana ang ERwin sa pamamagitan ng ODBC.

Isang halimbawa ng pagbuo ng modelo sa ERwin

Isaalang-alang ang siklo ng pag-unlad gamit ang halimbawang ibinigay sa artikulo ni Codd.
Alalahanin natin sandali ang bahagi ng nilalaman ng problema. Ang mga rekord ng empleyado ay pinananatili. Para sa bawat empleyado, ang impormasyon ay naka-imbak tungkol sa mga bata at ang listahan ng mga posisyon na hawak ng empleyadong ito. Para sa mga posisyon, ang impormasyon sa mga itinatag na opisyal na suweldo ay naka-imbak.
Una, gawin natin ang lohikal na antas ng modelo. Upang gawin ito, itakda ang display mode para sa mga entity (Display/Entity Level). Gamit ang toolbar, gagawa kami ng mga entity na "empleyado", "mga bata", "kasaysayan ng trabaho", "kasaysayan ng suweldo". Pangalanan namin ang mga entity sa Russian.
Pagkatapos piliin ang bawat entity, magtatakda kami ng detalyadong paglalarawan para dito sa Russian sa editor ng "Entity Definition". Lalabas ang paglalarawang ito sa mga ulat ng ERwin at maaaring ipakita sa isang diagram.
Tukuyin natin ang mga koneksyon sa pagitan ng mga entity. Halimbawa, ang "empleyado" ay may nagpapakilalang kaugnayan "ay isang magulang" sa entidad na "mga anak". Ang paglalarawan ng relasyon ay inilagay sa editor ng "Editor/Relasyon."
Ang resulta ng trabaho ay ipinapakita sa ERwin diagram (Larawan 2).

kanin. 2. Entity level diagram

Ngayon ay lumipat tayo sa mode ng setting ng katangian (Antas ng Display/Atribute). Sa editor ng "Entity/Attribute," itakda natin ang mga pangalan ng key at non-key na attribute sa Russian. Tandaan na para sa child entity na "children", ang key attribute na "employee number" ay hindi tinukoy nang manu-mano. Ibinibigay ng ERwin ang paglipat nito mula sa pangunahing entity. Ganoon din ang nangyayari sa ibang mga entidad ng bata.
Para sa katangiang "pangalan" ng entity na "empleyado", ipinapahiwatig namin na ito ay isang alternatibong susi (ipapalagay namin na ang lahat ng empleyado ay may natatanging pangalan / apelyido). Upang gawin ito, pagkatapos ng pangalan ng katangian, inilalagay namin ang pointer AK1 sa mga bracket.
Ang resulta ng trabaho ay ipinapakita sa ERwin diagram (Fig. 3) sa IDEF1X notation.

kanin. 3. Attribute level diagram sa IDEF1X notation

Ang view ng parehong diagram sa IE (Information Engineering) notation ay ipinapakita sa Fig.4.

kanin. 4. Attribute Level Diagram sa IE Notation

Dahil ang mga pangalan ng mga katangian at entity ay itinakda namin sa Russian, upang pumunta sa pisikal na antas ng modelo, dapat na nauugnay ang mga ito sa mga identifier ng mga talahanayan, column, at mga hadlang na nakakatugon sa mga panuntunan ng target na DBMS (karaniwan ay nangangahulugan ito ng paggamit Latin na mga titik, numero, at ilang espesyal na karakter).
Sa editor ng "Database Schema," tukuyin ang katumbas na pangalan ng talahanayan para sa bawat entity. Pagkatapos, sa editor ng "Kahulugan ng Katangian," itinakda namin ang mga pangalan ng mga column ng mga talahanayan na naaayon sa mga katangian ng mga entity. Nagbibigay din ang ERwin ng paglipat ng mga pangalan ng column sa mga subordinate na talahanayan.
Sa yugtong ito, maaari mo ring gamitin ang editor ng "Mga Pinalawak na Katangian" upang tukuyin ang mga pinahabang katangian ng PowerBuilder (format ng display, i-edit ang mask, panuntunan ng kontrol, alignment, heading, at komento).
Tinutukoy ng editor ng "Relationship Definitions" ang pisikal na pangalan ng relasyon, na tumutugma sa pangalan ng hadlang na ginawa ni ERwin sa database.
Ngayon ang lahat ay handa na upang lumikha ng isang database at kailangan mong piliin ang target na DBMS (kung hindi pa ito nagawa noon). Piliin natin, halimbawa, Sybase System 10.
Sa editor ng SYBASE Database Schema, itinakda namin ang mga uri ng data para sa mga column ng talahanayan.
Ang dialog kung saan napili ang uri ng data ay ipinapakita sa Fig.5.

kanin. 5. Kahulugan ng pisikal na modelo

Ngayon ay maaari na tayong magpatuloy sa paglikha ng database. Upang gawin ito, ang command na "Sybase schema generation" ay isinasagawa. ERwin ay bubuo ng isang database generation SQL package. Ipinapakita ng Figure 6 ang dialog para sa pagpili ng mga parameter para sa pagbuo ng isang pakete para sa pagbuo ng isang database. Ang figure ay nagpapakita na ang isang filter ay maaaring itakda (generation ng hindi lahat ng mga talahanayan), isang pakete ng mga SQL statement ay maaaring matingnan (preview), i-print, i-save sa isang file (ulat), at nabuo (bumuo).

kanin. 6. Pagpili ng mga opsyon sa pagbuo ng database

7. Mga advanced na tampok ng ERwin

Reverse engineering

Ang reverse engineering, iyon ay, ang pagpapanumbalik ng modelo ng impormasyon mula sa isang umiiral na database, ay ginagamit kapag pumipili ng pinakamainam na platform (rightsizing) para sa isang umiiral na database ng desktop o isang database sa mainframe, gayundin kapag pinalawak (o binabago) ang isang umiiral na istraktura na ay binuo nang walang kinakailangang pansuportang dokumentasyon. Matapos makumpleto ang proseso ng pagbawi ng modelo, awtomatikong "ikakalat" ng ERwin ang mga talahanayan sa diagram. Ngayon ay maaari kang magsagawa ng mga pagbabago gamit na ang lohikal na pamamaraan - magdagdag ng mga entity, katangian, komento, link, atbp. Sa pagkumpleto ng mga pagbabago, isang utos - i-synchronize ang modelo sa database - ina-update ang lahat ng mga pagbabagong ginawa.
Ang pagbuo ng modelo ay maaaring isagawa alinman sa batayan ng data ng katalogo ng database o sa batayan ng SQL statement package kung saan nilikha ang database.

Pag-synchronize ng Database

Sa proseso ng pagbuo ng isang sistema ng impormasyon, ang isang sitwasyon ay maaaring lumitaw kapag ang istraktura ng database at ang modelo ng impormasyon ay hindi tumutugma sa bawat isa. Nagbibigay ang ERwin ng pagkakataon na dalhin sila sa linya.
Para dito, ibinigay ang isang function ng pag-synchronize sa database. Pagkatapos kumonekta sa DBMS, isang listahan ng mga hindi pagkakapare-pareho sa pagitan ng umiiral na istraktura ng data at ang modelo ay inaalok. Halimbawa, kung ang isang bagong talahanayan ay nilikha sa database, pagkatapos ay mag-aalok ang ERwin na isama ito sa modelo. Kung may idaragdag na bagong talahanayan sa modelo, mag-aalok ang ERwin na likhain ito sa totoong database. Katulad nito, kapag nagdaragdag ng mga column sa isang database o modelo, nag-aalok ang ERwin na isagawa ang naaangkop na mga operasyon sa pag-synchronize. Ang pamamaraan para sa pagpili ng mga naka-synchronize na talahanayan ay ipinapakita sa Figure 7.

kanin. 7. Pagpili ng Mga Naka-synchronize na Talahanayan

"Alam" ni ERwin ang tungkol sa mga naturang tampok ng pag-iimbak ng data sa indibidwal na DBMS bilang mga segment (sa Sybase) at espasyo ng talahanayan (sa Oracle). Maaaring isama ang impormasyon ng pisikal na placement sa modelo at magamit sa forward at reverse engineering.

Mga interface sa DBMS

Sinusuportahan ng ERwin ang isang direktang interface na may pangunahing DBMS: DB2 bersyon 2 at 3, Informix bersyon 5.1, 6.0, 7.1, Ingres, NetWare SQL, ORACLE bersyon 6 at 7, Progress, Rdb bersyon 4 at 6, SQL/400 bersyon 2 at 3 , SQLBase bersyon 5 at 6, SQL Server bersyon 4 at 6, Sybase bersyon 4.2, Sybase System 10 at 11, Watcom SQL. Tandaan na pareho ang pinakamoderno at nakaraang mga bersyon ng pangunahing DBMS ay sinusuportahan (Larawan 8).

kanin. 8. Pagpili ng DBMS para sa paggawa ng modelo

Sinusuportahan din ng ERwin ang desktop (desktop) DBMS: Microsoft Access, FoxPro, Clipper, dBASE III, dBASE IV at Paradox.
Ang disenyo sa pisikal na layer ay ginagawa sa mga tuntunin ng database na dapat gamitin sa system. Mahalagang "alam" ni ERwin ang mga pagsusulatan sa pagitan ng mga kakayahan ng mga DBMS mula sa iba't ibang mga vendor, kaya posible na i-convert ang isang pisikal na schema na idinisenyo para sa isang DBMS patungo sa isa pa.
Upang lumikha ng pisikal na istruktura ng database, maaaring hilingin ang pagbuo ng isang DDL script (wika sa kahulugan ng data). Ginagamit nito ang SQL dialect para sa napiling uri at bersyon ng server. Bagama't hindi kailangang baguhin ang nabuong code, posibleng i-save ito sa isang file o i-print ito.

Suporta para sa 4GL tool

Available ang ERwin sa maraming iba't ibang edisyon na nagta-target sa pinakakaraniwang mga tool sa pag-develop ng 4GL. Kasama sa mga sinusuportahang tool ang PowerBuidler ng Powersoft, SQL Windows ng Gupta, Visual Basic ng Microsoft, Oracle*CASE ng Oracle.
Ang bi-directional database interaction ng ERwin ay nagbibigay ng parehong back-end at client-side na pamamahala ng impormasyon. Halimbawa, para sa PowerBuilder, maaari mong tingnan/i-edit ang mga pinahabang katangian sa mga editor ng ERwin.
Ang pagtutok ng ERwin sa mga tool na 4GL ay nagpapahintulot sa iyo na itakda para sa hinaharap na mga aplikasyon ang karamihan sa mga parameter na direktang nauugnay sa database, na nasa yugto ng disenyo ng modelo ng impormasyon.
Ipakita natin ang mga prinsipyo ng pagsasaayos ng gayong pakikipag-ugnayan sa halimbawa ng PowerBuilder.
Lumilikha ang PowerBuilder ng ilang mga panloob na talahanayan sa database upang iimbak ang imbakan nito (mga pinahabang katangian para sa datawindow). Tinitiyak ng paggamit ng mga pinahabang katangian na ang istilo ng pagpapakita ng parehong mga column ng database ay pinananatili para sa lahat ng application na ginawa ng isang team. Ang mga pinalawak na katangian ay nagtatakda ng mga parameter gaya ng format ng display, istilo ng pag-edit, pagpapahayag ng pagpapatunay, paunang halaga, pagkakahanay, lapad at taas ng elemento ng display, label ng pag-edit ng form, pamagat ng display ng talahanayan.
Ang parehong mga pagpapatakbo ng pag-synchronize ay pinapayagan para sa pinalawak na mga katangian tulad ng para sa buong modelo, ibig sabihin, ang mga paglalarawan ay maaaring i-load sa database at, sa kabaligtaran, ang mga pinahabang kahulugan ng katangian na nilikha mula sa kapaligiran ng PowerBuilder ay maaaring i-load mula sa database patungo sa ERwin para sa pagbabago.
Ang isang halimbawa ng pagtukoy ng mga pinahabang katangian ay ipinapakita sa Figure 9.

kanin. 9. Pagtatakda ng PowerBuilder Extended Attributes

Ang ERwin function para sa pagbuo ng DataWindow ay nagbibigay-daan sa iyo na bumuo ng mga prototype ng data window ng isang hinaharap na application na nasa yugto na ng paglikha ng isang modelo ng impormasyon. Upang lumikha ng Data Windows, isang Wizard ang inaalok, sa tulong ng kung saan ang estilo ng window at ang mga napiling hanay ng mga talahanayan ay tinukoy.

Isaalang-alang ang siklo ng pag-unlad gamit ang halimbawang ibinigay sa artikulo ni Codd.
Alalahanin natin sandali ang bahagi ng nilalaman ng problema. Ang mga rekord ng empleyado ay pinananatili. Para sa bawat empleyado, ang impormasyon ay naka-imbak tungkol sa mga bata at ang listahan ng mga posisyon na hawak ng empleyadong ito. Para sa mga posisyon, ang impormasyon sa mga itinatag na opisyal na suweldo ay naka-imbak.
Una, gawin natin ang lohikal na antas ng modelo. Upang gawin ito, itakda ang display mode para sa mga entity (Display/Entity Level). Gamit ang toolbar, gagawa kami ng mga entity na "empleyado", "mga bata", "kasaysayan ng trabaho", "kasaysayan ng suweldo". Pangalanan namin ang mga entity sa Russian.
Pagkatapos piliin ang bawat entity, magtatakda kami ng detalyadong paglalarawan para dito sa Russian sa editor ng "Entity Definition". Lalabas ang paglalarawang ito sa mga ulat ng ERwin at maaaring ipakita sa isang diagram.
Tukuyin natin ang mga koneksyon sa pagitan ng mga entity. Halimbawa, ang "empleyado" ay may nagpapakilalang kaugnayan "ay isang magulang" sa entidad na "mga anak". Ang paglalarawan ng relasyon ay inilagay sa editor ng "Editor/Relasyon."
Ang resulta ng trabaho ay ipinapakita sa ERwin diagram (Larawan 2).

kanin. 2. Entity level diagram

Ngayon ay lumipat tayo sa mode ng setting ng katangian (Antas ng Display/Atribute). Sa editor ng "Entity/Attribute," itakda natin ang mga pangalan ng key at non-key na attribute sa Russian. Tandaan na para sa child entity na "children", ang key attribute na "employee number" ay hindi tinukoy nang manu-mano. Ibinibigay ng ERwin ang paglipat nito mula sa pangunahing entity. Ganoon din ang nangyayari sa ibang mga entidad ng bata.
Para sa katangiang "pangalan" ng entity na "empleyado", ipinapahiwatig namin na ito ay isang alternatibong susi (ipapalagay namin na ang lahat ng empleyado ay may natatanging pangalan / apelyido). Upang gawin ito, pagkatapos ng pangalan ng katangian, inilalagay namin ang pointer AK1 sa mga bracket.
Ang resulta ng trabaho ay ipinapakita sa ERwin diagram (Fig. 3) sa IDEF1X notation.

kanin. 3. Attribute level diagram sa IDEF1X notation

Ang view ng parehong diagram sa IE (Information Engineering) notation ay ipinapakita sa Fig.4.

kanin. 4. Attribute Level Diagram sa IE Notation

Dahil ang mga pangalan ng mga katangian at entity ay itinakda namin sa Russian, upang pumunta sa pisikal na antas ng modelo, dapat na nauugnay ang mga ito sa mga identifier ng mga talahanayan, column, at mga hadlang na nakakatugon sa mga panuntunan ng target na DBMS (karaniwan ay nangangahulugan ito ng paggamit Latin na mga titik, numero, at ilang espesyal na karakter).
Sa editor ng "Database Schema," tukuyin ang katumbas na pangalan ng talahanayan para sa bawat entity. Pagkatapos, sa editor ng "Kahulugan ng Katangian," itinakda namin ang mga pangalan ng mga column ng mga talahanayan na naaayon sa mga katangian ng mga entity. Nagbibigay din ang ERwin ng paglipat ng mga pangalan ng column sa mga subordinate na talahanayan.
Sa yugtong ito, maaari mo ring gamitin ang editor ng "Mga Pinalawak na Katangian" upang tukuyin ang mga pinahabang katangian ng PowerBuilder (format ng display, i-edit ang mask, panuntunan ng kontrol, alignment, heading, at komento).
Tinutukoy ng editor ng "Relationship Definitions" ang pisikal na pangalan ng relasyon, na tumutugma sa pangalan ng hadlang na ginawa ni ERwin sa database.
Ngayon ang lahat ay handa na upang lumikha ng isang database at kailangan mong piliin ang target na DBMS (kung hindi pa ito nagawa noon). Piliin natin, halimbawa, Sybase System 10.
Sa editor ng SYBASE Database Schema, itinakda namin ang mga uri ng data para sa mga column ng talahanayan.
Ang dialog kung saan napili ang uri ng data ay ipinapakita sa Fig.5.

kanin. 5. Kahulugan ng pisikal na modelo

Ngayon ay maaari na tayong magpatuloy sa paglikha ng database. Upang gawin ito, ang command na "Sybase schema generation" ay isinasagawa. ERwin ay bubuo ng isang database generation SQL package. Ipinapakita ng Figure 6 ang dialog para sa pagpili ng mga parameter para sa pagbuo ng isang pakete para sa pagbuo ng isang database. Ang figure ay nagpapakita na ang isang filter ay maaaring itakda (generation ng hindi lahat ng mga talahanayan), isang pakete ng mga SQL statement ay maaaring matingnan (preview), i-print, i-save sa isang file (ulat), at nabuo (bumuo).

kanin. 6. Pagpili ng mga opsyon sa pagbuo ng database

Mga advanced na tampok ng ERwin

Lab #5

Layunin:

Pagsasanay:

Pagkakasunod-sunod ng trabaho

Pagkilala sa user interface

· I-download ang Erwin program.

Sa lalabas na dialog box, piliin ang radio button Gumawa ng Bagong Modelo. May lalabas na dialog sa screen. Lumikha ng Modelo - Pumili ng Template, kung saan mo gustong piliin ang antas ng simulation.

Si Erwin ay may dalawang antas ng simulation: lohikal at pisikal. Sa lohikal antas, ang data ay ipinakita tulad ng paglitaw nito sa totoong mundo. Ang mga bagay sa antas ng lohikal ay mga entity at katangian.

Sa pisikal antas, ang modelo ay nakasalalay sa partikular na pagpapatupad ng database na pinili ng user. Kapag lumipat ang modelo sa pisikal na layer, ang mga entity ay gagawing mga talahanayan, at mga katangian sa mga patlang, kaya ang lahat ng mga pangalan at paglalarawan ng pisikal na modelo ay dapat sumunod sa mga kumbensyong pinagtibay para sa napiling DBMS.

I-install ang switch Lohikal/Pisikal upang lumikha ng isang modelo na may lohikal at pisikal na mga layer.

Sa mga bukid DataBase at bersyon tumutukoy sa uri at bersyon ng server kung saan ginagawa ang modelo. Piliin ang Access, 2000 mula sa listahan. I-click OK.

· Ang pangunahing window ng programa ay lilitaw sa screen.

Sa tuktok ng window ay ang linya ng pamagat, na naglalaman ng pangalan ng programa, ang pangalan ng modelo, ang pangalan ng subset (Subject Area) at ang nakaimbak na display (Stored Display). Ang pangunahing bahagi ng espasyo ng programa ay inookupahan ng workspace kung saan nilikha ang ER diagram.

Upang lumipat sa pagitan ng lohikal at pisikal na mga antas, mayroong isang listahan sa toolbar (Larawan 1.1).

Bilang karagdagan sa listahang ito, may mga pindutan sa toolbar (tingnan ang Talahanayan 1.1).

Talahanayan 1.1.

Mga pindutan na matatagpuan sa toolbar ng Erwin program

Pindutan Layunin
Gumawa, magbukas, mag-save at mag-print ng modelo
Pagtawag sa Report Browser Dialog para Bumuo ng Mga Ulat
Pagbabago sa Antas ng View ng Modelo: Antas ng Entity, Antas ng Katangian, Antas ng Depinisyon
Baguhin ang sukat ng view ng modelo
Pagbuo ng DB schema, pag-align ng schema sa modelo at pagpili ng server (magagamit lamang sa antas ng pisikal na modelo)
Palipat-lipat sa pagitan ng mga lugar ng modelo ng Subject Area


Para sa direktang trabaho sa mga elemento ng modelo, ang programa ay may tool palette (Erwin Toolbox), na isang "floating window" (Fig. 1.2). Kung kinakailangan, ang tool palette ay maaaring alisin sa screen at tawagan sa pamamagitan ng pagpindot sa CTRL-T key combination.

kanin. 1.2. Tool palette sa lohikal na antas

Ipinapakilala ang Mga Entidad sa Modelo

Sa yugtong ito, kinakailangan na ipakilala ang mga sumusunod na entidad sa modelo, na kinilala bilang isang resulta ng pagsusuri sa lugar ng paksa (paghahatid ng mga kalakal alinsunod sa mga kontrata): mamimili, kontrata, invoice, kalakal, bodega.

Piliin sa toolbar (ERwin Toolbox) ang button Kakanyahan sa pamamagitan ng pag-click dito gamit ang mouse pointer. Pagkatapos ay mag-click sa lugar sa diagram kung saan mo gustong ilagay ang bagong entity. May lalabas na parihaba sa field ng diagram, na naglalarawan ng bagong entity, na may awtomatikong nabuong pangalan na "E/1".

Ilagay ang pangalan ng entity " Mamimili"at pindutin ang Pumasok.

· Sa parehong paraan, magpasok ng apat pang entity sa diagram: kontrata, invoice, produkto, bodega.

Sa pamamagitan ng pag-right-click sa entity at pagpili ng item mula sa menu ng konteksto Mga Katangian ng Entity, maaari mong tawagan ang editor ng entity Mga entidad(Larawan 1.6), na nagpapahintulot sa iyo na baguhin ang mga katangian ng napiling entity. Ang editor ng entity ay maaari ding tawagan mula sa pangunahing menu: Modelo | mga entidad.



kanin. 1.6. Editor ng entidad

Sa itaas na bahagi ng window ng editor mayroong isang listahan ng lahat ng mga entity na nasa diagram. Gamit ito, maaari mong piliin ang entity na ang mga katangian ay gusto mong tingnan o baguhin. Bilang default, ang napiling entity sa diagram ay ang entity na na-click. Susunod, mayroong field na Pangalan, na nagpapakita ng pangalan ng entity. Maaaring i-edit ang pangalan.

Sa ibaba sa window ng editor ay isang bilang ng mga tab:

Kahulugan(kahulugan) - sa pahinang ito ilalagay mo ang kahulugan ng entity.

Tandaan, Tandaan2, Tandaan3(tandaan) - ginagamit upang maglagay ng arbitraryong text na nauugnay sa entity, gaya ng sample na data at mga query.

UDP– mga katangian na tinukoy ng gumagamit.

icon(icon) - para sa kalinawan, ang bawat entity ay maaaring magtalaga ng isang icon na ipinapakita sa tabi ng pangalan nito.

Para sa bawat entity, maglagay ng kahulugan kahulugan.

Mga pangunahing pangkat

・Mag-invoke ng keygroup editor Mga Pangunahing Pangkat, sa pamamagitan ng pag-right click sa isang entity Mamimili at pagpili mula sa menu ng konteksto Mga Pangunahing Pangkat. Ang editor ng keygroup ay maaari ding tawagan mula sa pangunahing menu: Modelo | pangunahing grupo.

Ang editor ng keygroup ay naglalaman ng mga kontrol:

nilalang– isang field na may drop-down na listahan kung saan dapat kang pumili ng entity na ie-edit.

Window na may listahan ng mga pangunahing grupo. Ang bawat pangkat ay kinakatawan ng isang hiwalay na linya, kabilang ang pangalan (Key Group), uri (Uri) at kahulugan (Kahulugan).

Bilang karagdagan, ang dialog ng editor ng keygroup ay naglalaman ng mga sumusunod na tab:

ü Mga miyembro (miyembro). Ang mga miyembro ng mga pangunahing grupo at ang kanilang pagkakasunud-sunod sa pangkat ay tinukoy.

ü Pangkalahatan (pangkalahatang mga setting). Mga switch na nagbibigay-daan sa iyong itakda ang uri ng key group. Para sa pangunahin at dayuhang key, hindi available ang mga pangkat na ito.

ü Kahulugan (kahulugan). Di-makatwirang impormasyon sa teksto na nauugnay sa napiling pangunahing pangkat.

ü Tala (note). Paalala sa napiling pangkat.

ü UDP (mga custom na katangian).

・Pindutin ang pindutan Bago.

· Sa bintana Bagong Key Group sa larangan Pangunahing Pangkat ipasok ang pangalan ng pangunahing pangkat − TIN. Sa field Index ang Erwin-generated index name ay ipinapakita. Iwanan itong walang pagbabago.

Lumipat Uri ng Pangunahing Pangkat tumutukoy sa uri ng nabuong key. Ito ay maaaring isang Alternate Key o isang Inversion Entry. Pumili Kahaliling Susi at pindutin OK. Ang bagong ipinasok na kahaliling susi ay lalabas sa listahan ng mga susi.



Pumunta sa bookmark Mga miyembro. Ang bagong key ay hindi pa naglalaman ng anumang mga katangian, kaya ang tamang listahan Mga Miyembro ng Pangunahing Grupo(mga miyembro ng pangunahing pangkat) ay walang laman. Pumili ng attribute mula sa listahan sa kaliwa TIN at ilipat ito sa kanang listahan gamit ang arrow button (tingnan ang Fig. 1.8).

kanin. 1.8. Pangunahing Editor ng Grupo

· Sa parehong paraan, lumikha ng mga pangunahing grupo para sa mga inverse input na ipinapakita sa Talahanayan. 1.3.

Lab #6

Pagtukoy sa Mga Panuntunan sa Integridad ng Pahayag na Referential

· Pagiging sa isang lohikal antas ng modelo ng data, piliin ang ugnayang "nagtatapos" sa pagitan ng mga entity na Mamimili at Kontrata sa pamamagitan ng pag-click dito gamit ang mouse pointer. Pagkatapos ay pindutin ang kanang pindutan ng mouse at piliin ang item sa menu ng konteksto Mga Katangian ng Relasyon(editor ng link).

Sa window ng editor ng link relasyon pumunta sa tab Mga Aksyon ng R.I. Maging pamilyar sa mga tuntunin sa integridad ng referential para sa relasyong "Buyer - Contract", na itinalaga bilang default. Pinipigilan ng data ng setting ang pagpasok at pagbabago ng isang child entity instance, pati na rin ang pagtanggal at pagbabago ng parent entity. Nangangahulugan ito na hindi pinapayagan na tanggalin o baguhin ang isang mamimili kung ang database ay naglalaman ng mga kontrata na natapos sa kanya, pati na rin ang pagpasok ng isang kontrata nang hindi tinukoy ang isang mamimili o may reference sa isang hindi umiiral na mamimili. Kaya, natupad namin ang kundisyon ayon sa kung saan ang kontrata ay maaaring umiral lamang para sa isang partikular na mamimili.

· Suriin ang itinatag na mga tuntunin sa integridad ng referential para sa lahat ng iba pang mga link.

Ang mga default na panuntunan na itinalaga sa isang link ay maaaring baguhin sa pamamagitan ng pagpili sa nais na halaga mula sa drop-down na listahan.

Normalization ng data

Makikita mula sa modelo na mayroong maraming attribute na TEL sa entity ng Mamimili. Ang isang customer ay maaaring magkaroon ng maraming numero ng telepono, na isang paglabag sa unang normal na anyo, na nangangailangan ng lahat ng mga halaga ng katangian na maging atomic. Samakatuwid, kinakailangang paghiwalayin ang katangian ng TEL sa isang hiwalay na entity.

· Lumikha ng entity ng Telepono na naglalaman ng mga sumusunod na katangian: TEL_CODE (pangunahing key, uri - numero) at TEL (uri - string).

· Iugnay ang mga entity na Customer at Telepono sa isang nagpapakilalang relasyon. Itakda ang kapangyarihan ng link - Isa o Higit pa (P) at ipasok ang pangalan ng koneksyon - Mayroon itong.

Pagpili ng server

Magsagawa ng utos database | Piliin ang Database.

· Sa dialog box Erwin/ERX - Target na Server kailangan mong itakda ang uri ng server - Access at ang bersyon nito 2000 . Tinutukoy din nito ang default na uri ng data at NULL na kundisyon para sa mga bagong likhang column. Ang ilan sa mga opsyon sa dialog box na ito ay nakadepende sa napiling uri ng server.

· Pagkatapos piliin ang server, pindutin ang pindutan OK.

Denormalization ng data

Mayroong dalawang many-to-many na relasyon sa modelo: Item - Contract at Item - Invoice, na dapat malutas sa pisikal na antas. Ang resulta ng paglutas ng mga link na ito ay ipinakita sa Talahanayan. 2.1.

Talahanayan 2.1.

Resulta ng pagresolba ng many-to-many na relasyon

Ang paglutas ng maraming-sa-maraming relasyon ay awtomatikong isinasagawa kapag lumilipat sa pisikal na layer, o gumagamit ng isang espesyal na wizard Maraming Relasyon Transform Wizard.

· Upang tawagan ang wizard na ito, piliin ang link na “Goods – Contract” sa pamamagitan ng pag-click dito gamit ang mouse pointer. Pagkatapos ay pindutin ang kanang pindutan ng mouse at piliin ang item sa menu ng konteksto Gumawa ng Association Table(lumikha ng associative table). Ang unang dialog ng wizard ay lalabas sa screen, na naglalaman ng teksto tungkol sa layunin nito.

Pumasok sa field pangalan ng talahanayan(pangalan ng talahanayan) - Delivery_Plan. Sa field Komento sa Talahanayan(mga komento sa talahanayan) ilagay ang teksto: Impormasyon tungkol sa supply ng mga kalakal sa ilalim ng kontrata.

· Isang bagong talahanayan na Delivery_Plan ang lumitaw sa modelo, na konektado sa pamamagitan ng isang pagkakakilanlan na relasyon sa mga talahanayan ng Goods and Contract.

· Ang bagong talahanayan ay dapat dagdagan ng tatlong hanay (tingnan ang Talahanayan 2.1). Upang gawin ito, piliin ang talahanayan Delivery_Plan sa pamamagitan ng pag-click dito gamit ang mouse pointer. Pagkatapos ay pindutin ang kanang pindutan ng mouse at piliin ang item sa menu ng konteksto Mga Hanay ( editor ng hanay) . Ang pagtatrabaho sa editor na ito ay katulad ng pagtatrabaho sa attribute editor.

· Malayang magpasok ng tatlong bagong column alinsunod sa talahanayan. 2.1.

· Gamit ang paraang inilarawan sa itaas (gamit ang wizard), ibahin ang anyo ng ugnayang "Goods - Invoice" at dagdagan ang nagreresultang associative table Pagpapadala na may dalawang column ayon sa Table. 2.1.

Pagtatakda ng mga panuntunan sa pagpapatunay

Pagtukoy ng Listahan ng mga Wastong Halaga

Alinsunod sa paksang isinasaalang-alang, para sa RATE_VAT na patlang ng talahanayan ng Produkto, magtakda tayo ng listahan ng mga wastong halaga: 0, 10, at 18%.

Mga hanay.

· Sa window ng editor sa field Kolum- RATE ng VAT.

· Pumunta sa tab ng napiling DBMS – Access.

· Wasto.

sa diyalogo Mga Panuntunan sa Pagpapatunay i-click ang pindutan Bago.

sa diyalogo Bagong Panuntunan sa Pagpapatunay sa larangan Lohikal ilagay ang pangalan ng panuntunan − Sinusuri ang rate ng VAT. I-click ang button OK.

・Pumunta sa bookmark Heneral. Sa isang grupo uri itakda ang opsyon Wastong Listahan ng Halaga.

· Sa larangan Wastong Halaga sa unang linya, ilagay ang 0. Sa pangalawa at pangatlong linya, ilagay ang mga halaga: 10 at 18.

· Suriin iyon sa tuktok ng window ng editor Mga Panuntunan sa Pagpapatunay lumitaw ang linya: Sinusuri ang rate ng VAT(Pangalan ng Pagpapatunay) SA (0, 10, 18)(Tuntunin sa Pagpapatunay).

・I-click OK. Sa window ng editor mga hanay sa bookmark Access sa larangan Wasto lumitaw ang pangalan ng nilikhang panuntunan - "Pagsusuri sa rate ng VAT".

Pagtatakda ng Mga Default na Halaga

Gumawa tayo ng panuntunan ayon sa kung saan ang halaga ng kasalukuyang petsa ay papalitan sa field na DATE_DOG ng talahanayan ng Kasunduan bilang default.

Tawagan ang menu ng konteksto ng talahanayan ng Kasunduan at piliin ang item Mga hanay.

· Sa window ng editor sa field Kolum piliin ang column kung saan itatakda ang panuntunan – DATE_DOG.

・Na-bookmark Access mag-click sa pindutan na matatagpuan sa kanan ng drop-down na listahan Default.

· Sa dialog box Mga Default/Paunang Halaga i-click ang pindutan Bago.

sa diyalogo Bagong Default na Halaga sa larangan Lohikal ilagay ang pangalan ng panuntunan − Ang kasalukuyang petsa. I-click ang button OK.

・Na-bookmark Access sa larangan Halaga ng Server - Default ng Access pumasok Petsa()(isang function na tumatanggap ng halaga ng kasalukuyang petsa).

・I-click OK. Sa window ng editor mga hanay sa bookmark Access sa larangan Default lumitaw ang pangalan ng nilikhang panuntunan - "Kasalukuyang petsa".

· Itakda ang parehong panuntunan para sa DATE_SHIPMENT na field ng talahanayan ng Invoice. Upang gawin ito, sa window ng editor ng column Kolum piliin ang field na DATE_OTGR at sa tab na Access sa field Default pumili ng panuntunan mula sa drop-down na listahan Ang kasalukuyang petsa.

Tinutukoy ang Mga Panuntunan sa Pagpapatunay ng Input

Gumawa tayo ng panuntunan para sa pagsuri ng mga halaga ng input para sa patlang ng PRICE ng talahanayan ng Produkto, kung saan ang field na ito ay hindi maaaring magkaroon ng mga halaga na mas mababa sa 0.

Tawagan ang menu ng konteksto ng talahanayan ng Produkto at piliin ang item Mga hanay.

· Sa window ng editor sa field Kolum piliin ang column kung saan itatakda ang panuntunan – PRESYO.

・Na-bookmark Access mag-click sa pindutan na matatagpuan sa kanan ng drop-down na listahan Wasto.

sa diyalogo Mga Panuntunan sa Pagpapatunay i-click ang pindutan Bago.

sa diyalogo Bagong Panuntunan sa Pagpapatunay sa larangan Lohikal ilagay ang pangalan ng panuntunan − Suriin ang presyo. I-click ang button OK.

・Pumunta sa bookmark Heneral. Sa isang grupo uri itakda ang opsyon min/max.

· Sa larangan Min ipasok ang 1. Bilang karagdagan sa mas mababang limitasyon ng hanay ng halaga, maaari mo ring itakda ang pinakamataas na limitasyon ( Max).

Sa tuktok ng window ng editor Mga Panuntunan sa Pagpapatunay ang isang bagong likha ay idinagdag sa listahan ng mga panuntunan sa pagpapatunay: Pagsusuri ng presyo >=1.

・Pindutin ang pindutan OK.

Lab #7

Pagkalkula ng laki ng database

Layunin:

Upang makabisado ang pamamaraan para sa pagkalkula ng laki ng database, ipinatupad sa Erwin.

Lab #8

Paggawa ng mga ulat kay Erwin

Layunin:

pag-aaral ng mga uri ng mga ulat;

· Alamin kung paano gumawa ng mga ulat

Lab #5

Mga pangunahing kaalaman sa pagtatrabaho sa Erwin. Pagbuo ng isang lohikal na modelo ng data

Layunin:

· mastering ang mga kasanayan sa pagtatrabaho sa Erwin;

· pagbuo ng isang lohikal na modelo ng isang naibigay na lugar ng paksa.

Pagsasanay:

Bumuo ng modelo ng lohikal na impormasyon para sa supply ng mga kalakal alinsunod sa mga kontrata gamit ang mga tool ng Erwin.

Paglalarawan ng interface ng ERwin. Ang CASE interface ng ERwin tool ay binubuo ng tatlong pangunahing bahagi. Ang una ay ang pangunahing menu at mga toolbar.

Ang mga pindutan sa mga toolbar ay inuulit ang ilan sa mga pangunahing utos sa pangunahing menu. I-save, buksan, gumawa ng bagong file, isang panel na may mga button para mag-zoom in o out sa display ng modelo, isang switch sa pagitan ng pisikal at lohikal na modelo, isang switch sa pagitan ng mga stored display, isang panel para sa pag-edit ng estilo, laki at kulay ng mga font, isang panel na may mga tool para sa pagbuo ng mga geometric na hugis at ilang mga pantulong na toolbar (Larawan 5.3).

kanin. 5.3.

Ang pangalawa ay ang Model Explorer. Naglalaman ito ng tatlong tab: Modelo, Mga Lugar ng Paksa at Mga Domain. Ang pinakakaraniwang ginagamit sa Model Explorer ay ang tab na Mga Domain o Modelo (na naglalaman ng lahat ng mga bagay at modelo). Sa Mga Domain, ayon sa pagkakabanggit, ang mga domain ay ipinapakita, sa Mga Lugar ng Paksa - ipinapakitang mga lugar (Larawan 5.4).

kanin. 5.4.

At ang pangatlo ay direkta ang lugar na nakalaan para sa paglikha ng isang object model, kung saan ang lahat ng mga object ng modelo ay nilikha at na-edit. Lumilitaw ang mga tab sa ibaba na may mga pangalan ng mga nakaimbak na display (Mga Stored Display) (Fig. 5.5).


kanin. 5.5.

Ang ERwin ay may dalawang antas ng representasyon ng data ng modelo: lohikal at pisikal. antas ng lohika- ito ay isang abstract na view ng data, dito ang data ay ipinakita sa hitsura nito sa totoong mundo, halimbawa, "Customer", "Workshop" o "Apelyido ng empleyado". Ang mga modelong bagay na kinakatawan sa lohikal na antas ay tinatawag na mga entity at katangian. Ang modelo ng lohikal na data ay maaaring itayo sa ibabaw ng isa pang lohikal na modelo, tulad ng isang modelo ng proseso. Ang modelo ng lohikal na data ay pangkalahatan at hindi nauugnay sa isang partikular na pagpapatupad ng DBMS.

Pisikal na modelo ang data, sa kabaligtaran, ay nakasalalay sa partikular na DBMS, sa katunayan, bilang isang pagpapakita ng katalogo ng system. Ang pisikal na modelo ay naglalaman ng impormasyon tungkol sa lahat ng mga object ng database. Dahil walang mga pamantayan para sa mga object ng database (halimbawa, walang pamantayan para sa mga uri ng data), ang pisikal na modelo ay nakasalalay sa partikular na pagpapatupad ng DBMS. Samakatuwid, ang parehong lohikal na modelo ay maaaring tumutugma sa ilang magkakaibang pisikal na modelo. Kung sa lohikal na modelo ay hindi mahalaga kung anong partikular na uri ng data ang mayroon ang isang katangian, kung gayon sa pisikal na modelo mahalagang ilarawan ang lahat ng impormasyon tungkol sa mga partikular na pisikal na bagay - mga talahanayan, haligi, index, pamamaraan, atbp. Paghahati ng modelo sa lohikal at pisikal na nagbibigay-daan sa iyo upang malutas ang maraming mahahalagang gawain.

Ang ERwin ay may ilang antas ng pagpapakita ng diagram: antas ng entity, antas ng katangian, antas ng kahulugan, antas ng pangunahing key at antas ng icon. Maaari kang lumipat sa pagitan ng unang tatlong antas gamit ang mga pindutan ng toolbar. Maaari kang lumipat sa iba pang mga antas ng display gamit ang menu ng konteksto na lalabas kung "mag-click" ka sa anumang lugar sa diagram na hindi inookupahan ng mga modelong bagay. Sa menu ng konteksto, piliin ang item sa Display Level at pagkatapos ay ang kinakailangang antas ng display. Binibigyang-daan ka ng ERwin na iugnay ang malaki at maliit na mga icon sa isang entity. Kapag lumilipat sa antas ng icon, isang malaking icon ang ipinapakita. Upang magpakita ng maliit na icon, piliin ang item na Entity Display/Entity Icon mula sa menu ng konteksto. Isang maliit na icon ang ipapakita sa kaliwa ng pangalan ng entity sa lahat ng antas ng display ng modelo.

Itakda ang kulay at font. Mayroong ilang mga paraan upang itakda ang font at kulay ng mga bagay sa ERwin. Una, upang itakda ang kulay at font ng bagay, gamitin ang Font at Color Toolbar, na matatagpuan sa ilalim ng pangunahing panel. Upang i-edit ang font at kulay ng isang partikular na bagay, sa pamamagitan ng pag-right-click sa isang entity o relasyon at pagpili sa Object Font & Color... item mula sa pop-up menu, tawagan ang dialog ng Font/Color Editor, na tumutukoy sa pangalan, paglalarawan, at komento ng entity. Sa dialog ng Font/Color Editor, maaari kang pumili ng font at itakda ang laki, istilo at kulay nito, itakda ang kulay ng fill (Fill Color property, para sa mga entity lang) at kulay ng linya (Outline Color property, para sa mga entity lang).

Kapag gumagawa ng mga totoong modelo ng data, ang bilang ng mga entity at attribute ay maaaring nasa daan-daan. Para sa mas maginhawang trabaho sa malalaking modelo, nagbibigay ang ERwin mga subset ng modelo (Mga Lugar ng Paksa), kung saan maaari mong isama ang mga karaniwang entity ayon sa paksa. Ang isang subset ng modelo ay maaaring magsama ng isang arbitrary na hanay ng mga entity, relasyon, at komento sa text. Upang gumawa, magtanggal o mag-edit ng mga subset ng modelo, kailangan mong tawagan ang dialog ng Mga Lugar ng Paksa (Mga Lugar ng Modelo/Subject... menu), kung saan tinukoy mo ang pangalan ng subset at ang mga entity na kasama dito. Ang lahat ng mga pagbabagong ginawa sa anumang Subject Area ay awtomatikong makikita sa pangkalahatang modelo. Ang parehong entity ay maaaring isama sa ilang Subject Areas.

Naka-imbak na Display- representasyon ng isang subset ng modelo, na nagpapakita ng partikular na aspeto ng istruktura ng data. Maaaring kabilang sa isang Lugar ng Paksa ang ilang nakaimbak na pagmamapa. Kasama sa naka-imbak na display ang parehong mga entity at relasyon tulad ng sa Lugar ng Paksa, ngunit maaari silang matagpuan nang iba sa screen, may iba't ibang antas, iba't ibang kaliskis at kulay ng mga bagay o background.

Upang lumikha ng nakaimbak na display, gamitin ang dialog na Mga Stored Display (Format/Stored Display Settings... menu). Upang lumipat sa pagitan ng mga nakaimbak na display, gamitin ang mga tab sa ibaba ng diagram.

Ang mga pangunahing bahagi ng isang ERwin diagram ay mga entity, attribute, at relasyon. Ang bawat entity ay isang set ng magkatulad na indibidwal na mga bagay, na tinatawag na mga pagkakataon. Ang bawat instance ay indibidwal at dapat ay naiiba sa lahat ng iba pang pagkakataon. Ang isang katangian ay nagpapahayag ng isang partikular na katangian ng isang bagay. Mula sa punto ng view ng database (pisikal na modelo), ang isang entity ay tumutugma sa isang talahanayan, isang halimbawa ng isang entity - isang hilera sa isang talahanayan, at isang katangian - isang haligi ng isang talahanayan.

Paglikha ng isang lohikal na modelo ng data para sa paksang lugar na "Furniture to order". Ang nilikha na lohikal na modelo ay inuulit ang istraktura ng dinisenyo na IS. Upang lumikha ng isang entity sa lugar para sa paglikha ng mga modelo ng bagay, ito ay kinakailangan (pagkatapos matiyak na ikaw ay nasa antas ng lohikal na modelo: ang paglipat sa pagitan ng lohikal at pisikal na modelo ay ang drop-down na listahan sa kanang bahagi ng toolbar) “i-click” ang entity button sa toolbar ( ERwin Toolbox) Q , pagkatapos ay i-click ang lugar sa diagram kung saan mo gustong ilagay ang bagong entity. Sa pamamagitan ng pag-right click sa isang entity at pagpili sa Entity Properties... mula sa pop-up na menu, maaari mong tawagan ang dialog ng Entity, na tumutukoy sa pangalan, paglalarawan, at komento ng entity (halimbawa, pangalan ng entity - supplier, paglalarawan - data ng supplier). Ang bawat entity ay binibigyang-kahulugan gamit ang isang textual na paglalarawan sa tab na Definition. Ang mga tab na Note, Note 2, Note 3, UDP (User Defined Properties) ay ginagamit upang magdagdag ng mga karagdagang komento sa entity. Ang susunod na hakbang ay ang paglikha ng mga katangian ng entity. Gaya ng nabanggit sa itaas, ang bawat katangian ay nag-iimbak ng impormasyon tungkol sa isang partikular na ari-arian ng isang entity, at ang bawat instance ng isang entity ay dapat na natatangi. Ang isang katangian o pangkat ng mga katangian na nagpapakilala sa isang entity ay tinatawag na pangunahing susi. Upang lumikha ng mga katangian, mag-right-click sa isang entity at piliin ang item na Mga Katangian... mula sa lalabas na menu. Lalabas ang dialog ng Mga Katangian. Kung iki-click mo ang Bagong... na buton, pagkatapos ay sa dialog na Bagong Katangian na lilitaw, tukuyin ang pangalan ng katangian, ang pangalan ng column na nauugnay dito sa pisikal na modelo, at ang domain (halimbawa, ang pangalan ng attribute ay ang pangalan ng supplier). Gagamitin ang domain ng katangian kapag tinutukoy ang uri ng column sa antas ng pisikal na modelo. Ang mga pangunahing katangian ng pangunahing key sa tab na Pangkalahatan ng dialog ng Mga Katangian ay dapat na naka-check sa kahon ng pagpili ng Pangunahing Key.

Upang magpakita ng icon ng katangian, piliin ang item na Display ng Entity sa menu ng konteksto at paganahin ang opsyon na Icon ng Katangian sa cascade menu. Ang isang maliit na icon ay ipapakita sa kaliwa ng pangalan ng katangian sa antas ng katangian ng pagpapakita ng modelo. Ang pangalan ng entity ay ipinapakita sa itaas ng rectangle na naglalarawan sa entity, ang listahan ng mga attribute ng entity ay ipinapakita sa loob ng rectangle. Ang listahan ay pinaghihiwalay ng isang pahalang na bar, sa itaas kung saan ang mga pangunahing pangunahing katangian, sa ibaba ay ang mga hindi pangunahing katangian. Ang mga katangian ay dapat na pinangalanan sa isahan at may malinaw na kahulugan ng semantiko. Ang pagsunod sa panuntunang ito ay nagpapahintulot sa iyo na bahagyang malutas ang problema ng normalisasyon ng data na nasa yugto na ng pagtukoy ng mga katangian. Halimbawa, ang paggawa ng attribute ng Supplier Phones sa Vendor entity ay labag sa mga kinakailangan sa normalization, dahil ang attribute ay dapat atomic, ibig sabihin, hindi naglalaman ng maraming value. Ayon sa syntax ng IDEF1X, ang pangalan ng katangian ay dapat na natatangi sa loob ng modelo (hindi lamang sa loob ng entity!). Ang bawat instance ng entity ay dapat na natatangi at naiiba sa iba pang mga katangian. Ang susunod na hakbang sa paglikha ng isang modelo ay ang magtatag ng mga ugnayan sa pagitan ng mga entity. Ang bawat relasyon ay dapat na tinatawag na isang pandiwa o isang pariralang pandiwa (Relationship Verb Phrases Fig. 5.6). Ang pangalan ng relasyon ay nagpapahayag ng ilang hadlang o panuntunan sa negosyo at ginagawang mas madaling basahin ang diagram, halimbawa:

Ang bawat CUSTOMER ORDER;

Bawat ORDER DESIGN.

kanin. 5.B. Pangalan ng Relasyon - Mga Parirala ng Pandiwa ng Relasyon

Para gumawa ng bagong koneksyon:

  • ilagay ang cursor sa kinakailangang button sa tool palette (pagkilala o hindi pagkilala sa relasyon) at pindutin ang kaliwang pindutan ng mouse;
  • i-click muna ang magulang at pagkatapos ay ang child entity. Kapag naitatag ang mga ugnayan sa pagitan ng mga entity, ang mga pangunahing pangunahing katangian ng parent na entity ay inililipat bilang mga dayuhang susi sa child entity. Bilang default, hindi ipinapakita ang pangalan ng link sa diagram. Upang ipakita ang pangalan, gamitin ang menu ng konteksto na lilitaw kung mag-left-click ka sa anumang lugar sa diagram na hindi inookupahan ng mga bagay na modelo, piliin ang item ng Relationship Display at paganahin ang opsyon na Verb Phrase sa menu ng konteksto.

Ang modelo ng lohikal na data ng lugar ng paksa na "Furniture to order" ay ipinapakita sa fig. 5.7.


kanin. 5.7.

Ang kumpletong modelo ng katangian ay kumakatawan sa data sa ikatlong normal na anyo at kasama ang lahat ng mga entity, mga katangian at mga relasyon, at ipinapakita sa Fig. 5.8.

Sa antas ng entity, ang modelo ay ipinapakita sa Fig. 5.9.

Sa fig. Ipinapakita ng Figure 5.10 ang modelo ng data sa antas ng kahulugan.

kanin. 5.8.

kanin. 5.E. Layer ng Entity ng Modelo ng Data