PočítačeDatabázy

Many-to-many: An Napríklad v programe Access, v SQL. Ako vyrobiť many-to-many?

Všetky DBMS (systém pre správu databáz) , existuje niekoľko typov vzťahov medzi tabuľkami. Medzi nimi jeden na jedného, jeden-k-mnohých, mnoho-to-one (niektoré sú naklonené na identifikáciu týchto dvoch typov do jednej) a mnoho-k-mnohých. Príkladom druhej, a vysvetlenie ich aplikácie v rôznych databázach, ako je Access alebo SQL, bude prerokovaný v tomto článku.

definícia

Many-to-many vzťah je definovaná ako zhoda na niektorú z kópií jedného z esencií všetkých ostatných prípadoch. Inými slovami, každé pole prvého (druhého) tabuľke, ktorá súvisí s všetkých oblastiach sekundu (prvý).

Táto schéma jasne odráža podstatu tohto vzťahu.

Keď je many-to-many vzťahy môžu byť použité?

Príkladom many-to-many - skupina študentov a skupinou učiteľov. Každý študent učí naraz v niekoľkých profesorov, ktorí na oplátku prednášať niekoľko študentov. Na obrázku ukazuje rozdiel medzi jedno-to-many a many-to-many.

Many-to-many vzťah je často nutné pri príprave rozsiahlych databázach, malých ilustratívnych príkladov, ktoré sa zvyčajne používajú len na vzdelávacie účely, v skutočnosti, v praxi sa ukázalo, že čím viac subjektmi v databáze a ďalšie vzťahy medzi nimi - tým viac sa pravdepodobnosť časté podpory k many-to-many.

Ako vyrobiť many-to-many?

Príkladom vzťahu v pochybnosť bude stále byť pridané v priebehu článku, ale je dôležité nielen pochopiť, čo to je, ale aj to, ako to urobiť. Podrobnosti tohto procesu je priamo závislá na databázu vybrané pre túto prácu, zatiaľ čo princíp zostáva rovnaký pre všetkých.

Microsoft Access

Kancelársky softvér z "Microsoft" je známa na trhu softvéru pre pomerne dlhú dobu. Dodáva sa s textovým editorom Worfd, Excel tabuľkové procesory a ďalšie patriaci do radu "úrad". Môžete prístup (čítať ako "prístup", doslovný preklad - "access") na nákup a oddelene od jeho "kolegovia". Odporúča sa kupovať, samozrejme, licencovaný softvér, ale nie je žiadnym tajomstvom, koľko pirátsky prebaliť možno nájsť v obrovskej pásu, vo forme bežných súborov alebo torrentov rúk. "Microsoft Acces" je dostupný aj v prenosnej zostavy. Nevyžaduje inštaláciu a žiadne špeciálne zručnosti pre prácu s počítačom, je to najvhodnejšie pre výber v prípade, že softvér nebude použité dlhodobý a často.

Z kontextu je zrejmé, že "Microsoft Acces" - čo je systém pre správu databáz. A jeden z najobľúbenejších. Je relačné, čo znamená, že je založený na logickom dátového modelu, ktorý je v priebehu jeho práce sa týka teórie množín a logiky prvého rádu. Many-to-many vzťahy v Access (príklady budú uvedené v vysvetlenie) je realizovaná veľmi, veľmi jednoduché. Zoberme si to.

Existujú dva stoly ..

Aby nedošlo k vymýšľať nič nové, vziať už spomínaný vysvetliť mnoho-to-many príklad o študentov. Musíte vytvoriť tabuľku "študenti" a tabuľka "učitelia". Ako prvý a druhý z nich sú primárne kľúče. tiež vyžaduje ďalšiu tabuľku, ktorá pole pre kombinovanie inštancií dvoch entít - kľúče od prvých a druhých tabuliek.

Ak vezmeme do úvahy iný príklad: povedzme, že hráči a tím (vzhľadom na to, že aspoň jeden z hráčov hrajúcich pre rôzne tímy a každý tím je zložený z jedenástich hráčov), budujú spojenie sa nezmení. Budú tiež potrebovať tri tabuľky. Z nich, "futbal" a "Team" ako hlavný a jedno vložené.

režim dát

Vzťahy medzi tabuľkami v databáze "Microsoft Acces" implementovaný pomocou karty "Scheme Data". Na displeji sa pridá do všetkých subjektov (v tomto prípade, všetky tri stoly). Vytvoriť mnoho-to-many bude pomocou dvoch vzťahov, one-to-many vzťahy medzi istiny ( "študenti" a "učiteľa") a podľa tabuľky staging. K tomu je potrebné prepojiť príslušné primárne kľúče.

Na obrázku hore ukazuje, ako "okruh dáta" karta (Relathionships). Počet pridá do stolovej dosky do nekonečna. Lokalita je plne nastaviteľný užívateľom.

SQL

Návrh databázy na SQL - ťažšia úloha, než aby "Acces". Ak je maykrosoftovskih produkt plne prispôsobený kancelárskeho prostredia, je obrovský a, s každou verziou a aktualizovať všetky rozšíriteľné funkcie, ale zároveň pohodlné pre jednoduché užívateľské rozhranie, SQL - to je samostatná non-procedurálne programovací jazyk, s ktorým na rôznych platformách môžete pracovať s databázami. Známy softvér pre túto úlohu: Oracle MySQL a DB2 (a populárne, ale nie je jediný svojho druhu). Napriek skutočnosti, že každá z nich má svoje nuansy a nuansy, SQL jazyk je ich "zjednotená". Učenie pre prácu s aspoň jedným z nich, jednať s ostatnými bude oveľa jednoduchšie.

Vytvorte, vyplňte a priame akcie na existujúcej databázy SQL potreba pomocou špeciálneho kódu alebo skriptov. Avšak tí, ktorí sa už dostala do sekcie "many-to-many", príkladom, ktorý v tomto programovacom jazyku je uvedené nižšie, musí poznať aspoň základné príkazy a princípy jazyka SQL.

Princíp vytváranie mnoho-to-many

Predĺžené pristúpenie by mohlo uviesť do rozpakov niektoré i "rozpútať hmlu", ale v skutočnosti princíp realizácie komunikácie zostáva rovnaká. Ak chcete zadať mnoho-to-many vzťah bol realizovaný v praxi, a to nielen v "Acces", ale tiež SQL, treba najprv vytvoriť dve základné tabuľky a jeden - intermediate. Rovnako tak je s kľúčom: základný charakter sú hlavné polia, z ktorých každý je zaznamenané v tabuľke prepojení. Čo znamená, že vzťahy SQL-many-to-many sa v podstate nelíši od "Acces".

implementácia komunikácie

Implementovať many-to-many v SQL skriptu pomocou externých tlačidiel (cudzí kľúč), podobne ako originálneho kľúča v hlavnej tabuľke. Sú pri vytváraní a / alebo úpravy zaznamenajú spolu so všetkými odbormi.

Role of many-to-many

Všeobecne platí, že vzťah medzi týmito subjektmi v databáze použité pre integritu informácií uložených v nich. Iba dobre navrhnutá databáza so všetkými potrebnými pripojenie zaisťuje bezpečné skladovanie, užívateľské prostredie a je štruktúra, ktorá je odolná voči vonkajším vplyvom a zmenám. Zvyčajne, v prípade, že databáza obsahuje údaje o celej organizácie, spoločnosti alebo firmy, obsahuje množstvo subjektov s rôznymi inštanciami.

To znamená, že pri príprave týchto programov ( "Acces") alebo písanie skriptov (v "Oracle" alebo "DiBiTu"), bude prítomný aspoň jeden mnohých k viac. Príklad SQL, je často používaný v výcvikového kurzu "Database organizácie" - DB kráľ.

Základom kráľa dát

Databáza školenia je informácia o King Corporation. Medzi tabuľkách:

  • Pracovníci spoločnosti - obsahuje ID zamestnanca, priezvisko, krstné meno a iniciálka (zameranie na cudzie mená), tiež kód pre šéfa a zamestnanec obsadenú pozíciu, dátum prijatia do firiem, ktoré dostali ich plat a províziu za predpokladu, oddelenie kódu;
  • oddelenie korporácií - medzi poľami v tabuľke majú kód a názov oddelenia, rovnako ako kód jej umiestnenie;
  • umiestnenia oddelenie, ktoré zahŕňa zadanie informácií o umiestnení kódu a názvu mesta;
  • postavenie v spoločnosti - malý stolík s dvoma poľami poštové smerovacie číslo a jeho oficiálne meno;
  • Firmy-odberatelia - polia: kód a meno kupujúceho, adresu, mesto, štát, poštové smerovacie číslo a predčíslie, telefónne číslo, manažér služieb kódu zákazníka, úverové pre kupujúceho a pripomienky (pripomienok a poznámok);
  • predaj dohody, ktoré obsahujú kód a dátum zmluvy, kupujúci kód, dátum dodania a celkový objem zákazky;
  • Akty predajov - akt kódu a kód zákazky, ktorá zahŕňa akt, kód produktu, jeho cena, množstvo nakúpených a celkové náklady na obstaranie;
  • Tovar - kódové označenie výrobku;
  • cena - kód produktu, oznámil mu cenu, čo je najnižšiu možnú cenu, dátum vzniku a dátum zrušenia cenu.

Stolík k dispozícii v ktorých nie viac ako dva alebo tri polia spojené až s tabuľkou one-to-one alebo jedna ku mnohých.

Stupnica rovnaká tabuľka, ako je napríklad "zamestnanci spoločnosti", "firemných zákazníkov", "predaj dohôd" a "činy predaja" sú spojené s niekoľkými osobami, s niektorými - s pomocou "sprostredkovateľov" many-to-many vzťah. Tabuľka "kupujúci spoločnosti" je sám sprostredkovateľ, ako taký, pretože má mnoho z poľa, prevzaté z iných tabuliek a cudzie kľúče. Okrem toho, váha a databázy vzťah "Kráľ Corporation" je, že všetky vzťahy sú neoddeliteľne korelované so sebou a vzájomne ovplyvňujú. Zničenie aspoň jedného z nich povedie k zničeniu integrity celej databázy.

dôležité nuansy

Pri vykonávaní many-to-many, bez ohľadu na to, akým vedenie databázový systém je použitý, je dôležité určiť správne kľúče, s ktorými budú vypracované postoj. Nesprávne implementovaný spojenie nesplní svoj hlavný účel - totiž, aby bola zaistená integrita tabuľky, a ako výsledok, namiesto očakávaného komfortu, užívateľ dostane, na druhú stranu, nepohodlie a ďalšie problémy, zvlášť viditeľné počas plnenia editáciu tabuliek a ich dát.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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