Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

Meedere foreign keys inserten in SQL Server

Pagina: 1
Acties:

  • Vollantix
  • Registratie: November 2017
  • Laatst online: 26-02 18:07
Ik heb een probleem met het invoeren van gegevens.
Om een duidelijker beeld te schetsen, zijn de tabellen niet de tabellen waarmee ik zelf werk.
Ik heb een tabel:
KLANT
-ID
-VNAAM
-ANAAM
-ALLERGIE.ID

ALLERGIEËN
-ID
-ALLERGIE

Op deze manier kan ik bijhouden welke allergieën vaak voorkomen. Echter wanneer ik een klant wil toevoegen en er meerdere allergieën zijn, kan ik hier maar 1 ID invoeren.

Hoe kan ik ervoor zorgen dat er meerdere allergieën kunnen worden opgeslagen bij 1 klant?

  • MAX3400
  • Registratie: Mei 2003
  • Laatst online: 28-11 18:10

MAX3400

XBL: OctagonQontrol

Niet...

Je zal iets met een tabel DOSSIER moeten gaan doen. 1 dossier bevat 1 unieke klant.ID en "unlimited" allergie.ID

Is dit voor school ofzo? Want over het algemeen spreek je niet over klant maar patient in de gezondheidszorg.

Mijn advertenties!!! | Mijn antwoorden zijn vaak niet snowflake-proof


  • MaartenBW
  • Registratie: Mei 2015
  • Laatst online: 28-11 08:20
Dit is een many-to-many ipv 1-to-many. Dus via aparte tabel.

Zoek op many-to-many

  • Vollantix
  • Registratie: November 2017
  • Laatst online: 26-02 18:07
De tabellen zijn fictief, op deze manier leek het me iets begrijpelijker ;)
Ik heb eens gezocht op many-to-many relatie, klopt het dat ik deze "tussentabel" herhaaldelijk toevoeg.
Dus tabel:
KLANT_ALLERGIE
-Klant.ID
-Allergie.ID

De select statement komt dan uit op: 'select allergie.id from klant_allergie where klant.id = 'XXX''

  • The Eagle
  • Registratie: Januari 2002
  • Laatst online: 28-11 22:25

The Eagle

I wear my sunglasses at night

Je hebt die tussentabel maar 1 keer. En iedere keer dat je een klant invoert, vul je zowel een regel in tabel KLANT als een of meerderen in KLANT_ALLERGIE. Of als ie er een allergie bij krijgt, alleen een regel in KLANT_ALLERGIE.

Doe jezelf trouwens een lol en gebruik in tabel ALLERGIEN geen trema's. Je wilt uberhaupt geen speciale tekens gebruiken als het niet hoeft, en zeker niet in je tabeldefinitie.

Edit:
overigens heeft dit niks met SQL server te maken maar alles met basiskennis SQL en relationele databaes. Het is echt maar dan ook echt de basis. Is dit een schoolopdracht?

* The Eagle kwam namelijk bedrogen uit.
Ik dacht aan de titel te zien dat het ging om inserts van FK's die niet wilden en hoe je dat evt op kon lossen. Op Oracle kan dat door bijvoorbeeld de indexen tijdelijk inactief te zetten of ze te droppen en opnieuw op te bouwen. Dacht dus een leuke uitdaging te zien, maar helaas -O-

[ Voor 38% gewijzigd door The Eagle op 21-12-2017 19:25 ]

Al is het nieuws nog zo slecht, het wordt leuker als je het op zijn Brabants zegt :)


  • Vollantix
  • Registratie: November 2017
  • Laatst online: 26-02 18:07
Bedankt voor de reactie, het is inderdaad voor een stageopdracht, ik heb dit overigens ergens wel geleerd echter nooit praktisch toegepast. Vandaar dat ik er even niet meer uitkwam.
Wat betreft de trema's heb ik hier niet echt specifiek op gelet tijdens het schrijven van deze topic. Bedankt voor de tip.
Het spijt me dat ik geen grotere uitdaging kon leveren, maar mijn vraag is naar mijn mening wel beantwoord, dus bedankt!
Pagina: 1