ComputersDatabases

Een many-to-many: Een voorbeeld in Access, SQL. Hoe maak je een many-to-many te maken?

Alle DBMS (database management system) , zijn er verschillende soorten relaties tussen tabellen. Waaronder een-op-één, één-op-veel, veel-op-één (sommige zijn geneigd deze beide identificeren in een) en veel-op-velen. Een voorbeeld hiervan, en een uitleg van de toepassing ervan in verschillende databases, zoals Access of SQL, wordt in dit artikel worden besproken.

definitie

Veel-naar-veel relatie wordt gedefinieerd als overeenkomst geven de kopieën van een van de essenties alle andere gevallen. Met andere woorden, elk veld van het eerste (tweede) tabel behorend bij alle gebieden van de tweede (eerste).

Deze regeling weerspiegelt duidelijk de essentie van deze relatie.

Wanneer een many-to-many relaties kunnen worden gebruikt?

Een voorbeeld van een many-to-many - een student en een groep van leraren. Elke student leert in een keer in een paar professoren, die op hun beurt, lezingen geven een aantal studenten. In de afbeelding toont het verschil tussen een één-op-veel en veel-naar-veel.

Veel-op-veel-relatie is in de voorbereiding van grootschalige databases, kleine illustratieve voorbeelden doorgaans alleen gebruikt voor educatieve doeleinden, in werkelijkheid vaak nodig, in de praktijk blijkt dat de meer entiteiten in de database en meer relaties tussen hen - hoe meer de waarschijnlijkheid van frequente gebruik te maken van many-to-many.

Hoe maak je een many-to-many te maken?

Voorbeelden van de relatie in kwestie zal nog worden toegevoegd in de loop van het artikel, maar het is niet alleen belangrijk om te begrijpen wat het is, maar ook hoe het te implementeren. Details van dit proces is direct afhankelijk van de voor de taak geselecteerde database, terwijl het principe hetzelfde voor alle blijft.

Microsoft Access

Office-software van "Microsoft" wordt in de software markt bekend staat voor een heel lange tijd. Het wordt geleverd met een tekstverwerker Worfd, Excel tabel processor en de andere die behoren tot de lijn van "het kantoor". U kunt de toegang (lees als "toegang", de letterlijke vertaling - "access") te kopen en gescheiden van zijn "collega's". Het wordt aanbevolen om te kopen, natuurlijk, gelicentieerde software, maar het is geen geheim hoeveel illegale repack kan worden gevonden in de uitgestrekte web, in de vorm van gewone bestanden of torrents handen. "Microsoft Acces" is beschikbaar, zelfs in een draagbare montage. Het vereist geen installatie en geen speciale vaardigheden nodig om te werken met een pc, is het meest geschikt voor selectie als de software niet gebruikt zal worden langdurige en vaak.

Uit de context is het duidelijk dat "Microsoft Acces" - een database management systeem. En een van de meest populaire. Het relationele, wat betekent dat het is gebaseerd op het logische datamodel, dat in de loop van zijn werk heeft betrekking op de verzamelingenleer en eerste orde logica. Veel-op-veel-relatie in Access (voorbeelden zullen worden gegeven in de toelichting) wordt gerealiseerd heel, heel eenvoudig. Beschouw het.

Er zijn twee tafels ..

Om niet om iets nieuws verzinnen, neem de reeds genoemde naar de many-to-many voorbeeld over de leerlingen uit te leggen. U moet een tafel "Studenten" en de tafel te creëren "De leraren." Zowel de eerste als tweede van deze primaire sleutels. vereist ook een andere tafel, welke velden voor het combineren van gevallen van de twee entiteiten - de sleutels van de eerste en tweede tafels.

Als we kijken naar een ander voorbeeld: laten we zeggen, de spelers en het team (gezien het feit dat ten minste één van de spelers spelen voor verschillende teams, en elk team bestaat uit elf spelers), het bouwen van een verbinding zal niet veranderen. Zij zullen ook moeten drie tabellen. Van deze "Voetbal" en "Team" als de belangrijkste en één intermediair.

data regeling

Relaties tussen tabellen in de database "Microsoft Acces" geïmplementeerd met behulp van het tabblad "Data Scheme". Het scherm is toegevoegd aan alle entiteiten (in dit geval, alle drie de tabellen). Een veel-op-velen gebruiken beide verhoudingen, één-op-veel relatie tussen de opdrachtgever ( "Studenten" en "docenten") en de stagingtabel. Om dit te doen, moet u de desbetreffende primaire sleutels met elkaar te verbinden.

De bovenstaande afbeelding laat zien hoe het tabblad "data circuit" (Relathionships). Het aantal aan de tabel toegevoegd bord voor onbepaalde tijd. Locatie is volledig instelbaar door de gebruiker.

SQL

Database Design on SQL - moeilijker taak dan op "Acces". Als maykrosoftovskih product volledig is aangepast aan de kantooromgeving, heeft een enorme en, met elke release en alle uitbreidbare functionaliteit te werken, maar op hetzelfde moment handig voor de eenvoudige gebruikersinterface, SQL - het is een afzonderlijk niet-procedurele programmeertaal, waarmee op verschillende platforms je kunt werken met databases. De bekende software voor deze taak: Oracle MySQL en DB2 (een populaire, maar niet de enige in zijn soort). Ondanks het feit dat elk van hen heeft zijn subtiliteiten en nuances, de SQL-taal is hun "verenigd". Door te leren om te werken met ten minste een van hen, om te gaan met anderen zal veel gemakkelijker.

Aanmaken, invullen en werkzaamheden uit op de bestaande database in SQL nodig via een speciale code of scripts. Echter, degenen die het al hebben gemaakt naar de sectie "many-to-many", waarvan een voorbeeld in deze programmeertaal hieronder is weergegeven, moet ten minste de basiscommando's en beginselen van de SQL-taal te leren kennen.

Het principe van het creëren van een many-to-many

Langdurige toetreding kan wel wat in verlegenheid te brengen en "ontketenen de mist", maar in feite het principe van de uitvoering van de communicatie blijft hetzelfde. Om een veel-op-veel-relatie type heeft in de praktijk gebracht, niet alleen in de "Acces", maar ook de SQL, moeten in eerste instantie te maken twee basistabellen en één - intermediair. Evenzo is het met de sleutel: de fundamentele aard zijn de voornaamste gebieden, die elk zijn opgenomen in de koppeltabel. Dat betekent dat de SQL-many-to-many relaties zijn niet fundamenteel verschillend van de "Acces".

Implementatie van communicatie

Voor de uitvoering van een many-to-many in een SQL-script met behulp van externe toetsen (FOREIGN KEY), vergelijkbaar met de originele sleutel in de hoofdtabel. Ze namen samen met alle velden bij het maken en / of bewerken.

De rol van een many-to-many

In het algemeen is de relatie tussen de entiteiten in de databank wordt gebruikt voor de integriteit van de erin opgeslagen gegevens. Alleen een goed ontworpen database alle noodzakelijke aansluitingen zorgt voor een veilige opslag, gebruikerservaring en een structuur die bestand is tegen externe invloeden en veranderingen. Meestal, als de database bevat gegevens over de gehele organisatie, bedrijf of onderneming, het bevat een set van entiteiten met verschillende instanties.

Dit betekent dat bij de bereiding van deze regelingen ( "Acces") of scripts te schrijven (in de "Oracle" of "DiBiTu") aanwezig zijn ten minste een veel-op-velen. Voorbeeld SQl, wordt vaak gebruikt in de opleiding "Database Organisatie" - DB Koning.

Basis van data King's

De training database is informatie over King corporatie. Onder de tabellen:

  • werknemers van het bedrijf - bevat de werknemer-ID, achternaam, voornaam en initiaal (focus op vreemde namen), ook code voor de werkgever en de werknemer bezetten de positie, de datum van de toelating tot de ontvangers van hun salaris en provisie voorzien, afdeling code;
  • afdelingen van bedrijven - tussen de velden van de tabel de code en de naam van de afdeling, evenals de code van de locatie;
  • plaatsing afdelingen, wat inhoudt dat het invoeren van informatie over de code plaatsing en de naam van de stad;
  • positie in het bedrijf - een kleine tafel met twee velden postcode en de officiële naam;
  • bedrijven-kopers - velden: de code en de naam van de koper, adres, stad, provincie, postcode en het netnummer, telefoonnummer, service manager van de klant code, het krediet voor de koper en opmerkingen (opmerkingen en notities);
  • verkoopovereenkomsten, waarin de code en de datum van het contract, de koper code, leveringsdatum en het totale bedrag van de overeenkomst;
  • Handelingen van de verkoop - de handeling van de code en de code van het contract, dat de handeling, productcode, de prijs, de hoeveelheid gekocht en de totale aankoopkosten omvat;
  • De goederen - de code naam van het product;
  • prijs - de productcode, kondigde aan hem de prijs, de laagst mogelijke prijs, de datum van vestiging en de datum van de prijs annulering.

Kleine tafel beschikbaar, waarbij niet meer dan twee of drie velden in verband met tot een tabel van een één-op-één of één-op-veel.

Scale dezelfde tafel, zoals "werknemers van het bedrijf", "bedrijf-consumenten", "verkoop overeenkomsten" en "daden van de verkoop" worden geassocieerd met verschillende entiteiten, met een aantal - met de hulp van de "tussenpersonen" many-to-many relatie. Table "kopers van het bedrijf" is zelf een tussenpersoon, als zodanig, want het heeft veel van het veld, overgenomen uit andere tafels en een foreign key. Bovendien, de omvang en de verhouding databank "Koning Corporation" is dat elke relatie onlosmakelijk met elkaar gecorreleerd en elkaar beïnvloeden. De vernietiging van ten minste een van hen zal leiden tot de vernietiging van de integriteit van de gehele database.

belangrijke nuances

Bij de uitvoering van een many-to-many, ongeacht welke database management systeem wordt gebruikt, is het belangrijk om de juiste toetsen waarmee up houding zal worden opgesteld bepalen. Onjuist geïmplementeerd de verbinding niet voldoen aan haar belangrijkste doel - dat wil zeggen, om de integriteit van de tafel te verzekeren, en als gevolg daarvan, in plaats van de verwachte comfort, zal de gebruiker tijdens het vullen van het bewerken tabellen en hun gegevens te ontvangen, aan de andere kant, het ongemak en de bijkomende problemen, in het bijzonder evident.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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