CalculatoareBaze de date

Un multi-la-mulți: Un exemplu în Access, în SQL. Cum sa faci o mai multe-multe-la-?

Toate SGBD (sistem de management al bazei de date) , există mai multe tipuri de relații între tabele. Printre ei unu-la-unu, unu-la-mulți, mulți-la-unu (unii sunt înclinați să identifice aceste două tipuri într-o singură) și mulți-la-mulți. Un exemplu de acesta din urmă, și o explicație a aplicării sale în diferite baze de date, cum ar fi Access sau SQL, vor fi discutate în acest articol.

definiție

Mulți la mai mulți relație este definit ca un meci cu oricare dintre copiile unuia dintre esențele toate celelalte cazuri. Cu alte cuvinte, fiecare domeniu al primului tabel (a doua), asociat cu toate domeniile de-al doilea (primul).

Această schemă reflectă în mod clar esența acestei relații.

Atunci când un multi-la-mai multe relații pot fi folosite?

Un exemplu de multe-la-multe - un grup de studenți și un grup de profesori. Fiecare elev învață dintr-o dată în câțiva profesori, care, la rândul lor, susțin cursuri mai mulți studenți. In imagine arată diferența dintre un unu-la-multe și mulți-la-mulți.

Mulți-la-multe relație este adesea necesară în pregătirea bazelor de date pe scară largă, mici exemple ilustrative utilizate în mod obișnuit, numai în scopuri educaționale, în realitate, în practică se dovedește că mai multe entități în baza de date și mai multe relații între ele - cu atât mai mult probabilitatea de a recurge frecvent la multi-la-mulți.

Cum sa faci o mai multe-multe-la-?

Exemple de relația în cauză vor fi adăugate în continuare în cursul articolului, dar este important nu numai să înțeleagă ce este, dar, de asemenea cum să-l pună în aplicare. Detaliile acestui proces depinde în mod direct pe baza de date selectată pentru lucrarea, în timp ce principiul rămâne același pentru toți.

Microsoft Access

Software-ul Office de la „Microsoft“ este cunoscut în piața de software pentru un timp destul de lung. Acesta este dotat cu un editor de text Worfd, Excel procesor tabelare și cealaltă aparținând liniei de „biroul“. O puteți accesa (citi ca „acces“, traducerea literală - „acces“) pentru a achiziționa și separat „colegii“ săi. Este recomandat să cumpere, desigur, software licențiat, dar nu este un secret cât de mult reambalat piratate pot fi găsite în marea web, sub formă de fișiere regulate, sau torrents mâini. „Microsoft Acces“ este disponibil chiar și într-un ansamblu portabil. Ea nu are nevoie de instalare, precum și orice aptitudini speciale pentru a lucra cu un PC, acesta este cel mai potrivit pentru selectarea dacă software-ul nu va fi utilizat de durată lungă și de multe ori.

Din context, este clar că „Microsoft Acces“ - un sistem de management al bazelor de date. Și una dintre cele mai populare. Este relațională, ceea ce înseamnă că se bazează pe logică modelul de date, care este în cursul activității sale se referă la teoria mulțimilor și logica de prim ordin. Mulți-la-multe, adică în Access (exemple vor fi prezentate în explicația) se realizează foarte, foarte simplu. Consideră-l.

Există două tabele ..

Pentru a nu inventa nimic nou, să ia deja menționat pentru a explica exemplu, multe-la-multe despre studenți. Trebuie să creați un tabel „Studenții“ și masa „profesori.“ Atât prima și a doua dintre acestea sunt chei primare. necesită, de asemenea, o altă masă, ce câmpuri pentru combinarea instanțe ale celor două entități - cheile prima și a doua tabele.

Dacă luăm în considerare un alt exemplu: să spunem, jucătorii și echipa (având în vedere faptul că cel puțin unul dintre jucătorii care joacă pentru echipe diferite, și fiecare echipă este compusă din unsprezece jucători), construiesc o conexiune nu se va schimba. Ei vor avea nevoie, de asemenea, trei mese. Dintre acestea, „Fotbal“ și „Team“ ca principal și unul intermediar.

schema de date

Relațiile între tabele din baza de date „Microsoft Acces“, implementat folosind tab-ul „Scheme de date“. Panoul de afișare se adaugă la toate entitățile (în acest caz, toate cele trei tabele). Crearea unei unu-la-mai multe relații multe-la-mulți vor folosi cele două relații, între principalul ( „Studenții“ și „Profesori“) și masa de așteptare. Pentru a face acest lucru, trebuie să interconecta cheile primare respective.

Imaginea de mai sus arată modul în care „circuitul de date“ tab-ul (Relathionships). Numărul de adăugat la placa de masă pe termen nelimitat. Locul de amplasare este complet ajustabil de către utilizator.

SQL

Design baze de date SQL - sarcină mai greu decât să „Acces“. Dacă produsul maykrosoftovskih este adaptat la mediul de birou, are o foarte mare și, cu fiecare lansare și să actualizeze toate funcționalitățile extensibile, dar în același timp convenabil pentru simplu interfața cu utilizatorul, SQL - este un limbaj separat de programare non-procedurală, cu care pe platforme diferite puteți lucra cu baze de date. Software-ul bine-cunoscut pentru această sarcină: Oracle MySQL și DB2 (un popular, dar nu singurul de acest gen). În ciuda faptului că fiecare dintre ele are subtilitățile și nuanțele sale, limbajul SQL este lor „unită“. Învățând să lucreze cu cel puțin una dintre ele, pentru a face față cu ceilalți vor fi mult mai ușor.

Creați, completați și acțiuni directe asupra bazei de date existente în SQL nevoie printr-un cod special sau script-uri. Cu toate acestea, cei care l-au făcut deja la secțiunea „mulți-la-mulți“, un exemplu de care, în acest limbaj de programare este prezentată mai jos, trebuie să cunoască cel puțin comenzile de bază și principiile limbajului SQL.

Principiul de a crea un multi-la-mulți

Aderarea prelungită și-ar putea stânjeni unele „elibera ceață“, dar, de fapt, principiul punerii în aplicare a comunicării rămâne aceeași. Pentru a introduce o relație mulți-la-mulți a fost pus în aplicare în practică, nu numai în „Acces“, dar, de asemenea, SQL, trebuie să creați inițial două tabele de bază și una - intermediare. În mod similar, este cu cheia: natura de bază sunt principalele domenii, fiecare dintre acestea fiind înregistrate în tabelul de legătură. Ceea ce înseamnă că relațiile-SQL multi-la-mulți nu sunt fundamental diferite de „Acces“.

Punerea în aplicare a comunicării

Pentru a pune în aplicare un multi-la-mai multe într-un script SQL folosind chei externe (cheie externă), similare cu cheia originală în tabelul principal. Ei au înregistrat împreună cu toate câmpurile pentru crearea și / sau de editare.

Rolul unui multe multe-la-

În general, relația dintre entitățile din baza de date utilizată pentru integritatea informațiilor stocate în ele. Doar o bază de date bine conceput, cu toate conexiunile necesare asigură depozitarea în condiții de siguranță, experiența utilizatorului și este o structură care este rezistent la influențe externe și modificări. De obicei, în cazul în care baza de date conține date despre întreaga organizație, compania sau firma, conține un set de entități cu diferite instanțe.

Acest lucru înseamnă că, în prepararea acestor scheme ( „Acces“) sau scrierea de scripturi (în „Oracle“ sau „DiBiTu“) va fi prezent cel puțin un multi-la-mulți. Exemplul SQL, este adesea utilizat în curs de formare „Organizația Baza de date“ - DB King.

Baza de date King

Baza de date de instruire este informații despre regele Corporation. Printre tabelele:

  • angajații companiei - conține ID-ul angajatului, numele, prenumele și inițiala (se concentreze pe nume străine), de asemenea, codul pentru șeful și angajatul a ocupat poziția, data admiterii la firmele care primesc salariul și comisionul prevăzut, codul de departament;
  • departamente ale corporațiilor - printre domeniile din tabel au codul și numele departamentului, precum și codul locației sale;
  • Departamentele de plasament, care implică introducerea de informații cu privire la plasarea de cod și numele orașului;
  • poziție în cadrul companiei - o masă mică, cu două câmpuri codul poștal și numele său oficial;
  • firmele de cumpărători - domenii: codul și numele cumpărătorului, adresa, orașul, statul, codul poștal și prefixul, numărul de telefon, managerul de servicii al codului de client, creditul pentru cumpărător și comentarii (comentarii și note);
  • acorduri de vânzare, care conțin codul și data contractului, codul cumpărătorului, data de livrare și valoarea totală a contractului;
  • Actele de vânzare - actul de cod și codul contractului, care include actul, codul produsului, prețul acestuia, cantitatea achiziționată și costul total de achiziție;
  • Mărfurile - numele de cod al produsului;
  • preț - codul produsului, a anunțat să-l prețul, cel mai mic preț posibil, data de stabilire și data prețului de anulare.

Masuta disponibil în care nu mai mult de două sau trei domenii asociate cu până la o masă dintr-un unu-la-unu sau unu-la-mulți.

Scale aceeași masă, cum ar fi „angajați ai companiei“, „societate-consumatori“, „acorduri de vânzare“ și „acte de vânzare“ sunt asociate cu mai multe entități, cu unele - cu ajutorul „intermediari“ multi-la-multe relații. Tabelul „cumpărători ai companiei“ este ea însăși un intermediar, ca atare, deoarece are multe din domeniu, preluate din alte tabele și o cheie externă. În plus, amploarea și baza de date relație „Regele Corporation“ este că toate relațiile sunt indisolubil corelate între ele și afectează unul pe altul. Distrugerea a cel puțin una dintre ele va duce la distrugerea integrității întregii baze de date.

nuanțe importante

La implementarea unui multi-la-mulți, indiferent de sistemul de management al bazei de date este folosit, este important să se determine cheile corecte cu care vor fi elaborate atitudine. pus în aplicare în mod incorect conexiunea nu își îndeplinește scopul său principal - și anume, pentru a asigura integritatea mesei, și, ca rezultat, în loc de confortul așteptat, utilizatorul va primi, pe de altă parte, inconveniente și probleme suplimentare, evident mai ales în timpul umplerii tabelelor de editare și a datelor lor.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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