/ / Många-till-många-förhållande: ett exempel i Access, i SQL. Hur gör man ett många-till-många-förhållande?

Många-till-många-förhållande: ett exempel i Access, i SQL. Hur gör man ett många-till-många-förhållande?

I alla DBMS (databashanteringssystem)det finns flera typer av samband mellan tabeller. Dessa inkluderar en-till-en, en-till-många, många-till-en (vissa tenderar att likställa de två som en) och många-till-många. Ett exempel på det senare, dess förklaring och tillämpning i olika DBMS, såsom Access eller SQL, kommer att diskuteras i denna artikel.

definition

En många-till-många relation definieras sommatcha någon av instanserna av en av enheterna i alla instanser av den andra. Med andra ord är varje fält från den första (andra) tabellen associerat med alla fält från den andra (första).

Det presenterade diagrammet återspeglar tydligt essensen i detta förhållande.

många-till-många förhållande exempel

När kan en många-till-många-relation användas?

Ett exempel på en mång-till-många relation är studentgrupp och grupp lärare. Var och en av eleverna lär sig av flera professorer samtidigt, som i sin tur håller föreläsningar för flera studenter. Bilden visar skillnaden mellan ett en-till-många-förhållande och ett många-till-många-förhållande.

hur man gör ett många-till-många-förhållande

Många-till-många-kommunikation är ofta nödvändig närkompilering av storskaliga databaser, små illustrativa exempel används vanligtvis endast för utbildningsändamål, i verkligheten visar det sig att ju fler enheter i databasen och ju fler relationer mellan dem, desto mer sannolikt är det att ofta hänvisa till många -många förhållanden.

Hur gör man ett många-till-många-förhållande?

Exempel på förhållandet i fråga kommer fortfarande att finnasläggs till under artikeln, men det är viktigt att inte bara förstå vad det är, utan också hur du kan implementera det. Detaljerna i denna process beror direkt på det DBMS som valts för arbetet, medan principen förblir densamma för alla.

Microsoft Access

Office -mjukvaruprodukt från Microsofthar varit känd på mjukvarumarknaden ganska länge. Den levereras med Worfd -textredigerare, Excel -kalkylprocessor och andra från "office" -raden. Access (läs som "access", bokstavlig översättning - "access") kan köpas separat från dess "kollegor". Det rekommenderas naturligtvis att köpa licensierad programvara, men det är ingen hemlighet för någon hur många piratkopierade repack som finns på Internet, i form av vanliga filer eller torrentdistributioner. Microsoft Access är till och med tillgängligt i en bärbar version. Det, som inte kräver installation och speciella färdigheter i att arbeta med en PC, är bäst för att välja om programvaran inte kommer att användas under lång tid och ofta.

många-till-många relation sql exempel

Det framgår av sammanhanget att Microsoft Access ärdatabashanteringssystem. Och en av de mest populära. Det är relationellt, vilket betyder att det är baserat på en logisk datamodell, som i sitt arbete refererar till uppsättningsteori och första ordningens logik. Många-till-många-relationer i Access (exempel kommer att ges under förklaringen) är väldigt, väldigt enkelt att implementera. Överväg det.

Det finns två bord ..

För att inte komma med något nytt, låt oss ta det redanges för att klargöra förhållandet många-till-många, exemplet handlar om studentkåren. Du måste skapa en tabell "Studenter" och en tabell "Lärare". Både den första och den andra har primära nycklar. För att kombinera instanser av dessa två enheter krävs också en annan tabell, vars fält är nycklarna till den första och andra tabellen.

Med tanke på ett annat exempel:Till exempel spelare och lag (med tanke på att minst en av spelarna spelade för olika lag, och varje lag har elva spelare), kommer kärnan i att bygga en anslutning inte att förändras. Tre bord kommer också att behövas. Av dessa, "Fotbollsspelare" och "Lag" som de viktigaste, och en mellanliggande.

Dataschema

Förhållanden mellan tabeller i Microsoft Accessimplementeras med hjälp av fliken Dataskema. Alla nödvändiga enheter läggs till i panelen (i vårt fall alla tre tabellerna). Många-till-många-förhållandet kommer att skapas med två en-till-många-relationer mellan huvudet ("Studenter" och "Lärare") och en mellanliggande tabell. För att göra detta måste du länka motsvarande primära nycklar tillsammans.

många-till-många-förhållande i åtkomstexempel

Illustrationen ovan visar hur fliken Relationer ser ut. Antalet tabeller som läggs till i panelen är obegränsat. Platsen är helt användarjusterbar.

SQL

Att designa SQL -databaser är en utmaningsvårare än på "Access". Om en Microsoft-produkt är fullt anpassad för en kontorsmiljö, har en enorm och, med varje version och uppdatering, alla utökningsbara funktioner, men samtidigt ett gränssnitt som är bekvämt för en enkel användare, är SQL en separat icke-procedurell programmeringsspråk med hjälp av vilka på olika plattformar du kan arbeta med databaser. Känd programvara för denna uppgift: Oracle MySQL och DB2 (populärt, men inte unikt). Trots att var och en av dem har sina egna finesser och nyanser, "förenar" SQL -språket dem. Efter att ha lärt sig att arbeta med minst en av dem blir det mycket lättare att hantera den andra.

Skapande, fyllning och direkta handlingaröver en befintlig databas i SQL behöver du genom speciella koder eller skript. Men de som redan har kommit till avsnittet "Många-till-många-kommunikation", ett exempel på detta i detta programmeringsspråk kommer att ges nedan, bör åtminstone känna till de grundläggande kommandona och principerna för att använda SQL-språket.

Hur många-till-många relationer skapas

En lång introduktion kan vara något förvirrande och"att dölja", men i själva verket förblir principen för genomförandet av anslutningen densamma. För att många-till-många-relationstypen ska kunna implementeras i praktiken, inte bara i "Access", utan också i SQL, krävs det att man inledningsvis skapar två grundtabeller och en mellanliggande. Situationen är liknande med nycklar: huvudenheter har huvudfält, som var och en är inspelad i en kopplingstabell. Vilket innebär att SQL många-till-många-förhållandet inte skiljer sig fundamentalt från "Access".

många-till-många relationsexempel

Kommunikation genomförande

Att implementera många-till-många kommunikation i skriptSQL använder FOREIGN KEY liknande de ursprungliga nycklarna i huvudtabellerna. De spelas in tillsammans med alla fält när de skapas och / eller redigeras.

Rollen för många-till-många-kommunikation

Generellt förhållanden mellan enheter i databaseranvänds för integriteten hos den information som lagras i dem. Endast en väl utformad databas med alla nödvändiga anslutningar garanterar lagringssäkerhet, användarvänlighet och är en struktur som är resistent mot yttre påverkan och förändringar. Vanligtvis, om en databas innehåller data om en hel organisation, företag eller företag, innehåller den många enheter med olika instanser.

sql många-till-många-förhållande

Och det betyder att när du skapar ett dataschema (i"Access") eller skript (i "Oracle" eller "DiBiTu") kommer det att finnas minst en många-till-många-relation. Ett exempel på SQl som ofta används i Database Organization -kursen är King's Database.

Kings databas

Denna exempeldatabas ger information om King Corporation. Bland borden:

  • anställda i företaget - innehåller kodenden anställde, hans efternamn, förnamn och mellaninitial (fokus på utländska namn), även chefskoden och den tjänst som den anställde innehar, datum för tillträde till företaget, lönen han får och de fastställda provisionerna , avdelningskoden;
  • företagsavdelningar - bland tabellens fält finns koden och namnet på avdelningen, samt koden för dess plats;
  • placering av avdelningar, vilket innebär att du anger information om platskoden och stadens namn;
  • positioner i företaget - ett litet bord med två fält i positionskoden och dess officiella namn;
  • köp av företag - fält:kundkod och namn, adress, stad och stat, post- och riktnummer, telefon, kundtjänstansvarig kod, kundkrediter och kommentarer (anteckningar och anteckningar);
  • försäljningskontrakt som innehåller kod och datum för kontraktet, köparens kod, leveransdatum och kontraktets totala belopp;
  • försäljningscertifikat - handlingens kod och kontraktskoden, som innehåller handling, produktkod, pris, köpt belopp och total kostnad för köpet;
  • varor - produktkod och namn;
  • priser - produktkod, meddelat pris, minsta möjliga pris, datum för inställning och datum för prisavbokning.

Små tabeller med högst två eller tre fält är associerade med högst en tabell i en en-till-en eller en-till-många-relation.

många-till-många relationstyp

Skala tabeller, till exempel "anställdaföretag "," köpföretag "," försäljningskontrakt "och" säljhandlingar "är kopplade till flera enheter samtidigt, och med vissa-med hjälp av" mellanhänder "en många-till-många-relation. Tabellen" företag-köpare "är i sig själv en mellanhand, eftersom den har många fält lånade från andra tabeller och är främmande nycklar. Dessutom är skalan och sammankopplingen av King's Corporation -databasen sådan att alla relationer är oupplösligt korrelerade med varandra och påverkar varandra. en av dem kommer att leda till att hela databasens integritet förstörs.

Viktiga nyanser

När man genomför ett många-till-många-förhållande, utanförberoende på vilket DBMS som används är det mycket viktigt att korrekt bestämma nycklarna som relationen ska kompileras med. En felaktigt implementerad anslutning kommer inte att uppfylla sitt huvudsakliga syfte, nämligen att säkerställa bordets integritet, och som ett resultat, istället för den förväntade komforten, kommer användaren tvärtom att få olägenheter och ytterligare problem, särskilt när du fyller i tabeller och redigera data i dem.

gillade:
0
Populära inlägg
Andlig utveckling
mat
y