/ / Santykiai tarp daugelio: pavyzdys programoje „Access“, SQL. Kaip užmegzti santykius tarp daugelio?

Santykiai tarp daugelio: pavyzdys programoje „Access“, SQL. Kaip užmegzti santykius tarp daugelio?

Visose DBVS (duomenų bazių valdymo sistemose)Yra keletas tipų ryšių tarp lentelių tipų. Tarp jų yra santykiai vienas su kitu, vienas su daugeliu, vienas su kitu (kai kurie linkę įvardyti šiuos du tipus į vieną) ir santykiai vienas su kitu. Pastarojo pavyzdys, jo paaiškinimas ir pritaikymas įvairiose DBVS, tokiose kaip „Access“ ar SQL, bus nagrinėjami šiame straipsnyje.

Apibrėžimas

Santykis nuo daugelio iki daugelio yra apibūdinamas kaipkorespondencija su bet kurios iš egzempliorių viena iš kitų instancijų visomis instancijomis. Kitaip tariant, kiekvienas laukas iš pirmosios (antrosios) lentelės yra susietas su visais laukais iš antrosios (pirmosios).

Pateikta schema aiškiai atspindi šių santykių esmę.

daugelio ryšys su daugeliu pavyzdžių

Kada galima naudoti santykius tarp daugelio?

Santykių „daugeliui daugeliui“ pavyzdys yra studentasgrupė ir mokytojų grupė. Kiekvienas studentas studijuoja kartu su keliais profesoriais, kurie savo ruožtu skaito paskaitą keliems studentams. Paveikslėlyje parodytas skirtumas tarp santykių „vienas prieš daug“ ir „daugeliui į daugelį“.

kaip užmegzti santykius „daugeliui į daugelį“

Kai reikia, reikia bendrauti daugeliui daugeliuirengiant didelės apimties duomenų bazes, maži iliustraciniai pavyzdžiai paprastai naudojami tik švietimo tikslais, tačiau realioje praktikoje paaiškėja, kad kuo daugiau duomenų bazėje esančių subjektų ir kuo daugiau jų tarpusavio ryšių, tuo didesnė tikimybė dažnai nurodyti santykį „daugeliui į daugelį“.

Kaip užmegzti santykius „visi daugeliui“?

Aptariamų santykių pavyzdžiai vis tiek buspridėta straipsnio eigoje, tačiau svarbu ne tik suprasti, kas tai yra, bet ir kaip tai įgyvendinti. Šio proceso detalės tiesiogiai priklauso nuo pasirinktos darbui DBVS, o principas visiems išlieka tas pats.

„Microsoft Access“

„Microsoft“ biuro programinės įrangos produktasprograminės įrangos rinkoje buvo žinomas jau gana seniai. Jis pateikiamas su „Worfd“ teksto redaktoriumi, „Excel“ skaičiuoklių procesoriumi ir kitais „biuro“ eilutėje. Prieigą (skaityti kaip „prieigą“, pažodinį vertimą - „prieigą“) galima įsigyti atskirai nuo „kolegų“. Rekomenduojama įsigyti, žinoma, licencijuotą programinę įrangą, tačiau niekam ne paslaptis, kiek piratinių pakuočių galima rasti internete, įprastų failų ar torrentų platinimų pavidalu. „Microsoft Access“ galima įsigyti net nešiojamoje versijoje. Ji, kuriai nereikia diegimo ir specialių įgūdžių dirbant su asmeniniu kompiuteriu, geriausiai tinka rinktis, jei programinė įranga nebus naudojama ilgai ir dažnai.

daugelio daugeliui santykių sql pavyzdys

Iš konteksto aišku, kad „Microsoft Access“ yraduomenų bazių valdymo sistema. Ir vienas populiariausių. Tai yra reliacinis, o tai reiškia, kad jis pagrįstas loginiu duomenų modeliu, kuris savo darbe nurodo aibių teoriją ir pirmos eilės logiką. „Access to many-to-many“ komunikacija (pavyzdžiai bus pateikti paaiškinimo metu) yra labai, labai paprasta įgyvendinti. Pamąstyk apie tai.

Yra dvi lentelės ..

Kad nesugalvotume nieko naujo, imkime jaupateiktas siekiant išsiaiškinti santykį „visi daugeliui“, pavyzdys apie studentų grupę. Jums reikia sukurti lentelę „Studentai“ ir lentelę „Mokytojai“. Pirmasis ir antrasis turi pagrindinius raktus. Norėdami sujungti šių dviejų objektų egzempliorius, taip pat reikalinga kita lentelė, kurios laukai yra pirmosios ir antrosios lentelių raktai.

Atsižvelgiant į kitą pavyzdį: Pavyzdžiui, žaidėjai ir komandos (atsižvelgiant į tai, kad bent vienas iš žaidėjų žaidė skirtingose ​​komandose, o kiekvienoje komandoje yra vienuolika žaidėjų), ryšio užmezgimo esmė nepasikeis. Taip pat reikės trijų stalų. Iš jų „futbolininkai“ ir „komandos“ kaip pagrindiniai ir vienas tarpinis.

Duomenų schema

Ryšiai tarp „Microsoft Access DBMS“ lenteliųyra įgyvendinami naudojant skirtuką Duomenų schema. Visi reikalingi subjektai (mūsų atveju visos trys lentelės) pridedami prie pasirodančio skydo. Ryšiai „visi daugeliui“ bus sukurti naudojant du santykius „vienas su daugeliu“ tarp pagrindinio („Studentai“ ir „Mokytojai“) ir tarpinės lentelės. Norėdami tai padaryti, atitinkami pirminiai raktai turi būti susieti.

ryšys „daugeliui į daugelį“ prieigos pavyzdžiuose

Aukščiau pateiktoje iliustracijoje parodyta, kaip atrodo „Relationionships“ skirtukas. Į skydelį įtrauktų lentelių skaičius neribojamas. Vieta yra visiškai pritaikoma vartotojui.

SQL

Sukurti SQL duomenų bazes yra iššūkissunkiau nei „Prieiga“. Jei „Microsoft“ produktas yra visiškai pritaikytas biuro aplinkai, turi didžiulį ir su kiekvienu leidimu bei atnaujinimu visą išplėstinį funkcionalumą, bet tuo pačiu ir paprastam vartotojui patogią sąsają, tai SQL yra atskira neprocedūrinė programavimo kalba, kurios pagalba skirtingose ​​platformose galite dirbti su duomenų bazėmis. Šiai užduočiai žinoma programinė įranga: „Oracle MySQL“ ir „DB2“ (populiari, bet ne unikali). Nepaisant to, kad kiekvienas iš jų turi savo subtilybių ir niuansų, SQL kalba juos „suvienija“. Išmokęs dirbti bent su vienu iš jų, bus daug lengviau susitvarkyti su kitu.

Kūrimas, užpildymas ir tiesioginiai veiksmaiper esamą duomenų bazę SQL jums reikia naudojant specialius kodus ar scenarijus. Tačiau tie, kurie jau pateko į skyrių „Daugelis į daugelį“, kurio pavyzdys šioje programavimo kalboje bus pateiktas žemiau, turėtų žinoti bent jau pagrindines SQL kalbos naudojimo komandas ir principus.

Kiek daug susikurta santykių

Ilgas įvadas gali būti šiek tiek painus ir„užtemdyti“, bet iš tikrųjų ryšio įgyvendinimo principas išlieka tas pats. Norint, kad daugelio daugeliui santykių tipas būtų praktiškai įgyvendinamas ne tik „Access“, bet ir SQL, iš pradžių reikia sukurti dvi pagrindines lenteles ir vieną tarpinę. Panaši situacija yra ir su raktais: pagrindiniai subjektai turi pagrindinius laukus, kurie kiekvienas įrašomas jungties lentelėje. Tai reiškia, kad SQL ryšys „daugeliui į daugelį“ iš esmės nesiskiria nuo „Prieigos“.

daugelio į daugelį santykių pavyzdžių

Komunikacijos įgyvendinimas

Įdiegti scenarijų „daugeliui daugeliui“ bendravimąSQL naudoja UŽSIENIO RAKTĄ, panašų į pagrindinių lentelių šaltinio raktus. Sukūrus ir (arba) redagavus, jie įrašomi kartu su visais laukais.

Bendravimo daugeliui daugelio vaidmuo

Paprastai ryšiai tarp subjektų duomenų bazėsenaudojama juose saugomos informacijos vientisumui. Tik gerai suprojektuota duomenų bazė su visomis būtinomis jungtimis garantuoja saugą saugai, paprastą naudojimą ir yra struktūra, atspari išorės poveikiui ir pokyčiams. Paprastai, jei duomenų bazėje yra duomenų apie visą organizaciją, įmonę ar įmonę, joje yra daugybė subjektų su skirtingais atvejais.

sql daugeliui-daugeliui santykiu

Tai reiškia, kad rengiant duomenų schemą (in„Prieiga“) arba scenarijaus („Oracle“ arba „DiBiTu“) ryšys bus bent vienas iš daugelio į daugelį. Duomenų bazės organizavimo kurse dažnai naudojamas SQl pavyzdys yra King's Database.

Kingo duomenų bazė

Ši pavyzdinė duomenų bazė pateikia informaciją apie „King Corporation“. Tarp lentelių:

  • įmonės darbuotojai - yra kodasdarbuotojas, jo pavardė, vardas ir vidurinis inicialas (sutelkiant dėmesį į užsienio vardus), taip pat vadovo kodas ir darbuotojo užimamos pareigos, jo priėmimo į įmonę data, gaunamas darbo užmokestis ir numatyta komisija, skyriaus kodas;
  • įmonių padaliniai - tarp lentelės laukų yra skyriaus kodas ir skyriaus pavadinimas, taip pat jo vietos kodas;
  • skyrių vieta, kuri apima informacijos apie vietos kodą ir miesto pavadinimą įvedimą;
  • pareigos įmonėje - maža lentelė su dviem pozicijos kodo laukais ir oficialiu jos pavadinimu;
  • pirkimo firmos - laukai: kliento kodas ir vardas, adresas, miestas ir valstybė, pašto ir vietovės kodas, telefonas, klientų aptarnavimo vadybininko kodas, klientų kreditas ir komentarai (pastabos ir pastabos);
  • pirkimo – pardavimo sutartys, kuriose nurodomas sutarties kodas ir data, pirkėjo kodas, pristatymo data ir bendra sutarties suma;
  • pardavimo sertifikatai - akto kodas ir sutarties kodas, į kurį įeina aktas, produkto kodas, jo kaina, nupirktas kiekis ir bendra pirkimo kaina;
  • prekės - prekės kodas ir pavadinimas;
  • kainos - prekės kodas, paskelbta kaina, minimali galima kaina, nustatymo data ir kainos atšaukimo data.

Mažos lentelės, kuriose yra ne daugiau kaip du ar trys laukai, yra susietos su daugiausiai viena lentele santykyje „vienas su vienu“ arba „vienas su daugeliu“.

santykių tipas „daugeliui į daugelį“

Mastelių lentelės, pvz., „Darbuotojai“firmos ",„ perkančios firmos ",„ pardavimo sutartys "ir„ pardavimo aktai "yra siejamos su keliais subjektais vienu metu, o su kai kuriais - pasitelkus„ tarpininkus "- daugeliui santykių. Lentelė„ firmos ir pirkėjai "pati yra tarpininkė , todėl, kad jame yra daug laukų, pasiskolintų iš kitų lentelių, ir yra svetimi raktai. Be to, „King's Corporation“ duomenų bazės mastas ir tarpusavio ryšys yra tokie, kad visi santykiai yra neatskiriamai susiję tarpusavyje ir veikia vienas kitą. vienas iš jų sunaikins visos duomenų bazės vientisumą.

Svarbūs niuansai

Įgyvendinant santykius „daugeliui į daugelį“, išorėjeatsižvelgiant į tai, kuri DBVS naudojama, labai svarbu teisingai nustatyti raktus, su kuriais bus sudarytas ryšys. Neteisingai įdiegtas ryšys neatliks pagrindinio tikslo, būtent užtikrinti lentelės vientisumą, todėl vietoj laukiamo patogumo vartotojas, priešingai, gaus nepatogumų ir papildomų problemų, ypač pildydamas lenteles ir taisydamas jose esančius duomenis.

Patinka:
0
Populiarios žinutės
Dvasinė raida
Maistas
yup