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ā.
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.
Пример связи многие-ко-многим - это студенческая 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.
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”.
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.
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.
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.
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.
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ā.
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 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.
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.
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.
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.
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.
Šajā datu bāzes paraugā ir informācija par King Corporation. Starp tabulām:
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.
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.
Ī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.