/ / Daudzu un daudzu attiecības: piemērs piekļuvei SQL. Kā izveidot attiecības starp daudziem?

Attiecības “daudzi pret daudziem”: piemērs programmā Access, SQL. Kā izveidot attiecības starp daudziem pret daudziem?

Visās DBVS (datu bāzes pārvaldības sistēmās)Starp tabulām ir vairāki attiecību veidi. Starp tām ir attiecības viens pret vienu, viens pret daudziem, daudzi viens pret otru (dažiem ir tendence identificēt šos divus veidus vienā) un attiecības starp daudzām. Pēdējā piemērs, tā skaidrojums un piemērošana dažādās DBVS, piemēram, Access vai SQL, tiks apskatīti šajā rakstā.

Definīcija

Attiecības “daudzi pret daudziem” ir definētas kāsaskaņojot jebkuru no vienas entītijas eksemplāriem ar visām citām instancēm. Citiem vārdiem sakot, katrs lauks no pirmās (otrās) tabulas ir saistīts ar visiem laukiem no otrās (pirmās).

Piedāvātā shēma skaidri atspoguļo šo attiecību būtību.

savienojums daudziem ar daudziem piemēriem

Kad var izmantot attiecības starp daudziem?

Пример связи многие-ко-многим - это студенческая grupa un skolotāju grupa. Katrs students mācās no vairākiem profesoriem vienlaikus, kuri, savukārt, lekcijas vairākiem studentiem. Attēlā parādīta atšķirība starp attiecībām viens pret daudziem un no daudzām attiecībām.

kā izveidot attiecības starp daudziem pret daudziem

Kad bieži vien ir nepieciešama saziņa no daudziem līdz daudziemapkopojot liela mēroga datubāzes, mazus ilustratīvus piemērus parasti izmanto tikai izglītības nolūkos, reālajā praksē izrādās, ka jo vairāk entītiju datu bāzē un jo vairāk attiecību starp tām, jo ​​lielāka iespējamība ir bieži atsaukties uz attiecībām “daudzi pret daudziem”.

Kā izveidot attiecības starp daudziem pret daudziem?

Attiecīgo attiecību piemēri joprojām būspievienots raksta gaitā, taču ir svarīgi ne tikai saprast, kas tas ir, bet arī to, kā jūs to varat īstenot. Šī procesa detaļas tieši atkarīgas no darbam izvēlētās DBVS, savukārt princips visiem paliek vienāds.

Microsoft Access

Biroja programmatūras produkts no Microsoftprogrammatūras tirgū ir pazīstama jau diezgan ilgu laiku. Tas nāk ar Worfd teksta redaktoru, Excel izklājlapu procesoru un citiem rindā "birojs". Piekļuvi (lasīt kā "piekļuve", burtiskais tulkojums - "piekļuve") var iegādāties atsevišķi no "kolēģiem". Ieteicams, protams, iegādāties licencētu programmatūru, taču nevienam nav noslēpums, cik daudz pirātisku pārpakojumu var atrast internetā, parasto failu vai torrentu izplatīšanas veidā. Microsoft Access ir pieejams pat pārnēsājamā būvējumā. Viņa, kurai nav nepieciešama instalēšana un īpašas prasmes darbā ar datoru, vislabāk ir izvēlēties, ja programmatūra netiks izmantota ilgu laiku un bieži.

daudzi pret daudziem attiecību sql piemērs

No konteksta ir skaidrs, ka Microsoft Access irdatu bāzes pārvaldības sistēma. Un viens no populārākajiem. Tas ir relāciju raksturs, kas nozīmē, ka tā pamatā ir loģisks datu modelis, kas sava darba laikā attiecas uz kopu teoriju un pirmās kārtas loģiku. Piekļuve “daudzi pret daudziem” (piemēri tiks sniegti paskaidrojuma laikā) ir ļoti, ļoti vienkārši īstenojami. Apsveriet viņu.

Ir divas tabulas ..

Lai neizdomātu neko jaunu, ņemiet jausniegts, lai noskaidrotu attiecības starp daudziem pret daudziem, piemērs ir par studentu sastāvu. Jums jāizveido tabula "Studenti" un tabula "Skolotāji". Gan pirmajam, gan otrajam ir primārās atslēgas. Lai apvienotu šo divu entītiju gadījumus, nepieciešama arī cita tabula, kuras lauki ir pirmās un otrās tabulas taustiņi.

Ja ņemam vērā citu piemēru:Teiksim, spēlētāji un komandas (ņemot vērā, ka vismaz viens no spēlētājiem spēlēja dažādās komandās, un katrā komandā ir vienpadsmit spēlētāji), savienojuma veidošanas būtība nemainīsies. Būs vajadzīgas arī trīs tabulas. No tiem "Futbolisti" un "Komandas" kā galvenie un viens starpnieks.

Datu shēma

Attiecības starp tabulām Microsoft Access DBVStiek ieviesti, izmantojot cilni Datu shēma. Parādītajam panelim tiek pievienotas visas nepieciešamās entītijas (mūsu gadījumā visas trīs tabulas). Attiecības “daudzi pret daudziem” tiks izveidotas, izmantojot divas savstarpējās attiecības starp galvenajām (“Studenti” un “Skolotāji”) un starpgaldu. Lai to izdarītu, atbilstošās primārās atslēgas ir jāsaista kopā.

Piekļuves piemēros attiecības starp daudziem

Iepriekš redzamajā attēlā parādīts, kā izskatās cilne Relations. Panelim pievienoto tabulu skaits ir neierobežots. Atrašanās vieta ir pilnībā pielāgojama lietotājam.

SQL

SQL datu bāzu projektēšana ir izaicinājumsgrūtāk nekā sadaļā "Piekļuve". Ja Microsoft produkts ir pilnībā pielāgots biroja videi, tam ir milzīga un ar katru izlaidumu un atjauninājumu visa paplašināma funkcionalitāte, bet tajā pašā laikā vienkārša lietotāja ērta saskarne, tad SQL ir atsevišķa bezprocedūru programmēšanas valoda, kuru var izmantot dažādās platformās. jūs varat strādāt ar datu bāzēm. Zināma programmatūra šim uzdevumam: Oracle MySQL un DB2 (populāra, bet ne unikāla). Neskatoties uz to, ka katram no tiem ir savi smalkumi un nianses, SQL valoda tos "apvieno". Iemācījies strādāt ar vismaz vienu no viņiem, būs daudz vieglāk tikt galā ar otru.

Izveide, aizpildīšana un tieša darbībapār esošo SQL datu bāzi, kas jums nepieciešama, izmantojot īpašus kodus vai skriptus. Tomēr tiem, kas jau ir nonākuši sadaļā "Daudzas pret daudzām attiecības", kuras piemērs šajā programmēšanas valodā tiks sniegts zemāk, būtu jāzina vismaz SQL komandas pamatkomandas un principi.

Cik tiek izveidotas attiecības

Garš ievads varētu būt nedaudz mulsinošs un"aizsegt", bet faktiski savienojuma ieviešanas princips paliek nemainīgs. Lai praksē ieviestu daudzu līdz daudzu attiecību veidu ne tikai Access, bet arī SQL, sākotnēji ir jāizveido divas bāzes tabulas un viena starpposma tabula. Līdzīgi ir ar atslēgām: galvenajām entītijām ir galvenie lauki, no kuriem katrs ir ierakstīts savienojumu tabulā. Tas nozīmē, ka SQL saikne starp daudziem neatšķiras no piekļuves.

daudzu līdz daudzu attiecību piemēri

Komunikācijas ieviešana

Skriptos ieviest komunikāciju starp daudziemSQL izmanto FOREIGN KEY līdzīgu oriģinālajām atslēgām galvenajās tabulās. Kad tie tiek izveidoti un / vai rediģēti, tie tiek ierakstīti kopā ar visiem laukiem.

Komunikācijas loma daudziem pret daudziem

Parasti attiecības starp entītijām datu bāzēsizmanto tajās glabātās informācijas integritātei. Tikai labi izveidota datu bāze ar visiem nepieciešamajiem savienojumiem garantē uzglabāšanas drošību, ērtu lietošanu un ir struktūra, kas ir izturīga pret ārējām ietekmēm un izmaiņām. Parasti, ja datu bāzē ir dati par visu organizāciju, uzņēmumu vai firmu, tajā ir daudz entītiju ar dažādiem gadījumiem.

sql daudzi pret daudziem attiecības

Tas nozīmē, ka, sastādot datu shēmu ("Piekļuve") vai skriptiem ("Oracle" vai "DiBiTu") būs vismaz viena attiecība no daudziem līdz daudziem. Datu bāzes organizēšanas kursā bieži izmantotais SQl ir King's Database.

Kinga datu bāze

Šajā datu bāzes paraugā ir informācija par King Corporation. Starp tabulām:

  • uzņēmuma darbinieki - satur kodudarbinieks, viņa uzvārds, vārds un vidējais iniciāļi (koncentrējoties uz svešvārdiem), arī priekšnieka kods un darbinieka ieņemamais amats, viņa uzņemšanas datums uzņēmumā, viņa saņemtā alga un noteiktā komisija, nodaļas kods;
  • korporācijas nodaļas - starp tabulas laukiem ir nodaļas kods un nodaļas nosaukums, kā arī tās atrašanās vietas kods;
  • nodaļu atrašanās vieta, kas ietver informācijas ievadīšanu atrašanās vietas kodā un pilsētas nosaukumā;
  • amati uzņēmumā - neliela tabula ar diviem amata koda laukiem un tā oficiālo nosaukumu;
  • pērk firmas - lauki:klienta kods un nosaukums, adrese, pilsēta un štats, pasta un apgabala kods, tālrunis, klientu apkalpošanas vadītāja kods, klienta kredīts un komentāri (piezīmes un piezīmes);
  • pārdošanas līgumi, kas satur līguma kodu un datumu, pircēja kodu, piegādes datumu un kopējo līguma summu;
  • pārdošanas sertifikāti - akta kods un līguma kods, kas ietver aktu, produkta kodu, tā cenu, iegādāto summu un kopējās pirkuma izmaksas;
  • preces - produkta kods un nosaukums;
  • cenas - produkta kods, paziņotā cena, minimālā iespējamā cena, iestatīšanas datums un cenas atcelšanas datums.

Mazas tabulas ar ne vairāk kā diviem vai trim laukiem ir saistītas ar ne vairāk kā vienu tabulu attiecībās viens pret vienu vai viens pret daudziem.

attiecību veids no daudziem līdz daudziem

Mērogot tabulas, piemēram, "darbiniekifirmas "," pirkšanas firmas "," pārdošanas līgumi "un" pārdošanas akti "ir saistīti vienlaikus ar vairākiem subjektiem, un ar dažiem - ar" starpnieku "palīdzību - attiecības starp daudziem pret daudziem. Tabula" firmas un pircēji "pati ir starpniece , kā tāds, jo tajā ir daudz lauku, kas aizgūti no citām tabulām, un tie ir svešie taustiņi. Turklāt King's Corporation datu bāzes mērogs un savstarpējā saistība ir tāda, ka visas attiecības ir nesaraujami savstarpēji saistītas un ietekmē viena otru. viens no tiem novedīs pie visas datu bāzes integritātes iznīcināšanas.

Svarīgas nianses

Īstenojot attiecības starp daudziem, ārpusatkarībā no tā, kura DBVS tiek izmantota, ir ļoti svarīgi pareizi noteikt atslēgas, ar kurām tiks apkopota attiecība. Nepareizi ieviests savienojums nepildīs galveno mērķi, proti, nodrošināt tabulas integritāti, un tā rezultātā gaidītā komforta vietā lietotājs, gluži pretēji, saņems neērtības un papildu problēmas, it īpaši, aizpildot tabulas un rediģējot tajās datus.

Patīk:
0
Populāras ziņas
Garīgā attīstība
Pārtika
yup