Mga computerMga database

A maraming-sa-marami: Isang halimbawa sa Access, sa SQL. Paano gumawa ng isang maraming-sa-maraming?

Lahat ng DBMS (database management system) , may ilang mga uri ng ugnayan sa pagitan ng mga talahanayan. Kabilang sa mga ito ng isa-sa-isa, isa-sa-marami, maraming-sa-isang (ilang ay may hilig upang makilala ang mga dalawang uri sa isa) at maraming-sa-maraming. Ang isang halimbawa ng sa huli, at isang paliwanag ng kanyang aplikasyon sa iba't ibang mga database, tulad ng Access o SQL, tatalakayin sa artikulong ito.

depinisyon

Maraming-maraming mga relasyon ay tinukoy bilang isang tugma sa alinman sa mga kopya ng isa sa mga essences ng lahat ng iba pang pagkakataon. Sa ibang salita, ang bawat patlang ng unang (pangalawang) talahanayan na nauugnay sa lahat ng mga patlang ng ikalawang (unang).

Pamamaraan na ito ay malinaw na sumasalamin sa kakanyahan ng relasyon na ito.

Kapag ang isang maraming-sa-maraming mga relasyon ay maaaring gamitin?

Ang isang halimbawa ng isang maraming-sa-maraming - isang mag-aaral group at isang pangkat ng mga guro. Ang bawat mag-aaral na natututo nang sabay-sabay sa loob ng ilang mga propesor, na, naman, bigyan ang mga aralin ng ilang mga mag-aaral. Sa larawan ay nagpapakita ng mga pagkakaiba sa pagitan ng isang isa-sa-marami at marami-sa-marami.

Maraming-maraming mga relasyon ay madalas na kinakailangan sa paghahanda ng malakihang mga database, mga maliliit na nakapagpapaliwanag halimbawa ay karaniwang ginagamit lamang para sa mga layuning pang-edukasyon, sa katotohanan, sa pagsasanay na ito ay lumiliko out na ang mga mas entity sa database at higit pa ng mga relasyon sa pagitan ng mga ito - ang mas ang posibilidad ng mga madalas na humingi ng tulong sa maraming-sa-marami.

Paano gumawa ng isang maraming-sa-maraming?

Mga halimbawa ng mga kaugnay na pinag-uusapan pa rin ang idinagdag sa kurso ng artikulo, ngunit ito ay mahalaga hindi lamang upang maunawaan kung ano ito ay, ngunit din kung paano ipatupad ito. Detalye ng prosesong ito nang direkta ay depende sa database pinili para sa trabaho, habang ang prinsipyo ay nananatiling pareho para sa lahat.

microsoft Access

Office software mula sa "Microsoft" ay kilala sa merkado software para sa ganap ng mahabang panahon. Ito ay may isang text editor Worfd, Excel hugis ng mga talaan processor at ang iba pang kasali sa linya ng "opisina". Maaari mong i-access (basahin bilang "acces", ang literal na pagsasalin - "access") na bumili at hiwalay mula sa kanyang "kasamahan". Ito ay inirerekomenda upang bumili, siyempre, lisensiyadong software, ngunit ito ay walang lihim kung magkano ang piratang repack ay matatagpuan sa malawak na web, sa anyo ng mga regular na file, o torrents kamay. "Microsoft Acces" ay magagamit kahit na sa isang portable assembly. Hindi ito nangangailangan ng pag-install at anumang espesyal na mga kasanayan upang gumana sa isang PC, ito ay pinaka-ugma para sa pagpili kung ang software ay hindi gagamitin pang-walang pagkupas at madalas.

Mula sa konteksto ito ay malinaw na ang "Microsoft Acces" - isang sistema ng pamamahala ng database. At isa sa mga pinaka popular. Ito ay relational, na nangangahulugang ito ay batay sa mga lohikal na data modelo, na kung saan ay sa kurso ng kanyang trabaho ay tumutukoy sa set theory at unang-order logic. Maraming-maraming mga relasyon sa Access (halimbawa ay ibinibigay sa mga paliwanag) ay natanto napaka, napaka-simple. Isaalang-alang ang mga ito.

Mayroong dalawang mga talahanayan ..

Upang hindi upang imbentuhin ang anumang bagay bago, kunin ang nabanggit na ipaliwanag ang maraming-sa-maraming mga halimbawa tungkol sa mga mag-aaral. Dapat kang lumikha ng talahanayan "Mag-aaral" at ang table "Guro." Ang parehong ang una at ikalawang ng mga ito ay mga pangunahing mga susi. Nangangailangan din ng isa pang table, kung aling mga field para sa pagsasama-sama ng mga pagkakataon sa dalawang mga entity - ang mga susi ng una at ikalawang mesa.

Kung isaalang-alang namin ang isang iba't ibang mga halimbawa: sabihin natin, ang mga manlalaro at ang team (ibinigay ang katunayan na ang hindi bababa sa isa sa mga manlalaro naglalaro para sa iba't ibang mga koponan, at ang bawat koponan ay binubuo ng labing-isang manlalaro), ay pagbuo ng isang koneksyon sa ay hindi magbabago. Makakasali din sila na kailangan ng tatlong mga talahanayan. Sa mga ito, "Basketball" at "Team" bilang pangunahing at isa intermediate.

data scheme

Relasyon sa pagitan ng mga talahanayan sa database "Microsoft Acces" ipinatupad gamit ang tab na "Data Scheme". Ang display panel ay idinagdag sa lahat ng mga nilalang (sa kasong ito, ang lahat ng tatlong mga talahanayan). Gumawa ng isang maraming-sa-maraming ay ang paggamit ng dalawang mga relasyon, isa-sa-maramihan na ugnayan sa pagitan ng mga punong-guro ( "Mag-aaral" at "guro") at ang staging table. Upang gawin ito, kailangan mong magkabit ng kani-kanilang mga pangunahing mga susi.

Ang larawan sa itaas ay nagpapakita kung paano ang tab na "data circuit" (Relathionships). Ang bilang ng mga idinagdag sa talahanayan board nang walang hangganan. Lokasyon ay ganap na adjustable ng user.

SQL

Database Design sa SQL - mas mahirap na gawain kaysa sa "Acces". Kung maykrosoftovskih produkto ay ganap na iniangkop sa kapaligiran opisina, ay may isang malaking at, sa bawat release at i-update ang lahat ng extensible pag-andar, ngunit sa parehong oras na maginhawa para sa mga simpleng user interface, SQL - ito ay isang hiwalay na non-pamamaraan programming language, na kung saan sa magkaibang mga platform maaari kang magtrabaho kasama database. Ang kilalang software para sa gawaing ito: Oracle MySQL at DB2 (isang sikat na, ngunit hindi ang isa lamang sa mga uri nito). Sa kabila ng ang katunayan na ang bawat isa sa kanila ay may mga subtleties at nuances, ang SQL na wika ay ang kanilang "united". Sa pamamagitan ng pag-aaral upang gumana sa hindi bababa sa isa sa kanila, upang harapin ang iba ay magiging lubhang mas madaling.

Lumikha, punan at direktang aksyon sa mga umiiral na database sa SQL na kinakailangan sa pamamagitan ng isang espesyal na code o mga script. Gayunpaman, ang mga taong may na ginawa ito sa seksyon ng "maraming-sa-maraming", ang isang halimbawa ng kung saan sa programming wika ay ibinigay sa ibaba, dapat malaman ng hindi bababa sa mga pangunahing utos at simulain ng mga SQL wika.

Ang prinsipyo ng paglikha ng isang maraming-sa-maraming

Matagal na pag-akyat ay maaaring mapahiya ang ilan at "ipamalas ang fog", ngunit sa katunayan ang prinsipyo ng pagpapatupad ng komunikasyon ay nananatiling pareho. Upang mag-type ng maraming-sa-maraming mga relasyon ay naipatupad sa kasanayan, hindi lamang sa "Acces", ngunit din ang SQL, kailangan sa una lumikha ng dalawang mga talahanayan base at isa - intermediate. Katulad nito, ito ay may ang susi: ang mga pangunahing likas na katangian ay ang mga pangunahing mga patlang, ang bawat isa ay naitala sa pagli-link table. Na nangangahulugan na ang SQL-maraming-sa-maraming mga relasyon ay hindi sa panimula naiiba mula sa "Acces".

Pagpapatupad ng komunikasyon

Upang ipatupad ang isang maraming-sa-maraming sa isang SQL script gamit ang panlabas na key (FOREIGN KEY) katulad ng orihinal na key sa pangunahing table. Sila ay naitala kasama ang lahat ng field kapag lumilikha at / o pag-edit.

Ang papel na ginagampanan ng isang maraming-sa-maraming

Sa pangkalahatan, ang relasyon sa pagitan ng mga entidad sa database na ginagamit para sa ang integridad ng mga impormasyon na naka-imbak sa mga ito. Tanging ang isang mahusay na dinisenyo database na may lahat ng mga kinakailangang koneksyon nagsisiguro na ligtas na imbakan, ang karanasan ng gumagamit at ito ay isang istraktura na ay lumalaban sa panlabas na impluwensya at mga pagbabago. Karaniwan, kung ang database ay naglalaman ng data sa buong samahan, kumpanya o kumpanya, ito ay naglalaman ng isang hanay ng mga mga entity na may iba't ibang pagkakataon.

Nangangahulugan ito na sa paghahanda ng mga scheme ( "Acces") o pagsusulat ng script (sa "Oracle" o "DiBiTu") ay naroroon sa hindi bababa sa isang maraming-sa-maraming. Halimbawa SQl, ay madalas na ginagamit sa mga kurso sa pagsasanay ng "Database Organization" - DB Hari.

Base ng data Hari

Ang database ng pagsasanay ay impormasyon tungkol Hari korporasyon. Kabilang sa mga talahanayan:

  • mga empleyado ng kumpanya - ay naglalaman ng mga empleyado ID, apelyido, unang pangalan at gitnang inisyal (pagtutok sa mga banyagang mga pangalan), din code para sa boss at ang employee na sinasakop ang posisyon, petsa ng admission sa mga kumpanya sa pagtanggap ng kanilang suweldo at komisyon na ibinigay, department code;
  • kagawaran ng mga korporasyon - sa gitna ng patlang ng talahanayan kung ang code at ang pangalan ng departamento, pati na rin ang code ng lokasyon nito;
  • kagawaran ng placement, na kung saan ay nagsasangkot ng pagpasok ng impormasyon sa mga code ng placement at ang magiging pangalan ng bayan;
  • posisyon sa kumpanya - isang maliit na table na may dalawang mga patlang post ng code at ang kanyang opisyal na pangalan;
  • firms-mamimili - mga patlang: ang code at ang pangalan ng bumibili, address, lungsod, estado, zip code at area code, numero ng telepono, service manager ng customer code, ang credit para sa mga mamimili at mga komento (mga komento at mga tala);
  • sale kasunduan, na naglalaman ng code at ang petsa ng kontrata, ang mga bumibili code, petsa ng paghahatid at ang kabuuang halaga ng kontrata;
  • Mga Gawa ng mga benta - ang pagkilos ng ang code at ang code ng mga kontrata, kung saan kabilang ang kilos, produkto code, presyo nito, dami binili at ang kabuuang halaga ng pagbili;
  • Ang mga kalakal - ang code pangalan ng produkto;
  • presyo - ang code ng produkto, inihayag niya ang presyo, ang pinakamababang posibleng presyo, petsa ng pagtatatag at ang petsa ng presyo pagkansela.

Maliit na mesa magagamit kung saan hindi hihigit sa dalawa o tatlong mga patlang na nauugnay na may hanggang sa isang table ng isang isa-sa-isa o isa-sa-marami.

Scale parehong talahanayan, tulad ng "mga empleyado ng kumpanya", "kumpanya-consumer", "benta na kasunduan" at "mga gawa ng mga benta" ay nauugnay sa ilang mga nilalang, na may ilang - sa tulong ng "tagapamagitan" maraming-sa-maraming relasyon. Table "na mamimili ng kumpanya" ay mismo isang tagapamagitan, sa gayon, sapagkat ito ay maraming sa parang, na kinunan mula sa iba pang mga talahanayan at isang banyagang key. Sa karagdagan, ang laki at ang ugnayan sa database "Hari Corporation" ay na ang lahat ng mga relasyon ay inextricably naka-sang-ayon sa bawat isa at makakaapekto sa isa't isa. Ang pagkawasak ng hindi bababa sa isa sa mga ito ay hahantong sa pagkasira ng ang integridad ng buong database.

mahalagang nuances

Kapag pagpapatupad ng isang maraming-sa-maraming, hindi alintana kung aling database management system ay ginagamit, ito ay mahalaga upang matukoy ang tamang mga pindutan na kung saan ay iguguhit up na saloobin. Hindi tamang naipatupad ang koneksyon ay hindi matupad ang kanyang pangunahing layunin - lalo, upang matiyak ang integridad ng mga mesa, at bilang isang resulta, sa halip na ang inaasahang ginhawa, ang gumagamit ay makakatanggap ng, sa kabilang banda, ang abala at mga karagdagang problema, lalo na maliwanag sa panahon ng pagpuno ng pag-edit talahanayan at ang kanilang data.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 tl.unansea.com. Theme powered by WordPress.