Viunganisho vya Erwin kati ya meza. Misingi ya Erwin. Kuunda muundo wa data wenye mantiki. Aina za mawasiliano. Kutambua na kutotambua, mahusiano ya lazima na ya hiari

Uhusiano ni uhusiano wa kimantiki kati ya vyombo. Kila uhusiano unapaswa kuitwa kitenzi au kifungu cha kitenzi. Jina la uhusiano linaonyesha kizuizi fulani au sheria ya biashara na hurahisisha mchoro kusoma. Kwa chaguo-msingi, jina la uunganisho halionyeshwa kwenye mchoro. Katika kiwango cha kimantiki, unaweza kuanzisha uhusiano wa kutambua mtu mmoja-kwa-wengi, uhusiano wa wengi hadi wengi, na uhusiano wa moja kwa-wengi usio wa kutambua. Uhusiano ni dhana ya kiwango cha kimantiki ambayo ufunguo wa kigeni unalingana katika kiwango cha kimwili. Katika ERwin, mahusiano yanawakilishwa na vipande vitano vya habari:

● aina ya uunganisho (kutambua, kutotambua, kategoria kamili / isiyo kamili, muunganisho usio maalum);

● huluki mzazi;

● taasisi ya mtoto (tegemezi);

● nguvu za mawasiliano (ukardinali);

● kukubalika kwa thamani tupu (basi).

IDEFIX hutofautisha kati ya huluki tegemezi na zinazojitegemea. Aina ya huluki huamuliwa na uhusiano wake na vyombo vingine. Uhusiano wa kutambua huanzishwa kati ya chombo huru (mzazi) na tegemezi (mtoto). Huluki tegemezi inawakilishwa na mstatili wenye pembe za mviringo. Uhusiano wa kutambua unapoanzishwa, sifa za ufunguo msingi wa huluki ya mzazi huhamishwa kiotomatiki hadi ufunguo msingi wa huluki ya mtoto. Uendeshaji huu wa kuongeza sifa kwa huluki ya mtoto wakati wa kuunda uhusiano unaitwa uhamiaji wa sifa. Katika shirika la mtoto, sifa mpya zinawekwa alama kama ufunguo wa kigeni - FK.

Wakati uhusiano usio wa kitambulisho unapoanzishwa, huluki ya mtoto hubaki huru, na sifa kuu za msingi za huluki ya mzazi zinajumuishwa katika sifa zisizo muhimu za shirika la mtoto. Uhusiano usio wa kitambulisho hutumiwa kuunganisha huluki huru. Ili kufafanua mahusiano ya ERwin, unachagua aina ya uhusiano, kisha utumie kipanya kuchagua huluki za mzazi na mtoto. Kiungo cha kutambua kinaonyeshwa kama mstari thabiti; yasiyo ya kutambua - mstari wa dotted. Mistari huisha kwa kitone kwenye upande wa shirika la mtoto.

Kardinali - hutumikia kuonyesha uwiano wa idadi ya matukio ya taasisi ya mzazi kwa idadi ya matukio ya mtoto.

Kuna aina nne za vyombo:

· hali ya jumla wakati mfano mmoja wa shirika la mzazi unalingana na 0, 1 au matukio mengi ya shirika la mtoto; haijawekwa alama yoyote;

· alama P inaashiria kisa wakati mfano mmoja wa huluki ya mzazi unalingana na tukio 1 au nyingi za huluki ya mtoto (thamani sifuri haijajumuishwa);

ishara Z inaashiria kesi wakati mfano mmoja wa chombo cha mzazi unalingana na mfano 0 au 1 wa chombo cha mtoto (thamani nyingi hazijajumuishwa);

· nambari huashiria kisa kinacholingana kabisa, wakati mfano mmoja wa huluki mzazi unalingana na idadi iliyoamuliwa mapema ya shirika la mtoto.

· Kukubalika kwa maadili tupu (NULL) katika mahusiano yasiyo ya kutambua kunaonyeshwa na ERwin kama almasi tupu kwenye safu ya uhusiano kutoka kwa upande wa huluki kuu.

Jina la muunganisho katika kiwango cha kimantiki ni kitenzi kinachounganisha vyombo. Jina la kiungo halisi (ambalo linaweza kuwa tofauti na jina la kiungo la kimantiki) la ERWin linamaanisha kizuizi au jina la faharasa. Ili kuonyesha jina la uhusiano, chagua chaguo kutoka kwa menyu: Muundo/Onyesho la Uhusiano/Kifungu cha maneno.

Vyombo vingine hufafanua kategoria nzima ya vitu vya aina moja. Katika ERwin, katika kesi hii, huluki huundwa ili kufafanua kitengo na kwa kila kipengele cha kategoria, na kisha uhusiano wa kategoria huletwa kwao. Huluki ya mzazi ya kategoria inaitwa aina kuu, na watoto wake wanaitwa aina ndogo.

Kwa mfano, huluki "hati inayoingia" inaweza kuwa ombi na agizo. Ya kwanza na ya pili zina seti tofauti za sifa zinazoingiliana kwa sehemu (makutano ya chini ya aina ndogo ndio ufunguo wa msingi). Sehemu ya kawaida ya sifa hizi, ikiwa ni pamoja na ufunguo wa msingi, huwekwa katika "hati inayoingia" chombo cha supertype. Sehemu mbalimbali (kwa mfano, data kuhusu maudhui, mtumaji) zimewekwa katika vyombo vya aina ndogo.

Katika chombo cha aina nyingi, sifa ya kibaguzi huletwa ambayo hukuruhusu kutofautisha kati ya matukio maalum ya chombo - aina ndogo.

Kulingana na kama huluki zote ndogo zinazowezekana zimejumuishwa kwenye modeli, uhusiano wa kategoria umekamilika au haujakamilika.

Mchoro 1.4 - Mfano wa seti isiyokamilika ya kategoria

Mchoro 1.5 - Mfano wa seti kamili ya kategoria

3. Huluki inaweza kuwa huluki ya jumla katika idadi yoyote ya mahusiano ya kategoria.

4. Sifa za ufunguo msingi wa huluki ya kategoria lazima zilingane na sifa za ufunguo msingi wa huluki ya jumla.

5. Matukio yote ya huluki ya kategoria yana thamani sawa ya kibaguzi, na matukio yote ya kategoria nyingine lazima yawe na maadili tofauti ya kibaguzi (ona Mchoro 4 na Mtini. 5).

Majukumu.

Jina la jukumu (jina la kiutendaji) ni kisawe cha sifa ya ufunguo wa kigeni ambayo inaonyesha jukumu ambalo sifa inacheza katika huluki ya mtoto. Kwa chaguo-msingi, ni jina la jukumu pekee linaloonyeshwa kwenye orodha ya sifa. Ili kuonyesha jina kamili la sifa (jina la utendaji na jina la jukumu), chagua Onyesho la Umbizo/Huluki kutoka kwa menyu ya muktadha na kisha uwashe chaguo la Rolename/Sifa. Jina kamili linaonyeshwa kama jina la utendaji na jina la msingi, likitenganishwa na nukta. Jina la jukumu limebainishwa kwenye kichupo cha Rolename cha sanduku la mazungumzo la Uhusiano. Dirisha hili linaitwa kwa kubofya mara mbili kwenye mstari wa uunganisho.

Ni lazima kutumia majina ya jukumu wakati sifa mbili au zaidi za chombo kimoja zimefafanuliwa juu ya upeo sawa, i.e. zina anuwai ya maana sawa, lakini maana tofauti.

Uwakilishi.

Maoni, au, kama yanavyoitwa wakati mwingine, majedwali ya muda au yanayotokana, ni vitu vya hifadhidata ambavyo data haihifadhiwi kabisa, kama ilivyo kwenye jedwali, lakini inatolewa kwa nguvu wakati mwonekano unafikiwa. Mtazamo hauwezi kuwepo peke yake, lakini unafafanuliwa tu kwa suala la meza moja au zaidi. Kutumia maoni huruhusu mbuni wa hifadhidata kutoa kila mtumiaji au kikundi cha watumiaji mtazamo tofauti wa data, ambayo hutatua matatizo ya urahisi wa kutumia na usalama wa data.

Ili kuanzisha uhusiano kati ya vyombo na kuunda funguo za kigeni, ERWin hutoa uwezo wa kugawanya aina za uhusiano katika chaguo kadhaa:

  • kutambua uhusiano - uhusiano ambao unafafanua mawasiliano ya mtu-mmoja kati ya mfano wa chombo kimoja na mfano mmoja wa huluki inayohusiana na, kama sheria, inaelezea uhusiano wa 1: 1, lakini wakati wa kutekeleza ufunguo wa msingi uliofungwa. inaweza kutekeleza uhusiano kati ya wengi (1:JV);
  • uhusiano usio wa kitambulisho - uhusiano unaotekeleza aina moja hadi nyingi ya uhusiano (1 :N), kwa kuwakilisha ufunguo wa kigeni katika huluki inayohusiana kama sifa rahisi ambayo inaweza kuwekewa vikwazo fulani vya ziada ikilinganishwa na sifa za kawaida za taarifa;
  • uhusiano mwingi - uhusiano unaotekelezea aina ya uhusiano wa wengi hadi wengi (L G:M), inawakilishwa tu kwa kiwango cha mfano wa kimantiki, unaoonyesha uhusiano kati ya vyombo, lakini bila kuunda funguo za kigeni katika vyombo vinavyohusiana;
  • uainishaji - uhusiano unaohakikisha kuunganishwa kwa jumuia-huluki na kategoria za huluki kwa kutumia aina ya uhusiano wa mtu-mmoja (1:1) na wakati huo huo kuunda ufunguo msingi wa kigeni katika kategoria za huluki zinazohusiana na ufunguo wa msingi wa chombo-jumuiya.

Wakati wa kuunda uhusiano kati ya vyombo viwili, chagua tu ikoni ya aina ya uhusiano, kisha uelekeze kwa mzazi na huluki husika kwa mpangilio mfululizo. Hii itaunda uhusiano na, ikiwa inaruhusiwa na aina ya uhusiano, unda funguo muhimu za kigeni katika huluki inayohusiana. Katika kesi wakati msanidi hajafafanua ufunguo wa msingi wa chombo cha mzazi na ameanzisha uhusiano, kwa mfano, usio wa kitambulisho, basi uundaji wa ufunguo wa kigeni hautatokea, lakini mara tu ufunguo wa msingi utakapowekwa. iliyobainishwa katika huluki kuu, itaonyeshwa mara moja katika huluki inayohusiana na ufunguo wa kigeni kwa mujibu wa muunganisho kati ya huluki hizi zilizopo kwenye modeli.

Zana ya ERWin, wakati wa kuanzisha uhusiano kati ya vyombo, hufafanua aina mbili za huluki:

  • mzazi - ni huluki msingi ambayo ufunguo wake msingi unaweza kuhamia huluki husika;
  • mtoto - hufafanuliwa na huluki ambayo, muunganisho unapoanzishwa, hupokea ufunguo wa kigeni unaoundwa kutoka kwa ufunguo wa msingi unaohama wa huluki kuu.

Mgawanyiko huu unaonekana kuwa wa mantiki kabisa, kwa kuwa, kwa kuzingatia upekee wa viunganisho vya jengo na mantiki ya eneo la somo, habari iliyoelezwa na chombo cha mzazi imeunganishwa kuhusiana na data iliyoelezwa na chombo cha mtoto. Kwa mfano, kwa kuzingatia uhusiano kati ya vyombo "Mteja" na "Agizo", mteja maalum, anayewakilishwa na mfano wa chombo "Mteja", huchanganya (jumla) seti ya maagizo ambayo aliunda kwenye duka la elektroniki.

zine. Kwa hivyo, huluki ya "Agizo" inayohusiana na huluki ya "Mteja" inaweza kuchukuliwa kama mtoto, na huluki ya "Mteja" kama mzazi.

Maelezo ya mahusiano yana, ikilinganishwa na vyombo na sifa, idadi ndogo ya mali zinazohitaji kuelezewa, lakini pia, na wakati mwingine ni muhimu zaidi, kwa sababu zinakuwezesha kuelezea na kusanidi sheria za uadilifu wa kumbukumbu, kuhakikisha, wakati unatekelezwa katika hifadhidata, usahihi wa uhifadhi wa data. Moja ya sifa ni jina la uunganisho, ambalo hutumiwa katika mfano wa database na huamua maana ya msingi ya uhusiano unaoanzishwa kati ya vyombo (Mchoro 3.15).

Mchele. 3.15. Maelezo ya kimsingi ya mawasiliano katika ERWin


Safu ya "Jina" katika maelezo ya muunganisho humpa msanidi fursa ya kutaja jina ambalo linaonyesha maana ya kisemantiki ya muunganisho. Hii ni sehemu muhimu ya mfano, hukuruhusu kuelewa bila shaka kiini na maana ya muunganisho ulioanzishwa, ambao, mwishowe, unapaswa kusaidia kurekebisha kwa usahihi mfano wa hifadhidata, kusambaza kwa usahihi sifa za mtu binafsi kati ya vyombo.

Ni muhimu kuelewa kwamba majina ya mahusiano yanapaswa kuwa, ikiwa inawezekana, ya kipekee ndani ya mfano mzima wa database, na si tu kwa kiwango cha mchoro wa mtu binafsi. Uwepo wa majina yanayofanana ya viungo inaweza kusababisha kutoweza kutambua kwa usahihi kiungo kinacholingana na hatimaye kujenga mfano mzuri. Sifa nyingine zinazoelezea uhusiano kati ya huluki ziko kwenye kisanduku cha mazungumzo chini ya orodha ya mahusiano ya kielelezo na zina sheria za ukadinali (ukardinali), kubadilisha jina la ufunguo wa kigeni uliozalishwa (jukumu) na kuhakikisha uadilifu wa marejeleo.

Tabia tatu muhimu zaidi za msingi za uunganisho (Mchoro 3.16), ambayo huunda kiini kikuu cha uunganisho, huelezwa kwenye kichupo cha kwanza "Jumla" na kuwakilisha aina ya uunganisho, jina la uunganisho, kardinali (nguvu) . Vigezo hivi vya mawasiliano lazima vifafanuliwe na kuelezewa kwa usahihi. Mbali na jina la uunganisho, sifa zilizobaki zitahamishwa wakati wa mabadiliko sahihi kwa mfano wa kimwili, na kisha kwenye hifadhidata.

Tabia ya kwanza ya uunganisho huamua aina yake (Mchoro 3.17): kutambua au kutotambua. Wakati huo huo, kwa kuchagua aina inayofaa ya uhusiano, msanidi programu ana nafasi (kwa uhusiano usio wa kitambulisho) kutaja kutokuwepo kwa mfano wa huluki ya mzazi, na hivyo kuruhusu ufunguo wa kigeni kutaja thamani tupu "NULL. ”.

Mchele. 3.16. Tabia kuu za mawasiliano katika RZh Win


Kwa kawaida, wakati wa kuanzisha uhusiano usio wa kutambua, Chaguo la Null limewekwa kwa Nulls Hairuhusiwi. Hii inabainishwa na sura maalum za kufanya kazi na data, kulingana na ambayo mfano wa data ya mtoto lazima uhusishwe na mfano wa mzazi. Lakini wakati mwingine kuna matukio wakati hii haijazingatiwa. Kama sheria, hali hii inatokea wakati vitu vya eneo la somo lililounganishwa na uhusiano huu ni sawa na haiwezekani kuamua bila usawa kipaumbele cha kuonekana kwa mfano wa chombo fulani. Kisha thamani imewekwa kwa "Null Allowed" (NULL inaruhusiwa), kama inavyoonekana katika mfano (ona Mchoro 3.17).


Kwa kuwa miunganisho ya moja kwa moja na moja hadi nyingi inahusiana na tofauti ndani yao ziko kwa nguvu tu na mahitaji mengine magumu zaidi, kubadili kati ya aina hizi za viunganisho kunaweza kufanywa ndani ya kisanduku cha mazungumzo cha mipangilio ya uunganisho, kubadilisha muunganisho kutoka. aina ya "Si" kutambua" ili kuandika "Kutambua". Katika kesi hii, Chaguo la Null halitapatikana

kwa mipangilio. Hii inafafanuliwa na ukweli kwamba wakati uhusiano wa kutambua umeanzishwa, ufunguo wa kigeni uliopatikana katika taasisi ya mtoto pia ni ufunguo wa msingi, na kwa mujibu wa sheria za ujenzi wa database, ufunguo wa msingi hauwezi kuhifadhi thamani tupu. Kwa hivyo, ufunguo wa kigeni unaotokana umewekwa kwa Null Hairuhusiwi.

Tabia nyingine ambayo inafanya uwezekano wa kuhama kutoka kwa uhusiano wa moja hadi moja hadi uhusiano wa watu wengi na kinyume chake ni kardinali. Kuanzisha kardinali (nguvu) ya uunganisho ndani ya mali ya "Cardinality" na "Cardinality Value" huweka sheria za kujaza matukio ya taasisi ya mtoto (Mchoro 3.18). Kuna chaguzi nne za ukadinali zilizoamuliwa na ERWin:

  • Sufuri, Moja au Zaidi (sifuri, moja au nyingi) - kwa shirika la mtoto, idadi yoyote ya matukio yanayohusiana na mfano mmoja wa huluki ya mzazi inawezekana, ikiwa ni pamoja na chaguo la kutokuwepo;
  • (P) Moja au Zaidi - idadi ya matukio ya shirika la mtoto yanayohusishwa na tukio moja la huluki ya mzazi inaweza kuwa yoyote, lakini wakati wa kuunda mfano katika taasisi ya mzazi, matukio lazima yawepo katika taasisi ya mtoto, ambayo inahitaji kuweka kigezo cha "Null Option" kwa thamani "Nulls Inaruhusiwa", ikiruhusu thamani batili "NULL" kuhifadhiwa kwenye kitufe cha kigeni kilichopatikana baada ya kuanzishwa kwa uhusiano;
  • (Z) Sufuri au Moja - uhusiano wa mtu-kwa-mmoja umefafanuliwa, kuruhusu kuwepo kwa si zaidi ya tukio moja la data katika shirika la mtoto;
  • Thamani ya Ukadinali - hubainisha idadi kamili ya matukio yanayohusiana katika shirika la mtoto, ambayo yanaweza kupatikana tu kwa kuweka "Chaguo Batili" kuwa "Nulls Inaruhusiwa", kwanza kuunda matukio katika shirika la mtoto, na kisha kuunganisha kwa mfano katika chombo cha mzazi.

Kama matokeo ya kuonyesha kardinali (nguvu) ya uunganisho kwenye mfano, jina lake la alphanumeric litaonyeshwa kwenye mchoro. Ikiwa chaguo la kardinali (nguvu) limechaguliwa katika chaguo la "Moja au nyingi", basi herufi "P" itaonyeshwa, katika kesi ya kardinali "Zero au moja" - herufi "Z", ikiwa ni thamani halisi ya nambari. imeelezwa - thamani maalum, katika chaguzi nyingine hakuna alama zitaonyeshwa kwenye mfano.

Tabia nyingine ya uunganisho inaelezewa kuwa kuu - maudhui ya semantic ya uhusiano (Mchoro 3.19), unaoonyeshwa na fomu ya kitenzi.

Maelezo haya, kama ilivyo katika miundo yote ya hifadhidata katika kiwango chochote cha uwasilishaji, yanaonyesha upekee wa mwingiliano wa matukio ya huluki kwa mujibu wa sifa za eneo la somo. Ni lazima maelezo yawe maneno yanayoashiria uhusiano wa mfano wa huluki ya mzazi kwa mfano wa huluki ya mtoto, au kinyume chake, inayowakilisha usemi ulio na kitenzi cha kitendo.


Wakati uhusiano wa mtu-kwa-mmoja na mmoja-kwa-wengi unapoanzishwa, kama ilivyojadiliwa hapo juu, ufunguo wa msingi wa huluki ya mzazi huhamia kwenye shirika la mtoto, na kuunda ufunguo wa kigeni unaolingana (Mchoro 3.20). Mara nyingi, hasa wakati wa kutumia mkataba wa majina kwa vipengele vya mfano, funguo za msingi zinazofanana katika vyombo tofauti zinaweza kuwa na majina sawa, ambayo husababisha matatizo fulani wakati wa kuanzisha mahusiano, na kusababisha haja ya kutafakari funguo za kigeni na majina ambayo tayari yapo katika chombo. Chaguo jingine inapohitajika kutumia utaratibu wa kutaja wa sheria muhimu ya uhamiaji inaweza kuwa kwamba sifa inayoelezea ufunguo wa kigeni unaolingana inahitaji kuandikwa kwa usahihi zaidi.


Suluhisho la matatizo haya linatekelezwa kupitia utaratibu wa "Jina la Wajibu", ambapo msanidi hutaja jina la sifa kwa ufunguo wa kigeni, kwani inapaswa kuwakilishwa katika mfano wa hifadhidata na, kwa sababu hiyo, mabadiliko katika hifadhidata. Eneo la "Maelezo ya Jina la Jukumu" lina safu wima mbili:

  • Sifa Iliyohamishwa - inaonyesha sifa ya huluki ya mzazi ambayo inawakilishwa na ufunguo wa kigeni katika huluki ya mtoto inayohusishwa (haiwezi kubadilishwa);
  • Jina la Jukumu—Huonyesha thamani mpya ya jina la ufunguo wa kigeni ambayo inapaswa kutumika badala ya jina la sifa inayohama.

Kubainisha jina la sifa litakalohitajika katika safu wima ya "Jina la Jukumu" kutasababisha kubadilishwa jina kwa sifa ya ufunguo wa kigeni na matumizi ya baadaye ya jina la sifa mpya katika vipengele vyote vya muundo wa hifadhidata inapohitajika.

Kufafanua sheria za uadilifu wa marejeleo (Mchoro 3.21) ni hatua katika muundo halisi wa hifadhidata. Hii ni kutokana na ukweli kwamba sheria za kibinafsi kwa baadhi ya DBMS zinaweza kuwa hazipatikani. Hata hivyo, ERWin hutoa uwezo wa kubainisha sheria za uadilifu wa marejeleo kwa mahusiano yanayoundwa katika hatua ya uundaji wa kimantiki. Katika hatua hii, msanidi programu hupewa seti ya juu ya sheria:

  • Hakuna (haipo) - sheria ambayo inachukua vitendo vyovyote vya mtumiaji bila kuathiri vipengele vingine vya hifadhidata;
  • Hakuna Kitendo (hakuna hatua) - sheria ambayo inachukua vitendo vilivyoainishwa na msanidi programu;
  • Kuzuia (kukataza) sheria inayokataza kufanya operesheni kwenye data ikiwa hali ya jaribio ni kweli;
  • Cascade - sheria ambayo hufanya vitendo vya mlolongo kwenye data inayohusiana kwa mujibu wa hatua iliyofanywa kwenye data ambayo sheria hii inafafanuliwa;
  • Weka Null - sheria inayoweka thamani ya ufunguo wa kigeni kwa NULL kwa matukio yanayohusiana;
  • Weka Chaguomsingi - Sheria inayoweka thamani chaguo-msingi iliyobainishwa kwa ufunguo wa kigeni wa mfano unaohusishwa.

Sheria za uadilifu wa marejeleo zinalenga kuhakikisha usahihi wa utendakazi na data wakati wa kuirekebisha. Kwa hivyo, sheria hizi lazima zifuatwe ikiwa shughuli zinatekelezwa kwenye hifadhidata, lakini kuongeza, kubadilisha na kufuta data. ERWin hutekeleza utendakazi wa kizuizi cha uadilifu kwa kiwango cha juu iwezekanavyo, kwa kuzingatia utekelezaji wa shughuli husika sio tu kwa kesi kuu zinazoathiri mabadiliko katika hifadhidata, lakini pia kwa shughuli ambazo hazipaswi kuwa na mabadiliko makubwa katika hifadhidata. Kwa hivyo, msanidi anaombwa kubainisha sheria za uadilifu wa marejeleo anapotekeleza vitendo kwenye data wakati wa kurekebisha matukio ya data katika taasisi za mzazi na mtoto. Baadaye, vitendo hivi vyote, ikiwa hazijatolewa katika DBMS, vitabadilishwa kuwa moduli za programu za utekelezaji wa moja kwa moja (vichocheo) na kuhusishwa na vitendo vinavyofanywa kwenye data. Ikiwa DBMS ina vitendo vilivyobainishwa vya uadilifu wa marejeleo, vitatangazwa na sheria zinazolingana wakati wa kuelezea majedwali ya data.


Wakati wa kuunda uunganisho wa wengi hadi wengi, msanidi ana nafasi ya kutaja seti ya chini ya sifa za uunganisho, ikiwa ni pamoja na kufafanua mzigo wa semantic. Hakuna sheria nyingine na sifa zinazoanzishwa kwa aina hii ya uunganisho, tangu wakati wa kuhamia kwa mfano wa kimwili, uunganisho huo lazima uwe wa kawaida na uwakilishwe na uhusiano wa moja hadi nyingi (Mchoro 3.22).


  • wakati wa kutaja muunganisho kwa mara ya kwanza, chagua ikoni ya uunganisho na uchague kwa mpangilio huluki ya jumuiya na mojawapo ya vyombo vya kategoria;
  • Kwa kutumia aikoni sawa ya kiungo cha uainishaji, unganisha huluki za kategoria zilizosalia kwa kuchagua kwa mpangilio kipengele cha picha na huluki ya kategoria inayofuata.

Kama matokeo ya kufanya vitendo hivi, muundo wa hifadhidata utakuwa na uwakilishi wa uhusiano sawa na mfano hapo juu (ona Mchoro 3.22).

Kuna aina mbili za mahusiano ya kategoria, moja ambayo inapaswa kuamua wakati wa kuanzisha aina hii ya uhusiano (Mchoro 3.23). Ili kuonyesha tofauti katika aina ya uunganisho wa kategoria, uteuzi wa kipengele cha picha utawasilishwa na mistari miwili au mstari mmoja (Jedwali 3.1).




Kwa kiungo cha uainishaji yenyewe, hakuna sifa nyingine zinazofafanuliwa, na msanidi hupewa tu fursa ya kutazama muundo wa kiungo cha uainishaji (Mchoro 3.24). Maelezo haya yanawezesha kuona ni aina gani ya huluki zinazofafanuliwa na aina ndogo, na ni jumuiya gani inayowakilishwa na aina kuu.

Viunganisho vyenyewe kutoka kwa kipengee cha uainishaji wa picha hadi kwa vyombo ni viunganisho vya mtu-mmoja, na, kama sheria, sifa maalum hufafanuliwa kwao. Msanidi programu hupewa fursa ya kubainisha tu maudhui ya kisemantiki ya mahusiano, jina la sifa muhimu ya kigeni na sheria za uadilifu wa marejeleo.

Mchele. 3.24. Maelezo ya uhusiano wa kategoria katika EHRI

  • Mjadala wa kina wa sheria za uadilifu wa marejeleo umejadiliwa katika Sehemu ya 3.2.

Kuna maoni mawili yanayowezekana juu ya mfano wa habari na, ipasavyo, viwango viwili vya mfano. Kiwango cha kwanza - mantiki (mtazamo wa mtumiaji) inamaanisha maonyesho ya moja kwa moja ya ukweli kutoka kwa maisha halisi. Kwa mfano, watu, meza, idara, mbwa na kompyuta ni vitu halisi. Wanaitwa kwa lugha ya asili, na vitenganishi vya maneno yoyote (nafasi, koma, nk). Katika kiwango cha kimwili cha mfano, matumizi ya DBMS maalum huzingatiwa, aina za data (kwa mfano, nambari kamili au halisi), na faharisi za meza zimedhamiriwa.

ERwin hutoa uwezo wa kuunda na kudhibiti viwango hivi viwili tofauti vya uwasilishaji wa mchoro mmoja (mfano), pamoja na kuwa na chaguo nyingi za kuonyesha katika kila ngazi. Neno "kiwango cha kimantiki" katika ERwin linalingana na muundo wa dhana.

Hatua za kuunda muundo wa habari:

· ufafanuzi wa vyombo;

· uamuzi wa utegemezi kati ya vyombo;

· kuweka funguo msingi na mbadala;

· ufafanuzi wa sifa za huluki;

· kuleta mfano kwa kiwango kinachohitajika cha fomu ya kawaida;

· mpito kwa maelezo ya kimwili ya mfano: mgawo wa mawasiliano ya jina la chombo - jina la jedwali, sifa ya chombo - sifa ya jedwali;

· kuweka vichochezi, taratibu na vikwazo;

· Uzalishaji wa hifadhidata.

Erwin huunda uwakilishi wa kuona (mfano wa data) kwa tatizo linalotatuliwa. Mtazamo huu unaweza kutumika kwa uchambuzi wa kina, uboreshaji, na usambazaji wa nyaraka zinazohitajika katika mzunguko wa maendeleo. Walakini, ERwin ni mbali na zana ya kuchora tu. ERwin huunda hifadhidata kiotomatiki (meza, faharasa, taratibu zilizohifadhiwa, vichochezi vya uadilifu wa marejeleo, na vitu vingine vinavyohitajika kudhibiti data).

Kuunda huluki.

Ili kuongeza huluki kwenye kielelezo, unahitaji kubofya kitufe cha huluki kwenye upau wa vidhibiti (Erwin Toolbox), kisha ubofye mahali kwenye mchoro unapotaka kuweka huluki mpya. Kwa kubofya kulia huluki na kuchagua Kihariri cha Huluki kutoka kwenye menyu ibukizi, unaweza kuonyesha kidirisha cha Kihariri cha Huluki, ambapo unafafanua jina, maelezo, na maoni ya huluki.

Kila huluki lazima ifafanuliwe kikamilifu kwa kutumia maelezo ya maandishi katika kichupo cha Ufafanuzi. Ufafanuzi huu ni muhimu katika kiwango cha kimantiki, kwani hukuruhusu kuelewa chombo ni nini, na kwa kiwango cha mwili, kwani zinaweza kusafirishwa kama sehemu ya schema na kutumika katika hifadhidata halisi (CREATE COMMENT on entity_name). Alamisho za Kumbuka, Note2, Note3, UDP (Sifa Zilizofafanuliwa za Mtumiaji) hutumiwa kuongeza maoni na ufafanuzi wa ziada kwa huluki.

Katika kichupo cha Aikoni, kila huluki inaweza kupewa picha ambayo itaonyeshwa katika hali ya utazamaji ya kielelezo kwenye kiwango cha ikoni na picha ambayo itaonyeshwa katika viwango vingine vyote.

Kichupo cha UDP cha kidirisha cha Kihariri cha Huluki kinatumika kufafanua sifa zilizobainishwa na mtumiaji (Sifa Zilizobainishwa za Mtumiaji). Unapobofya kwenye kitufe cha kichupo hiki, mazungumzo ya Mhariri wa Mali Iliyofafanuliwa huitwa (pia huitwa kutoka kwa menyu ya Hariri/UDPs). Ni muhimu kuonyesha aina ya kitu ambacho UDP inaundwa (mchoro kwa ujumla, chombo, sifa, nk) na aina ya data. Ili kuongeza kipengele kipya, bofya kitufe kwenye jedwali na uweke jina, aina ya data, thamani chaguo-msingi na ufafanuzi.

Kuunda Sifa

Ili kuelezea sifa, bofya kulia kwenye chombo na uchague Kihariri cha Sifa kutoka kwenye menyu inayoonekana. Kidirisha cha Kihariri cha Sifa kinaonekana.

Ikiwa unabonyeza kitufe kipya, kwenye mazungumzo ya Sifa Mpya inayoonekana, unaweza kutaja jina la sifa, jina la safu inayolingana nayo katika muundo wa mwili, na kikoa. Kikoa cha sifa kitatumika wakati wa kufafanua aina ya safu wima katika kiwango cha muundo halisi.

Kwa sifa za msingi, katika kichupo cha Jumla cha kidirisha cha Kihariri cha Sifa, lazima uweke alama kwenye dirisha la uteuzi wa Ufunguo Msingi.

Vichupo vya Ufafanuzi, Kumbuka, na UDP hufanya kazi sawa na wakati wa kufafanua huluki, lakini katika kiwango cha sifa.

Ili kufanya mchoro uonekane zaidi, kila sifa inaweza kuhusishwa na ikoni. Hii inaweza kufanywa kwa kutumia orodha ya uteuzi wa ikoni kwenye kichupo cha Jumla.

Ni muhimu sana kutoa sifa jina sahihi. Sifa lazima zitajwe katika umoja na ziwe na maana wazi ya kisemantiki.

Kulingana na syntax ya IDEF1X, jina la sifa lazima liwe la kipekee ndani ya modeli (sio tu ndani ya chombo!). Kwa chaguo-msingi, unapojaribu kuongeza jina la sifa lililopo, ERwin hulipatia jina jipya. Kwa mfano, ikiwa sifa ya Maoni tayari ipo kwenye modeli, sifa nyingine (katika chombo kingine) itaitwa Maoni/2, kisha Maoni/3, n.k.

Wakati wa kuhamisha sifa ndani na kati ya huluki, unaweza kutumia mbinu ya kukokota na kudondosha kwa kuchagua kitufe kwenye ubao wa zana.

Kuunda muunganisho.

Ili kuunda uhusiano mpya, chagua uhusiano wa kutambua au usiotambulisha katika ubao wa zana (ERwin Toolbox), bofya kwanza kwenye mzazi kisha kwenye huluki ya mtoto.

Katika ubao wa zana, kitufe kinalingana na uhusiano unaotambulisha, kitufe cha uhusiano kati ya wengi hadi wengi, na kitufe kinacholingana na uhusiano usiotambulisha. Ili kuhariri sifa za uhusiano, bofya kulia kwenye uhusiano na uchague Kihariri cha Uhusiano kutoka kwa menyu ya muktadha.

Katika kichupo cha Jumla cha mazungumzo yanayoonekana, unaweza kuweka nguvu, jina na aina ya uunganisho.

Nguvu ya mawasiliano (Kadinali)- hutumikia kuonyesha uwiano wa idadi ya matukio ya taasisi ya mzazi kwa idadi ya matukio ya mtoto.

Kuna aina nne za nguvu:

hali ya jumla ambapo mfano mmoja wa huluki ya mzazi unalingana na 0, 1, au matukio mengi ya huluki ya mtoto haijatiwa alama yoyote;

alama P inaashiria kesi wakati mfano mmoja wa huluki ya mzazi inalingana na 1 au matukio mengi ya shirika la mtoto (thamani isiyo na maana haijajumuishwa);

ishara Z inaashiria kesi wakati mfano mmoja wa chombo cha mzazi unalingana na mfano 0 au 1 wa chombo cha mtoto (thamani nyingi hazijajumuishwa);

Nambari hiyo inaashiria kisa wakati mfano mmoja wa huluki ya mzazi unalingana na idadi iliyoamuliwa mapema ya matukio ya shirika la mtoto.

Kwa chaguo-msingi, ishara inayowakilisha nguvu ya kiungo haionyeshwa kwenye mchoro. Ili kuonyesha jina, katika menyu ya muktadha inayoonekana ikiwa unabofya-kulia mahali popote kwenye mchoro ambao haujachukuliwa na vitu vya mfano, chagua Chaguzi za Kuonyesha / Uhusiano na kisha uwezesha chaguo la Kardinali.

Aina ya uunganisho (kutambua/kutokutambulisha).

IDEF1X hutofautisha kati ya huluki tegemezi na zinazojitegemea. Aina ya huluki huamuliwa na uhusiano wake na vyombo vingine. Uhusiano wa kutambua huanzishwa kati ya chombo huru (mwisho wa mzazi wa uhusiano) na tegemezi (mwisho wa mtoto wa uhusiano). Wakati uhusiano wa kutambua unapochorwa, ERwin hubadilisha uhusiano wa mtoto kiotomatiki kuwa uhusiano tegemezi. Huluki tegemezi inawakilishwa na mstatili wenye pembe za mviringo.

Mfano wa huluki tegemezi hufafanuliwa tu kupitia uhusiano na huluki ya mzazi. Uhusiano wa kutambua unapoanzishwa, sifa za ufunguo msingi wa huluki ya mzazi huhamishwa kiotomatiki hadi ufunguo msingi wa huluki ya mtoto. Uendeshaji huu wa kuongeza sifa kwa huluki ya mtoto wakati wa kuunda uhusiano unaitwa uhamiaji wa sifa. Katika shirika la mtoto, sifa mpya zinawekwa alama kama funguo za kigeni - (FK).

Uhusiano usio wa kitambulisho unapoanzishwa, huluki ya mtoto hubaki huru, na sifa kuu za msingi za huluki ya mzazi huhamia sehemu zisizo muhimu za huluki ya mtoto. Uhusiano usio wa kutambua hutumiwa kuunganisha vyombo vya kujitegemea.

Muunganisho wa kutambua unaonyeshwa kwenye mchoro kama mstari dhabiti wenye kitone nene mwishoni mwa muunganisho wa mtoto, na muunganisho usio wa kitambulisho unaonyeshwa kama mstari wa vitone.

Kwa uhusiano usio wa kutambua, unaweza kubainisha lazima (Nnulls katika kichupo cha Jumla cha mazungumzo ya Kihariri cha Uhusiano). Katika kesi ya uhusiano wa lazima (Hakuna Nulls), wakati wa kuzalisha schema ya database, sifa ya ufunguo wa kigeni itapokea sifa ya NOT NULL, licha ya ukweli kwamba ufunguo wa kigeni hautakuwa sehemu ya ufunguo wa msingi wa chombo cha mtoto. Katika kesi ya uhusiano wa hiari (Nulls Inaruhusiwa), ufunguo wa kigeni unaweza kuwa NULL. Uhusiano wa hiari wa kutotambua umetiwa alama ya almasi isiyo na uwazi kwenye upande wa huluki kuu

Neno la Kitenzi- kifungu kinachoonyesha uhusiano kati ya vyombo vya mzazi na mtoto. Kwa uhusiano wa mtu mmoja hadi wengi, kutambua au kutotambua, inatosha kutaja jina linaloonyesha uhusiano kutoka kwa chombo cha mzazi hadi mtoto (Mzazi-kwa-Mtoto). Kwa uhusiano wa wengi kwa wengi, majina ya Mzazi-kwa-Mtoto na ya Mtoto kwa Mzazi lazima yabainishwe. Ili kuonyesha jina, katika menyu ya muktadha inayoonekana ikiwa utabofya-kulia mahali popote kwenye mchoro ambao haujachukuliwa na vitu vya mfano, chagua Chaguo za Kuonyesha/Uhusiano na kisha uwashe chaguo la Maneno ya Kitenzi.

Jina la jukumu au jina la utendaji (Rolename) ni kisawe cha sifa ya ufunguo wa kigeni ambayo inaonyesha jukumu ambalo sifa inacheza katika huluki ya mtoto. Unaweza kuweka jina la jukumu katika kichupo cha Vitendo vya Rolename/RI cha kidirisha cha Kihariri cha Uhusiano.

Mtini.1. Majina muhimu ya kigeni

Katika mfano unaoonyeshwa kwenye Mtini. 1, katika Huluki ya Nambari ya Idara ya Ufunguo wa Kigeni ya Mfanyakazi ina jina la jukumu "Ambapo Inafanya Kazi" ambalo linaonyesha ni jukumu gani sifa hii inacheza katika shirika. Kwa chaguo-msingi, ni jina la jukumu pekee linaloonyeshwa kwenye orodha ya sifa. Ili kuonyesha jina kamili la sifa (jina la utendaji na jina la jukumu), katika menyu ya muktadha inayoonekana ikiwa utabofya kulia mahali popote kwenye mchoro ambao haujachukuliwa na vitu vya mfano, chagua Chaguzi za Onyesho / Vyombo na kisha uwashe Rolename. / Chaguo Sifa. Jina kamili linaonyeshwa kama jina la utendaji na jina la msingi likitenganishwa na nukta (Mchoro 1).

Ni lazima kutumia majina ya jukumu wakati sifa mbili au zaidi za chombo kimoja zimefafanuliwa juu ya upeo sawa, i.e. zina anuwai ya maana sawa, lakini maana tofauti.

Mtini.2. Kesi ya majina ya jukumu la lazima

Katika Mchoro 2, huluki ya Mauzo ya Sarafu ina taarifa kuhusu kitendo cha kubadilisha fedha ambapo sarafu mbili zinahusika - kuuzwa na kununuliwa. Maelezo kuhusu sarafu yamo katika huluki ya Sarafu. Kwa hivyo, huluki za Uuzaji na Sarafu lazima ziunganishwe mara mbili, na ufunguo msingi - Nambari ya Sarafu lazima ihamishwe mara mbili hadi kwenye huluki ya Sarafu kama ufunguo wa kigeni. Inahitajika kutofautisha kati ya sifa hizi, ambazo zina habari kuhusu idadi ya sarafu iliyouzwa na kununuliwa (zina maana tofauti), lakini rejea chombo sawa cha Sarafu (zina anuwai ya kawaida ya maadili). Katika mfano katika Mchoro 2, sifa zilipokea majina ya jukumu Kuuzwa na Kununuliwa.

Mfano mwingine wa matumizi ya lazima ya majina ya jukumu ni uhusiano wa kujirudia, wakati chombo kimoja ni mzazi na mtoto.

Kanuni za Uadilifu wa Marejeleo (RI).- miundo ya kimantiki inayoeleza sheria za biashara za kutumia data na kuwakilisha sheria za kuingiza, kubadilisha na kufuta. Unaweza kuweka sheria za uadilifu wa marejeleo katika kichupo cha Vitendo cha Rolename/RI cha kidirisha cha Kihariri cha Uhusiano.

Wakati wa kutengeneza utaratibu wa hifadhidata kulingana na chaguo za kielelezo cha kimantiki, sheria za uadilifu wa marejeleo tangazo zitatolewa, ambazo lazima ziainishwe kwa kila uhusiano, na vichochezi vinavyohakikisha uadilifu wa marejeleo.

Mtini.3. Majina ya majukumu yanayohama

Katika Mchoro 3 kuna uhusiano wa kutambua kati ya Timu na vyombo vya Mchezaji. Nini kitatokea ikiwa utafuta amri? Mfano wa chombo Kichezaji hakiwezi kuwepo bila amri (sifa ya ufunguo msingi Anacheza timu gani? Nambari ya timu haiwezi kuchukua thamani NULL), kwa hivyo unahitaji kupiga marufuku kufuta timu mradi tu kuna angalau mchezaji mmoja ndani yake, au kufuta wachezaji wake wote pamoja na timu. Sheria hizo za uondoaji (Futa Mzazi) huitwa Kizuizi cha Mzazi (kizuizi) na Msururu wa Mzazi (mteremko). Vyombo vya Mchezaji na Goli, kwa upande wake, vinaunganishwa na kiunga kinachotambulisha na, ikiwa kufutwa kwa mchezaji kunategemea sheria ya kufuta kwa rekodi zote za malengo yake, basi timu inapofutwa, wachezaji wote kwenye timu. na mabao yote yaliyofungwa na wachezaji hawa yatafutwa.

Mawasiliano mengi hadi mengi yanawezekana tu katika kiwango cha modeli ya data ya kimantiki. Uunganisho kama huo unaonyeshwa na mstari thabiti na dots mbili kwenye ncha. Ili kuongeza uhusiano, lazima kwanza ubofye kitufe kwenye ubao wa zana (ERwin Toolbox), na kisha ubofye huluki zote mbili zinazohusiana kwa zamu.

Uhusiano wa wengi kwa wengi unapaswa kupewa jina (Kifungu cha Kitenzi) kwa vishazi viwili - katika pande zote mbili. Hii inafanya mchoro kuwa rahisi kusoma.

Kuunda funguo.

Kila mfano wa huluki lazima uwe wa kipekee na tofauti na sifa zingine.

Ufunguo wa msingi ni sifa au kikundi cha sifa ambacho hutambulisha kwa namna ya kipekee mfano wa huluki. Sifa muhimu za msingi kwenye mchoro hazihitaji kuteuliwa maalum - ni sifa hizo ambazo ziko kwenye orodha ya sifa zilizo juu ya mstari wa mlalo. Unapoongeza sifa mpya kwenye kidirisha cha Kihariri cha Sifa, ili kuifanya kuwa sifa ya ufunguo msingi, unahitaji kuwasha kisanduku cha kuteua cha Ufunguo Msingi chini ya kichupo cha Jumla. Katika mchoro, sifa muhimu inaweza kuongezwa kwa ufunguo wa msingi kwa kutumia hali ya uhamisho wa sifa (kifungo kwenye palette ya chombo).

Huluki moja inaweza kuwa na sifa au seti kadhaa za sifa ambazo zinadai kuwa ufunguo msingi. Waombaji kama hao wanaitwa funguo zinazowezekana (ufunguo wa mgombea).

Funguo zinaweza kuwa ngumu, i.e. zenye sifa kadhaa. Vifunguo tata vya msingi havihitaji nukuu maalum - ni orodha ya sifa zilizo juu ya mstari mlalo. Wakati wa kuchagua ufunguo wa msingi, upendeleo unapaswa kutolewa kwa funguo rahisi, i.e. vitufe vyenye sifa chache.

Vyombo vingi vina ufunguo mmoja tu wa mgombea. Hii inakuwa ufunguo wa msingi. Huluki zingine zinaweza kuwa na ufunguo zaidi ya mmoja. Kisha mmoja wao anakuwa ufunguo wa msingi, na wengine kuwa funguo mbadala.

Ufunguo Mbadala ni ufunguo wa mgombea ambao haujawa ufunguo msingi.

Kila ufunguo una faharisi inayolingana, jina ambalo pia hupewa kiatomati. Majina ya ufunguo na index yanaweza kubadilishwa kwa mikono ikiwa inataka.

Katika mchoro, sifa za funguo mbadala zinaonyeshwa kama (Akn.m.), ambapo n ni nambari ya serial ya ufunguo, m ni nambari ya serial ya sifa katika ufunguo. Wakati ufunguo mbadala una sifa nyingi, (Akn.m.) huwekwa baada ya kila moja.

Mtini.4. Huluki "Mfanyakazi" na funguo kuonyeshwa


Funguo za Kigeni huundwa kiotomatiki wakati uhusiano unaunganisha huluki: uhusiano huunda rejeleo la sifa kuu za msingi katika huluki ya mtoto, na sifa hizi huunda ufunguo wa kigeni katika huluki ya mtoto (uhamiaji muhimu). Sifa muhimu za kigeni zinaonyeshwa na ishara (FK) baada ya jina lao (Mchoro 4). Sifa muhimu za kigeni Inapofanya Kazi Nambari ya idara (“Ambapo Inafanya Kazi” ndilo jina la jukumu) la huluki ya Mfanyakazi ni sifa ya msingi (PK) katika huluki ya Idara.

Huluki tegemezi inaweza kuwa na ufunguo sawa kutoka kwa huluki nyingi za wazazi. Huluki inaweza pia kupokea ufunguo uleule wa kigeni mara kadhaa kutoka kwa mzazi mmoja kupitia mahusiano mengi tofauti. ERwin inapogundua mojawapo ya matukio haya, inatambua kuwa sifa hizi mbili ni sawa na huweka sifa za ufunguo wa kigeni kwenye huluki tegemezi mara moja tu. Mchanganyiko huu au umoja wa sifa zinazofanana huitwa umoja.

Kuna matukio wakati umoja haufai. Kwa mfano, wakati sifa mbili zina majina sawa, lakini kwa kweli zinatofautiana katika maana, na ni muhimu kwamba tofauti hii ionekane kwenye mchoro. Katika kesi hiyo, ni muhimu kutumia majina ya jukumu muhimu ya kigeni (Mchoro 2).

Vikoa.

Kikoa kinaweza kufafanuliwa kama mkusanyiko wa maadili ambayo maadili ya sifa hutolewa. Kila sifa inaweza kufafanuliwa kwenye kikoa kimoja tu, lakini sifa nyingi zinaweza kufafanuliwa kwenye kila kikoa. Wazo la kikoa ni pamoja na sio tu aina ya data, lakini pia anuwai ya maadili ya data. Kwa mfano, unaweza kufafanua kikoa cha Umri kama nambari kamili na kufafanua sifa ya Umri wa Mfanyakazi kuwa ni ya kikoa hicho.

Katika ERwin, kikoa kinaweza kubainishwa mara moja pekee na kinaweza kutumika katika miundo ya kimantiki na ya kimantiki.

Katika ngazi ya kimantiki, vikoa vinaweza kuelezewa bila mali maalum ya kimwili. Katika ngazi ya kimwili, wanapokea mali maalum ambayo inaweza kubadilishwa kwa manually. Kwa hivyo, kikoa cha "Umri" kinaweza kuwa na aina ya Nambari katika kiwango cha kimantiki; katika kiwango cha kimwili, kikoa kitapewa aina INTEGER.

Ili kuunda kikoa katika muundo wa kimantiki, tumia kidirisha cha Kihariri cha Kamusi ya Kikoa. Inaweza kuitwa kutoka kwa menyu ya Hariri/Kamusi ya Kikoa kwa kutumia kitufe kilicho katika sehemu ya juu kushoto ya kichupo cha Jumla cha kidirisha cha Kihariri cha Sifa. Ili kuunda kikoa kipya katika mazungumzo ya Kihariri Kamusi ya Kikoa:

· Bonyeza kitufe kipya. Kidirisha cha Kikoa Kipya kinaonekana;

· chagua kikoa kikuu kutoka kwa orodha ya Mzazi wa Kikoa. Kikoa kipya kinaweza kuundwa kulingana na kikoa ambacho tayari kimeundwa na mtumiaji, au kulingana na kikoa kilichopo hapo awali. Kwa chaguo-msingi, Erwin ana vikoa vinne vilivyoainishwa awali (Kamba, Nambari, Blob, Wakati wa Tarehe). Kikoa kipya kinarithi sifa zote za kikoa kikuu. Sifa hizi zinaweza kufafanuliwa upya baadaye;

· ingiza jina la kikoa kwenye uwanja wa Jina la Mantiki. Unaweza pia kutaja jina la kikoa la kimwili kwenye uwanja wa Jina la Kimwili. Ikiwa jina halisi halijabainishwa, linabadilika kwa jina la kimantiki;

· bonyeza kitufe cha OK;

Katika kidirisha cha Kihariri cha Kamusi ya Kikoa, unaweza kuhusisha kikoa na ikoni ambayo itaonyeshwa katika orodha ya vikoa (Ikoni ya Kikoa), ikoni ambayo sifa iliyofafanuliwa kwenye kikoa itaonyeshwa kwenye modeli (Ikoni Inayorithiwa). kwa Sifa).

Kila kikoa kinaweza kuelezewa katika kichupo cha Ufafanuzi, kilichotolewa na maoni katika kichupo cha Kumbuka, au sifa iliyobainishwa na mtumiaji katika kichupo cha UDP.

ERwin ina zana maalum ambayo hurahisisha zaidi kuunda sifa mpya katika modeli kwa kutumia maelezo ya kikoa - Kivinjari cha Sifa Huru. Mazungumzo haya yanaitwa (na yamefichwa) kwa kutumia kitufe cha hotkey CTRL+B. Kwa usaidizi wake, unaweza kuchagua kikoa katika orodha na utumie mbinu ya kuburuta na kudondosha ili kukihamisha kwa huluki. Itaunda sifa mpya yenye jina ambalo linafaa kuwekwa katika dirisha la Jina Lililorithiwa na Sifa la kidirisha cha Kihariri cha Kamusi ya Kikoa. Ikiwa thamani ya shamba haijabainishwa, chaguo-msingi ni jina la kikoa.

Katika kiwango halisi, kidirisha cha Kihariri cha Kamusi ya Kikoa hukuruhusu kuhariri sifa halisi za kikoa. Jina la kichupo hiki linategemea seva ya hifadhidata iliyochaguliwa. Juu yake unaweza kuweka aina maalum ya data inayofanana na kikoa, sheria za kugawa maadili ya NULL, sheria za uthibitishaji (sheria za kuangalia maadili halali) na kuweka thamani ya msingi. Sheria za uthibitishaji na thamani chaguo-msingi lazima zifafanuliwe na kutajwa hapo awali. Ili kuita mazungumzo ya kuhariri sheria za uthibitishaji na thamani chaguo-msingi, tumia vitufe vilivyo upande wa kulia wa orodha inayolingana ya uteuzi (Halali na Chaguomsingi).

Kazi za vichupo vingine vya kidirisha cha Kihariri cha Kamusi ya Kikoa:

Mkuu. Kubainisha Mzazi wa Kikoa na jina lililopewa safu wima inapoundwa kwa kutumia Kivinjari cha Safu Huru. Kwa kutumia chaguo la Kimwili Pekee, kikoa kinaweza kufafanuliwa tu katika kiwango cha muundo halisi.

Maoni. Kuongeza maoni kwa sifa.

UDP. Sifa zilizoainishwa na mtumiaji.

Visual Msingi- PowerBuilder. Kuweka sifa maalum za kikoa kwa utengenezaji wa msimbo wa programu ya mteja.

Jukumu la kukamilisha.

Kulingana na muundo wa utendaji ulioundwa hapo awali na maelezo ya eneo la somo, unda muundo wa kimantiki ukitumia kifurushi cha ERwin.

Kazi ya maabara nambari 7.
Misingi ya Erwin. Kuandaa kielelezo cha data halisi kwa ajili ya kutengeneza hifadhidata

1. Kusudi la kazi: kusimamia kanuni za kuandaa kielelezo cha data halisi kwa ajili ya kuzalisha katalogi ya mfumo wa hifadhidata.

Mikataba

Hebu tukubali baadhi ya mikusanyiko kwa ajili ya ufupi wa wasilisho linalofuata:

· Bonyeza - kubonyeza kitufe cha kushoto cha kipanya.

· Bofya kulia - kubofya kitufe cha kulia cha kipanya.

· Bofya mara mbili - mibofyo miwili mfululizo kwenye kitufe cha kipanya

· Chagua - sogeza mshale kwa kitu kinacholingana (kipengele cha mchoro, kipengee cha menyu, ikoni) na ubofye kitufe cha kushoto cha panya.

· Buruta - chagua kitu na, bila kuachilia kitufe cha kipanya, sogeza mshale V msimamo tofauti.

· Ingizo la aina ya Faili/Fungua ina maana kwamba unahitaji kuchagua kipengee cha menyu ya Faili, na kisha kutoka kwenye menyu kunjuzi - kipengee Fungua.

ERwin desktop

Katika Mtini. 1 inaonyesha eneo-kazi la bidhaa ya programu ya ERwin kutoka kwa Logic Works.

Kielelezo 1 - Erwin desktop.

Katika Mchoro 1 nambari zinaonyesha:

1 - menyu kuu;

2- upau wa vidhibiti;

3- seti ya zana maalum;

4- fonts na jopo la rangi;

5-uwanja wa mchoro.

Hebu tuangalie kwa karibu vipengele vya desktop.

Menyu kuu ina amri za madhumuni ya jumla. Kumbuka kuwa nyingi ya amri hizi zimenakiliwa kwa aikoni za upau wa vidhibiti au kwa kubofya kulia kwa vipengee vya menyu. Kwa hiyo, sasa tutazingatia amri zinazohusiana na mtazamo wa jumla wa desktop. Kipengee cha Dirisha kina vipengee vidogo vifuatavyo:

Upau wa zana - upau wa zana;

Fonti & Rangi Toolbar - font na jopo la rangi;

Upau wa hali - upau wa hali;

ERwin Toolbox - seti ya zana maalum.

Ikiwa kipengee chochote kilichoorodheshwa hakijaangaliwa, basi kipengele kinachofanana hakionyeshwa kwenye desktop. Menyu ya Chaguo / Onyesha na Vipengee vya Menyu ya Chaguo / Onyesha huongeza vitendaji vya ziada kwenye menyu kuu: Onyesho na Kihariri.

Upau wa vidhibiti una vikundi vifuatavyo vya ikoni:

Kufanya kazi na faili:

Unda mchoro mpya;

Fungua mchoro uliopo;

Tuma mchoro kwa uchapishaji.

Kumbuka kuwa aikoni hizi zimenakiliwa na amri za kipengee cha menyu kuu ya Faili.



Viwango vya uwasilishaji wa mfano:

Kiwango cha chombo;

Kiwango cha sifa;

Kiwango cha maelezo;

Safu ya kimwili (ikiwa icon hii imebofya, basi wakati wa kuonyesha katika kiwango cha sifa, aina zao zinaonyeshwa).

Zana hizi zimenakiliwa na kipengee cha menyu ya Onyesho. Ina viwango vya ziada vya uwasilishaji: Kiwango cha Ufunguo Msingi - funguo za msingi pekee ndizo zimeonyeshwa, Kiwango cha Agizo la Kimwili - sifa hazijagawanywa kuwa ufunguo na zisizo za ufunguo.

Kuongeza:

Punguza;

Ongeza;

Hakuna ukuzaji;

Kidogo zaidi (kupunguzwa zaidi kutasababisha kutosoma kwa mchoro);

Tazama sehemu (baada ya kuchagua chombo hiki, chagua kipande unachotaka kutazama kwenye uwanja wa kazi).

Vitendo vyote vya kikundi hiki vinanakiliwa na kipengee cha Display//Kuza.

Kufanya kazi na seva:

Tengeneza hati kwa seva;

Unganisha kwa seva;

Chagua seva.

Seti ya zana maalum inajumuisha aikoni zote zinazohitajika kwa ajili ya kuunda mchoro wa data. Inajumuisha zana zifuatazo:

Kuchagua kitu;

Udanganyifu wa sifa;

Chombo cha kujitegemea;

Chombo tegemezi;

Mgawanyiko kamili katika kategoria;

Uainishaji usio kamili;

Uhusiano wa kutambua mmoja kwa wengi;

Kutotambua uhusiano kati ya wengi;

Uhusiano wa wengi kwa wengi;

Lebo ya maandishi.

UBUNIFU WA DHANA

Kuunda Vyombo

Vyombo katika mchoro wa dhana vinaweza kuwa tegemezi au kujitegemea. Kwenye mchoro, huluki yoyote inaonyeshwa kama mstatili. Juu yake ni jina la chombo. Mstatili umegawanywa katika sehemu mbili: moja ya juu ni eneo la ufunguo wa msingi; ya chini ni eneo la sifa zilizobaki. Wakati wa kuunda chombo, mstatili mwanzoni hauna kitu, na jina ni E/n (kwa mfano, E/1, E/2, nk).

Ili kujenga chombo cha kujitegemea, unahitaji kubofya kwenye icon inayofaa kutoka kwa seti ya zana maalum, na kisha bofya kwenye uwanja wa mchoro mahali ambapo chombo kitakachoundwa kinapaswa kuwepo. Ili kujenga chombo kinachotegemea, unahitaji kuchagua chombo cha "Entity Dependent" na ubofye kwenye uwanja wa mchoro. Kumbuka kuwa mstatili unaoonyesha huluki kama hiyo una pembe za mviringo. Wakati wa kuunda mchoro, hakuna haja ya kutaja moja kwa moja vyombo tegemezi, kwani ERwin hubadilisha vyombo vya kawaida kuwa vyombo tegemezi wakati wa kupanga uhusiano au kugawanya katika kategoria.

Ikiwa mbuni hajaridhika na nafasi ya chombo kwenye uwanja, basi unahitaji kuchagua ikoni ya "Point to object" kutoka kwa seti ya zana maalum na uburute huluki hadi mahali mpya. Ili kufuta huluki iliyochaguliwa, tumia kitufe cha Futa kwenye kibodi yako. Unaweza kubadilisha ukubwa wa mstatili unaowakilisha huluki kwa kuchagua kipengee cha menyu kuu Chaguo / Ukubwa wa Huluki. Kipengee cha menyu ya Chaguo / Mpangilio hutumiwa kupanga nafasi ya huluki kwenye uwanja.

Sasa hebu tufafanue jina la chombo na sifa zake za tabia. Ili kufanya hivyo, tumia kipengee cha Sifa ya Taasisi kutoka kwenye menyu inayojitokeza unapobofya panya kulia. Katika uga wa Jina la Chombo cha mhariri unaofungua, ingiza jina la chombo. Kwa kutumia swichi, unaweza kubadilisha utegemezi wa huluki. Sehemu ya kuhariri ya Ufunguo Msingi imekusudiwa kuweka majina ya sifa zinazounda ufunguo msingi. Sifa Zisizo Muhimu zimeingizwa katika sehemu ya Sifa Zisizo Muhimu. Kumbuka kuwa katika hali zote mbili, kitufe cha Ingiza kwenye kibodi hutumiwa kutenganisha sifa kutoka kwa kila mmoja. Katika Mtini. Kielelezo 2 kinaonyesha mfano wa chombo huru.

Mchele. 2 - Chombo cha kujitegemea

Ili kuongeza maelezo marefu ya huluki (Ufafanuzi) na mwonekano wa jumla wa huluki zote, tumia kipengee cha Ripoti / Huluki ya Kivinjari.

ERwin hukuruhusu kudhibiti sifa za mtu binafsi. Ili kufanya hivyo, chagua ikoni ya "Udanganyifu wa Sifa". Katika hali hii unaweza:

· Ondoa sifa. Ili kufanya hivyo, chagua sifa tofauti na ubofye Futa kwenye kibodi.

· Hamisha sifa ndani ya huluki. Ili kufanya hivyo, chagua sifa na, bila kutoa kifungo cha mouse, uhamishe kwenye eneo linalohitajika. Kumbuka kwamba kwa njia hii unaweza kusonga sifa zote ndani ya maeneo muhimu na yasiyo ya ufunguo, na kati yao.

· Sogeza sifa kati ya vyombo. Mbinu ya hatua hii ni sawa na ile iliyopita. Ikiwa kitufe cha Ctrl kitabonyezwa wakati wa kuhamisha sifa, kitanakiliwa kwa chombo kingine.

Viunganisho vya ujenzi

Wacha tufikirie kujenga uhusiano kati ya wengi. Ili kufanya hivyo, chagua ikoni inayofaa kutoka kwa seti ya zana maalum, kisha ubofye mfululizo kwa mzazi na mtoto. Uhusiano wa kutambua unawakilishwa na mstari imara na dot nyeusi karibu na mstatili unaowakilisha mtoto. Uhusiano huu una sifa ya kuhamisha ufunguo msingi wa mzazi hadi kwenye kitambulisho cha mtoto. Katika Mtini. Kielelezo cha 3 kinaonyesha uhusiano kati ya wengi wa kutambua.

Mtini.3. - Kiungo cha kitambulisho

Uhusiano usio wa kitambulisho unajengwa kwa njia sawa. Inawakilishwa na mstari wa nukta na almasi karibu na mstatili unaowakilisha mzazi. Almasi hiyo ina maana kwamba kuwepo kwa mzazi sio lazima, i.e. Sehemu ya ufunguo wa kigeni inaweza kuwa batili. Ujenzi wa uhusiano usio wa kutambua katika ERwin una sifa ya kuhamisha ufunguo msingi wa mzazi hadi katika sifa zisizo muhimu za mtoto. Kielelezo cha 4 kinaonyesha uhusiano usio wa kitambulisho.

Mchele. 4. - Uunganisho usio wa kutambua

Kama ilivyobainishwa, kubuni uhusiano kati ya wengi hadi wengi huunda huluki mpya. Mfano wa kujenga uhusiano wa aina hii kati ya vyombo vya kwanza na vya pili umeonyeshwa kwenye Mtini. 5.

Mchele. 5. - Uhusiano wa wengi kwa wengi

Unaweza kutazama na kubadilisha maelezo ya uhusiano kwa kutumia kipengee cha Uhusiano kutoka kwenye menyu inayojitokeza unapobofya-kulia kwenye uhusiano. Katika dirisha linalofungua, onyesha:

· Jina la muunganisho (uwanja wa Maneno ya Kitenzi).

· Aina ya Uhusiano: kutambua au kutokutambulisha.

· Kardinali ya uhusiano. ERwin hukuruhusu kufafanua aina zifuatazo za miunganisho.

1. Sifuri, moja au zaidi. Uwepo wa kardinali kama hiyo hauanzishi nukuu ya ziada kwenye mchoro.

2. Moja au zaidi. Viunganisho vile vinaonyeshwa na barua P karibu na mstatili unaowakilisha mtoto.

3. Sifuri au moja. Kardinali inaonyeshwa na herufi Z.

4. Imetolewa. Katika kesi hii, uwanja wa Hasa lazima uwe na nambari inayoonyesha kardinali. Uhusiano kama huo unaonyeshwa na nambari karibu na mstatili unaowakilisha mtoto.

· Uwezekano wa kuwepo kwa maadili ya Null (Nulls switch).

· Jukumu la ufunguo wa kigeni. Katika kesi hii, jina la jukumu limeandikwa katika uwanja wa Jina la Wajibu. Katika kesi hii, uwanja wa Ufunguo wa Kigeni wa mhariri una ujenzi<имя роли>.<имя первичного ключа родителя>.

Ikiwa mchoro hauonyeshi majina au kardinali ya uhusiano, basi ni muhimu kuweka viashiria kinyume na Vifungu vya Maonyesho / Vitenzi na Vipengee vya Kuonyesha / Kadinali.

Ili kufuta uunganisho, unahitaji kuchagua icon ya "Point to object", bofya kwenye uunganisho unaofanana na ubofye Futa kwenye kibodi.

Mgawanyiko wa vyombo katika kategoria katika ERwin unaonyeshwa kwa njia sawa na Mtini. 6.

Mchele. 6 - Kamilisha uchanganuzi katika kategoria

Ili kuunda vikundi, unahitaji kufanya hatua zifuatazo:

Eleza kikamilifu chombo kikuu;

Jenga vyombo vya kategoria;

Chagua ikoni kwa uainishaji kamili au usio kamili kutoka kwa seti ya zana maalum;

Bonyeza kwenye chombo kuu;

Bonyeza kwenye moja ya kategoria;

Ili kuunda kila aina inayofuata, bofya kwenye ishara ya kategoria na kisha kwenye huluki inayolingana.

Ili kufuta uunganisho wa moja ya kategoria na chombo kikuu, unahitaji kuchagua tawi linalolingana na bonyeza Futa kwenye kibodi. Ikiwa ungependa kufuta uchanganuzi wote wa kategoria, elekeza kwenye ishara ya kategoria na ubofye Futa.

UBUNIFU WA KImantiki

Muundo wa kimantiki huanza kwa kuchagua kielelezo cha data. DBMS zote ambazo ERwin hufanya kazi nazo ni za uhusiano, na hii huamua chaguo la muundo wa data.

Ili kuchagua DBMS maalum, bofya ikoni ya "Chagua seva". Katika dirisha linalofungua, weka pointer kinyume na DBMS iliyochaguliwa na, ikiwa ni lazima, taja toleo. Kwa kuongeza, unahitaji kuchagua sifa za shamba la meza chaguo-msingi (aina na ubatili).

Hatua muhimu katika muundo wa kimantiki ni kufafanua mkakati wa kudumisha uadilifu wa habari. Ili kuweka mkakati chaguo-msingi wa aina tofauti za mahusiano, bofya kitufe cha Chaguo-msingi cha Uadilifu wa Marejeleo katika dirisha la uteuzi la DBMS. ERwin inatoa aina tatu za mikakati:

1. Kuzuia - kukataza. Inaonyeshwa na marufuku ya vitendo na vyombo vinavyohusiana.

2. Cascade - kuteleza. Mkakati huu unahusisha kutekeleza shughuli za kuporomoka kwa huluki zinazohusiana.

3. Weka Null - sifuri. Mkakati huu ni kuweka thamani ya sehemu kuwa Null.

Baada ya kuchagua DBMS, tutaanza kuelezea data kwa masharti yake. Ili kufanya hivyo, chagua kutoka kwenye menyu inayojitokeza kwa kubofya kulia kwenye chombo hicho<имя выбранной СУБД>Schema ya Hifadhidata. Katika dirisha linalofungua, unaweza kutaja majina ya meza na mashamba yao, pamoja na sifa za mashamba haya.

Katika mazoezi, mara nyingi ni kesi kwamba sio mahusiano yote ya aina yoyote yanafafanuliwa na mikakati sawa ya kudumisha vikwazo vya uadilifu. Ili kubadilisha mikakati ya uhusiano mahususi, tumia kipengee cha Uadilifu wa Marejeleo kutoka kwenye menyu inayojitokeza unapobofya-kulia muunganisho. Iwapo chati haina taarifa kuhusu mikakati iliyochaguliwa, weka kiashirio karibu na Uadilifu wa Onyesho/Rejea.

Ili kuunda hati ya DBMS iliyochaguliwa, bofya ikoni ya "Tengeneza hati kwa seva". Katika kesi hii, ERwin huunda schema ya hifadhidata kulingana na jedwali fulani. Ikiwa DBMS iliyochaguliwa inaauni vichochezi vya uandishi, basi hujengwa kulingana na mikakati iliyochaguliwa ya kusaidia vikwazo vya uadilifu.

UBUNIFU WA MWILI

Katika hatua hii ya kubuni, tutaongeza fahirisi za ziada kwenye mzunguko unaosababisha. Ili kufanya hivyo, tumia kipengee<имя СУБД>Menyu ya faharasa inayojitokeza unapobofya kulia kwenye huluki. Katika dirisha linalofungua, bofya kifungo kipya ili kujenga index mpya, na kisha ueleze sifa yake kwa kubofya picha inayoonekana ya sifa hii. Kumbuka kuwa sasa katika mchoro wa jumla sifa ambazo fahirisi zimejengwa zimewekwa alama na herufi AK. Hii ina maana kwamba wao ni funguo mbadala.

MAZOEZI

1. Unda mchoro wa hifadhidata wa dhana kwa shirika la uthibitishaji kwa kutumia ERwin. Maelezo ya eneo la somo yametolewa hapa chini.

Shirika la uthibitishaji limeidhinishwa kutoa vyeti kwa aina fulani za bidhaa. Kila aina ya bidhaa inaelezwa na kanuni (kulingana na classifier), jina la aina (kwa mfano, bidhaa za maziwa) na aina (kwa mfano, maziwa). Kunaweza kuwa na nyaraka kadhaa za udhibiti kwa kila aina ya bidhaa, na kila hati ya udhibiti inatumika kwa aina kadhaa za bidhaa. Hati ya kawaida ina sifa ya kiwango chake (GOST, OST, nk), nambari na jina.

Cheti hutolewa tu kwa aina moja ya bidhaa na kwa mteja mmoja tu. Mteja sawa anaweza kuwasiliana na shirika la uthibitishaji mara kadhaa, kwa hivyo unahitaji kuhifadhi habari kuhusu wateja (msimbo wa shirika, jina, anwani na nambari ya simu).

Mteja anaweza kuwasiliana na shirika la uthibitishaji na mojawapo ya aina mbili za maombi ya uthibitishaji: maombi au tamko. Kulingana na hili, aina mbalimbali za nyaraka za ndani zinaundwa na taarifa mbalimbali huhifadhiwa.(Jedwali 1)

Jedwali 1

Wakati huo huo, hesabu ya maombi na matamko ni ya kuendelea. Hii ina maana kwamba ikiwa kuna maombi chini ya nambari, basi haipaswi kuwa na tamko chini ya nambari hii.

Shirika la vyeti huhifadhi taarifa kuhusu wafanyakazi wake (msimbo wa kibinafsi, jina la ukoo, nafasi na anwani). Kwa kuongezea, inahitajika kujua ni aina gani ya kazi ambayo mfanyakazi alifanya na kwa maombi gani. Kazi iliyofanywa kwa maombi inaweza kuwa ya aina nne: kujaza maombi, kufanya uamuzi juu ya maombi, kufanya uamuzi juu ya kutoa cheti, kutoa cheti. Kulingana na maombi sawa, aina tofauti za kazi zinaweza kufanywa na wafanyikazi tofauti. Mchoro wa dhana lazima ujumuishe uchanganuzi katika kategoria. Kwa kuongeza, lazima utumie majukumu muhimu ya kigeni.

2. Badilisha schema ya dhana kuwa majedwali ya DBMS iliyochaguliwa kwa kutumia ERwin. Jenga vichochezi.

3. Unda watumiaji watatu wa hifadhidata wenye haki zifuatazo:

1) "Ripoti" - haki ya kusoma habari zote (hakuna haki zingine);

2) "Saraka" - haki zote za habari kuhusu wafanyikazi, wateja, bidhaa na hati za udhibiti;

3) "Nyaraka" - haki zote za habari kuhusu hati za ndani za shirika la uthibitisho na wateja; haki ya kusoma data juu ya bidhaa na hati za udhibiti.

Ripoti lazima iwe na:

Uchapishaji wa mchoro wa dhana kutoka ERwin;

Sababu za kuchagua mikakati ya kusaidia vikwazo vya uadilifu wa hifadhidata;

Muundo wa meza na vichochezi;

Maelezo ya zana za kuunda watumiaji wa hifadhidata.

MASWALI YA KUDHIBITI

1. Ni aina gani za miunganisho zinaweza kuwepo katika eneo la somo?

2. Jinsi ya kuondoa uhusiano wa wengi hadi wengi kutoka kwa schema ya hifadhidata?

3. Kuna tofauti gani kati ya miunganisho ya kutambua na kutotambua?

4. Katika hali gani inakuwa muhimu kuelezea majukumu ya funguo za kigeni?

5. Mtu anawezaje kuhalalisha utambuzi wa kategoria?

6. Kuna tofauti gani kati ya uainishaji kamili na usio kamili?

7. Ni aina gani za mikakati ya usaidizi wa vikwazo vya uadilifu ilitumika katika maabara?


Bibliografia

1. Tarehe K.J. Utangulizi wa mifumo ya hifadhidata.- Kitabu cha kiada. mwongozo: Ilitafsiriwa kutoka Kiingereza. - toleo la 6. - M.et al.: Williams, 2000. - 846 p.

2. Robinson S. Microsoft Access 2000: kitabu cha maandishi. kozi: trans. kutoka kwa Kiingereza - St. Petersburg: Peter, 2001. - 511 p.

3. Kuznetsov S.D. Misingi ya hifadhidata: Kozi ya mihadhara: Proc. allowance.M.: Internet University Inform. teknolojia, 2005.-484 p.

4. Goffman V.E., Khomonenko A.D. Kufanya kazi na hifadhidata huko Delphi. St. Petersburg: Dhv, 2002.-656 p.

5. Maklakov S.V. Bpwin na Erwin. Kesi-zana za kuendeleza mifumo ya habari.-M.: Dialog-Myfi, 2003.-254p.

6. Malykhina M.P. Hifadhidata: misingi, muundo, tumia: Kitabu cha maandishi. mwongozo kwa vyuo vikuu.-2nd ed.-SPB.:BHV-Petersburg, 2006.-517 p.

Uumbaji wa mifumo ya kisasa ya habari ni kazi ngumu, suluhisho ambalo linahitaji matumizi ya mbinu maalum na zana. Haishangazi kwamba hivi majuzi kati ya wachambuzi wa mfumo na watengenezaji kumekuwa na ongezeko kubwa la maslahi katika CASE (Programu-Inayosaidiwa na Kompyuta/Uhandisi wa Mfumo) - teknolojia za CASE na zana zinazofanya iwezekane kuweka utaratibu na kuweka kiotomatiki hatua zote za ukuzaji wa programu.

Kitabu kinachotolewa kwa msomaji ni mwongozo wa vitendo wa kuunda mifumo ya habari kwa kutumia uchambuzi bora, muundo na zana za kuunda msimbo kutoka kwa teknolojia ya PLATINUM - BPwin na ERwin. Pia ina maelezo ya mbinu za uchanganuzi wa miundo na muundo wa miundo ya data kwa kiwango kinachohitajika kwa kazi ya vitendo. Utumiaji wa mbinu unaonyeshwa na mifano.

Kitabu hiki kimeandikwa kwa misingi ya uzoefu wa kibinafsi wa mwandishi aliopata wakati wa kuendeleza mifumo ya habari, kutoa mihadhara na kufanya madarasa ya vitendo juu ya teknolojia ya CASE na zana za CASE katika Kituo cha Mafunzo cha kampuni ya Interface Ltd. Inaelekezwa kwa wataalamu katika uwanja wa teknolojia ya habari: wachambuzi wa mfumo, wasimamizi wa mradi, watengenezaji - na pia inaweza kuwa muhimu kwa wanafunzi wa shahada ya kwanza na wahitimu wanaosoma misingi ya uchambuzi wa mfumo na muundo wa mifumo ya habari.

Kitabu:

Uhusiano ni uhusiano wa kimantiki kati ya vyombo. Kila uhusiano unapaswa kuitwa kitenzi au kishazi cha kitenzi (Vifungu vya Vitenzi vya Uhusiano) (Mchoro 2.20). Jina la uhusiano linaonyesha kizuizi fulani au sheria ya biashara na hurahisisha kusoma mchoro, kwa mfano:

Kila MTEJA <размещает> MAAGIZO;

Kila agizo <выполняется> MFANYAKAZI.

Mchele. 2.20. Jina la Uhusiano - Vishazi vya Vitenzi vya Uhusiano

Muunganisho unaonyesha ni maagizo gani mteja ameweka na ni mfanyakazi gani anayetimiza agizo hilo. Kwa chaguo-msingi, jina la uunganisho halionyeshwa kwenye mchoro. Ili kuonyesha jina, katika menyu ya muktadha inayoonekana ikiwa unabonyeza-kushoto mahali popote kwenye mchoro ambao haujachukuliwa na vitu vya mfano, chagua Chaguzi za Kuonyesha / Uhusiano na kisha uwezesha chaguo la Maneno ya Kitenzi.

Katika kiwango cha kimantiki, unaweza kuanzisha uhusiano wa kutambua mtu mmoja hadi wengi, uhusiano wa wengi kwa wengi, na uhusiano wa moja hadi wengi usio wa kutambua (mtawalia, hivi ni vitufe kutoka kushoto kwenda kulia kwenye zana. palette).

IDEF1X hutofautisha kati ya huluki tegemezi na zinazojitegemea. Aina ya huluki huamuliwa na uhusiano wake na vyombo vingine. Uhusiano wa kutambua huanzishwa kati ya chombo huru (mwisho wa mzazi wa uhusiano) na tegemezi (mwisho wa mtoto wa uhusiano). Wakati uhusiano wa kutambua unapochorwa, ERwin hubadilisha huluki ya mtoto kiotomatiki kuwa huluki tegemezi. Huluki tegemezi inawakilishwa na mstatili wenye pembe za mviringo (huluki Agizo katika Mtini. 2.21). Mfano wa chombo tegemezi hufafanuliwa tu kupitia uhusiano wake na huluki ya mzazi, yaani, katika muundo katika Mtini. 2.21 taarifa kuhusu agizo haiwezi kuingizwa na haina maana bila taarifa kuhusu mteja anayeiweka. Uhusiano wa kutambua unapoanzishwa, sifa za ufunguo msingi wa huluki ya mzazi huhamishwa kiotomatiki hadi ufunguo msingi wa huluki ya mtoto. Uendeshaji huu wa kuongeza sifa kwa huluki ya mtoto wakati wa kuunda uhusiano unaitwa uhamiaji wa sifa. Katika shirika la mtoto, sifa mpya zinawekwa alama kama ufunguo wa kigeni - (FK).

Mchele. 2.21. Uhusiano wa kutambua kati ya meza huru na tegemezi

Katika siku zijazo, wakati wa kutengeneza schema ya hifadhidata, sifa kuu za msingi zitapokea sifa ya NOT NULL, ambayo inamaanisha kuwa haiwezekani kuingia kwenye jedwali la maagizo bila habari kuhusu nambari ya mteja.

Wakati uhusiano usio wa kitambulisho umeanzishwa (Mchoro 2.22), huluki ya mtoto hubaki huru, na sifa kuu za msingi za huluki ya mzazi huhamia sehemu zisizo muhimu za huluki ya mzazi. Uhusiano usio wa kitambulisho hutumiwa kuunganisha huluki huru.

Mchele. 2.22. Uhusiano usio wa kitambulisho

Mfano wa chombo Mfanyakazi inaweza kuwepo bila mfano wowote wa huluki Idara, yaani mfanyakazi anaweza kufanya kazi katika shirika bila kusajiliwa katika idara yoyote.

Muunganisho wa kutambua unaonyeshwa kwenye mchoro kama mstari dhabiti wenye nukta nene kwenye mwisho wa muunganisho wa mtoto (ona Mchoro 2.21), usiotambulisha unaonyeshwa kama mstari wa nukta (Mchoro 2.22).

Ili kuunda muunganisho mpya:

weka mshale kwenye kifungo kilichohitajika kwenye palette ya chombo (uunganisho wa kutambua au usio wa kutambua) na ubofye kifungo cha kushoto cha mouse (Mchoro 2.2);

Bonyeza kwanza kwa mzazi na kisha kwenye huluki ya mtoto.

Sura ya mstari wa mawasiliano inaweza kubadilishwa. Ili kufanya hivyo, unahitaji kunyakua mstari wa uunganisho unaohitajika na panya na uhamishe kutoka mahali hadi mahali mpaka mstari uanze kuonekana bora.

Kitufe kwenye palette ya zana

Inalingana na kiungo cha kutambua, kitufe

Mahusiano mengi hadi mengi na kifungo

Inalingana na uhusiano usio wa kitambulisho.

Ili kuhariri sifa za uhusiano, bofya kulia kwenye uhusiano na uchague Kihariri cha Uhusiano kutoka kwa menyu ya muktadha.

Katika kichupo cha Jumla cha mazungumzo yanayoonekana, unaweza kuweka nguvu, jina na aina ya uunganisho (Mchoro 2.23).

Nguvu ya mawasiliano (Kadinali) - hutumika kuashiria uwiano wa idadi ya matukio ya huluki ya mzazi kwa idadi ya matukio ya mtoto.

Kuna aina nne za nguvu (Mchoro 2.24):

hali ya jumla ambapo mfano mmoja wa huluki ya mzazi unalingana na 0, 1, au matukio mengi ya huluki ya mtoto haijatiwa alama yoyote;

ishara P inaashiria kesi wakati mfano mmoja wa chombo cha mzazi unalingana na 1 au matukio mengi ya shirika la mtoto (thamani ya sifuri haijajumuishwa);

ishara Z inaashiria kesi wakati mfano mmoja wa chombo cha mzazi unalingana na mfano 0 au 1 wa chombo cha mtoto (thamani nyingi hazijajumuishwa);

Nambari hiyo inaashiria kisa kinacholingana kabisa, wakati mfano mmoja wa huluki ya mzazi unalingana na idadi iliyoamuliwa mapema ya matukio ya huluki ya mtoto.

Mchele. 2.23. Kidirisha cha Kuhariri Uhusiano

Kwa chaguo-msingi, ishara inayowakilisha nguvu ya kiungo haionyeshwa kwenye mchoro. Ili kuonyesha jina, katika menyu ya muktadha inayoonekana ikiwa unabonyeza-kushoto mahali popote kwenye mchoro ambao haujachukuliwa na vitu vya mfano, chagua Chaguzi za Kuonyesha / Uhusiano na kisha uwezesha chaguo la Kardinali.

Neno la Kitenzi- kifungu kinachoonyesha uhusiano kati ya vyombo vya mzazi na mtoto. Kwa uhusiano wa mtu mmoja hadi wengi, kutambua au kutotambua, inatosha kutaja jina linaloonyesha uhusiano kutoka kwa chombo cha mzazi hadi mtoto (Mzazi-kwa-Mtoto). Kwa uhusiano wa wengi kwa wengi, majina ya Mzazi-kwa-Mtoto na ya Mtoto kwa Mzazi lazima yabainishwe.

Mchele. 2.24. Majina ya nguvu

Aina ya uunganisho (kutambua/kutokutambulisha). Kwa uhusiano usio wa kitambulisho, unaweza kutaja Nulls. Katika kesi ya uhusiano wa lazima (Hakuna Nulls), wakati wa kuzalisha schema ya database, sifa ya ufunguo wa kigeni itapokea sifa ya NOT NULL, licha ya ukweli kwamba ufunguo wa kigeni hautakuwa sehemu ya ufunguo wa msingi wa chombo cha mtoto. Katika kesi ya uhusiano wa hiari (Nulls Inaruhusiwa), ufunguo wa kigeni unaweza kuwa NULL. Uhusiano wa hiari wa kutotambua umetiwa alama ya almasi ya uwazi kwenye upande wa huluki kuu (ona Mchoro 2.22).

Mchele. 2.25. Kichupo cha Vitendo cha Rolename/RI cha kidirisha cha Kihariri cha Uhusiano

Katika kichupo cha Ufafanuzi, unaweza kutoa ufafanuzi kamili zaidi wa uhusiano ili kuweza kuurejelea katika siku zijazo.

Katika kichupo cha Vitendo vya Rolename/RI, unaweza kuweka jina la jukumu na sheria za uadilifu za marejeleo.

Jina la jukumu (jina la kazi) - ni kisawe cha sifa ya ufunguo wa kigeni inayoonyesha jukumu ambalo sifa inacheza katika huluki ya mtoto.

Mchele. 2.26. Majina muhimu ya kigeni

Katika mfano unaoonyeshwa kwenye Mtini. 2.26, kimsingi Mfanyakazi ufunguo wa nje Nambari ya idara ina jina la utendaji "Ambapo Inafanya Kazi" ambalo linaonyesha ni jukumu gani sifa hii inacheza katika chombo. Kwa chaguo-msingi, ni jina la jukumu pekee linaloonyeshwa kwenye orodha ya sifa. Ili kuonyesha jina kamili la sifa (jina la kazi na jina la jukumu), kwenye menyu ya muktadha inayoonekana ikiwa unabonyeza kushoto kwenye sehemu yoyote kwenye mchoro ambayo haikaliwi na vitu vya mfano, chagua Chaguzi / Vyombo vya Kuonyesha na kisha uwashe Sifa ya Rolename/ chaguo (Mchoro 2.25). Jina kamili linaonyeshwa kama jina la utendaji na jina la msingi likitenganishwa na nukta (ona Mchoro 2.26).

Ni lazima kutumia majina ya jukumu wakati sifa mbili au zaidi za chombo kimoja zimefafanuliwa juu ya upeo sawa, yaani, zina upeo sawa, lakini maana tofauti. Katika Mtini. 2.27 kiini Uuzaji wa sarafu ina taarifa kuhusu kitendo cha kubadilisha fedha ambapo sarafu mbili zinahusika - kuuzwa na kununuliwa. Maelezo kuhusu sarafu yamo katika huluki Sarafu. Kwa hiyo, vyombo Uuzaji wa sarafu Na Sarafu lazima iunganishwe mara mbili na ufunguo wa msingi ni - Nambari ya sarafu lazima ihamie kwenye chombo mara mbili Sarafu kama ufunguo wa kigeni. Inahitajika kutofautisha kati ya sifa hizi, ambazo zina habari juu ya idadi ya sarafu iliyouzwa na kununuliwa (zina maana tofauti), lakini rejea chombo kimoja. Sarafu (kuwa na anuwai ya kawaida ya maadili). Katika mfano katika Mtini. Sifa 2.27 zilipokea majina ya majukumu Inauzwa Na Imenunuliwa.

Mchele. 2.27. Kesi ya majina ya jukumu la lazima

Mfano mwingine wa jina la jukumu la lazima ni miunganisho ya kujirudia(wakati mwingine huitwa "ndoano ya samaki") wakati huluki sawa ni mzazi na mtoto kwa wakati mmoja. Wakati wa kufafanua uhusiano unaojirudia, sifa lazima ihamishwe kama ufunguo wa kigeni kwa sifa zisizo muhimu za huluki sawa. Sifa haiwezi kuonekana mara mbili katika huluki moja chini ya jina moja, kwa hivyo ni lazima ipokee jina la jukumu. Katika Mtini. 2.26 kiini Mfanyakazi ina sifa kuu ya msingi Nambari ya Wafanyakazi. Habari juu ya meneja wa mfanyakazi iko katika chombo kimoja, kwani meneja anafanya kazi katika shirika moja. Ili kutaja meneja wa mfanyakazi, unapaswa kuunda uhusiano wa kujirudia (katika Mchoro 2.26 uunganisho ni meneja / chini) na upe jina la jukumu ("Meneja"). Kumbuka kuwa uhusiano unaojirudia unaweza tu kuwa usio wa utambulisho. Vinginevyo, ufunguo wa kigeni utalazimika kuwa sehemu ya ufunguo msingi na kupokea sifa ya NOT NULL wakati wa kutengeneza schema. Hili litafanya isiwezekane kuunda uongozi - mti wa kuripoti lazima uwe na mzizi - mfanyakazi ambaye haripoti kwa mtu yeyote ndani ya shirika.

Uhusiano wa amri / kufuata umeonyeshwa kwenye Mtini. 2.26 hukuruhusu kuhifadhi safu-kama ya mti ya utii wa wafanyikazi. Aina hii ya mawasiliano ya kujirudia inaitwa kujirudia kwa hali ya juu na hufafanua uhusiano ambapo kiongozi (mfano wa shirika la mzazi) anaweza kuwa na wasaidizi wengi (matukio ya shirika la mtoto), lakini msaidizi ana kiongozi mmoja tu (Mchoro 2.28).

Urejeshaji wa mtandao wa urejeshaji wa kihierarkia


Mchele. 2.28. Utiishaji wa matukio ya huluki katika urejeshaji wa hali ya juu na mtandao

Aina nyingine ya kujirudia ni kurudia mtandao, wakati kiongozi anaweza kuwa na wasaidizi wengi na, kinyume chake, msaidizi anaweza kuwa na wasimamizi wengi. Urejeshaji wa mtandao hufafanua mtandao wa mahusiano kati ya matukio ya mzazi na huluki ya mtoto. Hii ndio hali wakati huluki iko katika uhusiano wa wengi hadi wengi yenyewe. Ili kutatua uhusiano wa wengi hadi wengi, unahitaji kuunda huluki mpya (mahusiano mengi hadi mengi yatajadiliwa kwa undani hapa chini).

Mchele. 2.29. Mfano wa utekelezaji wa urejeshaji wa mtandao

Katika Mtini. 2.29 inazingatia mfano wa utekelezaji wa urejeshaji wa mtandao. Muundo ni mfano wa uhusiano wa kifamilia kati ya wanafamilia wa utata wowote. Sifa Aina ya uhusiano inaweza kuchukua maana "baba-mwana", "mama-binti", "babu-mjukuu", "mama-mkwe-binti-mkwe", "baba-mkwe", nk Tangu familia. uhusiano daima huunganisha watu wawili, kutoka kwa kiini Kuhusiana na. kiini Undugu viungo viwili vya kutambua vimeanzishwa vyenye majina ya jukumu "Mkubwa" na "Junior". Kila mwanafamilia anaweza kuwa na uhusiano na mwanafamilia mwingine yeyote; zaidi ya hayo, jozi moja ya jamaa inaweza kuunganishwa na aina tofauti za uhusiano wa kifamilia.

Ikiwa sifa itahamishwa kama ufunguo wa kigeni hadi zaidi ya kiwango kimoja, basi jina kamili la ufunguo wa kigeni (jina la jukumu + jina la sifa ya msingi) huonyeshwa kwenye kiwango cha kwanza, na ni jina la jukumu pekee linaloonyeshwa kwa pili au zaidi. viwango. Katika Mtini. Mchoro 2.30 unaonyesha muundo wa data ambao una huluki Timu, kiini Mchezaji, ambayo huhifadhi taarifa kuhusu wachezaji wa kila timu, na huluki Lengo, iliyo na habari kuhusu malengo ambayo kila mchezaji anafunga. Sifa muhimu ya kigeni Nambari ya timu kiini Mchezaji ina jina la jukumu "Anacheza timu gani".

Mchele. 2.30. Majina ya majukumu yanayohama

Katika ngazi inayofuata, kimsingi Lengo, jina la jukumu la sifa inayolingana ya ufunguo wa kigeni ndilo linaloonyeshwa (Anacheza timu gani).

Sheria za uadilifu wa marejeleo (RI) ni miundo yenye mantiki inayoeleza sheria za biashara za kutumia data na kuwakilisha sheria za uwekaji, uingizwaji na ufutaji. Wakati wa kutengeneza utaratibu wa hifadhidata kulingana na chaguo za kielelezo cha kimantiki zilizobainishwa katika kichupo cha Vitendo vya Rolename/RI, sheria za uadilifu wa marejeleo tangazo zitatolewa, ambazo lazima zibainishwe kwa kila uhusiano, na vichochezi vinavyohakikisha uadilifu wa marejeleo. Vichochezi ni programu ambazo hutekelezwa wakati wowote amri ya kuingiza, kubadilisha, au kufuta (INGIZA, SASISHA, au DELETE) inapotekelezwa. Katika Mtini. 2.30 kuna uhusiano unaobainisha kati ya vyombo Timu Na Mchezaji. Nini kitatokea ikiwa utafuta amri? Mfano wa chombo Mchezaji haiwezi kuwepo bila amri (sifa ya ufunguo wa msingi Anacheza timu gani? Nambari ya timu haiwezi kuchukua thamani NULL), kwa hivyo, unahitaji kukataza kufuta timu wakati ina angalau mchezaji mmoja (kufuta timu, lazima kwanza ufute wachezaji wote), au ufute mara moja wachezaji wake wote pamoja na timu. Sheria hizo za kufuta huitwa "kizuizi" na "cascade" (Mzazi RESTRICT na Mzazi CASCADE, ona Mchoro 2.25). Kumbuka kwamba vyombo Mchezaji Na Lengo, kwa upande mwingine, pia huunganishwa na kiungo kinachotambulisha na ikiwa timu itafutwa kwa kasino, wachezaji wote kwenye timu na mabao yote waliyofunga yatafutwa. Kutekeleza amri ya kufuta safu mlalo moja kunaweza kusababisha kufutwa kwa maelfu ya safu katika hifadhidata, kwa hivyo unapaswa kutumia sheria ya kufuta kwa kasi kwa tahadhari. Ikiwa sheria ya kuzuia ufutaji imewekwa, ukijaribu kufuta timu ambayo ina angalau mchezaji mmoja, seva ya uhusiano ya DBMS italeta hitilafu.

Katika Mtini. 2.26 uhusiano wa hiari wa kutotambulisha umeanzishwa kati ya huluki Idara Na Mfanyakazi. Mfano wa chombo Mfanyakazi inaweza kuwepo bila rejeleo la idara (sifa ya ufunguo wa kigeni Anafanya kazi wapi? Nambari ya idara inaweza kuwa NULL). Katika kesi hii, inawezekana kuweka sheria ya kuiweka kwa sifuri - SET NULL. Wakati wa kufuta idara, sifa ya ufunguo wa kigeni wa huluki Mfanyakazi - anafanya kazi wapi? Nambari ya idara itakuwa NULL. Hii ina maana kwamba idara inapofutwa, mfanyakazi hubakia kufanya kazi katika shirika bila kupewa idara yoyote na taarifa kuhusu yeye huhifadhiwa.

Inawezekana kuweka sheria mbili zaidi za kufuta (ikiwa zinaungwa mkono na DBMS):

WEKA DEFAULT - wakati wa kufuta, sifa ya ufunguo wa kigeni imepewa thamani ya chaguo-msingi. Kwa mfano, timu inapofutwa, wachezaji wanaweza kuhamishiwa timu nyingine.

HAKUNA - inapofutwa, thamani ya sifa ya ufunguo wa kigeni haibadilika. Rekodi kuhusu mchezaji "huning'inia hewani," yaani, inarejelea timu ambayo haipo tena. Hali hii ni ya kawaida kwa meza "gorofa". Kwa mfano, ikiwa habari za mchezaji na timu zimehifadhiwa kwenye faili za dbf, unaweza kufuta ingizo la timu bila faili ya wachezaji kujua chochote kuhusu ukweli kwamba timu inayolingana haipo. Kwa hivyo, kwenye mifumo ya kompyuta ya mezani au ya seva ya faili, utendakazi unaotekeleza sheria za uadilifu wa marejeleo hutekelezwa katika programu ya mteja.

Sheria za ufutaji hudhibiti kile kinachotokea kwenye hifadhidata safu mlalo inapofutwa. Vile vile, kuingiza na kusasisha sheria hudhibiti kile kinachotokea kwenye hifadhidata ikiwa safu mlalo zitabadilishwa au kuongezwa. Kwa mfano, unaweza kuweka sheria ambayo inakuwezesha kuongeza timu mpya ikiwa tu angalau mchezaji mmoja amesajiliwa ndani yake. Tabia inayotaka inaweza kupatikana kwa vitendo vifuatavyo:

Weka nguvu ya uhusiano kati ya vyombo Timu Na Mchezaji, sawa na "Moja au zaidi" - 1 au zaidi (aina P). Inachukuliwa kuwa uhusiano wa kutambua umeanzishwa.

Agiza kitendo cha RI cha kuanzisha "Parent Insert-CASCADE" ili safu mlalo mpya inapoundwa kwenye jedwali. Timu angalau safu mlalo moja iliundwa kiotomatiki kwenye jedwali la watoto Mchezaji.

Agiza kitendo cha kichochezi cha RI "Futa Mzazi-CASCADE" kwenye unganisho ili safu itakapofutwa kutoka kwa jedwali. Timu safu au safu zinazolingana kutoka kwa meza Mchezaji ziliondolewa pia.

ERwin huteua kiotomatiki thamani chaguo-msingi ya uadilifu kwa kila uhusiano kabla ya kuiongeza kwenye mchoro. Njia za RI zilizowekwa na ERwin kwa chaguo-msingi (zilizoonyeshwa katika Jedwali 2.4) zinaweza kubadilishwa katika Kihariri Chaguomsingi cha Uadilifu wa Marejeleo, ambacho huitwa kwa kubofya kitufe cha Mipangilio cha RI kwenye kidadisi cha Seva Lengwa (menu ya Seva/Seva Lengwa).

Jedwali 2.4. Thamani za RI zilizowekwa kwa chaguo-msingi katika ERwin, na pia njia zinazowezekana kwa kila aina ya mawasiliano

Kiungo cha kitambulisho Nulls Inaruhusiwa Uhusiano usio wa kitambulisho (Hakuna Nulls) Muunganisho wa kitengo
Futa Mtoto Njia zinazowezekana ZUIA, ACHILIA, HAKUNA ZUIA, ACHILIA, HAKUNA, WEKA BATILI, WEKA CHAGUO CHAGUO ZUIA, CASCADE,
HAKUNA
Mtoto Futa Njia Chaguomsingi HAKUNA HAKUNA HAKUNA HAKUNA
Ingiza Mtoto Njia zinazowezekana ZUIA, CASCADE, ZUIA, ACHILIA, HAKUNA, WEKA CHAGUO CHAGUO ZUIA, CASCADE,
HAKUNA HAKUNA
Ingiza Njia Chaguomsingi za Mtoto ZUIA WEKA NULL ZUIA ZUIA
Usasishaji wa Mtoto Njia zinazowezekana ZUIA, ACHILIA, HAKUNA ZUIA, ACHILIA, HAKUNA, WEKA NULL,WEKA CHAGUO CHAGUO ZUIA, ACHILIA, HAKUNA, WEKA CHAGUO CHAGUO ZUIA, ACHILIA, HAKUNA
Njia Chaguomsingi za Usasishaji wa Mtoto ZUIA WEKA NULL ZUIA ZUIA
Futa Mzazi Njia zinazowezekana ZUIA, ACHILIA, HAKUNA ZUIA, ACHILIA, HAKUNA, WEKA NULL,WEKA CHAGUO CHAGUO ZUIA, ACHILIA, HAKUNA, WEKA CHAGUO CHAGUO ZUIA, CASCADE,
HAKUNA
Mzazi Futa Njia Chaguomsingi ZUIA WEKA NULL ZUIA KESI
Ingiza Mzazi Njia zinazowezekana ZUIA, ACHILIA, HAKUNA ZUIA, ACHILIA, HAKUNA, WEKA NULL,WEKA CHAGUO CHAGUO ZUIA, ACHILIA, HAKUNA, WEKA CHAGUO CHAGUO ZUIA, ACHILIA, HAKUNA
Mzazi Ingiza Njia Chaguomsingi HAKUNA HAKUNA HAKUNA HAKUNA
Usasishaji wa Mzazi Njia zinazowezekana ZUIA, ACHILIA, HAKUNA ZUIA, ACHILIA, HAKUNA, WEKA NULL,WEKA CHAGUO CHAGUO ZUIA, ACHILIA, HAKUNA, WEKA CHAGUO CHAGUO ZUIA, ACHILIA, HAKUNA
Njia Chaguomsingi za Usasishaji wa Mzazi ZUIA WEKA NULL ZUIA KESI

Mawasiliano mengi hadi mengi inawezekana tu kwa kiwango cha mfano wa data ya kimantiki. Katika Mtini. Mchoro 2.31 hapo juu unaonyesha mfano wa uhusiano wa wengi kwa wengi. Daktari anaweza kuona wagonjwa wengi, mgonjwa anaweza kutibiwa na madaktari kadhaa. Uunganisho kama huo unaonyeshwa na mstari thabiti na dots mbili kwenye ncha.