Betekenis van “n:m” en “1:n” in databaseontwerp

Wat betekenen bij het ontwerpen van databases n:men 1:n?

Heeft het iets te maken met sleutels of relaties?


Antwoord 1, autoriteit 100%

m:nwordt gebruikt om een veel-op-veel-relatie aan te duiden (m-objecten aan de andere kant gerelateerd aan nop de other) terwijl 1:nverwijst naar een één-op-veel relatie (1object aan de andere kant gerelateerd aan naan de andere kant) .


Antwoord 2, autoriteit 59%

1:n betekent ‘één-op-veel’; je hebt twee tabellen en naar elke rij van tabel A kan worden verwezen door een willekeurig aantal rijen in tabel B, maar elke rij in tabel B kan slechts verwijzen naar één rij in tabel A (of helemaal geen rij).

n:m (of n:n) betekent ‘veel-op-veel’; elke rij in tabel A kan verwijzen naar vele rijen in tabel B, en elke rij in tabel B kan verwijzen naar vele rijen in tabel A.

Een 1:n-relatie wordt meestal gemodelleerd met behulp van een eenvoudige externe sleutel – één kolom in tabel A verwijst naar een vergelijkbare kolom in tabel B, meestal de primaire sleutel. Aangezien de primaire sleutel exact één rij identificeert, kan naar deze rij worden verwezen door vele rijen in tabel A, maar elke rij in tabel A kan slechts naar één rij in tabel B verwijzen.

Een n:m-relatie kan niet op deze manier worden gedaan; een veelvoorkomende oplossing is om een linktabel te gebruiken die twee externe-sleutelkolommen bevat, één voor elke tabel die wordt gekoppeld. Voor elke verwijzing tussen tabel A en tabel B wordt één rij ingevoegd in de linktabel, die de ID’s van de overeenkomstige rijen bevat.


Antwoord 3, autoriteit 9%

n:m –> als je zowel n als m niet kent, is het gewoon veel tot veel en wordt het weergegeven door een brugtabel tussen 2 andere tabellen zoals

  -- This table will hold our phone calls.
CREATE TABLE dbo.PhoneCalls
(
   ID INT IDENTITY(1, 1) NOT NULL,
   CallTime DATETIME NOT NULL DEFAULT GETDATE(),
   CallerPhoneNumber CHAR(10) NOT NULL
)
-- This table will hold our "tickets" (or cases).
CREATE TABLE dbo.Tickets
(
   ID INT IDENTITY(1, 1) NOT NULL,
   CreatedTime DATETIME NOT NULL DEFAULT GETDATE(),
   Subject VARCHAR(250) NOT NULL,
   Notes VARCHAR(8000) NOT NULL,
   Completed BIT NOT NULL DEFAULT 0
)

Dit is de brugtabel voor het implementeren van de mapping tussen 2 tabellen

CREATE TABLE dbo.PhoneCalls_Tickets
(
   PhoneCallID INT NOT NULL,
   TicketID INT NOT NULL
)

Een op vele (1: n) is gewoon één tabel met een kolom als primaire sleutel en een andere tabel die deze kolom heeft als een buitenlandse sleutelrelatie

Soort zoals product- en productcategorie waarbij één productcategorie veel producten

kan hebben


Antwoord 4, Autoriteit 4%

In een relationele database worden alle soorten relaties op dezelfde manier weergegeven: als relaties. De kandidaat-sleutel (en) van elke relatie (en mogelijk andere beperkingen ook) bepalen wat voor soort relatie wordt vertegenwoordigd. 1: N en M: N zijn twee soorten binaire relatie:

C {Employee*,Company}
B {Book*,Author*}

In elk geval * duidt het belangrijkste kenmerk (en) aan. {BOEK, auteur} is een samengestelde sleutel.

C is een relatie waarbij elke medewerker alleen werkt voor One Company, maar elk bedrijf kan veel werknemers (1: n) hebben:
B is een relatie waar een boek veel auteurs en een auteur kan hebben, kunnen veel boeken (M: N):

Merk op dat de belangrijkste beperkingen ervoor zorgen dat elke werknemer slechts aan één bedrijf kan worden gekoppeld, terwijl elke combinatie van boeken en auteurs is toegestaan.

Andere soorten relaties zijn ook mogelijk: n-ary (met meer dan twee componenten); vaste kardinaliteit (m:n waarbij m en n vaste constanten of bereiken zijn); directioneel; enzovoort. William Kent identificeert in zijn boek “Data and Reality” minstens 432 soorten – en dat is alleen voor binaire relaties. In de praktijk zijn de binaire relaties 1:n en m:n heel gebruikelijk en worden ze meestal als bijzonder belangrijk beschouwd bij het ontwerpen en begrijpen van gegevensmodellen.


Antwoord 5, autoriteit 3%

Om de twee concepten aan de hand van een voorbeeld uit te leggen, stelt u zich voor dat u een orderinvoersysteem heeft voor een boekhandel. De toewijzing van bestellingen aan artikelen is veel tot veel (n:m) omdat elke bestelling meerdere artikelen kan hebben en elk artikel door meerdere bestellingen kan worden besteld. Aan de andere kant is een zoekopdracht tussen klanten en bestelling één op veel (1:n) omdat een klant meer dan één bestelling kan plaatsen, maar een bestelling is nooit voor meer dan één klant.


Antwoord 6, autoriteit 2%

Wat betekent de letter ‘N’ op een relatielijn in een entiteitsrelatiediagram?
Elk nummer

M:N

M – ordinaliteit – beschrijft het minimum (ordinaal vs verplicht)

N – kardinaliteit – beschrijft de miximum

1:N(n=0,1,2,3…) één tot nul of meer

M:N(m en n=0,1,2,3…) nul of meer tot nul of meer (veel tot veel)

1:1één op één

Vind hier meer:
https://www.smartdraw.com/entity-relationship-diagram/


Antwoord 7

Veel tot Veel (n:m)
Eén op veel (1:n)


Antwoord 8

m:n verwijst naar veel-op-veel-relatie
waarbij als 1:n een op veel relatie betekent
bijvoorbeeld
werknemer(id,naam,vaardigheden)
skillset(id,vaardigheidsnaam,kwalificaties)

in dit geval kan de ene medewerker veel vaardigheden hebben en als je andere gevallen negeert, kun je zeggen dat het een 1:N-relatie is


Antwoord 9

Stel je voor dat je een Boek-model en een Pagina-model hebt,

1:N means:
One book can have **many** pages. One page can only be in **one** book.
N:N means:
One book can have **many** pages. And one page can be in **many** books.

Other episodes