Vztahy mezi mnoha typy: příklad v aplikaci Access v SQL. Jak vytvořit vztah mnoho k mnoha?
Ve všech DBMS (systémy pro správu databází)
Obsah
Definice
Vztah mnohokrát k mnoha je definován jako shodný s některým z instancí jedné ze entit všech instancí druhého. Jinými slovy, každé pole z první (druhé) tabulky je přidruženo ke všem polím z druhé (první).
Předložený diagram jasně ukazuje podstatu tohoto vztahu.
Kdy může být použita komunikace mezi mnoha uživateli?
Příkladem vztahu mezi mnoha a mnoha je studentská skupina a skupina učitelů. Každý student se učí od několika profesorů, kteří zase přednášejí několik studentů. Na obrázku je rozdíl mezi jedním a mnoha a mnoha.
Many-to-many vztah je často nutné při přípravě rozsáhlých databázích, malých ilustrativních příkladů, které se obvykle používají pouze pro vzdělávací účely, ve skutečnosti, v praxi se ukázalo, že čím více subjekty v databázi a další vztahy mezi nimi - tím více se pravděpodobnost časté podpory k mnoho-k-mnoho postoj.
Jak vytvořit vztah mnoho k mnoha?
Příklady tohoto vztahu budou přidány v průběhu článku, ale je důležité nejen porozumět tomu, co to je, ale také tomu, jak může být implementováno. Podrobnosti o tomto procesu přímo závisí na databázi vybrané pro práci, zatímco princip zůstává jedním pro všechny.
Microsoft Access
Kancelářský software společnosti Microsoft je na trhu s počítačem již delší dobu znám. Dodává se s textovým editorem Worfd, procesorem tabulkového procesoru Excel a zbytkem linky "office". Je možné přistupovat (čte se jako "přístup", doslovný překlad - "přístup") a dostat se odděleně od "kolegů". Doporučuje se, samozřejmě, koupit licencovaný software, ale pro někoho není tajemstvím, kolik pirátských repacků najdete na webu, a to ve formě pravidelných souborů nebo distribucí torrentů. Aplikace "Microsoft Access" je k dispozici i v přenosné sestavě. To, které nevyžaduje instalaci a speciální dovednosti práce s počítačem, je nejvhodnější pro výběr, pokud software není používán dlouho a často.
Z kontextu je zřejmé, že je "Microsoft Access" systém správy databáze. A jeden z nejoblíbenějších. Je to relační, což znamená, že je založeno na logickém datový model, které se v průběhu své práce týká teorie množin a logiku prvního řádu. Komunikace s mnoha uživateli v přístupu (příklady budou poskytnuty během vysvětlení) je implementována velmi, velmi jednoduše. Zvažte to.
Existují dva tabulky ..
Abychom nemuseli vymyslet něco nového, vezmeme ten, který jsme již zmínili, abychom objasnili vztah mnoho k mnoha, příklad studentského orgánu. Je třeba vytvořit tabulku "Studenti" a tabulku "Učitelé". Stejně jako u prvního a druhého z nich jsou primární klíče. Chcete-li kombinovat instance těchto dvou entit, je třeba ještě jednu tabulku, jejíž políčka jsou klíče první a druhé tabulky.
Pokud budeme zvažovat další příklad: řekněme, hráči a týmy (vzhledem k tomu, že alespoň jeden z hráčů hrál pro různé týmy a každý tým má jedenáct hráčů ve svém složení), podstata konstrukce komunikace se nezmění. Rovněž budou zapotřebí tři tabulky. Z nich jsou "fotbalisté" a "týmy" hlavními a jedním středním.
Schéma dat
Odkazy mezi tabulkami v databázi aplikace Microsoft Access jsou implementovány pomocí karty Schéma dat. Výsledný panel přidá všechny potřebné entity (v tomto případě všechny tři tabulky). Vytvoření vztahů mnoho k mnoha se projeví prostřednictvím dvou vzájemných vztahů mezi hlavními ("Studenti" a "Učitelé") a mezistupně. Chcete-li to provést, musíte připojit odpovídající primární klíče.
Obrázek nahoře ukazuje, jak vypadá karta "Datový schéma" (Relathionships). Počet tabulek přidaných do panelu je neomezený. Umístění je zcela uživatelsky nastavitelné.
SQL
Navrhování databází na SQL - úkol je složitější než na "Access". Je-li maykrosoftovskih produkt plně přizpůsoben kancelářského prostředí, je obrovský a, s každou verzí a aktualizovat všechny rozšiřitelné funkce, ale zároveň pohodlné pro jednoduché uživatelské rozhraní, SQL - to je samostatná non-procedurální programovací jazyk, s nímž na různých platformách můžete pracovat s databázemi. Známý software pro tento úkol: Oracle MySQL a DB2 (a populární, ale není jediný svého druhu). Navzdory skutečnosti, že každá z nich má své nuance a nuance, SQL jazyk je jejich „sjednocená“. Po naučení pracovat s alespoň jedním z nich bude mnohem jednodušší vypořádat se s druhým.
Vytvoření, vyplňování a přímý účinek na existující databázi v SQL je nutné pomocí speciálních kódů nebo skriptů. Ti, kteří již dosáhli úseku Mnoho-k-Mnoho vztahů, jehož příklad v tomto programovacím jazyce budou uvedeny níže, by měli znát alespoň základní příkazy a zásady používání jazyka SQL.
Princip vytváření vztahu mezi mnoha a mnoha
Dlouhý úvod mohl být poněkud trapný a "chytil mlhu", ale ve skutečnosti zůstává princip komunikace stejný. Aby bylo možné v praxi implementovat mnoho-to-mnoho typů komunikace, a to nejen v "Přístupech", ale také v SQL, musíte nejdříve vytvořit dvě základní tabulky a jednu mezistupňovou tabulku. Stejně tak je případ klíčem: hlavní entity mají hlavní pole, z nichž každá je zapsána do tabulky odkazů. Co znamená, že mnoho-to-mnoho SQL-komunikace se zásadně liší od "přístup".
Implementace komunikace
Chcete-li implementovat komunikaci ve více jazycích v skriptech SQL, použijte cizí klíče (FOREIGN KEY) podobné originálním klávesám v hlavních tabulkách. Jsou napsány společně se všemi polí při vytváření a / nebo úpravách.
Role komunikace mezi mnoha
Obecně platí, že vztahy mezi entitami v ČR databází Používají se pro integritu uložených informací. Pouze dobře navržená databáze se všemi potřebnými spojeními zaručuje bezpečnost skladování, pohodlí práce a je strukturou, která je odolná vůči vnějším vlivům a změnám. Obvykle, pokud databáze obsahuje data o celé organizaci, společnosti nebo firmě, obsahuje mnoho entit s různými příklady.
A to znamená, že při sestavování datového schématu (v "Accessory") nebo psaní skriptů (v Oracle nebo DiBiT) bude přítomen alespoň jeden vztah multi-to-many. Příklad SQl, často používaný při výuce kurzu "Organizace databáze" - DB King.
Kingova databáze
Tato vzdělávací databáze je informace o společnosti King`s Corporation. Mezi tabulkami:
- Pracovníci společnosti - obsahuje ID zaměstnance, příjmení, křestní jméno a iniciála (zaměření na cizí jména), také kód pro šéfa a zaměstnanec obsazenou pozici, datum přijetí do firem, které obdržely jejich plat a provizi za předpokladu, oddělení kódu;
- oddělení společnosti - mezi pole tabulky je kód a název oddělení, stejně jako kód jeho umístění;
- Umístění oddělení, které zahrnuje zadání informací o kódu umístění a názvu města;
- pozice ve firmě - malý stůl se dvěma polimi pracovního kódu a jeho oficiálním jménem;
- kupující společnosti - pole: kupujícího kód a jméno, adresa, město a stát, PSČ a oblastní kód, telefonní číslo, kód manažera zákaznického servisu, úvěr kupujícího a poznámky (poznámky a poznámky);
- kupní smlouvy obsahující kód a datum uzavření smlouvy, kód kupujícího, datum dodání a celkovou částku smlouvy;
- zákony o prodeji - kód zákona a kód smlouvy, který obsahuje zákon, kód produktu, jeho cenu, zakoupenou částku a celkovou kupní cenu;
- zboží - kód a název výrobku;
- ceny - kód produktu, cena, která byla pro něj oznámena, nejnižší možnou cenu, datum založení a datum zrušení ceny.
Malé tabulky, v jejichž přítomnosti se nejedná o více než dvě nebo tři pole, jsou spojeny maximálně jedním stolem vztahem one-to-one nebo one-to-many.
Stupnice stejná tabulka, jako je například „zaměstnanci společnosti“, „firemních zákazníků“, „prodej dohod“ a „činy prodeje“ jsou spojeny s několika osobami, s některými - s pomocí „zprostředkovatelů“ many-to-many vztah. Tabulka „kupující společnosti“ je sám zprostředkovatel, jako takový, protože má mnoho z pole, převzaté z jiných tabulek a cizí klíče. Kromě toho, váha a databáze vztah „Král Corporation“ je, že všechny vztahy jsou neoddělitelně korelovány s sebou a vzájemně ovlivňují. Zničení alespoň jedné z nich bude znamenat zničení integrity celé databáze.
Důležité nuance
Při provádění many-to-many, bez ohledu na to, jakým vedení databázový systém je použit, je důležité určit správné klíče, se kterými budou vypracovány postoj. Nesprávně implementován spojení nesplní svůj hlavní účel - totiž, aby byla zajištěna integrita tabulky, a jako výsledek, namísto očekávaného komfortu, uživatel obdrží, na druhou stranu, nepohodlí a další problémy, zvlášť patrné během plnění editaci tabulek a jejich dat.
- Struktura právních vztahů
- Soubor SQL. Formát souboru SQL: popis přípony
- Jak vytvořit databázi v aplikaci Access. Práce s databází aplikace Access
- Přehled systémů správy databáze
- Jak psát dotazy SQL - podrobné příklady
- Databáze jsou relační. Koncept relační databáze
- Rozdíl mezi obchodními a osobními vztahy mezi lidmi. Povaha osobních a obchodních vztahů
- Přístupové formuláře. Vytváření formulářů pro zadávání dat
- DB je ... Typy a vlastnosti databáze
- MS Access. Databáze MS Access. MS Access 2007
- ACCDB: jak otevřít soubor
- Vytváření dotazů v aplikaci Access. Typy požadavků
- Předměty občanských vztahů
- Hierarchický datový model
- Síťový datový model
- Technologie klient-server
- Aplikační software, klasifikace
- Jak vytvářet dotazy v aplikaci Access: podrobné pokyny a doporučení
- Podrobnosti o přístupu k tabulkám
- Datové modely: funkce, klasifikace a popis
- Hlavní body databáze aplikace Access