Modelo ng data ang ugnayan ng entity. Ang isang konseptwal na modelo ng database ay isang diagram ng mga ugnayan sa pagitan ng mga bagay. Pangunahing konsepto ng ER model: entity, entity instance, attribute, key, relationship, mga uri ng relasyon

Modelo ng database ng ER

Ang modelo ng entity-relationship, ERM, ER model ay nagbibigay-daan sa iyo na ilarawan ang mga conceptual diagram lugar ng paksa.

Ang modelong ER ay ginagamit sa mataas na antas ng disenyo ng database. Sa tulong nito, matutukoy mo ang mga pangunahing entity at matukoy ang mga koneksyon na maaaring maitatag sa pagitan ng mga entity na ito. Ang modelo ng ER ay isang pormal na disenyo na hindi tumutukoy sa mga graphical na paraan ng representasyon nito. Bilang pamantayan graphical na representasyon ER-modelo, isang entity-relationship diagram ER-diagram (Entity Relationship Diagram - ER-diagram) ay binuo. Kapag nagdidisenyo ng mga database, ang modelo ng ER ay na-convert sa isang partikular na schema ng database.

Tulad ng nalalaman, batayang konsepto Ang isang relational database ay isang talahanayan (relasyon). Ang talahanayan ay ginagamit upang buuin at mag-imbak ng impormasyon. Sa relational database, ang bawat table cell ay naglalaman ng isang value. Bilang karagdagan, sa loob ng isang database ay may mga relasyon sa pagitan ng mga talahanayan, na ang bawat isa ay tumutukoy pagbabahagi data ng talahanayan.

Ang ER diagram ay graphic na kumakatawan sa istruktura ng data ng dinisenyong database. Ang mga entity ay ipinapakita gamit ang mga parihaba, mga talahanayan na naglalaman ng pangalan ng entity - ang talahanayan ng database. Ang mga ugnayan ng entity ay ipinapakita bilang mga linyang nagkokonekta sa mga indibidwal na entity.

Ipinapakita ng isang relasyon na ang data ng isang entity ay tumutukoy o nauugnay sa data ng isa pa.

Ang antas ng pagwawakas ng isang bono ay ipinahiwatig nang grapiko, ang multiplicity ng bono ay inilalarawan bilang isang "tinidor" sa dulo ng bono. Ang modality ng koneksyon ay inilalarawan din sa graphically - ang opsyonalidad ng koneksyon ay minarkahan ng isang bilog sa dulo ng koneksyon. Ang pagpapangalan ng koneksyon ay ipinahayag ng isang pandiwa (Larawan 13).

Larawan 13.

Mga Katangian ang mga entidad ay nakasulat sa loob ng isang parihaba na kumakatawan sa entidad at ipinahahayag ng isang pangngalan.

Sa mga katangian, namumukod-tangi ang entity key. Kapag gumagawa ng entity, kailangan mong pumili ng pangkat ng mga attribute na maaaring maging pangunahing key, pagkatapos ay pumili ng mga attribute na isasama sa primary key:

· Ang pangunahing susi ay dapat piliin sa paraang ang mga halaga ng mga katangiang kasama dito ay maaaring tumpak na matukoy ang isang instance ng isang entity.

· Wala sa mga pangunahing pangunahing katangian ang dapat magkaroon ng null na halaga.

· Ang mga halaga ng pangunahing katangian ng pangunahing pangunahing katangian ay hindi dapat magbago. Kung nagbago ang value, ibang instance ito ng entity.

Kapag pumipili ng pangunahing susi, bilang panuntunan, ang isang karagdagang katangian ay ipinakilala sa entity, na nagiging susi.

Kaya, upang matukoy ang pangunahing susi, ang mga natatanging numero ay madalas na ginagamit, na maaaring awtomatikong mabuo ng system kapag nagdaragdag ng isang entidad na halimbawa sa database. Aplikasyon natatanging mga numero pinapadali ang proseso ng pag-index at paghahanap sa database.

Ang unang hakbang kapag lumilikha lohikal na modelo Ang isang database ay ang pagbuo ng isang ER diagram, na binubuo ng tatlong bahagi: mga entity, mga katangian at mga relasyon.

Maraming mga tool para sa visual na paglikha ng mga diagram ng ER ay binuo para sa iba't ibang mga platform. Ginamit ng proyektong ito ang pag-unlad MySQL Workbench.

Pinapasimple ng tool na ito ang disenyo at pagpapanatili ng database, ginagawang awtomatiko ang mga gawaing nakakaubos ng oras at madaling magkaroon ng error, at pinapabuti ang komunikasyon sa mga development team at mga arkitekto ng database. Pinapayagan nito ang mga arkitekto ng data na mailarawan ang mga kinakailangan, makipag-usap sa mga interesadong partido sa mga isyu sa disenyo bago gawin ang mga pamumuhunan sa proyekto. Nagbibigay ito ng disenyo ng database na batay sa modelo, na siyang pinakamabisang pamamaraan para sa paglikha ng tunay at mahusay na disenyong mga database. ER - remote testing system database diagram ( control_tests) ay ipinapakita sa figure (Larawan 14). Dalawang vertical bar sa isang gilid at isang "trident" sa kabilang panig ay nagpapahiwatig ng "one-to-many relationship," ayon sa pagkakabanggit.

kanin. 14. ER - remote testing system control_test database diagram


Normalization ng database

Sa relational theory ng mga database, walang unibersal na regulasyon o batas para sa pagdidisenyo ng isang maaasahang, dinisenyo minsan at para sa lahat ng database. Pinipili ng mga developer ang kanilang mga solusyon para sa isang proyekto sa database, higit na umaasa sa karanasan, intuwisyon, iba't ibang instrumento at mga pamamaraan ng disenyo.

Gayunpaman, umiiral pa rin ang ilang mga kanon at panuntunan. Kasama sa mga naturang panuntunan ang mga panuntunan sa normalisasyon, i.e. ibalik sa normal ang mga relasyon.

Karaniwang anyo ng dokumentasyon modelo ng lohikal na domain sa ER modelling ay mga diagram ng entity-relasyon, o mga ER diagram (Entity Relationship Diagram). Ang isang ER diagram ay nagbibigay-daan sa iyo upang graphical na kumatawan sa lahat ng mga elemento ng isang lohikal na modelo ayon sa simple, intuitive, ngunit mahigpit na tinukoy na mga panuntunan - mga notasyon.

Upang lumikha ng mga diagram ng ER, karaniwang ginagamit ang isa sa dalawang pinakakaraniwang notasyon.

  • Kahulugan ng Integrasyon para sa Impormasyon Pagmomodelo (IDEF1X). Ang notasyong ito ay binuo para sa US Army at naging isang pederal na pamantayan ng US. Bilang karagdagan, ito ay isang pamantayan sa isang bilang ng mga internasyonal na organisasyon (NATO, International Monetary Fund, atbp.).
  • Information Engineering (IE). Ang notasyong binuo ni Martin, Finkelstein at iba pa ay pangunahing ginagamit sa industriya.

Ang mga diagram ng ER ay karaniwang ginagawa gamit ang mga tool ng CASE. Sa lecture na ito, lahat ng mga halimbawa, maliban kung binanggit, ay gagamit ng MS Office Visio 2007 notation.

Ang isang entity sa isang ER diagram ay kinakatawan ng isang parihaba na may pangalan sa itaas (Larawan 6.3).


kanin. 6.3. Representasyon ng entity na "Empleyado" sa isang ER diagram

Mga listahan ng parihaba mga katangian ng entidad, habang ang mga katangiang bumubuo natatanging identifier ng entity, ay may salungguhit (Larawan 6.4).


kanin. 6.4. Representasyon ng entity na "Empleyado" na may mga katangian at natatanging identifier ng entity

Bawat halimbawa ng entidad dapat na natatangi at naiiba sa iba pang mga katangian. Isa sa mga pangunahing mga pamamaraan sa kompyuter Ang pagkilala sa entity sa isang IS ay ang pagtatalaga ng mga identifier sa mga entity (entity identifier). Dahil ang isang entity ay tinutukoy ng isang hanay ng mga katangian nito, para sa bawat entity ay ipinapayong pumili ng isang subset ng mga katangian na natatanging kinikilala ang entity na ito. Madalas identifier ng entidad tinatawag na pangunahing susi ( pangunahing susi).

Ang 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 isang diagram ay hindi nangangailangan espesyal na pagtatalaga– ito ang mga katangian na nasa listahan ng mga katangian sa itaas pahalang na linya(Larawan 6.3).

Ang pagpili ng pangunahing susi ay maaaring hindi isang madaling gawain, ang solusyon na maaaring makaapekto sa pagiging epektibo ng hinaharap na IS. Ang isang entity ay maaaring maglaman ng ilang mga katangian o hanay ng mga katangian na nagsasabing sila ang pangunahing susi. Ang mga naturang aplikante ay tinatawag mga potensyal na susi(susi ng kandidato).

Ang mga susi ay maaaring kumplikado, ibig sabihin. naglalaman ng ilang mga katangian. Ang mga kumplikadong pangunahing key ay hindi nangangailangan ng espesyal na notasyon - ang mga ito ay isang listahan ng mga katangian sa itaas ng isang pahalang na linya.

Isaalang-alang natin ang mga kandidato para sa pangunahing susi ng entity na "empleyado" (Fig. 6.5).


kanin. 6.5. Pagtukoy ng pangunahing susi para sa entity na "empleyado".

Ang mga sumusunod na potensyal na susi ay maaaring makilala dito.

  1. Numero ng tauhan.
  2. Numero ng pasaporte.
  3. Apelyido + Pangalan + Patronymic.

Upang maging pangunahin potensyal na palatandaan dapat matugunan ang ilang mga kinakailangan.

Kakaiba. Walang dalawang instance ang dapat magkaroon ng parehong mga halaga posibleng susi. Potensyal na Susi (Apelyido + Pangalan + Patronymic) ay isang masamang kandidato, dahil ang organisasyon ay maaaring may buong pangalan na nagtatrabaho dito.

Ang pagiging compact. Ang isang kumplikadong susi ng kandidato ay hindi dapat maglaman ng anumang katangian na ang pag-alis ay hindi magreresulta sa pagkawala ng pagiging natatangi. Upang matiyak ang pagiging natatangi ng susi ( Apelyido + Pangalan + Patronymic) dagdagan natin ito ng mga katangian Petsa ng kapanganakan At Kulay ng mata. Kung ang mga tuntunin ng negosyo ay nagsasabi na ang mga kumbinasyon ng mga katangian Apelyido + Pangalan + Patronymic + Petsa ng kapanganakan sapat upang natatanging makilala ang isang empleyado, kung gayon Kulay ng mata lumalabas na kalabisan, i.e. ang susi Apelyido + Pangalan + Gitnang pangalan + Petsa ng kapanganakan + Kulay ng mata ay hindi compact.

Kapag pumipili ng pangunahing susi, ang kagustuhan ay dapat ibigay sa higit pa simpleng mga susi, ibig sabihin, mga key na naglalaman ng mas kaunting mga katangian. Sa halimbawa, ang mga key #1 at #2 ay mas gusto kaysa sa key #3.

Ang mga pangunahing katangian ay hindi dapat maglaman mga zero na halaga. Kung posible na ang isang empleyado ay maaaring walang pasaporte o may iba pang kard ng pagkakakilanlan sa halip na isang pasaporte, hindi magiging angkop ang susi No. 2 bilang pangunahing susi. Kung upang matiyak ang pagiging natatangi ito ay kinakailangan upang madagdagan potensyal na palatandaan karagdagang mga katangian, hindi sila dapat maglaman ng mga null na halaga. Kapag nagdaragdag ng key No. 3 na may katangian Petsa ng kapanganakan Kailangan mong tiyakin na ang mga petsa ng kapanganakan ay kilala para sa lahat ng empleyado.

Ang halaga ng mga pangunahing katangian ay hindi dapat magbago sa buong buhay nito halimbawa ng entidad. Ang isang empleyado ng isang organisasyon ay maaaring magpakasal at palitan ang kanyang apelyido at kanyang pasaporte. Samakatuwid, ang mga key No. 2 at 3 ay hindi angkop bilang pangunahing key.

Ang bawat entidad ay dapat magkaroon, kahit man lang, isa potensyal na palatandaan. Maraming entity ang may isa lamang potensyal na palatandaan. Ito ang nagiging pangunahing susi. Ang ilang entity ay maaaring magkaroon ng higit sa isang posibleng key. Pagkatapos ang isa sa kanila ay nagiging pangunahin, at ang natitira - mga alternatibong susi. Ang Alternate Key ay isang potensyal na susi na hindi naging pangunahing susi..

May mga natural (natural) na susi ang ilang entity. Halimbawa, ang natural na identifier ng isang invoice ay ang numero nito. Kung hindi, ang taga-disenyo ay maaaring lumikha ng isang kahalili na susi (Surrogate Key) - isang katangian na ang halaga ay ginawang artipisyal at hindi nauugnay sa lugar ng paksa. Kapag nagmomodelo ng mga istruktura ng data para sa isang warehouse ng data, mas gusto ang mga surrogate key sa maraming sitwasyon.

Ang mga domain ay itinalaga ng mga analyst at naitala sa espesyal na dokumento - diksyunaryo ng datos(Data Dictionary). Kapag gumagawa ng lohikal na modelo, maaaring tukuyin ang mga domain sa mga entity sa ER diagram.

Ang bawat katangian ay may domain. Ang isang domain ay maaaring tukuyin bilang isang abstract na katangian kung saan ang mga ordinaryong katangian ay maaaring gawin, at ang nilikha na mga katangian ay magkakaroon ng lahat ng mga katangian ng parent domain. Ang bawat katangian ay maaaring tukuyin sa isang domain lamang, ngunit maraming katangian ang maaaring tukuyin sa bawat domain. Kasama sa konsepto ng isang domain hindi lamang ang uri ng data, kundi pati na rin ang hanay ng mga halaga ng data. Halimbawa, maaari mong tukuyin ang domain na "Edad" bilang isang positibong integer at tukuyin ang katangian Edad ng empleyado bilang kabilang sa domain na ito.

Sa antas pagmomodelo ng lohika data assignment domain sa attribute ay pangkalahatang katangian. Halimbawa, ang attribute ay text, numeric, binary, date, o "undefined". Sa huling kaso, ang analyst ay dapat magbigay ng isang paglalarawan ng domain. Sa kasunod na mga yugto, ang uri ng domain ay tinukoy, ang kahulugan ng konsepto ng domain ay pisikal na modelo Ang HD ay mas makitid kaysa sa maiintindihan ng isang analyst. Ito ay dahil sa katotohanan na sa loob ng pisikal na modelo, ang domain ay ipinatupad sa pamamagitan ng mekanismo ng paghihigpit ng domain na hindi nauunawaan ng DBMS ang mga hindi natukoy na domain.

Ang taga-disenyo ay dapat na maingat na pag-aralan ang mga domain ng bawat katangian mula sa punto ng view ng kanilang pagiging posible sa DBMS, kasama ang paglahok ng mga analyst, gumawa ng mga pagbabago sa kanila kung ang kondisyon ng pagiging posible ay hindi natutugunan. Sa kasong ito, ang taga-disenyo ay ginagabayan ng mga sumusunod:

  • para magpatupad ng relational database, kailangan mong gumamit ng relational o object-relational na DBMS, halimbawa, MS SQL Server 2008;
  • Karamihan sa mga relational na DBMS ay gumagamit ng SQL bilang isang wika para sa pagmamanipula at paglalarawan ng data, na sumusuporta sa ilang mga pamantayan, halimbawa, ANSI SQL-92.

Relasyon (koneksyon) Ang mga entity sa isang ER diagram ay kinakatawan ng isang linya na nagkokonekta sa mga entity na ito. Ang ratio ay binabasa sa isang linya alinman mula kaliwa hanggang kanan o mula kanan hanggang kaliwa. Sa Fig. 6.6 ang sumusunod na relasyon ay ipinakita: ang bawat espesyalidad sa edukasyon ay dapat na nakarehistro sa isang partikular na indibidwal (tao), indibidwal


maaaring magkaroon ng isa o higit pang mga espesyalidad sa edukasyon.

kanin. 6.6. Sa MS Office Visio, ang link name, link strength (power) at klase ng pagiging miyembro ng entity sa koneksyon ay tinukoy sa tab na "Mga Katangian ng Database", tulad ng ipinapakita sa Fig..

6.7. Ang arrow sa linya ng komunikasyon ay tumuturo sa mesa ng magulang Kapag tinutukoy ang mga koneksyon, ang diin ay ang pagtukoy sa kanilang mga katangian. Ang relasyon ay isang relasyon sa pagitan ng dalawa o higit pang entity. Ang bawat koneksyon ay natanto sa pamamagitan ng mga halaga halimbawa ng entidad mga katangian ng entidad , Halimbawa, Ang "Empleyado" (Fig. 6.6) ay nauugnay sa halimbawa ng entidad"Edukasyon" ni parehong mga halaga mga katangian Numero ng tauhan. Sa madaling salita, kapag lumikha ka ng relasyon sa isa sa mga entity, na tinatawag na child entity, a bagong katangian (, tinawag dayuhang susi parehong mga halaga Foreign Key

, FK) (sa Fig. 6.6 ito ang katangian ). Ang mga foreign key attribute ay minsan ay ipinapahiwatig ng isang simbolo (FK) pagkatapos ng kanilang pangalan. Ang isang relasyon ay isang lohikal na relasyon sa pagitan ng mga entity. Ang bawat relasyon ay dapat na pinangalanan bilang isang pandiwa o parirala ng pandiwa

Pangalan ng relasyon (Pandiwa Parirala) – isang pariralang nagpapakilala sa ugnayan ng magulang at anak . Ang pangalan ng relasyon ay nagpapahayag ng ilang hadlang o panuntunan sa negosyo at ginagawang mas madaling basahin ang diagram. Sa Fig. Ipinapakita ng Figure 6.8 kung paano magtalaga ng pangalan sa isang relasyon.

meron iba't ibang uri mga relasyon: isa-sa-maraming nagpapakilalang relasyon, marami-sa-maraming relasyon, at isa-sa-maraming hindi nagpapakilalang relasyon. Ang iba't ibang uri ng mga entity ay nauugnay din sa mga uri ng relasyon. Mayroong dalawang uri ng mga entity: umaasa

Ang isang instance ng isang umaasang entity ay tinukoy lamang sa pamamagitan ng kaugnayan nito sa parent entity, iyon ay, sa istraktura sa Fig. 6.8 impormasyon tungkol sa espesyalidad ay hindi maaaring ipasok at walang kabuluhan nang walang impormasyon tungkol sa empleyado na may espesyalidad na may diploma sa edukasyon. Kapag naitatag ang isang pagkakakilanlan na relasyon (continuous line sa figure), ang mga attribute ng primary key ng parent entity ay awtomatikong ililipat sa primary key ng child entity (continuous line). Ito pagpapatakbo ng karagdagan

Ang mga katangian ng isang child entity kapag lumilikha ng isang relasyon ay tinatawag na attribute migration. Sa isang child entity, ang naturang attribute ay itinuturing na foreign key. Kung ang modelo ay ginawa gamit ang mga CASE tool, pagkatapos kapag bumubuo ng isang database schema, ang pangunahing key attribute ay makakatanggap ng NOT NULL attribute, na nangangahulugang imposibleng gumawa ng record sa table na "Employees" nang walang impormasyon tungkol sa numero ng tauhan

empleyado. Kapag nagtatatag ng isang hindi nagpapakilalang koneksyon (Larawan 6.9, may tuldok na linya

) ang child entity ay nananatiling independyente, at ang mga pangunahing pangunahing katangian ng parent na entity ay lumilipat sa mga hindi pangunahing bahagi ng parent na entity. Ang isang hindi nagpapakilalang relasyon ay ginagamit upang iugnay ang mga independiyenteng entity (Larawan 6.9). Instance ng entity Maaaring umiral ang "Empleyado" nang walang pagtukoy sa anuman halimbawa ng entidad

"Kagawaran", ibig sabihin, ang isang empleyado ay maaaring magtrabaho sa isang organisasyon at hindi nakalista sa anumang departamento.

Ang isang pagkakakilanlan na koneksyon ay ipinapakita sa diagram bilang isang solidong linya na may naka-bold na tuldok sa bata na dulo ng koneksyon (tingnan ang Fig. 6.8), ang isang hindi nagpapakilala ay ipinapakita bilang isang may tuldok na linya (tingnan ang Fig. 6.9). Many-to-many na relasyon

(many-to-many na relasyon) ay maaari lamang gawin sa antas ng lohikal na modelo. Sa Fig.

Ang Figure 6.10 ay nagpapakita ng isang halimbawa ng pagtukoy sa isang relasyon na marami-sa-maraming. Ang isang doktor ay maaaring makakita ng maraming mga pasyente, ang isang pasyente ay maaaring gamutin ng ilang mga doktor. Ang ganitong koneksyon ay ipinahiwatig ng isang solidong linya na may dalawang arrow sa mga dulo.

Ang isang "marami sa marami" na relasyon ay dapat na pinangalanan sa dalawang parirala - sa parehong direksyon (sa halimbawang "tinatanggap/ginagamot"). Ginagawa nitong mas madaling basahin ang diagram. Makipag-ugnayan sa amin Upang bumuo ng isang database, ang istraktura kung saan ay hindi nakasalalay sa mga tiyak na pangangailangan ng impormasyon at nagbibigay-daan sa iyo upang matupad ang anumang mga kahilingan ng gumagamit, isang diagram ng modelo ng impormasyon na "entity-relasyon" (ER diagram) ay ginagamit. disenyo, ginagamit ang pamamaraang "essence-relationship", na tinatawag ding "ER-diagram" na pamamaraan ("Essence" - entity, "Relation" - koneksyon). Ang pamamaraang ito ay batay sa paggamit ng mga diagram na tinatawag na ER-instance diagram at ER-type diagram, ayon sa pagkakabanggit.

ER – isang diagram ng “entity-relationship” ay isang hanay ng maraming mga bagay at kanilang mga katangian, pati na rin ang mga ugnayan sa pagitan ng mga ito, na kinakailangan upang matukoy ang data na kasunod na ginagamit ng mga function ng system na idinisenyo.

Ang mga pangunahing konsepto ng pamamaraan ng entity-relationship ay ang mga sumusunod:

Kakanyahan;

Katangian ng entity;

Entity key;

Relasyon sa pagitan ng mga entity;

Degree ng koneksyon;

Ang membership class ng mga instance ng entity;

ER instance diagram;

Mga diagram ng uri ng ER.

Sa ilalim bagay ng impormasyon ang isang tiyak na nilalang ng isang fragment ng katotohanan ay nauunawaan, halimbawa: isang organisasyon, isang dokumento, isang empleyado, isang lugar, isang kaganapan, atbp. Ang isang entidad ay isang bagay, impormasyon tungkol sa kung saan ay naka-imbak sa isang database. Ang mga instance ng entity ay naiiba sa isa't isa at natatanging kinilala. Ang mga pangalan ng entidad ay mga pangngalan. Ang bawat uri ng bagay ay nakikilala sa pamamagitan ng taglay nitong hanay ng mga katangian. Sa proyekto ng kursong ito, ang mga entidad ay: empleyado, mga posisyon, edukasyon, mga anyo ng pakikilahok sa paggawa, mga faculty, mga departamento at mga paksa.

Ang isang katangian ((mula sa Latin attribuo - attribute) - isang ari-arian o bagay na hindi mapaghihiwalay sa isang bagay) ay isang lohikal na hindi mahahati na elemento ng istraktura ng impormasyon, na nailalarawan sa pamamagitan ng maraming mga halaga ng atomic. Ang konseptong ito ay katulad ng konsepto ng "attribute" sa isang relasyon. Ang isang halimbawa ng isang bagay ay nailalarawan sa pamamagitan ng isang hanay ng mga partikular na halaga ng katangian ng ganitong uri bagay. Ang isa o ilang grupo ng mga katangian ng isang bagay ng ganitong uri ay maaaring gumanap ng papel ng isang pangunahing katangian (entity key). Sa proyektong ito ng kurso, ang mga entity sa itaas ay nailalarawan sa pamamagitan ng mga katangian, tulad ng: department_code, department_name, department_code, employee_name, atbp.



Ang entity key ay isang attribute o set ng mga attribute na tumutukoy sa isang instance ng isang entity (halimbawa, job_code).

Ang isang relasyon sa pagitan ng dalawa o higit pang mga entity ay isang dependency sa pagitan ng mga katangian ng mga entity na iyon. Ito ay tinutukoy ng isang pandiwa. Bukod dito, mayroong dalawang uri ng koneksyon:

Hierarchical;

Isang antas.

Upang mapabuti ang kalinawan at kadalian ng disenyo, ginagamit namin mga graphic na tool representasyon ng isang entity, entity instance, at mga relasyon sa pagitan nila. Ang ER diagram ay ipinakita sa Appendix A.


Pag-uuri ng mga koneksyon

Sa totoong mga database, ang impormasyon ay inilalagay sa ilang mga talahanayan. Ang mga talahanayan ay naka-link sa pamamagitan ng mga semantika ng impormasyon. Sa mga relational na DBMS, upang ipahiwatig ang mga relasyon sa talahanayan, ang isang pag-uugnay na operasyon ay isinasagawa. Pinatataas nito ang pagiging maaasahan ng impormasyong nakaimbak sa database, dahil kinokontrol ng DBMS ang integridad ng data na ipinasok sa database alinsunod sa mga itinatag na koneksyon.

Ang pagtatatag ng mga koneksyon ay nagpapadali sa pag-access ng data kapag nagsasagawa ng mga operasyon: paghahanap, pagtingin, pag-edit, pagkuha at paghahanda ng isang ulat, dahil ibinibigay ang access sa anumang field ng mga nauugnay na talahanayan.

Maaaring mai-install ang sumusunod sa pagitan ng mga talahanayan:

Binary na koneksyon;

Mga koneksyon sa ternary;

N-ary na mga bono.

Kapag nag-uugnay ng dalawang talahanayan, ang isang pangunahin at isang subordinate na talahanayan (magulang at anak) ay nakikilala. Ang lohikal na pag-uugnay ng mga talahanayan ay ginagawa gamit ang isang link key. Ang mga patlang ng pangunahing talahanayan ay maaaring simple o susi. Mga patlang ng link karagdagang mga talahanayan s ay madalas na ang mga susi. Depende sa kung paano tinukoy ang mga field ng koneksyon ng pangunahing at karagdagang mga talahanayan (kung paano nauugnay ang mga pangunahing field sa mga field ng koneksyon), ang mga uri ng koneksyon ay itinatag:

1:1 (isa sa isa);

1:M (isa sa marami);

M:1 (marami sa isa);

M:M (marami sa marami).

Mabubuo ang 1:1 na relasyon kung susi ang lahat ng field ng relasyon sa pagitan ng mga talahanayan ng magulang at anak. Dahil ang mga halaga sa mga pangunahing patlang ng dalawang talahanayan ay hindi nauulit, mayroong isa-sa-isang sulat sa pagitan ng mga talaan mula sa mga talahanayang ito. Ang mga talahanayan mismo, sa katunayan, ay nagiging pantay dito.

Ang isang 1:M na relasyon ay nangyayari kapag ang isang tala sa parent table ay tumutugma sa ilang mga tala sa child table.

Ang isang M:1 na relasyon ay nangyayari kapag ang isa o ilang mga talaan ng pangunahing talahanayan ay naitugma sa isang talaan ng isang karagdagang talahanayan.

Ang isang M:M na relasyon ay nangyayari sa mga kaso kung saan ang ilang mga talaan ng pangunahing talahanayan ay tumutugma sa ilang mga talaan ng karagdagang talahanayan.

Katulad ng isang 1:1 na relasyon, ang isang M:M na relasyon ay hindi nagtatatag ng subordination ng mga talahanayan. Sa pagsasagawa, ang isang relasyon ay karaniwang nagsasangkot ng ilang mga talahanayan. Sa kasong ito, maaaring magkaroon ng isang table iba't ibang uri mga koneksyon sa ilang mga talahanayan, na bumubuo ng isang hierarchy o "relationship tree".

Sa proyektong ito ng kurso, ang mga talahanayan ay konektado sa pamamagitan ng 1:M (isa-sa-maraming) relasyon. Halimbawa, ang table na "faculties" ay ang parent table ng child table na "departments". Ang mga talahanayan na ito ay nauugnay sa isang 1:M na relasyon gamit ang key na "faculty_code"

  • 2. Mga sistema ng impormasyon sa ekonomiya, ang kanilang pag-uuri at suporta sa impormasyon
  • 3. Off-machine na organisasyon ng pang-ekonomiyang impormasyon
  • 6. Tatlong antas na modelo ng organisasyon ng database
  • 7. Hierarchical na modelo
  • 8. Modelo ng network
  • 9. Mga pangunahing konsepto ng modelo ng relational data (mga relasyon, domain, schema ng kaugnayan, antas ng kaugnayan, decare ng produkto, katangian, tuple)
  • 11. Mga kondisyon ng integridad ng relasyon
  • 13. Mga yugto ng disenyo ng database
  • 10. Mga pangunahing konsepto ng modelo ng relational data (mga pangunahing katangian ng mga relasyon, pangunahing key, pag-link ng talahanayan, foreign key, schema ng data)
  • 12. Mga aparatong imbakan ng database
  • 14. Entity-relationship model (er-model)
  • 15. Pag-convert ng er-model sa isang relational data model para sa 1:1 na uri ng mga relasyon na may mandatoryong paglahok sa magkabilang panig.
  • 16. Pag-convert ng er-model sa isang relational data model para sa 1:1 na uri ng mga relasyon na may mandatoryong paglahok sa isang panig at opsyonal sa kabilang panig.
  • 17. Pag-convert ng er-model sa isang relational data model para sa 1:1 type na relasyon na may opsyonal na partisipasyon sa magkabilang panig.
  • 18. Pag-convert ng er-model sa isang relational data model para sa mga koneksyon ng uri 1:m na may mandatoryong paglahok mula sa "marami" na panig
  • 19. Pag-convert ng er-model sa isang relational data model para sa uri 1:m na mga relasyon na may opsyonal na partisipasyon mula sa "marami" na panig
  • 34. Pangangasiwa ng database. Pagbawi ng database
  • 20. Pag-convert ng er-model sa isang relational data model para sa m:n type na relasyon.
  • 21. Normalisasyon ng mga talahanayan. Kahusayan ng isang relational database. Unang normal na anyo (1nf).
  • 22. Normalisasyon ng mga talahanayan. Functional na pag-asa. Buo at bahagyang functional dependence. Pangalawang normal na anyo (2nf).
  • 23. Normalisasyon ng mga talahanayan. Palipat na pag-asa. Pangatlong normal na anyo (3nf).
  • 24. Konsepto at mga kakayahan ng isang database management system (DBMS)
  • 25. Pag-uuri ng mga database management system (DBMS)
  • 26. Knowledge base management system
  • 27. Malayong pagpoproseso ng data
  • 28. Pagproseso ng mga kahilingan sa file/server architecture
  • 30. Arkitektura ng distributed database processing system na RaDBd
  • 29. Pagproseso ng mga kahilingan sa arkitektura ng kliyente/server
  • 31. Mga bodega ng data
  • 32. Pangangasiwa ng database. Mga user at database administrator
  • 33. Pangangasiwa ng database
  • 14. Entity-relationship model (er-model)

    Kakanyahan– ito ay ilang bagay ng totoong mundo na maaaring umiral nang nakapag-iisa. Ang entity ay may mga kopya, naiiba sa bawat isa sa mga halaga ng katangian at nagbibigay-daan sa hindi malabo na pagkakakilanlan. Katangian ay isang pinangalanang katangian ng isang entity. Tinatawag ang isang attribute na natatanging tumutukoy sa mga instance ng isang entity susi ., na kumakatawan sa isang kumbinasyon ng ilang mga katangian.

    Koneksyon kumakatawan sa pakikipag-ugnayan sa pagitan ng mga entity. Ito ay nailalarawan kapangyarihan (antas ng koneksyon), na nagpapakita kung ilang entity ang nasasangkot sa relasyon. Ang relasyon sa pagitan ng dalawang entity ay tinatawag binary

    Isang mahalagang katangian ng komunikasyon ay urimga komunikasyon(multiplicity).

    Isaalang-alang natin ang mga uri ng mga koneksyon sa itaas. Dahil ang isang manager ay namamahala lamang ng isang branch, ang unang relasyon ay isang one-to-one na uri (1:1).

    Dahil ang isang branch ay nagpoproseso ng maramihang mga invoice, at ang bawat invoice ay pinoproseso ng isang branch lamang, ang ika-2 relasyon ay isang one-to-many (1:M) na relasyon.

    Dahil ang isang account ay maaaring ibahagi ng maraming kliyente at ang isang kliyente ay maaaring magkaroon ng maraming account, ang ika-3 na relasyon ay isang marami-sa-marami (M:N) na relasyon. Degree ng partisipasyon tinutukoy kung lahat o ilang pagkakataon lang ng isang entity ang kasangkot sa relasyon. Baka siya na sapilitan o.

    opsyonal o Kung hindi lahat ng instance ng entity A ay nauugnay sa anumang instance ng entity B, ang antas ng partisipasyon ng entity A ay

    . tinutukoy kung lahat o ilang pagkakataon lang ng isang entity ang kasangkot sa relasyon. Baka siya na Ito ay kinakatawan sa ER diagram ng isang itim na bilog na inilagay sa linya ng komunikasyon malapit sa entity A. Kung ang bawat instance ng entity A ay nauugnay sa ilang instance ng entity B, kung gayon ang antas ng partisipasyon ng entity A ay.

    Sa kasong ito, sa ER diagram, ang isang itim na bilog sa linya ng komunikasyon ay inilalagay sa isang parihaba sa tabi ng entity A. Halimbawa, komunikasyon

    Nagrerehistro ng mga Kliyente ang Empleyado

    may uri (1:M). Sa kasong ito, hindi lahat ng empleyado ay nagrerehistro ng mga kliyente (opsyonal na pakikilahok), ngunit ang bawat kliyente ay nakarehistro ng isang empleyado (mandatoryong paglahok):

    Ang bawat isa sa apat na entity ng modelo ay maaaring ilarawan ng sarili nitong hanay ng mga katangian.

    MANAGER

    Numero ng manager (NM)

    Numero ng sangay (NF)

    Internship (STAGE)

    Address ng branch (ADR_F)

    Espesyalidad (ESPESYAL)

    Numero ng kliyente (NC)

    Account number (NA)

    Buong pangalan kliyente (buong pangalan_K)

    Uri ng account (TYPE)

    Address ng kliyente (ADR_K)

    1.5 Balanse ng account (BT)

    Katayuan sa lipunan (SOC_P) Ang isang modelo ng ER, kasama ang mga hanay ng mga katangian ng entity, ay maaaring magsilbi bilang isang halimbawa ng isang semantiko (konsepto) na modelo ng isang domain o isang konseptwal na database schema. Pagmomodelo ng ER

    Ang pagmomodelo ng data ay ang unang hakbang patungo sa disenyo ng database ito ay isang paglipat mula sa mga bagay sa totoong mundo

    1.5.1 Mga Entidad

    Dahil ang isang entity ay isang real-world object, ang mga salitang "entity" at "object" ay kadalasang pareho ang ibig sabihin.

    Sa antas ng pagmomolde ng ER, ang ibig sabihin ng entity ay isang entity set, hindi isang entity. Sa madaling salita, ang isang entity sa pagmomodelo ng ER ay tumutugma sa isang talahanayan, at hindi isang row sa isang relational na kapaligiran ang isang hiwalay na hilera sa modelo ng ER ay tinatawag na isang entity na halimbawa (entity occurrence). Ang isang entity ay kinakatawan ng isang parihaba kung saan nakasulat ang pangalan ng entity.

    1.5.2 Mga Katangian

    Inilalarawan ng mga katangian ang mga katangian ng isang entity. Halimbawa, ang STUDENT entity ay kinabibilangan ng mga attribute na NSTBIL (estudyante ID number), FIO (estudyante name), KURS (course), atbp.

    kanin. 1.24. Mga katangian ng STUDENT entity sa ER model.

    May mga domain ang mga katangian. Ang isang domain ay isang hanay ng mga posibleng halaga para sa isang katangian. Halimbawa, ang domain para sa numerical value average na rating ang mag-aaral ay maaaring isulat bilang isang pagitan.

    Ang mga pangunahing key sa modelong ER ay may salungguhit. Kung maraming pangunahing key, lahat ay may salungguhit.

    Ang mga katangian ay maaaring simple o tambalan. Ang isang pinagsama-samang katangian ay isang katangian na maaaring higit pang hatiin sa ilang mga katangian. Halimbawa, ang ADRESS attribute ay maaaring hatiin sa STREET, CITY, atbp.

    Ang mga katangian ay maaaring single-valued o multi-valued. Ang isang may halagang katangian ay isang katangian na maaaring tumagal sa isang halaga lamang. Halimbawa, ang isang numero ng pagkakakilanlan ng buwis ay maaaring may iisang kahulugan para sa bawat tao. Ang mga natatanging katangian ay hindi kinakailangang simple. Halimbawa, serial number Ang 78-03-06-137846 ay isang may halagang katangian, ngunit sa parehong oras ito ay isang tambalang katangian, dahil maaari itong hatiin sa rehiyon kung saan ginawa ang produkto (78), city code (03), production shift (06), product number (137846).

    Ang isang multivalued na attribute ay isang attribute na maaaring tumagal sa maraming value. Halimbawa, ang isang tao ay maaaring magtapos sa ilang unibersidad at magkaroon ng ilang numero ng telepono.

    SA pamanggit na DBMS Hindi maaaring gamitin ang mga multivalued na attribute. Kung may mga multivalued na attribute, kailangan mong gumawa ng ilang bagong attribute sa loob ng entity na ito o gumawa ng bagong entity na binubuo ng mga bahagi ng isang multivalued attribute.

    Ang isang nagmula na katangian ay isang katangian na hindi kailangang maimbak sa database, ito ay nakuha gamit ang ilang algorithm. Halimbawa, ang edad ng isang empleyado ay maaaring makuha bilang ang integer na halaga ng pagkakaiba sa pagitan kasalukuyang petsa at petsa ng kapanganakan.

    1.5.3. Mga koneksyon

    Ang relasyon ay isang samahan. Ang mga entidad na nakikilahok sa isang komunikasyon ay tinatawag na mga kalahok. Ang isang pandiwa o isang dokumento ay maaaring gamitin upang pangalanan ang mga koneksyon. Halimbawa, ang isang departamento ay pinamamahalaan ng isang empleyado, ang mga kalakal ay natanggap batay sa isang natapos na kontrata, atbp.

    Ang mga ugnayan sa pagitan ng mga entity sa isang quantitative na relasyon ay maaaring "one-to-one", "one-to-many". Ang terminong "pagkakakonekta" ay ginagamit upang tukuyin ang mga uri ng mga koneksyon.

    Ang Cardinality ay nagpapahayag ng isang tiyak na bilang ng mga instance ng entity na nauugnay sa isang instance ng kaugnay na entity. Sa ER diagram, ang kapangyarihan ng komunikasyon ay hindi ipinahiwatig, ngunit sa programming ng aplikasyon maaaring maging kapaki-pakinabang ang impormasyon tungkol sa max at min na bilang ng mga instance ng entity. Halimbawa, ang isang grupo ay hindi maaaring magsimula ng mga klase kung mayroon itong mas mababa sa 10 mag-aaral.

    Ang mga relasyon ay itinatag sa pagitan ng mga entity. Kung ang isang entity ay nakasalalay sa pagkakaroon ng isa o higit pang mga entity, kung gayon ito ay umaasa sa pagkakaroon. Halimbawa, kung ang mga empleyado ay may mga umaasa, kung gayon upang kalkulahin ang mga buwis, maaari mong itatag ang relasyong "may mga umaasa ang empleyado". Sa kasong ito, ang umaasang entity ay nakasalalay sa entidad ng empleyado.

    Kung ang isang entidad ay maaaring umiral sa labas ng iba pang mga entidad, kung gayon ito ay independiyente sa pag-iral. Halimbawa, maaaring umiral ang entity na "bahagi" nang hiwalay sa entity na "supplier."

    Kung ang isang entity ay independiyente sa pagkakaroon ng isa pang entity, ang relasyon sa pagitan ng mga ito ay tinatawag na mahinang relasyon o hindi nagpapakilalang relasyon. Nangyayari ang mahinang ugnayan kung ang pangunahing susi ng nauugnay na entity ay hindi naglalaman ng mga pangunahing bahagi ng pangunahing entity. Halimbawa, mayroong dalawang entity na COURSE at CLASS, na inilarawan bilang

    KURSO ( CRS-CODE, DEPT_CODE,…)

    KLASE ( CLASS-CODE, CRS_CODE,…)

    May mahinang koneksyon sa pagitan ng mga entity na ito, dahil ang CLASS_CODE attribute ay ang pangunahing key ng CLASS entity, habang ang CRS_CODE attribute ng CLASS entity ay isang foreign key. Ang pangunahing key ng CLASS entity ay hindi nagmamana ng pangunahing key component mula sa COURSE entity. Ang mahinang coupling ay kinakatawan ng isang dashed line sa isang ER diagram.

    Ang isang malakas na relasyon, na tinatawag ding pagtukoy na relasyon, ay nangyayari kapag ang mga kaugnay na entity ay nakadepende sa pag-iral. Ang isang malakas na ugnayan sa pagitan ng dalawang entity ay nangyayari kapag ang pangunahing susi ng kaugnay na entity ay naglalaman ng isang pangunahing pangunahing bahagi ng pangunahing entity. Halimbawa, mga entidad

    KURSO ( CRS-CODE, DEPT_CODE,…)

    KLASE ( CRS_CODE, CLASS-SECTION,…)

    Malakas ang koneksyon nila, kasi kasama sa composite key ng CLASS entity ang primary key ng COURSE entity. Sa isang ER diagram, ang mga matibay na relasyon ay ipinapakita bilang isang solidong linya.

    Mahalagang tandaan na ang pagkakasunud-sunod ng paggawa at pag-load ng mga talahanayan ay makabuluhan. Para sa data, halimbawa, imposible para sa foreign key ng CLASS table na sumangguni sa isang COURSE table na hindi pa umiiral. Ang problema pagkatapos ng pagkakasunod-sunod ng paglikha ng talahanayan sa ilang mga DBMS ay hindi lilitaw hanggang sa ma-load ang data. Upang maiwasan ang mga paglabag sa integridad sa antas ng link, dapat i-load ng isang 1:M na relasyon ang "1" na bahagi, hindi alintana kung ito ay malakas o mahina.

    Ang pakikilahok ng isang entity sa isang relasyon ay maaaring kailanganin o hindi. Ang paglahok ng entity ay opsyonal kung ang isang entity instance ay hindi nangangailangan ng katumbas na entity instance na naroroon sa isang hiwalay na relasyon. Halimbawa, kaugnay ng isang kurso (COURSE), ang mga grupo ay nilikha (CLASS), kahit man lang sa ilang mga kurso ay maaaring hindi malikha ang mga grupo. Yung. isang entity instance (row) sa COURSE table ay hindi kinakailangang nangangailangan ng kaukulang entity instance sa CLASS table. Samakatuwid, ang CLASS entity ay itinuturing bilang opsyonal na may kinalaman sa COURSE entity. Ang isang opsyonal na relasyon sa isang ER diagram ay ipinapakita na may maliit na bilog sa opsyonal na entity side. Ang pagkakaroon ng opsyonality ay nagpapahiwatig na para sa isang opsyonal na entity min na halaga Ang kapangyarihan ng komunikasyon ay 0.

    Ang paglahok ng entity sa isang relasyon ay mandatory kung ang isang entity instance ay kinakailangang nangangailangan ng kaukulang entity instance sa isang hiwalay na relasyon. Kung walang karagdagang simbolo na ipinapakita sa tabi ng entity, nangangahulugan ito na ibinigay na entidad nakikilahok sa isang ipinag-uutos na relasyon sa isang kaugnay na entity. Ang min cardinality para sa isang kinakailangang entity ay 1.

    a) Ang CLASS entity ay opsyonal para sa COURSE entity

    b) Ang mga entity na COURE at CLASS sa isang ipinag-uutos na relasyon.

    Fig.1.25. Representasyon ng mandatory at opsyonal na koneksyon sa ER model.

    Sa mga termino ng disenyo ng database, ang pagkakaroon ng isang malakas na ugnayan sa pagitan ng isang parent na entity at ang nauugnay na entity o entity nito ay nauugnay sa mga mahihinang entity.

    Ang mahinang entity ay isang entity na nakakatugon sa dalawang kundisyon:

    ang kondisyon ng pag-asa sa pagkakaroon, i.e. hindi ito maaaring umiral kung wala ang entidad kung saan ito konektado;

    ang pangunahing susi nito ay hinango sa bahagi o kabuuan mula sa pangunahing entity ng relasyon.

    Sa modelong ER, ang mga mahihinang entity ay inilalarawan bilang maliliit na segment sa bawat isa sa apat na sulok ng parihaba ng entity.

    kanin. 1.26. Mahinang entity sa mga ER diagram.

    Ang isang mahinang entity ay nagmamana ng lahat ng bahagi ng pangunahing susi ng kanyang matatag na kasosyo sa relasyon. Ang taga-disenyo ng database ang nagpapasya kung ang isang entity ay dapat ideklarang mahina.

    Ang antas ng relasyon ay nagpapahiwatig ng bilang ng mga nauugnay na entity. Ang isang unary na relasyon ay umiiral kapag ang isang asosasyon ay pinananatili sa loob ng isang entity. Ang isang binary na relasyon ay umiiral kapag ang dalawang entity ay nauugnay. Ang isang ternary na relasyon ay nangyayari kapag ang tatlong entity ay konektado. Bagama't marami pa mataas na grado mga koneksyon, sila ay medyo bihira at walang mga espesyal na pangalan.

    Kung ang isang entity ay may mga koneksyon sa sarili nito, kung gayon ang gayong koneksyon ay tinatawag na recursive.

    kanin. 1.27. ER representasyon ng recursive na koneksyon

    Ang generalization hierarchy ay nagpapakita ng mga ugnayang nagmula sa ninuno. Sa konteksto ng mga relational database, ipinapakita ng hierarchy ng mga generic na view ang mga relasyon sa pagitan ng mga supertype ng entity. pinakamataas na antas at mga subtype ng entity mababang antas. Yung. ang supertype ay naglalaman ng mga nakabahaging katangian, habang ang subtype ay naglalaman ng mga natatanging katangian.

    kanin. 1.28. Hierarchy ng mga pangkalahatang representasyon.

    Ang mga relasyon ay minana, i.e. Ang isang entity subtype ay nagmamana ng mga attribute at relasyon mula sa entity supertype. Halimbawa, ang lahat ng piloto, mekaniko at accountant ay may mga numero ng tauhan, buong pangalan, address ng tahanan, atbp., ngunit maaaring mayroon silang mga katangiang natatangi sa kanilang espesyalisasyon. Sa madaling salita, ang isang entity set supertype ay karaniwang nauugnay sa ilang natatangi at hindi magkakapatong na entity set subtype. Ang ganitong mga non-overlapping na bono ay tinutukoy ng letrang 'G'.

    Ang supertype at (mga) subtype ay nagpapanatili ng 1:1 na relasyon. Halimbawa, ang istraktura ng talahanayan ng EMPLOYEE ay maaaring palitan ng dalawang talahanayan, ang isa ay kumakatawan sa EMPLOYEE supertype at ang isa ay kumakatawan sa PILOT subtype.

    Ang ilang mga supertype ay naglalaman ng mga magkakapatong na subtype. Halimbawa, ang isang empleyado ay maaaring isang guro, ngunit sa parehong oras ay isang administrator.

    Ang mga crossing bond ay kinakatawan ng mga simbolo ng 'Gs'.

    kanin. 1.29. Hierarchy ng mga pangkalahatang representasyon na may mga intersecting na subtype.